notificationDetail.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <template>
  2. <view v-if="!showFlag">
  3. <u-cell-group :border="false">
  4. <u-cell :border="false">
  5. <u--text slot="title" :text="`标题:${notication.title}`" ></u--text>
  6. </u-cell>
  7. <u-cell :border="false">
  8. <u--text slot="title" type="info" :text="`发布者:${notication.createBy.name},类型:${$dictUtils.getDictLabel('oa_notify_type', notication.type ,'')}`"></u--text>
  9. </u-cell>
  10. <u-cell>
  11. <u--text slot="title" type="info" :text="`发布时间: ${notication.createTime}`"></u--text>
  12. </u-cell>
  13. </u-cell-group>
  14. <view class="padding bg-white">
  15. <u-parse :content="notication.content"></u-parse>
  16. </view>
  17. </view>
  18. <view v-else-if="showFlag">
  19. <!-- First Section: 巡视工单 to 联系方式 -->
  20. <view class="form-section">
  21. <u--form :model="inputForm" labelWidth="100px" class="u-form" labelPosition="left" :rules="rules" ref="inputForm" v-if="!nodeFlag">
  22. <u-form-item label="巡视工单" prop="no">
  23. <u--input v-model="inputForm.no" :disabled="true" placeholder="工单编号" clearable></u--input>
  24. </u-form-item>
  25. <u-form-item label="处理单位" borderBottom prop="processingUnit" :required="true" v-if="!disFlag">
  26. <jp-picker v-model="inputForm.processingUnit" rangeKey="label" rangeValue="value" :range="processingUnits" @input="getUserInfoByOffId"></jp-picker>
  27. </u-form-item>
  28. <u-form-item label="处理单位" borderBottom prop="processingUnitName" :required="true" v-else-if="disFlag">
  29. <u--input v-model="inputForm.processingUnitName" :disabled="true" placeholder="处理单位" clearable></u--input>
  30. </u-form-item>
  31. <u-form-item label="清运专员" prop="clearUserName">
  32. <u--input v-model="inputForm.clearUserName" :disabled="true" placeholder="清运专员" clearable></u--input>
  33. </u-form-item>
  34. <u-form-item label="联系方式" prop="clearUserMobile">
  35. <u--input v-model="inputForm.clearUserMobile" :disabled="true" placeholder="联系方式" clearable></u--input>
  36. </u-form-item>
  37. </u--form>
  38. </view>
  39. <!-- Second Section: 上传图片 -->
  40. <view class="form-section">
  41. <text class="u-demo-block__title">现场照片</text>
  42. <view class="u-page__upload-item">
  43. <u-upload
  44. :disabled="true"
  45. :fileList="fileList1"
  46. name="1"
  47. multiple
  48. :maxCount="10"
  49. ></u-upload>
  50. </view>
  51. </view>
  52. <!-- Third Section: 备注 -->
  53. <view class="form-section">
  54. <u--form :model="inputForm" labelWidth="100px" class="u-form" labelPosition="left" :rules="rules" ref="inputForm" v-if="!nodeFlag">
  55. <u-form-item label="备注" borderBottom prop="remarks">
  56. <u--textarea placeholder='请填写备注' :maxlength="500" v-model="inputForm.remarks" :disabled="true"></u--textarea>
  57. </u-form-item>
  58. </u--form>
  59. </view>
  60. </view>
  61. </template>
  62. <script>
  63. import overService from '@/api/garbageClearance/overService'
  64. import notifyService from "@/api/notify/notifyService";
  65. export default {
  66. data() {
  67. return {
  68. disFlag: true, // 启用动态获取处理单位则设置为false
  69. processingUnits: [],
  70. fileList1: [],
  71. nodeFlag: false,
  72. inputForm: {
  73. no: '',
  74. processingUnit: '',
  75. processingUnitName: '',
  76. clearUserId: '',
  77. clearUserName: '',
  78. clearUserMobile: '',
  79. remarks: '',
  80. },
  81. rules: {
  82. 'processingUnit': [
  83. {
  84. required: true,
  85. message: '处理单位不能为空',
  86. trigger: ['blur', 'change']
  87. }
  88. ],
  89. },
  90. showFlag: false,
  91. notication: {
  92. title: '',
  93. createTime: '',
  94. createBy: {
  95. name: ''
  96. }
  97. }
  98. }
  99. },
  100. onLoad (option) {
  101. notifyService.query({isSelf:true, id:option.id}).then(async (data)=>{
  102. if (data.lookOverId) {
  103. this.showFlag = true;
  104. }
  105. // 获取巡视工单信息
  106. await overService.queryById(data.lookOverId).then((data) => {
  107. data.no = 'XS-J' + data.no;
  108. console.log('data', data)
  109. this.fileList1 = data.fileList1
  110. console.log('this.fileList1', this.fileList1)
  111. this.inputForm = this.recover(this.inputForm, data)
  112. })
  113. this.notication = data
  114. });
  115. }
  116. }
  117. </script>
  118. <style>
  119. .form-section {
  120. padding: 10px 15px;
  121. margin-bottom: 10px;
  122. background-color: #ffffff;
  123. border-radius: 5px;
  124. box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  125. }
  126. .u-page__upload-item {
  127. margin-top: 10px;
  128. }
  129. .button-container {
  130. margin-top: 20px;
  131. text-align: center;
  132. }
  133. .cu-form-group .title {
  134. min-width: 100px;
  135. }
  136. </style>