Houjie
2025-05-15 1833dd6d7cac01c35840af52fadc1199821e5805
pages/ToDoList/ToDoBaoZhouSure/ToDoBaoZhouSure.vue
@@ -9,7 +9,8 @@
         <uni-forms ref="form" :modelValue="formData" validate-trigger="bind" err-show-type="undertext">
            <uni-group top="1">
               <view class="text-gray margin-bottom-lg">—————————— 基本信息 ——————————</view>
               <view class="divider"><text>基本信息</text></view>
               <!-- <view class="text-gray margin-bottom-lg">—————————— 基本信息 ——————————</view> -->
               <uni-forms-item :label-width="80" name="num" label="工单号:">
                  <uni-easyinput v-model="formData.orderNum" :disabled="true" />
               </uni-forms-item>
@@ -28,24 +29,15 @@
                  <uni-easyinput v-model="formData.remark" :disabled="true" />
               </uni-forms-item>
               <uni-forms-item :label-width="80" name="outNum" label="保养图片:">
                  <view class="grid col-4 grid-square flex-sub">
                     <view class="bg-img" v-for="(item,index) in imgList" :key="index" @tap="ViewImage"
                        :data-url="imgList[index]">
                        <image :src="imgList[index]" mode="aspectFill"></image>
                        <view class="cu-tag bg-red radius" @tap.stop="DelImg" :data-index="index">
                           <text class='cuIcon-close'></text>
                        </view>
                     </view>
                     <view class="solids" v-if="imgList.length<1">
                        <text class='cuIcon-cameraadd'></text>
                     </view>
                  </view>
                  <uni-file-picker limit="9" :value="fileLists" :image-styles="imageStyles"
                     :sourceType="sourceType" @select="select" @progress="progress" @success="success"
                     @fail="fail" @delete="deletea" :readonly="readonly" />
               </uni-forms-item>
            </uni-group>
         </uni-forms>
         <view class="text-gray margin-bottom-lg">—————————— 保养项信息 ——————————</view>
         <!-- <view class="text-gray margin-bottom-lg">—————————— 保养项信息 ——————————</view> -->
         <view class="divider"><text>保养项信息</text></view>
         <uni-collapse>
            <uni-collapse-item :show-animation="true" :accordion="true" title="查看保养项" :border="false"
               title-border="none">
@@ -65,31 +57,42 @@
                  </view>
                  <view class="flex">
                     <view class="flex-sub text-light bg-white padding-xs margin-xs radius">子保养项:</view>
                     <view class="flex-sub bg-white padding-xs margin-xs radius text-right"
                        v-if="item.subItemName!=null && item.subItemName.length>10">
                        {{(item.subItemName).toString().substr(0,10)+'...'}}
                     </view>
                     <view class="flex-sub bg-white padding-xs margin-xs radius text-right" v-else>
                     <view class="flex-sub bg-white padding-xs margin-xs radius text-right">
                        {{item.subItemName}}
                     </view>
                     <!-- <view class="flex-sub bg-white padding-xs margin-xs radius text-right"
                        v-if="item.subItemName!=null && item.subItemName.length>10">
                        {{(item.subItemName).toString().substr(0,10)+'...'}}
                     </view> -->
                     <!-- <view class="flex-sub bg-white padding-xs margin-xs radius text-right" v-else>
                        {{item.subItemName}}
                     </view> -->
                  </view>
                  <view class="flex">
                     <view class="flex-sub text-light bg-white  padding-xs margin-xs radius">保养要求:</view>
                     <view class="flex-sub bg-white padding-xs margin-xs radius text-right"
                        v-if="item.itemDemand!=null && item.itemDemand.length>10">
                        {{(item.itemDemand).toString().substr(0,10)+'...'}}
                     </view>
                     <view class="flex-sub bg-white padding-xs margin-xs radius text-right" v-else>
                     <view class="flex-sub bg-white padding-xs margin-xs radius text-right">
                        {{item.itemDemand}}
                     </view>
                     <!-- <zb-tooltip placement="left" ref="tooltip7"  >
                        <view slot="content">
                           <view class="flex-sub bg-white padding-xs margin-xs radius text-right">
                              {{item.itemDemand}}
                           </view>
                        </view>
                        <view >
                           <button size="mini">更多</button >
                        </view>
                     </zb-tooltip> -->
                     <!-- <view class="flex-sub bg-white padding-xs margin-xs radius text-right" v-else>
                        {{item.itemDemand}}
                     </view> -->
                  </view>
                  <view class="flex">
                     <view class="flex-sub text-light bg-white  padding-xs margin-xs radius">是否报修:</view>
                     <view class="flex-sub bg-white padding-xs     text-right margin-xs radius">
                        <uni-data-select :localdata="item.type" v-model="item.reportFlag"
                           :disabled="item.istrue" />
                        <uni-data-select :localdata="item.type" @change="handType($event, index)"
                           v-model="item.reportFlag" :disabled="item.istrue" />
                     </view>
                  </view>
                  <view class="flex">
