Browse Source

feature_20250826_埋点梳理优化

zhujindu 3 tháng trước cách đây
mục cha
commit
7b8e524628

+ 230 - 165
src/views/deviceOutside/outabnormalVisit.vue

@@ -3,7 +3,7 @@
     <!--        顶部条-->
     <van-nav-bar class="navBar" title="异常拜访" left-arrow @click-left="onClickLeft">
       <template #right>
-          <span  @click="onstopVisit" class="navRightBtnTop">取消拜访</span>
+        <span @click="onstopVisit" class="navRightBtnTop">取消拜访</span>
       </template>
     </van-nav-bar>
     <!--        主体内容-->
@@ -12,40 +12,57 @@
       <van-form class="bgWhite">
         <div class="formLabel">
           <van-cell>
-            <template #title>
-              <span class="van-f-red">*</span>异常信息照
-            </template>
+            <template #title> <span class="van-f-red">*</span>异常信息照 </template>
             <template #right-icon>
-              <upload-img :uploadid="uploadid2" :imgArr="imgs" @newimgarr="newimgarr1"
-                          :visitModel="visitModel" :visitsId="visitId" :taskId="rdId"></upload-img>
+              <upload-img
+                :uploadid="uploadid2"
+                :imgArr="imgs"
+                @newimgarr="newimgarr1"
+                :visitModel="visitModel"
+                :visitsId="visitId"
+                :taskId="rdId"></upload-img>
             </template>
           </van-cell>
         </div>
-        <div style="padding:10px 10px 0;"><delete-upload-img :imgs="imgs" @delimg="newimgarr1"></delete-upload-img></div>
+        <div style="padding: 10px 10px 0">
+          <delete-upload-img :imgs="imgs" @delimg="newimgarr1"></delete-upload-img>
+        </div>
         <div class="formLabel">
           <van-cell>
-            <template #title>
-              <span class="van-f-red">*</span>异常事由
-            </template>
+            <template #title> <span class="van-f-red">*</span>异常事由 </template>
           </van-cell>
           <van-radio-group v-model="abnormalReason" class="z-checkbox">
-            <van-radio :name="item.dictValue" v-for="(item,index) in typeList" :key="index">{{item.dictLabel }}</van-radio>
+            <van-radio :name="item.dictValue" v-for="(item, index) in typeList" :key="index">{{
+              item.dictLabel
+            }}</van-radio>
           </van-radio-group>
         </div>
-        <div class="formLabel" style="padding-bottom: 20px;">
+        <div class="formLabel" style="padding-bottom: 20px">
           <van-cell>
             <van-cell>
-              <template #title>
-                <span class="van-f-red">*</span>信息备注
-              </template>
+              <template #title> <span class="van-f-red">*</span>信息备注 </template>
             </van-cell>
           </van-cell>
-          <van-field v-model="remark" rows="3" autosize maxlength="260" show-word-limit label=""
-                     :formatter="formatter" type="textarea" placeholder="请填写异常信息"/>
+          <van-field
+            v-model="remark"
+            rows="3"
+            autosize
+            maxlength="260"
+            show-word-limit
+            label=""
+            :formatter="formatter"
+            type="textarea"
+            placeholder="请填写异常信息" />
         </div>
       </van-form>
-      <div class="formLabel" style="margin:20px 16px;">
-        <van-button block type="info" size="normal" style="background-color: #0057ba;" @click="endVisitsFn">提交
+      <div class="formLabel" style="margin: 20px 16px">
+        <van-button
+          block
+          type="info"
+          size="normal"
+          style="background-color: #0057ba"
+          @click="endVisitsFn"
+          >提交
         </van-button>
       </div>
     </div>
@@ -55,114 +72,121 @@
 
 <script>
 // import uploadImg from "@/components/uploadImg";
