Selaa lähdekoodia

公装主管任务

zhujindu 7 kuukautta sitten
vanhempi
commit
1ed69ef393
2 muutettua tiedostoa jossa 135 lisäystä ja 110 poistoa
  1. 133 110
      src/components/uploadVTask.vue
  2. 2 0
      src/views/week/componVisitSummary.vue

+ 133 - 110
src/components/uploadVTask.vue

@@ -3,8 +3,7 @@
     <!--    <van-uploader :after-read="afterRead" upload-text="照片上传"/>-->
     <div class="uploaderImage">
       <p class="coverImg" @click="uploadImg">
-        <van-icon class="photo ico" name="photograph" size="16px" color="#969696">
-        </van-icon>
+        <van-icon class="photo ico" name="photograph" size="16px" color="#969696"> </van-icon>
         <span>{{ imgText }}</span>
       </p>
     </div>
@@ -13,62 +12,72 @@
 </template>
 
 <script>
-import {ImagePreview} from "vant";
-import {addPhotov} from "@/api/index";
-import axios from "axios";
+import { ImagePreview } from 'vant';
+import { addPhotov } from '@/api/index';
+import axios from 'axios';
 
 export default {
   name: 'uploadImg',
   props: {
     uploadid: {
       type: String,
-      default: ''
+      default: '',
     },
     imgText: {
       type: String,
-      default: ''
+      default: '',
     },
-    indexImg:{
+    indexImg: {
       type: Number,
-      default: 0
+      default: 0,
     },
     visitsId: {
       type: String,
-      default: ''
+      default: '',
     },
     customId: {
-      type: String  | Number,
-      default: ''
+      type: String | Number,
+      default: '',
     },
     summaryId: {
-      type: String  | Number,
-      default: ''
+      type: String | Number,
+      default: '',
     },
     type: {
       type: Number,
-      default: 1
+      default: 1,
     },
     imgArr: {
       type: String,
-      default: ''
+      default: '',
+    },
+    // 是否允许补填
+    writeAgain: {
+      type: String,
+      default: '0',
+    },
+    // 是否补填
+    isWriteAgain: {
+      type: Boolean,
+      default: false,
     },
   },
   data() {
     return {
       shows: false,
-      url: ""
-    }
+      url: '',
+    };
   },
   methods: {
     deleteImgs(val) {
       ImagePreview([val]);
     },
-    uploadImg(){
+    uploadImg() {
       let url = window.location.href;
       let that = this;
-      let wx = this.wx
-      let qiyeData
-      let addressesRemark=""
+      let wx = this.wx;
+      let qiyeData;
+      let addressesRemark = '';
       var map = new TMap.Map('allmap', {
         zoom: 14,
         center: new TMap.LatLng(39.986785, 116.301012),
@@ -81,105 +90,118 @@ export default {
       });
       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未开启',
-                })
-              }
+      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.chooseImage({
-              count: 1,
-              sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
-              sourceType:['album', '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)
+            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: ['album', '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){
+    uploadImagev(meidaId, addressesRemark) {
       var that = this;
-      var form={
-        mediaId:meidaId,
-        customId:that.customId,
-        summaryId:that.summaryId,
-        locationRemark:addressesRemark
-      }
+      var form = {
+        mediaId: meidaId,
+        customId: that.customId,
+        summaryId: that.summaryId,
+        locationRemark: addressesRemark,
+      };
       var loind1 = that.$toast.loading({
         duration: 0,
         message: '上传中...',
         forbidClick: true,
       });
-      addPhotov(form).then(res=>{
+      // 允许补填 添加上补填标识
+      if (this.writeAgain == '1' && this.isWriteAgain) {
+        form.isWriteAgain = '1';
+      }
+      addPhotov(form).then((res) => {
         if (res.code == 200) {
-          that.imgArr =  res.data.url
+          that.imgArr = res.data.url;
           loind1.clear();
-          that.$toast("上传成功!")
-          that.$emit('newimgarr', {fileUrl: res.data.url,id:res.data.fileId,fileType:res.fileType,fileName:res.fileName, type: that.type,index:that.indexImg});
+          that.$toast('上传成功!');
+          that.$emit('newimgarr', {
+            fileUrl: res.data.url,
+            id: res.data.fileId,
+            fileType: res.fileType,
+            fileName: res.fileName,
+            type: that.type,
+            index: that.indexImg,
+          });
         } else {
-          that.$toast("上传失败!")
+          that.$toast('上传失败!');
         }
-      })
-    }
+      });
+    },
   },
-}
+};
 </script>
 
 <style scoped>
@@ -221,7 +243,7 @@ export default {
   z-index: 99;
   background-color: rgba(255, 255, 255, 0.8);
   border-bottom-left-radius: 3px;
-  border-top-left-radius: 3px
+  border-top-left-radius: 3px;
 }
 
 .uploaderImage .coverImg {
@@ -233,14 +255,15 @@ export default {
   margin: 0;
   width: 100%;
 }
-.uploaderImage .coverImg span{
+.uploaderImage .coverImg span {
   padding-top: 24px;
-  display: block;text-align: center;
+  display: block;
+  text-align: center;
 }
 .uploaderImage .coverImg .ico {
   top: 30%;
 }
-#allmap{
+#allmap {
   width: 10px;
   height: 10px;
   left: -1000px;

+ 2 - 0
src/views/week/componVisitSummary.vue

@@ -50,6 +50,8 @@
               :indexImg="index"
               :customId="item.customId"
               :summaryId="item.summaryId"
+              :writeAgain="item.writeAgain"
+              :isWriteAgain="true"
               @click="imgClick(item, index)"></upload-img>
           </van-row>
         </div>