@@ -113,12 +116,13 @@
         <uni-forms ref="form" :modelValue="ScanData" validate-trigger="bind" err-show-type="undertext">
            <uni-group top="1">
               <view class="text-gray margin-bottom-lg">—————————班组长确认信息——————————</view>
               <uni-forms-item :label-width="80" required name="typeName" label="处理类型:">
               <view class="divider"><text>班组长确认信息</text></view>
               <!--    <view class="text-gray margin-bottom-lg">—————————班组长确认信息——————————</view> -->
               <uni-forms-item :label-width="80" required name="typeName" label="确认类型:">
                  <uni-data-select v-model="ScanData.typeName" :localdata="ScanData.handlingType"
                     @change="changehandlingType" placeholder="请选择" :disabled="isShowSure" />
               </uni-forms-item>
               <uni-forms-item :label-width="80" required name="handlingSuggestion" label="处理意见:">
               <uni-forms-item :label-width="80" required name="handlingSuggestion" label="确认意见:">
                  <uni-easyinput type="textarea" v-model="ScanData.handlingSuggestion" :disabled="isShowSure" />
               </uni-forms-item>
@@ -127,52 +131,40 @@
         <uni-forms v-show="isHideFist" ref="form" :modelValue="ScanData" validate-trigger="bind"
            err-show-type="undertext">
            <uni-group top="1">
               <view class="text-gray margin-bottom-lg">—————————初验收信息——————————</view>
               <view class="divider"><text>初验收信息</text></view>
               <uni-forms-item :label-width="80" required name="initialAcceptanceComment" label="初审意见:">
                  <uni-easyinput type="textarea" v-model="ScanData.initialAcceptanceComment" placeholder="请输入意见"
                     :disabled="isShowLast" />
               </uni-forms-item>
               <uni-forms-item :label-width="80" required name="randomInspectionFlag" label="抽检标记:">
                  <uni-data-select v-model="ScanData.InspectionFlagName"
                     :localdata="ScanData.randomInspectionFlagList" @change="changehandlingInspectionFlag"
                     placeholder="请选择" :disabled="isShowSure" />
               </uni-forms-item>
               <uni-forms-item :label-width="80" name="outNum" label="初验收附件:">
                  <view class="grid col-4 grid-square flex-sub">
                     <view class="bg-img" v-for="(item,index) in imgListinitialAccept" :key="index"
                        @tap="ViewImageFile" :data-url="imgListinitialAccept[index]">
                        <image :src="imgListinitialAccept[index]" mode="aspectFill"></image>
                        <view class="cu-tag bg-red radius" @tap.stop="DelImgFile" :data-index="index">
                           <text class='cuIcon-close'></text>
                        </view>
                     </view>
                     <view class="solids" @click="ChooseImageFile()" v-if="imgListinitialAccept.length<1">
                        <text class='cuIcon-cameraadd'></text>
                     </view>
                  </view>
                  <uni-file-picker limit="9" :value="fileList" :image-styles="imageStyles"
                     :sourceType="sourceType" @select="selectFirst" @progress="progress" @success="success"
                     @fail="fail" @delete="deleteFirst" :readonly="readonlyFirst" />
               </uni-forms-item>
            </uni-group>
         </uni-forms>
         <uni-forms v-show="isHideLast" ref="form" :modelValue="ScanData" validate-trigger="bind"
            err-show-type="undertext">
            <uni-group top="1">
               <view class="text-gray margin-bottom-lg">—————————终验收信息——————————</view>
               <view class="divider"><text>终验收信息</text></view>
               <uni-forms-item :label-width="80" required name="finalAcceptanceComment" label="终验收意见:">
                  <uni-easyinput type="textarea" v-model="ScanData.finalAcceptanceComment" placeholder="请输入意见"
                     :disabled="isfinal" />
               </uni-forms-item>
               <uni-forms-item :label-width="80" required name="finalFlagName" label="抽检标记:">
                  <uni-data-select v-model="ScanData.finalFlagName" :localdata="ScanData.finalInspectionFlagList"
                     @change="changehandlingFinalFlag" placeholder="请选择" :disabled="isfinal" />
               </uni-forms-item>
               <uni-forms-item :label-width="80" name="outNum" label="终验收附件:">
                  <view class="grid col-4 grid-square flex-sub">
                     <view class="bg-img" v-for="(item,index) in imgListfinalAcceptanceFilesResult" :key="index"
                        @tap="ViewImageFinal" :data-url="imgListfinalAcceptanceFilesResult[index]">
                        <image :src="imgListfinalAcceptanceFilesResult[index]" mode="aspectFill"></image>
                        <view class="cu-tag bg-red radius" @tap.stop="DelImgFinal" :data-index="index">
                           <text class='cuIcon-close'></text>
                        </view>
                     </view>
                     <view class="solids" @click="ChooseImageFinal()"
                        v-if="imgListfinalAcceptanceFilesResult.length<1">
                        <text class='cuIcon-cameraadd'></text>
                     </view>
                  </view>
                  <uni-file-picker limit="9" :value="fileListFanl" :image-styles="imageStyles"
                     :sourceType="sourceType" @select="selectFirstFanl" @progress="progress" @success="success"
                     @fail="fail" @delete="deleteFanl" :readonly="readonlyFirstFanl" />
               </uni-forms-item>
            </uni-group>
         </uni-forms>
