xtNoticeDetail.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <template>
  2. <view class="container">
  3. <view class="message" v-if="detailsData">
  4. <view class="messageDetail">
  5. <view class="messageTitle">{{detailsData.title}}</view>
  6. <view class="messageTime">{{detailsData.releaseDate}} 发布</view>
  7. </view>
  8. <view class="messageContent" v-if="detailsData.type!='tx'">
  9. <jyf-parser :html="detailsData.content" ref="article"></jyf-parser>
  10. <view class="msgFujian">
  11. <view v-if="detailsData.imgPaths&&detailsData.imgPaths.length">
  12. <view class="tits">图片:</view>
  13. <view class="flex justify_between pimgs" style="flex-wrap: wrap;" @click="viewPhoto(detailsData.imgPaths)">
  14. <u-image v-for="item in detailsData.imgPaths" :src="item" width="150" height='150'></u-image>
  15. </view>
  16. </view>
  17. <view v-if="detailsData.attachList&&detailsData.attachList.length">
  18. <view class="tits">附件(不支持查看和下载附件,请登录pc电脑端查看):</view>
  19. <view class="flex justify_between pimgs" style="flex-wrap: wrap;">
  20. <view style="margin: 0 0 5px;" v-for="(item,index) in detailsData.attachList" :key="index">
  21. <text>{{ item.fileName }}</text>
  22. </view>
  23. </view>
  24. </view>
  25. </view>
  26. </view>
  27. <view class="messageContent" v-else>
  28. <text style="margin-right: 20rpx;">{{detailsData.plainContent}}</text>
  29. <u-button @click="toAction(detailsData)" shape="circle" plain size="mini" type="primary">
  30. {{ detailsData.extInfo.bizType == 'SHELF_REPLENISH' ? '立即处理':'点击查看' }}
  31. </u-button>
  32. </view>
  33. </view>
  34. </view>
  35. </template>
  36. <script>
  37. import jyfParser from "@/components/jyf-parser/jyf-parser"
  38. import {noticeUserDetail} from "@/api/user.js"
  39. export default{
  40. components: {
  41. jyfParser
  42. },
  43. data(){
  44. return{
  45. itemId: null,
  46. detailsData: null
  47. }
  48. },
  49. onLoad(options) {
  50. this.itemId = options.id
  51. this.getDetail()
  52. },
  53. methods:{
  54. viewPhoto(images){
  55. uni.previewImage({
  56. urls: images,
  57. });
  58. },
  59. // 获取详情
  60. getDetail () {
  61. noticeUserDetail({ id: this.itemId }).then(res => {
  62. console.log(res)
  63. if (res.status == 200) {
  64. this.detailsData = res.data
  65. if (this.detailsData.extInfo) {
  66. this.detailsData.extInfo = JSON.parse(this.detailsData.extInfo)
  67. }
  68. if(this.detailsData.imgPaths){
  69. this.detailsData.imgPaths = this.detailsData.imgPaths.split(',')
  70. }
  71. } else {
  72. this.detailsData = null
  73. }
  74. })
  75. },
  76. toAction (data) {
  77. // 急送订单
  78. if (data.extInfo.bizType == 'TEMP_ORDER') {
  79. uni.redirectTo({ url: '/pages/sales/edit?pageType=detail&data='+JSON.stringify({ salesBillSn: data.extInfo.bizSn }) })
  80. }
  81. // 补货订单
  82. if (data.extInfo.bizType == 'SHELF_REPLENISH') {
  83. uni.redirectTo({ url: '/pages/replenishmentManage/replenishmentList?billState=WAIT_CONFIRM' })
  84. }
  85. // 货架订单
  86. if (data.extInfo.bizType == 'SHELF_ORDER') {
  87. uni.redirectTo({ url: '/pages/shelfOrder/orderDetail?pageType=detail&orderBillSn='+data.extInfo.bizSn })
  88. }
  89. // 货架异常
  90. if (data.extInfo.bizType == 'SHELF_WARN') {
  91. const shelfName = data.plainContent.split('已经超过')[0]
  92. uni.redirectTo({ url: '/pages/shelfOrder/shelfOrder?bizType=SHELF_WARN&shelfSn='+data.extInfo.bizSn+'&shelfName='+shelfName })
  93. }
  94. },
  95. }
  96. }
  97. </script>
  98. <style lang="less">
  99. .container{
  100. width:100%;
  101. .message{
  102. margin: 20rpx;
  103. padding: 30rpx;
  104. font-size: 28rpx;
  105. background-color: #fff;
  106. border-radius: 30rpx;
  107. box-shadow: 2upx 2upx 6upx #eee;
  108. .messageDetail{
  109. margin: 0 0 30rpx 0;
  110. font-size: 32rpx;
  111. .messageTitle{
  112. flex-grow: 1;
  113. text-align: center;
  114. margin: 0 0 20rpx 0;
  115. }
  116. .messageTime{
  117. color:#989898;
  118. font-size: 24rpx;
  119. text-align: right;
  120. }
  121. }
  122. .messageContent{
  123. line-height: 46upx;
  124. word-break: break-all;
  125. }
  126. }
  127. .msgFujian{
  128. padding: 20upx 0;
  129. .tits{
  130. color:#999;
  131. }
  132. .pimgs{
  133. > view{
  134. margin-bottom: 20upx;
  135. }
  136. }
  137. }
  138. }
  139. </style>