Browse Source

Merge branch 'feature_20260115_直发类色卡销售发放时必须拍照' into uat(dev)

zhujindu 2 weeks ago
parent
commit
2fc3dac57e
2 changed files with 353 additions and 110 deletions
  1. 213 0
      src/components/uploadWLImg.vue
  2. 140 110
      src/views/deviceWithin/addStoreVisit.vue

+ 213 - 0
src/components/uploadWLImg.vue

@@ -0,0 +1,213 @@
+<template>
+  <div class="questionNamep">
+    <div class="cameraDivp" @click="uploadImg">
+      <van-icon class="photo" name="photograph" size="22px" color="#969696" />
+    </div>
+    <div id="allmap"></div>
+  </div>
+</template>
+
+<script>
+import { addstorePhoto } from '@/api/index';
+import axios from 'axios';
+
+export default {
+  name: 'uploadImg',
+  props: {
+    shouws: {
+      type: Boolean,
+      default: false,
+    },
+    uploadid: {
+      type: String,
+      default: '',
+    },
+    storeGroupId: {
+      type: String,
+      default: '',
+    },
+    visitsId: {
+      type: String,
+      default: '',
+    },
+    taskId: {
+      type: String,
+      default: '',
+    },
+    collectionId: {
+      type: String,
+      default: '',
+    },
+    objectType: {
+      type: String,
+      default: 'rw-ycbf',
+    },
+    visitModel: {
+      type: String,
+      default: '3',
+    },
+  },
+  methods: {
+    uploadImg() {
+      let url = window.location.href;
+      let that = this;
+      let wx = this.wx;
+      let qiyeData;
+      let addressesRemark = '';
+      var map = new TMap.Map('allmap', {
+        zoom: 14,
+        center: new TMap.LatLng(39.986785, 116.301012),
+      });
+
+      var geocoder = new TMap.service.Geocoder(); // 新建一个正逆地址解析类
+      var markers = new TMap.MultiMarker({
+        map: map,
+        geometries: [],
+      });
+      markers.setGeometries([]);
+      const instance = axios.create();
+      instance.defaults.headers.common['userId'] = localStorage.getItem('loginName');
+      instance
+        .get(process.env.VUE_APP_BASE_API + 'mobile/wx/ticket', {
+          params: {
+            url: url,
+          },
+        })
+        .then((response) => {
+          if (response.status == 200) {
+            qiyeData = response.data.data;
+            wx.config({
+              beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
+              debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
+              appId: qiyeData.appId, // 必填,企业微信的corpID
+              timestamp: qiyeData.timestamp, // 必填,生成签名的时间戳
+              nonceStr: qiyeData.nonceStr, // 必填,生成签名的随机串
+              signature: qiyeData.signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法
+              jsApiList: ['ready', 'chooseImage', 'uploadImage', 'getLocation'], // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
+            });
+            wx.ready(function () {
+              wx.getLocation({
+                type: 'gcj02',
+                success: function (res) {
+                  var location = new TMap.LatLng(res.latitude, res.longitude);
+                  map.setCenter(location);
+                  markers.updateGeometries([
+                    {
+                      id: 'main', // 点标注数据数组
+                      position: location,
+                    },
+                  ]);
+                  geocoder.getAddress({ location: location }).then(
+                    function (result) {
+                      var addresses = result.result.formatted_addresses;
+                      addressesRemark = addresses.recommend;
+                    },
+                    function (err) {
+                      addressesRemark = '';
+                    }
+                  );
+                },
+                fail: function () {
+                  that.$dialog.alert({
+                    message: 'GPS未开启',
+                  });
+                },
+              });
+              wx.chooseImage({
+                count: 1,
+                sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
+                sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
+                defaultCameraMode: 'normal', //表示进入拍照界面的默认模式,目前有normal与batch两种选择,normal表示普通单拍模式,batch表示连拍模式,不传该参数则为normal模式。从3.0.26版本开始支持front和batch_front两种值,其中front表示默认为前置摄像头单拍模式,batch_front表示默认为前置摄像头连拍模式。(注:用户进入拍照界面仍然可自由切换两种模式)
+                isSaveToAlbum: 0,
+                success: function (res) {
+                  var localIds = '';
+                  if (res.localIds != undefined) {
+                    localIds = res.localIds[0];
+                  } else {
+                    localIds = res.localId;
+                  }
+                  // andriod中localId可以作为img标签的src属性显示图片;
+                  // iOS应当使用 getLocalImgData 获取图片base64数据,从而用于img标签的显示(在img标签内使用 wx.chooseImage 的 localid 显示可能会不成功)
+                  wx.uploadImage({
+                    localId: localIds, // 需要上传的图片的本地ID,由chooseImage接口获得
+                    isShowProgressTips: 1, // 默认为1,显示进度提示
+                    success: function (res) {
+                      that.uploadImagev(res.serverId, addressesRemark);
+                    },
+                  });
+                },
+              });
+            });
+          }
+        });
+    },
+    uploadImagev(meidaId, addressesRemark) {
+      var that = this;
+      var form = {
+        mediaIds: [meidaId],
+        collectionItemId: that.collectionId,
+        objectType: that.objectType,
+        storeGroupId: that.storeGroupId,
+        taskId: '',
+        visitsId: localStorage.getItem('visitId'),
+        visitModel: that.visitModel,
+        visitSource: '2',
+        locationRemark: addressesRemark,
+      };
+      var loind1 = that.$toast.loading({
+        duration: 0,
+        message: '上传中...',
+        forbidClick: true,
+      });
+      addstorePhoto(form).then((res) => {
+        if (res.code == 200) {
+          loind1.clear();
+          that.$toast('上传成功!');
+          that.$emit('newimgarr', { fileUrl: res.data[0].url, id: res.data[0].fileId, type: 2 });
+        } else {
+          that.$toast('上传失败!');
+        }
+      });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.questionNamep {
+  font-size: 16px;
+  color: #484848;
+  line-height: 40px;
+  padding: 0 15px;
+  box-sizing: border-box;
+  position: relative;
+
+  .cameraDivp {
+    flex: 1;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+
+    .photo {
+      /*margin-top: 9px;*/
+      float: right;
+    }
+
+    .camera {
+      width: 60px;
+      height: 100%;
+      position: absolute;
+      right: 0;
+      top: 0;
+      opacity: 0;
+      z-index: 89;
+    }
+  }
+}
+#allmap {
+  width: 10px;
+  height: 10px;
+  left: -1000px;
+  position: relative;
+}
+</style>

+ 140 - 110
src/views/deviceWithin/addStoreVisit.vue

@@ -39,11 +39,20 @@
       v-if="taskType == 3"
       class="container"
       style="width: 100%; margin: 0 auto; padding: 0 10px">
-      <div v-if="insert" style="margin: 10px">
+      <div v-if="insert" style="margin: 10px; display: flex; justify-content: space-between">
         <van-radio-group v-model="wuliaoMust" direction="horizontal">
           <van-radio :name="false">不需要物料</van-radio>
           <van-radio :name="true">需要物料</van-radio>
         </van-radio-group>
+        <div class="containerRight" style="padding-top: 7px">
+          <span class="van-f-red" v-if="needIssuePhoto == '1'" style="position: absolute">*</span>
+          <!-- <van-icon color="#666" name="photograph" size="24" @click="imgClick" /> -->
+          <uploadWLImg
+            :imgArr="wuliaoPhotoImg"
+            @uploadWLImgClick="uploadWLImgClick"
+            :visitsId="visitId"
+            :taskId="taskId"></uploadWLImg>
+        </div>
       </div>
       <el-table
         v-if="wuliaoMust"
@@ -87,6 +96,9 @@
           /></template>
         </el-table-column>
       </el-table>
+      <div class="wuliaoPhotoImg">
+        <deleteUploadImg :imgs="wuliaoPhotoImg"></deleteUploadImg>
+      </div>
     </div>
     <div
       v-if="taskType == 2"
@@ -309,9 +321,9 @@
               :placeholder="item.collectionOptionList[0].collectionOption"
               @blur="SZsizeComparison(item, 'A')"
               :error-message="item.ruleMessage"></van-field>
-            <delete-upload-img
+            <deleteUploadImg
               :photoIdentifyType="photoIdentifyType"
-              :imgs="item.fileInfoList"></delete-upload-img>
+              :imgs="item.fileInfoList"></deleteUploadImg>
           </div>
           <div v-if="item.answerType == 'date'" class="formLabel z-cell">
             <van-cell>
@@ -349,9 +361,9 @@
                 readonly
                 type="textarea" />
             </p>
-            <delete-upload-img
+            <deleteUploadImg
               :photoIdentifyType="photoIdentifyType"
-              :imgs="item.fileInfoList"></delete-upload-img>
+              :imgs="item.fileInfoList"></deleteUploadImg>
           </div>
           <div v-if="item.answerType == 'tel'" class="formLabel z-cell">
             <van-cell>
@@ -381,9 +393,9 @@
               :placeholder="item.collectionOptionList[0].collectionOption"
               type="tel"
               @blur="telFn(item, index, 'A')"></van-field>
-            <delete-upload-img
+            <deleteUploadImg
               :photoIdentifyType="photoIdentifyType"
-              :imgs="item.fileInfoList"></delete-upload-img>
+              :imgs="item.fileInfoList"></deleteUploadImg>
           </div>
           <div v-if="item.answerType == 'zp'" class="formLabel z-cell">
             <van-cell>
@@ -417,10 +429,10 @@
               style="color: red; font-size: 14px">
               请补充拍摄除陈列奖励案产品外,本店经营的其他立邦产品,以便准确识别SKU数量
             </div>
-            <delete-upload-img
+            <deleteUploadImg
               :photoIdentifyType="photoIdentifyType"
               :types="$route.query.types"
-              :imgs="item.fileInfoList"></delete-upload-img>
+              :imgs="item.fileInfoList"></deleteUploadImg>
           </div>
           <div v-if="item.answerType == 'wb'" class="formLabel z-cell">
             <van-cell>
@@ -466,9 +478,9 @@
                 >回显历史</span
               >
             </p>
-            <delete-upload-img
+            <deleteUploadImg
               :photoIdentifyType="photoIdentifyType"
-              :imgs="item.fileInfoList"></delete-upload-img>
+              :imgs="item.fileInfoList"></deleteUploadImg>
           </div>
           <div v-if="item.answerType == 'dhwb'" class="formLabel z-cell">
             <van-cell>
@@ -508,9 +520,9 @@
                 >回显历史</span
               >
             </p>
-            <delete-upload-img
+            <deleteUploadImg
               :photoIdentifyType="photoIdentifyType"
-              :imgs="item.fileInfoList"></delete-upload-img>
+              :imgs="item.fileInfoList"></deleteUploadImg>
           </div>
           <div v-if="item.answerType == 'xm'" class="formLabel z-cell">
             <van-cell>
@@ -550,9 +562,9 @@
                 >回显历史</span
               >
             </p>
-            <delete-upload-img
+            <deleteUploadImg
               :photoIdentifyType="photoIdentifyType"
-              :imgs="item.fileInfoList"></delete-upload-img>
+              :imgs="item.fileInfoList"></deleteUploadImg>
           </div>
           <div v-if="item.answerType == 'duox'" class="formLabel z-cell">
             <van-cell>
@@ -586,9 +598,9 @@
               level="A"
               :zCheckboxcolumns="item.collectionOptionList"
               @zSelectVal="zSelectVal"></z-checkbox>
-            <delete-upload-img
+            <deleteUploadImg
               :photoIdentifyType="photoIdentifyType"
-              :imgs="item.fileInfoList"></delete-upload-img>
+              :imgs="item.fileInfoList"></deleteUploadImg>
           </div>
           <div v-if="item.answerType == 'sm'" class="formLabel z-cell">
             <van-cell>
@@ -639,9 +651,9 @@
                 >
               </div>
             </div>
-            <delete-upload-img
+            <deleteUploadImg
               :photoIdentifyType="photoIdentifyType"
-              :imgs="item.fileInfoList"></delete-upload-img>
+              :imgs="item.fileInfoList"></deleteUploadImg>
           </div>
           <div v-if="item.answerType == 'dx'" class="formLabel z-cell">
             <div>
@@ -678,9 +690,9 @@
                 :childindex="index"
                 @zSelectVal="zSelectVal"
                 :relevancyItem="item.relevancyItem"></z-radio>
-              <delete-upload-img
+              <deleteUploadImg
                 :photoIdentifyType="photoIdentifyType"
-                :imgs="item.fileInfoList"></delete-upload-img>
+                :imgs="item.fileInfoList"></deleteUploadImg>
               <div v-for="(child, indexc) in item.collectionOptionList" :key="indexc">
                 <div v-if="child.isCheck == 1">
                   <div v-for="(childitem, childIndex) in child.collectionItems" :key="childIndex">
@@ -850,9 +862,9 @@
                           >回显历史</span
                         >
                       </p>
-                      <delete-upload-img
+                      <deleteUploadImg
                         :photoIdentifyType="photoIdentifyType"
-                        :imgs="childitem.fileInfoList"></delete-upload-img>
+                        :imgs="childitem.fileInfoList"></deleteUploadImg>
                     </div>
                     <div v-if="childitem.answerType == 'dhwb'" class="formLabel z-cell">
                       <van-cell>
@@ -899,9 +911,9 @@
                           >回显历史</span
                         >
                       </p>
-                      <delete-upload-img
+                      <deleteUploadImg
                         :photoIdentifyType="photoIdentifyType"
-                        :imgs="childitem.fileInfoList"></delete-upload-img>
+                        :imgs="childitem.fileInfoList"></deleteUploadImg>
                     </div>
                     <div v-if="childitem.answerType == 'xm'" class="formLabel z-cell">
                       <van-cell>
@@ -948,9 +960,9 @@
                           >回显历史</span
                         >
                       </p>
-                      <delete-upload-img
+                      <deleteUploadImg
                         :photoIdentifyType="photoIdentifyType"
-                        :imgs="childitem.fileInfoList"></delete-upload-img>
+                        :imgs="childitem.fileInfoList"></deleteUploadImg>
                     </div>
                     <div v-if="childitem.answerType == 'sz'" class="formLabel z-cell">
                       <van-cell>
@@ -981,9 +993,9 @@
                         :placeholder="childitem.collectionOptionList[0].collectionOption"
                         @blur="SZsizeComparison(childitem)"
                         :error-message="childitem.collectionOptionList[0].ruleMessage"></van-field>
-                      <delete-upload-img
+                      <deleteUploadImg
                         :photoIdentifyType="photoIdentifyType"
-                        :imgs="childitem.fileInfoList"></delete-upload-img>
+                        :imgs="childitem.fileInfoList"></deleteUploadImg>
                     </div>
                     <div v-if="childitem.answerType == 'date'" class="formLabel z-cell">
                       <van-cell>
@@ -1025,9 +1037,9 @@
                         "
                         v-if="childitem.collectionOptionList[0].collectionOption"
                         v-html="childitem.collectionOptionList[0].collectionOption"></p>
-                      <delete-upload-img
+                      <deleteUploadImg
                         :photoIdentifyType="photoIdentifyType"
-                        :imgs="childitem.fileInfoList"></delete-upload-img>
+                        :imgs="childitem.fileInfoList"></deleteUploadImg>
                     </div>
                     <div v-if="childitem.answerType == 'tel'" class="formLabel z-cell">
                       <van-cell>
@@ -1058,9 +1070,9 @@
                         :placeholder="childitem.collectionOptionList[0].collectionOption"
                         type="tel"
                         @input="telFn(childitem, index)"></van-field>
-                      <delete-upload-img
+                      <deleteUploadImg
                         :photoIdentifyType="photoIdentifyType"
-                        :imgs="childitem.fileInfoList"></delete-upload-img>
+                        :imgs="childitem.fileInfoList"></deleteUploadImg>
                     </div>
                     <div v-if="childitem.answerType == 'zp'" class="formLabel z-cell">
                       <van-cell>
@@ -1093,9 +1105,9 @@
                         style="color: red; font-size: 14px">
                         请补充拍摄除陈列奖励案产品外,本店经营的其他立邦产品,以便准确识别SKU数量
                       </div>
-                      <delete-upload-img
+                      <deleteUploadImg
                         :photoIdentifyType="photoIdentifyType"
-                        :imgs="childitem.fileInfoList"></delete-upload-img>
+                        :imgs="childitem.fileInfoList"></deleteUploadImg>
                     </div>
                     <div v-if="childitem.answerType == 'duox'" class="formLabel z-cell">
                       <van-cell>
@@ -1132,9 +1144,9 @@
                         :childindex2="childIndex"
                         level="B"
                         @zSelectVal="zSelectVal"></z-checkbox>
-                      <delete-upload-img
+                      <deleteUploadImg
                         :photoIdentifyType="photoIdentifyType"
-                        :imgs="childitem.fileInfoList"></delete-upload-img>
+                        :imgs="childitem.fileInfoList"></deleteUploadImg>
                     </div>
                     <div v-if="childitem.answerType == 'sm'" class="formLabel z-cell">
                       <van-cell>
@@ -1188,9 +1200,9 @@
                           >
                         </div>
                       </div>
-                      <delete-upload-img
+                      <deleteUploadImg
                         :photoIdentifyType="photoIdentifyType"
-                        :imgs="childitem.fileInfoList"></delete-upload-img>
+                        :imgs="childitem.fileInfoList"></deleteUploadImg>
                     </div>
                     <div v-if="childitem.answerType == 'dx'" class="formLabel z-cell">
                       <div>
@@ -1230,9 +1242,9 @@
                           :zRadiocolumns="childitem.collectionOptionList"
                           @zSelectVal="zSelectVal"
                           :relevancyItem="childitem.relevancyItem"></z-radio>
-                        <delete-upload-img
+                        <deleteUploadImg
                           :photoIdentifyType="photoIdentifyType"
-                          :imgs="childitem.fileInfoList"></delete-upload-img>
+                          :imgs="childitem.fileInfoList"></deleteUploadImg>
                         <div
                           v-for="(child1, indexc1) in childitem.collectionOptionList"
                           :key="indexc1">
@@ -1300,9 +1312,9 @@
                                     >回显历史</span
                                   >
                                 </p>
-                                <delete-upload-img
+                                <deleteUploadImg
                                   :photoIdentifyType="photoIdentifyType"
-                                  :imgs="childitem1.fileInfoList"></delete-upload-img>
+                                  :imgs="childitem1.fileInfoList"></deleteUploadImg>
                               </div>
                               <div v-if="childitem1.answerType == 'dhwb'" class="formLabel z-cell">
                                 <van-cell>
@@ -1364,9 +1376,9 @@
                                     >回显历史</span
                                   >
                                 </p>
-                                <delete-upload-img
+                                <deleteUploadImg
                                   :photoIdentifyType="photoIdentifyType"
-                                  :imgs="childitem1.fileInfoList"></delete-upload-img>
+                                  :imgs="childitem1.fileInfoList"></deleteUploadImg>
                               </div>
                               <div v-if="childitem1.answerType == 'xm'" class="formLabel z-cell">
                                 <van-cell>
@@ -1428,9 +1440,9 @@
                                     >回显历史</span
                                   >
                                 </p>
-                                <delete-upload-img
+                                <deleteUploadImg
                                   :photoIdentifyType="photoIdentifyType"
-                                  :imgs="childitem1.fileInfoList"></delete-upload-img>
+                                  :imgs="childitem1.fileInfoList"></deleteUploadImg>
                               </div>
                               <div v-if="childitem1.answerType == 'date'" class="formLabel z-cell">
                                 <van-cell>
@@ -1505,9 +1517,9 @@
                                     >回显历史</span
                                   >
                                 </p>
-                                <delete-upload-img
+                                <deleteUploadImg
                                   :photoIdentifyType="photoIdentifyType"
-                                  :imgs="childitem1.fileInfoList"></delete-upload-img>
+                                  :imgs="childitem1.fileInfoList"></deleteUploadImg>
                               </div>
                               <div v-if="childitem1.answerType == 'sm'" class="formLabel z-cell">
                                 <van-cell>
@@ -1568,9 +1580,9 @@
                                     >
                                   </div>
                                 </div>
-                                <delete-upload-img
+                                <deleteUploadImg
                                   :photoIdentifyType="photoIdentifyType"
-                                  :imgs="childitem1.fileInfoList"></delete-upload-img>
+                                  :imgs="childitem1.fileInfoList"></deleteUploadImg>
                               </div>
                               <div v-if="childitem1.answerType == 'duox'" class="formLabel z-cell">
                                 <van-cell>
@@ -1622,9 +1634,9 @@
                                   level="C"
                                   :zCheckboxcolumns="childitem1.collectionOptionList"
                                   @zSelectVal="zSelectVal"></z-checkbox>
-                                <delete-upload-img
+                                <deleteUploadImg
                                   :photoIdentifyType="photoIdentifyType"
-                                  :imgs="childitem1.fileInfoList"></delete-upload-img>
+                                  :imgs="childitem1.fileInfoList"></deleteUploadImg>
                               </div>
                               <div v-if="childitem1.answerType == 'dx'" class="formLabel z-cell">
                                 <div>
@@ -1679,9 +1691,9 @@
                                     :zRadiocolumns="childitem1.collectionOptionList"
                                     @zSelectVal="zSelectVal"
                                     :relevancyItem="childitem1.relevancyItem"></z-radio>
-                                  <delete-upload-img
+                                  <deleteUploadImg
                                     :photoIdentifyType="photoIdentifyType"
-                                    :imgs="childitem1.fileInfoList"></delete-upload-img>
+                                    :imgs="childitem1.fileInfoList"></deleteUploadImg>
                                   <div
                                     v-for="(child33, indexc33) in childitem1.collectionOptionList"
                                     :key="indexc33">
@@ -1772,9 +1784,9 @@
                                               >回显历史</span
                                             >
                                           </p>
-                                          <delete-upload-img
+                                          <deleteUploadImg
                                             :photoIdentifyType="photoIdentifyType"
-                                            :imgs="child33item1.fileInfoList"></delete-upload-img>
+                                            :imgs="child33item1.fileInfoList"></deleteUploadImg>
                                         </div>
                                         <div
                                           v-if="child33item1.answerType == 'dhwb'"
@@ -1860,9 +1872,9 @@
                                               >回显历史</span
                                             >
                                           </p>
-                                          <delete-upload-img
+                                          <deleteUploadImg
                                             :photoIdentifyType="photoIdentifyType"
-                                            :imgs="child33item1.fileInfoList"></delete-upload-img>
+                                            :imgs="child33item1.fileInfoList"></deleteUploadImg>
                                         </div>
                                         <div
                                           v-if="child33item1.answerType == 'xm'"
@@ -1948,9 +1960,9 @@
                                               >回显历史</span
                                             >
                                           </p>
-                                          <delete-upload-img
+                                          <deleteUploadImg
                                             :photoIdentifyType="photoIdentifyType"
-                                            :imgs="child33item1.fileInfoList"></delete-upload-img>
+                                            :imgs="child33item1.fileInfoList"></deleteUploadImg>
                                         </div>
                                         <div
                                           v-if="child33item1.answerType == 'date'"
@@ -2051,9 +2063,9 @@
                                               >回显历史</span
                                             >
                                           </p>
-                                          <delete-upload-img
+                                          <deleteUploadImg
                                             :photoIdentifyType="photoIdentifyType"
-                                            :imgs="child33item1.fileInfoList"></delete-upload-img>
+                                            :imgs="child33item1.fileInfoList"></deleteUploadImg>
                                         </div>
                                         <div
                                           v-if="child33item1.answerType == 'duox'"
@@ -2121,9 +2133,9 @@
                                             level="D"
                                             :zCheckboxcolumns="child33item1.collectionOptionList"
                                             @zSelectVal="zSelectVal"></z-checkbox>
-                                          <delete-upload-img
+                                          <deleteUploadImg
                                             :photoIdentifyType="photoIdentifyType"
-                                            :imgs="child33item1.fileInfoList"></delete-upload-img>
+                                            :imgs="child33item1.fileInfoList"></deleteUploadImg>
                                         </div>
                                         <div
                                           v-if="child33item1.answerType == 'nyr'"
@@ -2232,9 +2244,9 @@
                                             :error-message="
                                               child33item1.collectionOptionList[0].ruleMessage
                                             "></van-field>
-                                          <delete-upload-img
+                                          <deleteUploadImg
                                             :photoIdentifyType="photoIdentifyType"
-                                            :imgs="child33item1.fileInfoList"></delete-upload-img>
+                                            :imgs="child33item1.fileInfoList"></deleteUploadImg>
                                         </div>
                                         <div
                                           v-if="child33item1.answerType == 'tel'"
@@ -2294,9 +2306,9 @@
                                             "
                                             type="tel"
                                             @input="telFn(child33item1, index)"></van-field>
-                                          <delete-upload-img
+                                          <deleteUploadImg
                                             :photoIdentifyType="photoIdentifyType"
-                                            :imgs="child33item1.fileInfoList"></delete-upload-img>
+                                            :imgs="child33item1.fileInfoList"></deleteUploadImg>
                                         </div>
                                         <div
                                           v-if="child33item1.answerType == 'zp'"
@@ -2356,9 +2368,9 @@
                                             style="color: red; font-size: 14px">
                                             请补充拍摄除陈列奖励案产品外,本店经营的其他立邦产品,以便准确识别SKU数量
                                           </div>
-                                          <delete-upload-img
+                                          <deleteUploadImg
                                             :photoIdentifyType="photoIdentifyType"
-                                            :imgs="child33item1.fileInfoList"></delete-upload-img>
+                                            :imgs="child33item1.fileInfoList"></deleteUploadImg>
                                         </div>
                                         <div
                                           v-if="child33item1.answerType == 'sm'"
@@ -2440,9 +2452,9 @@
                                               >
                                             </div>
                                           </div>
-                                          <delete-upload-img
+                                          <deleteUploadImg
                                             :photoIdentifyType="photoIdentifyType"
-                                            :imgs="child33item1.fileInfoList"></delete-upload-img>
+                                            :imgs="child33item1.fileInfoList"></deleteUploadImg>
                                         </div>
                                         <div
                                           v-if="child33item1.answerType == 'dx'"
@@ -2513,9 +2525,9 @@
                                               :zRadiocolumns="child33item1.collectionOptionList"
                                               @zSelectVal="zSelectVal"
                                               :relevancyItem="child33item1.relevancyItem"></z-radio>
-                                            <delete-upload-img
+                                            <deleteUploadImg
                                               :photoIdentifyType="photoIdentifyType"
-                                              :imgs="child33item1.fileInfoList"></delete-upload-img>
+                                              :imgs="child33item1.fileInfoList"></deleteUploadImg>
                                             <div
                                               v-for="(
                                                 child44, indexc44
@@ -2615,11 +2627,11 @@
                                                         >回显历史</span
                                                       >
                                                     </p>
-                                                    <delete-upload-img
+                                                    <deleteUploadImg
                                                       :photoIdentifyType="photoIdentifyType"
                                                       :imgs="
                                                         child44item1.fileInfoList
-                                                      "></delete-upload-img>
+                                                      "></deleteUploadImg>
                                                   </div>
                                                   <div
                                                     v-if="child44item1.answerType == 'dhwb'"
@@ -2712,11 +2724,11 @@
                                                         >回显历史</span
                                                       >
                                                     </p>
-                                                    <delete-upload-img
+                                                    <deleteUploadImg
                                                       :photoIdentifyType="photoIdentifyType"
                                                       :imgs="
                                                         child44item1.fileInfoList
-                                                      "></delete-upload-img>
+                                                      "></deleteUploadImg>
                                                   </div>
                                                   <div
                                                     v-if="child44item1.answerType == 'xm'"
@@ -2809,11 +2821,11 @@
                                                         >回显历史</span
                                                       >
                                                     </p>
-                                                    <delete-upload-img
+                                                    <deleteUploadImg
                                                       :photoIdentifyType="photoIdentifyType"
                                                       :imgs="
                                                         child44item1.fileInfoList
-                                                      "></delete-upload-img>
+                                                      "></deleteUploadImg>
                                                   </div>
                                                   <div
                                                     v-if="child44item1.answerType == 'date'"
@@ -2922,11 +2934,11 @@
                                                         >回显历史</span
                                                       >
                                                     </p>
-                                                    <delete-upload-img
+                                                    <deleteUploadImg
                                                       :photoIdentifyType="photoIdentifyType"
                                                       :imgs="
                                                         child44item1.fileInfoList
-                                                      "></delete-upload-img>
+                                                      "></deleteUploadImg>
                                                   </div>
                                                   <div
                                                     v-if="child44item1.answerType == 'duox'"
@@ -3001,11 +3013,11 @@
                                                         child44item1.collectionOptionList
                                                       "
                                                       @zSelectVal="zSelectVal"></z-checkbox>
-                                                    <delete-upload-img
+                                                    <deleteUploadImg
                                                       :photoIdentifyType="photoIdentifyType"
                                                       :imgs="
                                                         child44item1.fileInfoList
-                                                      "></delete-upload-img>
+                                                      "></deleteUploadImg>
                                                   </div>
                                                   <div
                                                     v-if="child44item1.answerType == 'nyr'"
@@ -3125,11 +3137,11 @@
                                                         child44item1.collectionOptionList[0]
                                                           .ruleMessage
                                                       "></van-field>
-                                                    <delete-upload-img
+                                                    <deleteUploadImg
                                                       :photoIdentifyType="photoIdentifyType"
                                                       :imgs="
                                                         child44item1.fileInfoList
-                                                      "></delete-upload-img>
+                                                      "></deleteUploadImg>
                                                   </div>
                                                   <div
                                                     v-if="child44item1.answerType == 'tel'"
@@ -3198,11 +3210,11 @@
                                                       @input="
                                                         telFn(child44item1, child44Index1)
                                                       "></van-field>
-                                                    <delete-upload-img
+                                                    <deleteUploadImg
                                                       :photoIdentifyType="photoIdentifyType"
                                                       :imgs="
                                                         child44item1.fileInfoList
-                                                      "></delete-upload-img>
+                                                      "></deleteUploadImg>
                                                   </div>
                                                   <div
                                                     v-if="child44item1.answerType == 'zp'"
@@ -3266,11 +3278,11 @@
                                                       style="color: red; font-size: 14px">
                                                       请补充拍摄除陈列奖励案产品外,本店经营的其他立邦产品,以便准确识别SKU数量
                                                     </div>
-                                                    <delete-upload-img
+                                                    <deleteUploadImg
                                                       :photoIdentifyType="photoIdentifyType"
                                                       :imgs="
                                                         child44item1.fileInfoList
-                                                      "></delete-upload-img>
+                                                      "></deleteUploadImg>
                                                   </div>
                                                   <div
                                                     v-if="child44item1.answerType == 'sm'"
@@ -3370,11 +3382,11 @@
                                                         >
                                                       </div>
                                                     </div>
-                                                    <delete-upload-img
+                                                    <deleteUploadImg
                                                       :photoIdentifyType="photoIdentifyType"
                                                       :imgs="
                                                         child44item1.fileInfoList
-                                                      "></delete-upload-img>
+                                                      "></deleteUploadImg>
                                                   </div>
                                                   <div
                                                     v-if="child44item1.answerType == 'dx'"
@@ -3460,11 +3472,11 @@
                                                         :relevancyItem="
                                                           child44item1.relevancyItem
                                                         "></z-radio>
-                                                      <delete-upload-img
+                                                      <deleteUploadImg
                                                         :photoIdentifyType="photoIdentifyType"
                                                         :imgs="
                                                           child44item1.fileInfoList
-                                                        "></delete-upload-img>
+                                                        "></deleteUploadImg>
                                                     </div>
                                                   </div>
                                                 </div>
@@ -3521,9 +3533,9 @@
                                   :error-message="
                                     childitem1.collectionOptionList[0].ruleMessage
                                   "></van-field>
-                                <delete-upload-img
+                                <deleteUploadImg
                                   :photoIdentifyType="photoIdentifyType"
-                                  :imgs="childitem1.fileInfoList"></delete-upload-img>
+                                  :imgs="childitem1.fileInfoList"></deleteUploadImg>
                               </div>
                               <div v-if="childitem1.answerType == 'tel'" class="formLabel z-cell">
                                 <van-cell>
@@ -3567,9 +3579,9 @@
                                   :placeholder="childitem1.collectionOptionList[0].collectionOption"
                                   type="tel"
                                   @input="telFn(childitem1, index)"></van-field>
-                                <delete-upload-img
+                                <deleteUploadImg
                                   :photoIdentifyType="photoIdentifyType"
-                                  :imgs="childitem1.fileInfoList"></delete-upload-img>
+                                  :imgs="childitem1.fileInfoList"></deleteUploadImg>
                               </div>
                               <div v-if="childitem1.answerType == 'zp'" class="formLabel z-cell">
                                 <van-cell>
@@ -3615,9 +3627,9 @@
                                   style="color: red; font-size: 14px">
                                   请补充拍摄除陈列奖励案产品外,本店经营的其他立邦产品,以便准确识别SKU数量
                                 </div>
-                                <delete-upload-img
+                                <deleteUploadImg
                                   :photoIdentifyType="photoIdentifyType"
-                                  :imgs="childitem1.fileInfoList"></delete-upload-img>
+                                  :imgs="childitem1.fileInfoList"></deleteUploadImg>
                               </div>
                             </div>
                           </div>
@@ -3648,7 +3660,7 @@
       <van-cell>
         <template #title> <span class="van-f-red">*</span>图片上传 </template>
         <template #right-icon>
-          <upload-img
+          <uploadVNormal
             :collectionId="collectionId"
             :parentCollectionId="parentCollectionId"
             :secondCollectionId="secondCollectionId"
@@ -3673,7 +3685,7 @@
             :pictureSource="pictureSource"
             :continuousShoot="continuousShoot"
             :inStore="machineInTheStore"
-            ref="uploadVNormal"></upload-img>
+            ref="uploadVNormal"></uploadVNormal>
         </template>
       </van-cell>
       <div v-if="continuousShoot == '1'" class="uploadImgNum" style="color: red; padding: 0px 16px">
@@ -3682,7 +3694,7 @@
       <!-- <van-cell v-if="pictureSource == '1'">
         <template #title> <span class="van-f-red">*</span>相册选择</template>
         <template #right-icon>
-          <upload-img
+          <uploadVNormal
             :collectionId="collectionId"
             :parentCollectionId="parentCollectionId"
             :secondCollectionId="secondCollectionId"
@@ -3703,7 +3715,7 @@
             @newimgarr="newimgarr1"
             @typeshow="typeshow"
             :photoIdentifyType="photoIdentifyType"
-            updateImgMode="album"></upload-img>
+            updateImgMode="album"></uploadVNormal>
         </template>
       </van-cell> -->
     </van-dialog>
@@ -3718,7 +3730,7 @@
       </div>
     </van-dialog>
     <van-popup v-model="sdsd" position="bottom">
-      <upload-img
+      <uploadVNormal
         :collectionId="collectionId"
         :imgArr="imgs"
         :objectType="PhotoType"
@@ -3728,7 +3740,7 @@
         :visitsId="visitId"
         @newimgarr="newimgarr1"
         @typeshow="typeshow"
-        :photoIdentifyType="photoIdentifyType"></upload-img>
+        :photoIdentifyType="photoIdentifyType"></uploadVNormal>
     </van-popup>
     <van-popup v-model="showPicker" capture position="bottom">
       <van-picker
@@ -3787,16 +3799,27 @@ import {
 } from '@/api/index';
 import zRadio from '@/components/zRadio';
 import zCheckbox from '@/components/zCheckbox';
-import uploadImg from '@/components/uploadVNormal';
+import uploadVNormal from '@/components/uploadVNormal';
 import storeCode from '@/components/storeCode';
 import deleteUploadImg from '@/components/deleteUploadImg1';
 import jianjie from '@/assets/jianjie.jpg';
 import { ImagePreview } from 'vant';
 import taskTips from './taskTips';
 import store from '@/store';
+import deletComplaintImg from '@/components/deletComplaintImg';
+import uploadWLImg from '@/components/uploadWLImg';
 export default {
   name: 'abnormalVisit',
-  components: { zRadio, zCheckbox, uploadImg, storeCode, deleteUploadImg, taskTips },
+  components: {
+    zRadio,
+    zCheckbox,
+    uploadVNormal,
+    storeCode,
+    deleteUploadImg,
+    taskTips,
+    deletComplaintImg,
+    uploadWLImg,
+  },
   data() {
     return {
       value: '',
@@ -3901,6 +3924,9 @@ export default {
       validatorFlag: true, //是否验证通过
       confirmed: false,
       yfNumFlage: false,
+      needIssuePhoto: null, //发放物料必须拍照
+      wuliaoPhotoImg: [], //任务包含的图片信息(只针对于物料任务)
+      infoData: null,
     };
   },
   beforeRouteLeave(to, from, next) {
@@ -4626,6 +4652,7 @@ export default {
       console.log(params.id);
       getCollectionInfos(params).then((res) => {
         loading1.clear();
+        this.infoData = res.data;
         this.photoIdentifyType = res.data.photoIdentifyType || null;
         this.productTitles = res.data.productTitles; //产品类型表头数据
         var checkUnManage = res.data;
@@ -5160,6 +5187,8 @@ export default {
                 }
               }
             }
+            this.needIssuePhoto = res.data.needIssuePhoto;
+            this.wuliaoPhotoImg = res.data.fileInfoList;
             this.tableData1 = collectionItemLists;
             let yfNumArr = this.tableData1.filter((val) => val.yfNum);
             this.yfNumFlage = yfNumArr.length ? true : false;
@@ -5167,6 +5196,8 @@ export default {
         }
       });
     },
+    deleteImg() {},
+    uploadWLImgClick() {},
     tipTitle(val) {
       this.$toast(val);
     },
@@ -5294,7 +5325,6 @@ export default {
       this.childIndex7 = childIndex7;
       this.pType = type;
       this.collectionItemList;
-      debugger;
       this.filterInStore(this.collectionItemList[index]);
       this.show = true;
     },