@@ -192,6 +184,20 @@
      mixins: [MescrollMixin], // 使用mixin
      data() {
         return {
            readonly: false,
            readonlyFirstFanl: false,
            readonlyFirst: false,
            // 图片回显
            fileLists: [],
            fileList: [],
            fileListFanl: [],
            // 上传图片的样式
            imageStyles: {
               width: 90,
               height: 90,
            },
            // uni.chooseImage值,从相册选择,拍摄
            sourceType: ['album', 'camera'],
            title: '',
            isShowBtn: true,
            isHideLast: false,
@@ -206,6 +212,8 @@
            equipmentList: [],
            uploadUrl: "/sys/common/upload",
            ScanData: {
               InspectionFlagName: '',
               finalFlagName: '',
               typeName: '',
               initialAcceptanceComment: '',
               handlingType: [{
@@ -217,12 +225,32 @@
                     value: "2"
                  }
               ],
               randomInspectionFlagList: [{
                     text: "否",
                     value: '0'
                  },
                  {
                     text: "是",
                     value: '1'
                  }
               ],
               finalInspectionFlagList: [{
                     text: "否",
                     value: '0'
                  },
                  {
                     text: "是",
                     value: '1'
                  }
               ],
               handlingSuggestion: ''
            },
            formData: {
               avatar: [],
               avatarFile: [],
               avatarFinal: [],
               initialAcceptanceFiles: [],
               finalAcceptanceFiles: [],
               id: '',
               maintenanceStatus: ''
            },
@@ -233,8 +261,7 @@
            url: {
               upload: "/eam/sysFiles/batch_upload",
               stallList: "/eam/weekMaintenanceOrder/queryById",
               // getEquipmentList: "eam/equipment/asyncLoadEquipment",
               getEquipmentList:'eam/equipment/list',
               getEquipmentList: 'eam/equipment/list',
               BaoList: '/eam/weekMaintenanceOrderDetail/queryList',
               approval: 'eam/weekMaintenanceOrder/approval'
            },
@@ -265,8 +292,11 @@
            msg1Title: "",
            procInstId: '',
            values: '',
            flag: '',
            imageFiles: '',
            imageObjectInIt: [],
            imageFilesList: [],
            imageObjectFinal: [],
            imageFilesnitialAcceptList: []
         }
      },