-import uploadImg from "@/components/uploadVvisit";
-import deleteUploadImg from "@/components/deleteUploadImg1";
-import {addVisits, endVisits, getPhotoTypeList1, stopVisit} from "@/api/index";
+import uploadImg from '@/components/uploadVvisit';
+import deleteUploadImg from '@/components/deleteUploadImg1';
+import { addVisits, endVisits, getPhotoTypeList1, stopVisit } from '@/api/index';
 import axios from 'axios';
 
 export default {
-  name: "outabnormalVisit",
-  components: {uploadImg, deleteUploadImg},
+  name: 'outabnormalVisit',
+  components: { uploadImg, deleteUploadImg },
   data() {
     return {
       PhotoTypeList: [],
-      typeList: "",
+      typeList: '',
       imgs: [],
       cont: 0,
-      abnormalReason: "",
+      abnormalReason: '',
       uploadid2: 'uploadid2',
-      remark: "",
-      lat: "",
-      lon: "",
-      storeCode: "",
+      remark: '',
+      lat: '',
+      lon: '',
+      storeCode: '',
       dialogms: true,
-      visitModel: ""
-    }
+      visitModel: '',
+    };
   },
   created() {
-    this.getPhotoTypeList()
-    this.urlParameter = this.$route.query
-    this.storeId = this.$route.query.storeId + "";
+    this.getPhotoTypeList();
+    this.urlParameter = this.$route.query;
+    this.storeId = this.$route.query.storeId + '';
     this.visitId = this.$route.query.visitId;
     this.storeCode = this.$route.query.storeCode;
-    this.rdId = this.$route.query.rdId + "";
-    this.lat = this.$route.query.lat + "";
-    this.lon = this.$route.query.lon + "";
-    this.visitModel = this.$route.query.visitModel + "";
-    this.imgs = []
-    this.remark = ""
-    this.abnormalReason = ""
+    this.rdId = this.$route.query.rdId + '';
+    this.lat = this.$route.query.lat + '';
+    this.lon = this.$route.query.lon + '';
+    this.visitModel = this.$route.query.visitModel + '';
+    this.imgs = [];
+    this.remark = '';
+    this.abnormalReason = '';
   },
   watch: {
     $route(to, from) {
-      if (from.path == "/outsidelist/index" && to.path == "/outabnormalVisit") {
-        this.imgs = []
-        this.remark = ""
-        this.abnormalReason = ""
+      if (from.path == '/outsidelist/index' && to.path == '/outabnormalVisit') {
+        this.imgs = [];
+        this.remark = '';
+        this.abnormalReason = '';
       }
-      if (from.path == "/outabnormalVisit" && to.path == "/outsidelist/index") {
-        localStorage.removeItem("visitId")
+      if (from.path == '/outabnormalVisit' && to.path == '/outsidelist/index') {
+        localStorage.removeItem('visitId');
       }
-    }
+    },
   },
   activated() {
-    this.addVisits()
-    this.imgs = []
-    this.remark = ""
-    this.abnormalReason = ""
-    this.visitModel = this.$route.query.visitModel + "";
-    this.urlParameter = this.$route.query
-    this.storeId = this.$route.query.storeId + "";
+    this.addVisits();
+    this.imgs = [];
+    this.remark = '';
+    this.abnormalReason = '';
+    this.visitModel = this.$route.query.visitModel + '';
+    this.urlParameter = this.$route.query;
+    this.storeId = this.$route.query.storeId + '';
     this.visitId = this.$route.query.visitId;
     this.storeCode = this.$route.query.storeCode;
-    this.rdId = this.$route.query.rdId + "";
-    this.lat = this.$route.query.lat + "";
-    this.lon = this.$route.query.lon + "";
+    this.rdId = this.$route.query.rdId + '';
+    this.lat = this.$route.query.lat + '';
+    this.lon = this.$route.query.lon + '';
   },
   methods: {
     // 结束拜访
-    onstopVisit(){
-      this.$dialog.confirm({
-        confirmButtonText:"确定",
-        cancelButtonText:"取消",
-        title: '系统提示',
-        message: '取消拜访会清空填写的拜访内容和照片,是否确认?',
-      }).then(() => {
-            stopVisit({visitsId:this.visitId}).then(res=>{
-              if(res.code==200){
-                this.$dialog.alert({
+    onstopVisit() {
+      this.$dialog
+        .confirm({
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          title: '系统提示',
+          message: '取消拜访会清空填写的拜访内容和照片,是否确认?',
+        })
+        .then(() => {
+          stopVisit({ visitsId: this.visitId }).then((res) => {
+            if (res.code == 200) {
+              this.$dialog
+                .alert({
                   title: '系统提示',
                   message: '拜访中任务结束成功!',
-                }).then(() => {
-                  window.location.replace(window.location.origin+"/mobile/outsidelist/index")
+                })
+                .then(() => {
+                  window.location.replace(window.location.origin + '/mobile/outsidelist/index');
                 });
-              }else{
-                this.$toast(res.msg)
-              }
-            })
-          })
+            } else {
+              this.$toast(res.msg);
+            }
+          });
+        });
     },
     formatter(value) {
-      return value.replace(/[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi, '');
+      return value.replace(
+        /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi,
+        ''
+      );
     },
     getPhotoTypeList() {
-      getPhotoTypeList1({}).then(res => {
-        this.typeList = res.data
-      })
+      getPhotoTypeList1({}).then((res) => {
+        this.typeList = res.data;
+      });
     },
     newimgarr1(val) {
-      this.imgs.push(val)
+      this.imgs.push(val);
     },
     onClickLeft() {
-      this.$router.go(-1)
+      this.$router.go(-1);
     },
     addVisits() {
       var that = this;
-      var visitEntry = ""
-      if (this.urlParameter.tabVal == "0") {
-        visitEntry = "2"
+      var visitEntry = '';
+      if (this.urlParameter.tabVal == '0') {
+        visitEntry = '2';
       } else {
-        visitEntry = "1"
+        visitEntry = '1';
       }
       var map = new TMap.Map('allmap', {
         zoom: 14,
@@ -184,10 +208,9 @@ export default {
           position: location,
         },
       ]);
-      geocoder
-          .getAddress({ location: location })
-          .then(function(result){
-            var addresses=result.result.formatted_addresses
+      geocoder.getAddress({ location: location }).then(
+        function (result) {
+          var addresses = result.result.formatted_addresses;
           var params = {
             storeId: that.storeId,
             storeCode: that.storeCode,
@@ -195,119 +218,161 @@ export default {
             lat: that.urlParameter.lat,
             lon: that.urlParameter.lon,
             visitModel: that.$route.query.visitModel,
-            visitSource: "2",
+            visitSource: '2',
             routeDetailsId: that.rdId,
-            locationCity: "",
+            locationCity: '',
             locationRemark: addresses.recommend,
-            locationAccuracy: that.urlParameter.PointSum
+            locationAccuracy: that.urlParameter.PointSum,
+          };
+          localStorage.setItem('address', '');
+          if (that.visitId != null) {
+            params.id = that.visitId;
           }
-          localStorage.setItem('address', "");
+          addVisits(params).then((res) => {
+            if (res.code == 200) {
+              localStorage.setItem('visitId', res.data);
+              that.visitId = res.data;
+            } else {
+              that.$toast(res.msg);
+            }
+          });
+        },
+        function (err) {
+          var params = {
+            storeId: that.storeId,
+            storeCode: that.storeCode,
+            visitEntry: visitEntry,
+            lat: that.urlParameter.lat,
+            lon: that.urlParameter.lon,
+            visitModel: that.$route.query.visitModel,
+            visitSource: '2',
+            routeDetailsId: that.rdId,
+            locationCity: '',
+            locationRemark: '',
+            locationAccuracy: that.urlParameter.PointSum,
+          };
+          localStorage.setItem('address', '');
           if (that.visitId != null) {
-            params.id = that.visitId
+            params.id = that.visitId;
           }
-          addVisits(params).then(res => {
+          addVisits(params).then((res) => {
             if (res.code == 200) {
               localStorage.setItem('visitId', res.data);
               that.visitId = res.data;
-            }else{
+            } else {
               that.$toast(res.msg);
             }
-          })
-      },function(err){
-        var params = {
-          storeId: that.storeId,
-          storeCode: that.storeCode,
-          visitEntry: visitEntry,
-          lat: that.urlParameter.lat,
-          lon: that.urlParameter.lon,
-          visitModel: that.$route.query.visitModel,
-          visitSource: "2",
-          routeDetailsId: that.rdId,
-          locationCity: "",
-          locationRemark:"",
-          locationAccuracy: that.urlParameter.PointSum
-        }
-        localStorage.setItem('address', "");
-        if (that.visitId != null) {
-          params.id = that.visitId
+          });
         }
-        addVisits(params).then(res => {
-          if (res.code == 200) {
-            localStorage.setItem('visitId', res.data);
-            that.visitId = res.data;
-          }else{
-            that.$toast(res.msg)
-          }
-        })
-      })
+      );
     },
     endVisitsFn() {
       if (this.imgs.length == 0) {
-        this.$toast("请上传图片");
-        return
-      } if (this.abnormalReason == "") {
-        this.$toast("请选择事由");
-        return
-      } else if (this.remark.trim() == "") {
-        this.$toast("请填写异常内容");
-        return
+        this.$toast('请上传图片');
+        return;
+      }
+      if (this.abnormalReason == '') {
+        this.$toast('请选择事由');
+        return;
+      } else if (this.remark.trim() == '') {
+        this.$toast('请填写异常内容');
+        return;
       } else {
-        let dwellTime = this.weekend(localStorage.getItem('startTime'))
+        let dwellTime = this.weekend(localStorage.getItem('startTime'));
         endVisits({
-          visitSource: "2",
+          visitSource: '2',
           dwellTime: dwellTime,
           remark: this.remark,
-          visitType: "0",
+          visitType: '0',
           abnormalReason: this.abnormalReason,
           id: this.visitId,
           storeCode: this.storeCode,
-          visitModel: this.$route.query.visitModel
-        }).then(res => {
+          visitModel: this.$route.query.visitModel,
+        }).then((res) => {
           if (res.code == 200) {
-            this.$dialog.alert({
-              title: '系统提示',
-              message: '保存成功',
-            }).then(() => {
-              if(this.$route.query.linkType==6){
-                window.location.replace(window.location.origin + "/mobile/topStore?info=y")
-              }else{
-                window.location.replace(window.location.origin + "/mobile/outsidelist/index?info=y")
-              }
-            });
-            localStorage.removeItem("visitId")
+            this.$dialog
+              .alert({
+                title: '系统提示',
+                message: '保存成功',
+              })
+              .then(() => {
+                // if(this.$route.query.linkType==6){
+                //   window.location.replace(window.location.origin + "/mobile/topStore?info=y")
+                // }else{
+                window.location.replace(
+                  window.location.origin + '/mobile/outsidelist/index?info=y'
+                );
+                // }
+              });
+            localStorage.removeItem('visitId');
             localStorage.removeItem('startTime');
           } else {
             this.$toast.fail(res.msg);
           }
-        })
+        });
       }
     },
     weekend(time1) {
       var arrtime1 = new Date(time1).getTime();
       var arrtime2 = new Date().getTime();
-      return (Math.round((arrtime2 - arrtime1) / 1000));
+      return Math.round((arrtime2 - arrtime1) / 1000);
     },
-  }
-}
+  },
+};
 </script>
 <style scoped>
-.bgWhite {background-color: white;}
-.container {padding-bottom: 50px;}
-.van-f-red {color: red;width: 4px;display: inline-block}
-.formLabel {margin: 0 16px;border-bottom: 1px solid #f1f1f1}
-.formLabel .van-cell {padding: 10px 0}
-.z-checkbox .van-radio {padding: 6px 0;}
+.bgWhite {
+  background-color: white;
+}
+.container {
+  padding-bottom: 50px;
+}
+.van-f-red {
+  color: red;
+  width: 4px;
+  display: inline-block;
+}
+.formLabel {
+  margin: 0 16px;
+  border-bottom: 1px solid #f1f1f1;
+}
+.formLabel .van-cell {
+  padding: 10px 0;
+}
+.z-checkbox .van-radio {
+  padding: 6px 0;
+}
 </style>
 <style>
-#allmap{
+#allmap {
   width: 20px;
   height: 20px;
   left: -1000px;
   position: relative;
 }
-.formLabel .van-field {border: 1px solid #f1f1f1;padding: 10px;width: 100%;background-color: #f1f1f1;}
-.formLabel .van-field__control {padding: 0 10px}
-.lineGrey {height: 10px;width: 100%;background: #f1f1f1;}
-.van-dialog__confirm, .van-dialog__confirm:active {color: #0057ba;}
-.navRightBtnTop{color: white; background: #74a4d9; display: block; padding: 6px 10px; border-radius: 6px;}
-</style>
+.formLabel .van-field {
+  border: 1px solid #f1f1f1;
+  padding: 10px;
+  width: 100%;
+  background-color: #f1f1f1;
+}
+.formLabel .van-field__control {
+  padding: 0 10px;
+}
+.lineGrey {
+  height: 10px;
+  width: 100%;
+  background: #f1f1f1;
+}
+.van-dialog__confirm,
+.van-dialog__confirm:active {
+  color: #0057ba;
+}
+.navRightBtnTop {
+  color: white;
+  background: #74a4d9;
+  display: block;
+  padding: 6px 10px;
+  border-radius: 6px;
+}
+</style>

+ 10 - 10
src/views/deviceOutside/suishenbangOutstoreVisit.vue

@@ -704,18 +704,18 @@ export default {
           loading1.clear();
           if (res.code == 200) {
             this.editDwellTimes();
-            if (this.$route.query.linkType == 6) {
-              window.location.replace(window.location.origin + '/mobile/topStore?info=y');
+            // if (this.$route.query.linkType == 6) {
+            //   window.location.replace(window.location.origin + '/mobile/topStore?info=y');
+            // } else {
+            if (this.$route.query.urltype == 1) {
+              window.location.replace(window.location.origin + '/mobile/home');
             } else {
-              if (this.$route.query.urltype == 1) {
-                window.location.replace(window.location.origin + '/mobile/home');
-              } else {
-                this.onClickLeft();
-                // window.location.replace(
-                //   window.location.origin + '/mobile/outsidelist/index?info=y'
-                // );
-              }
+              this.onClickLeft();
+              // window.location.replace(
+              //   window.location.origin + '/mobile/outsidelist/index?info=y'
+              // );
             }
+            // }
           } else {
             this.$toast({
               message: res.msg,

+ 11 - 10
src/views/deviceWithin/index.vue

@@ -18,7 +18,8 @@
           </template>
         </van-search>
       </div>
-      <div style="background-color: #dfebf4; padding: 10px" v-if="mapShows">
+      <!-- 隐藏高销额门店入口 -->
+      <!-- <div style="background-color: #dfebf4; padding: 10px" v-if="mapShows">
         <div
           style="
             font-size: 16px;
@@ -42,14 +43,14 @@
           @click="goFn(1)"
           >去查看<van-icon name="arrow"
         /></van-button>
-      </div>
+      </div> -->
       <div class="monthNow" v-show="calendarIsshow == false">
         <span class="month" @click="show = true">{{ timeData }}</span>
         <van-icon class="CalendarIcon" :name="timeico" @click="show = true" />
       </div>
     </div>
     <!--        主体内容-->
-    <div class="container content" style="margin-top: 190px" @touchmove="handleTouch">
+    <div class="container content" style="margin-top: 145px" @touchmove="handleTouch">
       <div class="cellcontent" v-for="(item, index) in list" :key="index">
         <van-cell>
           <div class="card">
@@ -788,13 +789,13 @@ export default {
       var that = this;
       localStorage.removeItem('visitId');
       checkVisit({ storeId: val.storeId }).then((res) => {
-        buryingPoint({
-          systemModel: '计划内',
-          buryingPointType: 1,
-          buryingPointValue: val.storeName + '(' + val.storeCode + ')',
-          buryingPointName: '进店拜访',
-          buryingPointPosition: '计划内',
-        });
+        // buryingPoint({
+        //   systemModel: '计划内',
+        //   buryingPointType: 1,
+        //   buryingPointValue: val.storeName + '(' + val.storeCode + ')',
+        //   buryingPointName: '进店拜访',
+        //   buryingPointPosition: '计划内',
+        // });
         if (res.code == 200 || val.stateString.indexOf('拜访中') != -1) {
           if (localStorage.getItem('loginType') == 'cs') {
             var lat = '';