jiangping
2025-04-18 015b4f31cebbecf6f6da760ed2f8af3da721e802
h5/pages/workOrder_dca/workOrder_dca.vue
@@ -2,6 +2,7 @@
   <view class="dca" v-if="info">
      <view class="dca_head">
         <text>任务{{returnStatus(info.status)}}</text>
         <text>工单号:{{info.code}}</text>
      </view>
      <u-gap height="5" bgColor="#EFEFEF"></u-gap>
      <view class="dca_list">
@@ -16,7 +17,7 @@
         <view class="dca_list_item" style="flex-direction: column;">
            <view class="dca_list_item_label">图片</view>
            <view class="dca_list_item_tu" v-if="info.multifileList">
               <view class="dca_list_item_tu_item" v-for="(item, index) in info.multifileList" :key="index">
               <view class="dca_list_item_tu_item" v-for="(item, index) in info.multifileList" :key="index" @click="previewImage(item.fileurlFull, info.multifileList.map(item => item.fileurlFull))">
                  <image :src="item.fileurlFull" mode="widthFix"></image>
               </view>
               <view class="dca_list_item_tu_zw"></view>
@@ -32,7 +33,7 @@
            <view class="lc">
               <view class="lc_item" v-for="(item, index) in info.logList" :key="index">
                  <view class="lc_item_dian"></view>
                  <view class="lc_item_xian" v-if="info.logList.length === 1 ? false : index === 0"></view>
                  <view class="lc_item_xian" v-if="info.logList.length === 1 ? false : index !== info.logList.length - 1"></view>
                  <view class="lc_item_title">{{item.title}}</view>
                  <view class="lc_item_info">{{item.companyName}}/{{item.userName}} {{item.createDate}}</view>
                  <view class="lc_item_content" v-if="![0,4].includes(item.objType)">
@@ -52,8 +53,8 @@
                     <view class="lc_item_content_item">
                        <view class="lc_item_content_item_label">图片:</view>
                        <view class="lc_item_content_item_img" v-if="item.multifileList">
                           <view class="image" v-for="(item, index) in item.multifileList" :key="index">
                              <image :src="item.fileurlFull" mode="widthFix"></image>
                           <view class="image" v-for="(child, index) in item.multifileList" :key="index" @click="previewImage(child.fileurlFull, item.multifileList.map(item => item.fileurlFull))">
                              <image :src="child.fileurlFull" mode="widthFix"></image>
                           </view>
                           <view class="imagezw"></view>
                           <view class="imagezw"></view>
@@ -65,7 +66,7 @@
                  </view>
                  <view class="lc_item_content" v-else-if="item.objType === 4">
                     <view class="lc_item_content_item">
                        <view class="lc_item_content_item_label">已催促:</view>
                        <!-- <view class="lc_item_content_item_label">已催促:</view> -->
                        <view class="lc_item_content_item_val">
                           <text>{{item.content}}</text>
                        </view>
@@ -104,6 +105,7 @@
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="2"
                        multiple
                        style="margin-top: 15rpx;" />
                  </u-form-item>
               </u--form>
@@ -129,6 +131,7 @@
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="1"
                        multiple
                        style="margin-top: 15rpx;" />
                  </u-form-item>
               </u--form>
@@ -183,6 +186,21 @@
         this.getDetails()
      },
      methods: {
         // 工单催促
         async urge() {
            let res = await this.$u.api.urge({ workorderId: this.info.id })
            if (res.code === 200) {
               uni.showToast({ title: '催促成功', icon: 'none' })
               this.getDetails()
               this.show2 = false
            }
         },
         previewImage(current, urls) {
            uni.previewImage({
               current,
               urls
            });
         },
         closeGB() {
            this.canScroll()
            this.show1 = false
@@ -209,8 +227,8 @@
            }).then(res =>{
               console.log(res)
               if (res.errCode === 0) {
                  this.model.passOnUserName = res.result.userList.map(item => item.name)
                  this.model.passOnUserId = res.result.userList.map(item => item.id)
                  this.model.passOnUserName = res.result.userList.map(item => item.name).join(',')
                  this.model.passOnUserId = res.result.userList.map(item => item.id).join(',')
               }
            })
         },
@@ -222,11 +240,13 @@
                  info: that.model.info,
                  passOnUserId: that.model.passOnUserId,
                  multifileList: that.model.multifileList,
                  workorderId: that.info.id
                  workorderId: that.info.id,
                  passOnType: this.info.status
               })
               if (res.code === 200) {
                  uni.showToast({ title: '操作成功', icon: 'none' })
                  that.canScroll()
                  uni.$emit('update')
                  that.show = false
                  that.getDetails()
               }
@@ -251,6 +271,7 @@
                  workorderId: that.info.id
               })
               if (res.code === 200) {
                  uni.$emit('update')
                  uni.showToast({ title: '操作成功', icon: 'none' })
                  that.canScroll()
                  that.show1 = false
@@ -277,21 +298,43 @@
         },
         // 新增图片
         afterRead(event) {
            var that = this
            uni.showLoading({ title: '上传中...', mask: true })
            uni.uploadFile({
               url: this.$baseUrl + '/web/public/upload',
               filePath: event.file.url,
               name: "file",
               url: this.$baseUrl + '/web/public/uploadBatch',
               files: event.file.map(e => {
                  return { name: 'files', uri: e.url }
               }),
               formData: {
                  folder: "WORKORDER_LOG_FILE_PATH"
               },
               success: (res) => {
                  folder: "WORKORDER_LOG_FILE_PATH",
               },
               success(res) {
                  uni.hideLoading();
                  let obj = JSON.parse(res.data)
                  if (obj.code === 200) {
                     obj.data.fileurl = obj.data.imgaddr
                     this.model.multifileList.push(obj.data)
                     console.log(obj.data)
                     obj.data.forEach(item => {
                        item.fileurl = item.imgaddr
                     })
                     that.model.multifileList = [...that.model.multifileList, ...obj.data]
                  }
               }
            });
            })
            // uni.uploadFile({
            //    url: this.$baseUrl + '/web/public/upload',
            //    filePath: event.file.url,
            //    name: "file",
            //    formData: {
            //       folder: "WORKORDER_LOG_FILE_PATH"
            //    },
            //    success: (res) => {
            //       let obj = JSON.parse(res.data)
            //       if (obj.code === 200) {
            //          obj.data.fileurl = obj.data.imgaddr
            //          this.model.multifileList.push(obj.data)
            //       }
            //    }
            // });
         }
      }
   }