@@ -283,6 +313,8 @@
      },
      onLoad(options) {
         const annItem = JSON.parse(decodeURIComponent(options.item));
         this.flag = options.flag
         console.log(this.flag)
         this.variables = annItem.variables
         this.id = annItem.dataId
         this.taskId = annItem.id
@@ -296,8 +328,19 @@
      },
      methods: {
         changehandlingFinalFlag(e) {
            this.ScanData.finalFlagName = e;
         },
         changehandlingType(e) {
            this.ScanData.typeName = e;
         },
         changehandlingInspectionFlag(e) {
            this.ScanData.InspectionFlagName = e;
         },
         handType(e, index) {
            console.log(e)
         },
         ProductionTask() {
            if (this.formData.maintenanceStatus == 'WAIT_FINAL_ACCEPTANCE') {
@@ -326,27 +369,33 @@
                  return false;
               }
            }
            if (this.formData.maintenanceStatus == 'WAIT_CONFIRM' && this.flag != 'task') {
               if (this.ScanData.typeName == undefined || this.ScanData.typeName == null || this.ScanData.typeName ==
                  '') {
            if (this.ScanData.typeName == undefined || this.ScanData.typeName == null || this.ScanData.typeName ==
               '') {
                  uni.showToast({
                     icon: 'none',
                     title: '确认类型不能为空'
                  });
                  return false;
               }
               if (this.ScanData.handlingSuggestion == undefined || this.ScanData.handlingSuggestion == null || this
                  .ScanData.handlingSuggestion ==
                  '') {
               uni.showToast({
                  icon: 'none',
                  title: '处理类型不能为空'
               });
               return false;
                  uni.showToast({
                     icon: 'none',
                     title: '确认意见不能为空'
                  });
                  return false;
               }
            }
            if (this.ScanData.handlingSuggestion == undefined || this.ScanData.handlingSuggestion == null || this
               .ScanData.handlingSuggestion ==
               '') {
               uni.showToast({
                  icon: 'none',
                  title: '处理意见不能为空'
               });
               return false;
            }
            uni.showLoading({
               mask: true,
               title: "加载中....",
            })
            this.$http.put(this.url.approval, {
               finalAcceptanceFilesResult: this.formData.avatarFinal,
               finalAcceptanceComment: this.ScanData.finalAcceptanceComment,
@@ -356,10 +405,12 @@
               confirmDealType: this.ScanData.typeName,
               id: this.formData.id,
               dataId: this.id,
               randomInspectionFlag: this.ScanData.InspectionFlagName,
               instanceId: this.procInstId,
               tableDetailList: this.partTakeAdviceDetailList,
               taskId: this.taskId,
               userId: this.assignee,
               finalRandomInspectionFlag: this.ScanData.finalFlagName,
               maintenanceDate: this.formData.maintenanceDate,
               equipmentId: this.formData.num,
               imageFilesResult: this.imageFilesList,
@@ -367,8 +418,7 @@
               standardId: this.formData.standardId,
               standardName: this.formData.standardName
            }).then(res => {
               console.log(res)
               this.$tip.loaded();
               uni.hideLoading()
               if (res.data.success) {
                  uni.showToast({
                     icon: "success",
@@ -404,48 +454,32 @@
               this.partTakeAdviceDetailList[index].istrue = true;
            }
         },
         // getEquipment() {
         //    this.$http.get(this.url.getEquipmentList).then(res => {
         //       //设置列表数据
         //       if (res.data.success) {
         //          this.equipmentList = res.data.result
         //       } else {
         //          uni.showToast({
         //             icon: "error",
         //             title: res.data.message,
         //             duration: 2000
         //          });
         //       }
         //    }).catch(() => {
         //       this.$tip.error("联网失败")
         //    })
         // },
            getEquipment() {
                     this.$http.get(this.url.getEquipmentList, {
                        params: {
                           pageNo: 1,
                           pageSize: 9999,
                           order: 'desc',
                           column: 'createTime'
                        },
                     }).then(res => {
                        //设置列表数据
                        if (res.data.success) {
                           this.equipmentList = res.data.result.records
                        } else {
                           uni.showToast({
                              icon: "error",
                              title: res.data.message,
                              duration: 2000
                           });
                        }
                     }).catch(() => {
                        this.$tip.error("联网失败")
                     })
                  },
         getEquipment() {
            this.$http.get(this.url.getEquipmentList, {
               params: {
                  pageNo: 1,
                  pageSize: 9999,
                  order: 'desc',
                  column: 'createTime'
               },
            }).then(res => {
               //设置列表数据
               if (res.data.success) {
                  this.equipmentList = res.data.result.records
               } else {
                  uni.showToast({
                     icon: "error",
                     title: res.data.message,
                     duration: 2000
                  });
               }
            }).catch(() => {
               this.$tip.error("联网失败")
            })
         },
         getList() {
            this.$http.get(this.url.BaoList, {
               params: {
@@ -467,11 +501,11 @@
                  ]; // 新字段,值为一个空数组
                  item.type = [{
                        text: "否",
                        value: 0
                        value: '0'
                     },
                     {
                        text: "是",
                        value: 1
                        value: '1'
                     }
                  ]; // 新字段,值为一个空数组
                  item.istrue = true;
@@ -487,201 +521,143 @@
            })
         },
         ChooseImageFinal() {
            var that = this;
            uni.chooseImage({
               count: 4,
               sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
               sourceType: ['album'], // 从相册选择
               success: (res) => {
                  // 存储选择的图片路径
                  that.imgListfinalAcceptanceFilesResult = res.tempFilePaths;
                  // 初始化 formData.avatar 为空字符串
                  that.formData.avatarFinal = [];
                  // 创建上传任务的 Promise 数组
                  const uploadPromises = res.tempFilePaths.map((filePath, index) => {
                     return new Promise((resolve, reject) => {
                        that.$http.upload(that.url.upload, {
                              filePath: filePath,
                              name: 'file'
                           })
                           .then(uploadRes => {
                              // 假设服务器返回的结果中包含文件路径
                              const filePath = uploadRes.data.result[0];
                              this.formData.avatarFinal.push(filePath);
                              resolve(filePath);
                           })
                           .catch(err => {
                              console.error('图片' + index + '上传失败:', err);
                              reject(err);
                           });
                     });
                  });
                  // 并发执行所有上传任务
                  Promise.all(uploadPromises)
                     .then((uploadedFilePaths) => {
                        console.log('所有图片上传成功:', that.formData.avatarFinal);
         selectFirst(e) {
            const tempFilePaths = e.tempFilePaths;
            uni.showLoading({
               title: '上传中...'
            });
            const uploadPromises = tempFilePaths.map((filePath, index) => {
               return new Promise((resolve, reject) => {
                  this.$http.upload(this.url.upload, {
                        filePath: filePath,
                        name: 'file'
                     })
                     .catch((err) => {
                        console.error('图片上传失败:', err);
                        that.$tip.error('图片上传失败');
                     });
               }
            });
         },
         ChooseImageFile() {
            var that = this;
            uni.chooseImage({
               count: 4,
               sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
               sourceType: ['album'], // 从相册选择
               success: (res) => {
                  // 存储选择的图片路径
                  that.imgListinitialAccept = res.tempFilePaths;
                  // 初始化 formData.avatar 为空字符串
                  that.formData.avatarFile = [];
                  // 创建上传任务的 Promise 数组
                  const uploadPromises = res.tempFilePaths.map((filePath, index) => {
                     return new Promise((resolve, reject) => {
                        that.$http.upload(that.url.upload, {
                              filePath: filePath,
                              name: 'file'
                           })
                           .then(uploadRes => {
                              // 假设服务器返回的结果中包含文件路径
                              const filePath = uploadRes.data.result[0];
                              this.formData.avatarFile.push(filePath);
                              resolve(filePath);
                           })
                           .catch(err => {
                              console.error('图片' + index + '上传失败:', err);
                              reject(err);
                           });
                     });
                  });
                  // 并发执行所有上传任务
                  Promise.all(uploadPromises)
                     .then((uploadedFilePaths) => {
                        console.log('所有图片上传成功:', that.formData.avatarFile);
                     .then(uploadRes => {
                        // 假设服务器返回的结果中包含文件路径
                        const serverFilePath = uploadRes.data.result[0];
                        this.formData.avatarFile.push(serverFilePath);
                        resolve(uploadRes); // 返回结果给 Promise.all
                     })
                     .catch((err) => {
                        console.error('图片上传失败:', err);
                        that.$tip.error('图片上传失败');
                     .catch(err => {
                        console.error(`图片 ${index + 1} 上传失败:`, err);
                        reject(err);
                     });
               }
               });
            });
         },
         ChooseImage() {
            var that = this;
            uni.chooseImage({
               count: 4,
               sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
               sourceType: ['album'], // 从相册选择
               success: (res) => {
                  // 存储选择的图片路径
                  that.imgList = res.tempFilePaths;
                  // 初始化 formData.avatar 为空字符串
                  that.formData.avatar = [];
                  // 创建上传任务的 Promise 数组
                  const uploadPromises = res.tempFilePaths.map((filePath, index) => {
                     return new Promise((resolve, reject) => {
                        that.$http.upload(that.url.upload, {
                              filePath: filePath,
                              name: 'file'
                           })
                           .then(uploadRes => {
                              // 假设服务器返回的结果中包含文件路径
                              const filePath = uploadRes.data.result[0];
                              this.formData.avatar.push(filePath);
                              resolve(filePath);
                           })
                           .catch(err => {
                              console.error('图片' + index + '上传失败:', err);
                              reject(err);
                           });
                     });
            Promise.all(uploadPromises)
               .then(() => {
                  uni.hideLoading();
                  uni.showToast({
                     title: '全部上传成功'
                  });
                  // 并发执行所有上传任务
                  Promise.all(uploadPromises)
                     .then((uploadedFilePaths) => {
                        console.log('所有图片上传成功:', that.formData.avatar);
               })
               .catch(err => {
                  uni.hideLoading();
                  uni.showToast({
                     title: '部分上传失败111',
                     icon: 'none'
                  });
                  console.error('上传异常:', err);
               });
         },
         selectFirstFanl(e) {
            const tempFilePaths = e.tempFilePaths;
            uni.showLoading({
               title: '上传中...'
            });
            const uploadPromises = tempFilePaths.map((filePath, index) => {
               return new Promise((resolve, reject) => {
                  this.$http.upload(this.url.upload, {
                        filePath: filePath,
                        name: 'file'
                     })
                     .catch((err) => {
                        console.error('图片上传失败:', err);
                        that.$tip.error('图片上传失败');
                     .then(uploadRes => {
                        // 假设服务器返回的结果中包含文件路径
                        const serverFilePath = uploadRes.data.result[0];
                        this.formData.avatarFinal.push(serverFilePath);
                        resolve(uploadRes); // 返回结果给 Promise.all
                     })
                     .catch(err => {
                        console.error(`图片 ${index + 1} 上传失败:`, err);
                        reject(err);
                     });
               }
               });
            });
            Promise.all(uploadPromises)
               .then(() => {
                  uni.hideLoading();
                  uni.showToast({
                     title: '全部上传成功'
                  });
               })
               .catch(err => {
                  uni.hideLoading();
                  uni.showToast({
                     title: '部分上传失败222',
                     icon: 'none'
                  });
                  console.error('上传异常:', err);
               });
         },
         ViewImageFinal(e) {
            uni.previewImage({
               urls: this.imgListfinalAcceptanceFilesResult,
               current: e.currentTarget.dataset.url
         select(e) {
            const tempFilePaths = e.tempFilePaths;
            uni.showLoading({
               title: '上传中...'
            });
         },
         ViewImage(e) {
            uni.previewImage({
               urls: this.imgList,
               current: e.currentTarget.dataset.url
            const uploadPromises = tempFilePaths.map((filePath, index) => {
               return new Promise((resolve, reject) => {
                  this.$http.upload(this.url.upload, {
                        filePath: filePath,
                        name: 'file'
                     })
                     .then(uploadRes => {
                        // 假设服务器返回的结果中包含文件路径
                        const serverFilePath = uploadRes.data.result[0];
                        this.formData.avatar.push(serverFilePath);
                        resolve(uploadRes); // 返回结果给 Promise.all
                     })
                     .catch(err => {
                        console.error(`图片 ${index + 1} 上传失败:`, err);
                        reject(err);
                     });
               });
            });
         },
         ViewImageFile(e) {
            uni.previewImage({
               urls: this.imgListinitialAccept,
               current: e.currentTarget.dataset.url
            });
         },
         DelImgFinal(e) {
            uni.showModal({
               title: '提示',
               content: '确定要删除这段回忆吗?',
               cancelText: '再看看',
               confirmText: '再见',
               success: res => {
                  if (res.confirm) {
                     this.imgListfinalAcceptanceFilesResult.splice(e.currentTarget.dataset.index, 1)
                  }
               }
            })
         },
         DelImgFile(e) {
            uni.showModal({
               title: '提示',
               content: '确定要删除这段回忆吗?',
               cancelText: '再看看',
               confirmText: '再见',
               success: res => {
                  if (res.confirm) {
                     this.imgListinitialAccept.splice(e.currentTarget.dataset.index, 1)
                  }
               }
            })
         },
         DelImg(e) {
            uni.showModal({
               title: '提示',
               content: '确定要删除这段回忆吗?',
               cancelText: '再看看',
               confirmText: '再见',
               success: res => {
                  if (res.confirm) {
                     this.imgList.splice(e.currentTarget.dataset.index, 1)
                  }
               }
            })
            Promise.all(uploadPromises)
               .then(() => {
                  uni.hideLoading();
                  uni.showToast({
                     title: '全部上传成功'
                  });
               })
               .catch(err => {
                  uni.hideLoading();
                  uni.showToast({
                     title: '部分上传失败',
                     icon: 'none'
                  });
                  console.error('上传异常:', err);
               });
         },
         // 删除
         deletea(e) {
            console.log('删除图片', e);
         },
         // 删除
         deleteFirst(e) {
            console.log('删除图片', e);
         },
         deleteFanl(e) {
            console.log('删除图片', e);
         },
         upCallback() {
            console.log(configService.staticURL)
            this.$http.get(this.url.stallList, {
@@ -701,35 +677,83 @@
                  this.formData.maintenanceDate = this.announcement1.maintenanceDate
                  this.formData.remark = this.announcement1.remark
                  this.ScanData.finalAcceptanceComment = this.announcement1.finalAcceptanceComment
                  if (this.announcement1.randomInspectionFlag != null) {
                     this.ScanData.InspectionFlagName = this.announcement1.randomInspectionFlag
                  }
                  if (this.announcement1.finalRandomInspectionFlag != null) {
                     this.ScanData.finalFlagName = this.announcement1.finalRandomInspectionFlag
                  }
                  this.formData.maintenanceStatus = this.announcement1.maintenanceStatus
                  switch (this.formData.maintenanceStatus) {
                     /**
                      * 初检
                      */
                     case 'WAIT_INITIAL_ACCEPTANCE':
                        this.title = '初检'
                        this.isShowSure = true;
                        this.isHideFist = true;
                        if (this.flag == 'task') {
                           this.title = '详情'
                           this.readonly = true;
                           this.readonlyFirst = true;
                           this.isShowSure = true;
                           this.isHideFist = true;
                           this.isShowLast = true;
                           this.isShowBtn = false;
                        } else {
                           this.title = '初检'
                           this.readonly = true
                           this.isShowSure = true;
                           this.isHideFist = true;
                        }
                        break
                        /**
                         * 终验
                         */
                     case 'WAIT_FINAL_ACCEPTANCE':
                        this.title = '终验'
                        this.isHideFist = true;
                        this.isShowLast = true;
                        this.isShowSure = true;
                        this.isHideLast = true;
                        if (this.flag == 'task') {
                           this.title = '终验'
                           this.readonly = true
                           this.readonlyFirst = true
                           this.isHideFist = true;
                           this.isShowLast = true;
                           this.isShowSure = true;
                           this.isHideLast = true;
                           this.isShowBtn = false;
                           this.isfinal = true;
                           this.readonlyFirstFanl = true;
                        } else {
                           this.title = '设能部终验'
                           this.readonly = true
                           this.readonlyFirst = true
                           this.isHideFist = true;
                           this.isShowLast = true;
                           this.isShowSure = true;
                           this.isHideLast = true;
                        }
                        break
                        /**
                         * 执行
                         */
                     case 'WAIT_CONFIRM':
                        this.title = '执行'
                        this.isHideLast = false
                        this.isHideFist = false
                        this.isShowBtn=false
                        this.isShowSure=true
                        if (this.flag == 'task') {
                           this.title = '详情'
                           this.readonly = true
                           this.isHideLast = false
                           this.isHideFist = false
                           this.isShowBtn = false
                           this.isShowSure = true
                        } else {
                           this.title = '班组长确认'
                           this.isHideLast = false
                           this.readonly = true
                           this.isHideFist = false
                           this.isShowBtn = true
                           this.isShowSure = false
                        }
                        break
                     case 'COMPLETE':
                        this.isShowSure = true;
@@ -737,6 +761,9 @@
                        this.isHideFist = true
                        this.isShowLast = true
                        this.isfinal = true
                        this.readonlyFirst = true
                        this.readonly = true
                        this.readonlyFirstFanl = true
                        this.isShowBtn = false
                        this.title = '详情'
                        break
@@ -745,31 +772,94 @@
                  this.ScanData.typeName = this.announcement1.confirmDealType
                  this.formData.id = this.announcement1.id
                  this.ScanData.handlingSuggestion = this.announcement1.confirmComment
                  this.formData.avatar = this.announcement1.imageFiles
                  this.imageFilesList = JSON.parse(this.formData.avatar)
                  const imageObjects = JSON.parse(this.formData.avatar);
                  // 提取 filePath 并拼接 IP 和端口
                  this.imgList = imageObjects.map(imageObj => {
                     return `${this.ipAndPort}${imageObj.filePath}`;
                  });
                  this.formData.avatarFile = this.announcement1.initialAcceptanceFiles,
                     this.imageFilesnitialAcceptList = JSON.parse(this.formData.avatarFile)
                  const imageObjectInIt = JSON.parse(this.formData.avatarFile);
                  // 提取 filePath 并拼接 IP 和端口
                  this.imgListinitialAccept = imageObjectInIt.map(imageObj => {
                     return `${this.ipAndPort}${imageObj.filePath}`;
                  });
                  if (this.announcement1.imageFiles) {
                     try {
                        const parsedDataFile = JSON.parse(this.announcement1.imageFiles);
                        this.imageFilesList = parsedDataFile;
                  this.formData.avatarFinal = this.announcement1.finalAcceptanceFiles,
                     this.imageObjectFinal = JSON.parse(this.formData.avatarFinal)
                  const imageObjectFinal = JSON.parse(this.formData.avatarFinal);
                  // 提取 filePath 并拼接 IP 和端口
                  this.imgListfinalAcceptanceFilesResult = imageObjectFinal.map(imageObj => {
                     return `${this.ipAndPort}${imageObj.filePath}`;
                  });
                        this.imgList = parsedDataFile.map(imageObj => {
                           return `${this.ipAndPort}${imageObj.filePath}`;
                        });
                        this.fileLists = this.imgList.map(url => ({
                           url: url,
                           extname: 'png',
                           name: 'eam'
                        }));
                     } catch (error) {
                        console.error('JSON 解析失败:', error);
                        this.imageObjectFinal = [];
                        this.imgListfinalAcceptanceFilesResult = [];
                        this.fileListFanl = [];
                     }
                  } else {
                     // 当值为 null 或空字符串时初始化为空数组
                     this.imageObjectFinal = [];
                     this.imgListfinalAcceptanceFilesResult = [];
                     this.fileListFanl = [];
                  }
                  if (this.announcement1.initialAcceptanceFiles) {
                     try {
                        const parsedDataIn = JSON.parse(this.announcement1.initialAcceptanceFiles);
                        this.imageObjectInIt = parsedDataIn;
                        this.imgListinitialAccept = parsedDataIn.map(imageObj => {
                           return `${this.ipAndPort}${imageObj.filePath}`;
                        });
                        this.fileList = this.imgListinitialAccept.map(url => ({
                           url: url,
                           extname: 'png',
                           name: 'eam'
                        }));
                     } catch (error) {
                        console.error('JSON 解析失败:', error);
                        this.imageObjectInIt = [];
                        this.imgListinitialAccept = [];
                        this.fileList = [];
                     }
                  } else {
                     // 处理空值情况
                     this.imageObjectInIt = [];
                     this.imgListinitialAccept = [];
                     this.fileList = [];
                  }
                  console.log('finalAcceptanceFiles:', this.announcement1.finalAcceptanceFiles);
                  // 判断是否为 null 或 空字符串
                  if (this.announcement1.finalAcceptanceFiles) {
                     try {
                        const parsedData = JSON.parse(this.announcement1.finalAcceptanceFiles);
                        this.imageObjectFinal = parsedData;
                        this.imgListfinalAcceptanceFilesResult = parsedData.map(imageObj => {
                           return `${this.ipAndPort}${imageObj.filePath}`;
                        });
                        this.fileListFanl = this.imgListfinalAcceptanceFilesResult.map(url => ({
                           url: url,
                           extname: 'png',
                           name: 'eam'
                        }));
                     } catch (error) {
                        console.error('JSON 解析失败:', error);
                        this.imageObjectFinal = [];
                        this.imgListfinalAcceptanceFilesResult = [];
                        this.fileListFanl = [];
                     }
                  } else {
                     // 当值为 null 或空字符串时初始化为空数组
                     this.imageObjectFinal = [];
                     this.imgListfinalAcceptanceFilesResult = [];
                     this.fileListFanl = [];
                  }
               }
            }).catch(() => {
@@ -848,4 +938,29 @@
      margin-top: 85px;
      height: auto;
   }
   .divider {
      display: flex;
      align-items: center;
      text-align: center;
      color: gray;
      /* 文字颜色 */
      margin: 20px 0;
      /* 上下间距 */
   }
   .divider::before,
   .divider::after {
      content: '';
      flex: 1;
      border-bottom: 1px solid gray;
      /* 横线颜色 */
      margin: 0 16px;
      /* 横线与文字之间的间距 */
   }
   .divider text {
      white-space: nowrap;
      /* 防止文字换行 */
   }
</style>