Selaa lähdekoodia

同城店铺新建流程重构-拜访页面去下单后返回逻辑修改

zhujindu 1 vuosi sitten
vanhempi
commit
6ec269568b

+ 3 - 0
src/views/deviceOutside/index.vue

@@ -1457,6 +1457,7 @@ export default {
                 PointSum: 0,
                 marklat: lat,
                 marklon: lon,
+                from: 'outPlan',
               },
             });
             localStorage.setItem('startTime', new Date());
@@ -1496,6 +1497,7 @@ export default {
                     PointSum: '0',
                     marklat: val.lat,
                     marklon: val.lon,
+                    from: 'outPlan',
                   },
                 });
               } else {
@@ -1679,6 +1681,7 @@ export default {
           PointSum: PointSumval,
           marklat: res.latitude,
           marklon: res.longitude,
+          from: 'outPlan',
         },
       });
     },

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 544 - 434
src/views/deviceOutside/projectOut.vue


+ 3 - 0
src/views/deviceOutside/rangeStore.vue

@@ -1595,6 +1595,7 @@ export default {
                 marklat: lat,
                 marklon: lon,
                 linkType: that.$route.query.tabVal,
+                from: 'outPlan',
               },
             });
             localStorage.setItem('startTime', new Date());
@@ -1635,6 +1636,7 @@ export default {
                     marklat: val.lat,
                     marklon: val.lon,
                     linkType: that.$route.query.tabVal,
+                    from: 'outPlan',
                   },
                 });
               } else {
@@ -1874,6 +1876,7 @@ export default {
           marklat: res.latitude,
           marklon: res.longitude,
           linkType: this.$route.query.tabVal,
+          from: 'outPlan',
         },
       });
     },

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 16 - 57
src/views/deviceOutside/suishenbangOutstoreVisit.vue


+ 3 - 0
src/views/deviceOutside/topStore.vue

@@ -1433,6 +1433,7 @@ export default {
                 marklat: lat,
                 marklon: lon,
                 linkType: 6,
+                from: 'topStore',
               },
             });
             localStorage.setItem('startTime', new Date());
@@ -1473,6 +1474,7 @@ export default {
                     marklat: val.lat,
                     marklon: val.lon,
                     linkType: 6,
+                    from: 'topStore',
                   },
                 });
               } else {
@@ -1824,6 +1826,7 @@ export default {
           PointSum: PointSumval,
           marklat: res.latitude,
           marklon: res.longitude,
+          from: 'topStore',
         },
       });
     },

+ 3 - 0
src/views/deviceWithin/index.vue

@@ -736,6 +736,7 @@ export default {
                 PointSum: 0,
                 marklat: lat,
                 marklon: lon,
+                from: 'inPlan',
               },
             });
             localStorage.setItem('startTime', new Date());
@@ -769,6 +770,7 @@ export default {
                     PointSum: '0',
                     marklat: val.lat,
                     marklon: val.lon,
+                    from: 'inPlan',
                   },
                 });
 
@@ -1119,6 +1121,7 @@ export default {
             PointSum: PointSumval,
             marklat: res.latitude,
             marklon: res.longitude,
+            from: 'inPlan',
           },
         });
       });

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 18 - 58
src/views/deviceWithin/storeVisit.vue


+ 241 - 201
src/views/historicalVisit/historicalDetails.vue

@@ -1,20 +1,30 @@
 <template>
   <div>
     <!--        顶部条-->
-    <van-nav-bar class="navBar" title="拜访任务" left-arrow @click-left="onClickLeft" >
+    <van-nav-bar class="navBar" title="拜访任务" left-arrow @click-left="onClickLeft">
       <template #right>
-        <span style="    color: white;
-    background: #74a4d9;
-    display: block;
-    padding: 6px 10px;
-    border-radius: 6px;"  @click="editorFn" v-if="!remarkShow&&sameDay">编辑</span>
+        <span
+          style="
+            color: white;
+            background: #74a4d9;
+            display: block;
+            padding: 6px 10px;
+            border-radius: 6px;
+          "
+          @click="editorFn"
+          v-if="!remarkShow && sameDay"
+          >编辑</span
+        >
       </template>
     </van-nav-bar>
     <!--        主体内容-->
     <div class="container">
       <div class="lineGrey"></div>
       <div class="card mt10">
-        <div class="title">{{ list.storeName }}(<span style="color:#1989fa;">{{ list.storeCode }}</span>)</div>
+        <div class="title">
+          {{ list.storeName }}(<span style="color: #1989fa">{{ list.storeCode }}</span
+          >)
+        </div>
         <div class="subtitle">地址:{{ list.addressLine }}</div>
         <div class="subtitle">拜访人:{{ list.nickName }}</div>
         <div class="subtitle">拜访日期:{{ list.startTime }}~{{ list.stopTime }}</div>
@@ -22,59 +32,81 @@
         <div class="subtitle">经销商:{{ list.chainName }}</div>
         <div class="subtitle" v-if="updateTimeShow">更新时间:{{ list.updateTime }}</div>
       </div>
-      <p style="padding: 0 10px;font-size: 14px;color:#222;font-weight: bold;" v-if="list.visitSource!=2&&ListHistoryList.length>0">审批历史</p>
-      <div v-for="(item1,index1) in ListHistoryList" :key="index1" style="background-color: white;padding-top: 14px">
-        <p style="padding: 0 16px;font-size: 14px;color:#222;margin: 0">流程名称:{{item1.modelName}}</p>
+      <p
+        style="padding: 0 10px; font-size: 14px; color: #222; font-weight: bold"
+        v-if="list.visitSource != 2 && ListHistoryList.length > 0">
+        审批历史
+      </p>
+      <div
+        v-for="(item1, index1) in ListHistoryList"
+        :key="index1"
+        style="background-color: white; padding-top: 14px">
+        <p style="padding: 0 16px; font-size: 14px; color: #222; margin: 0">
+          流程名称:{{ item1.modelName }}
+        </p>
         <van-steps direction="vertical" :active="item1.processList.length">
-          <van-step v-for="(item,index) in item1.processList" :key="index">
-            <h3 style="font-size: 14px;">{{item.activityName}} &nbsp;{{item.assigneeName}}</h3>
-            <p>{{item.comment}}</p>
+          <van-step v-for="(item, index) in item1.processList" :key="index">
+            <h3 style="font-size: 14px">{{ item.activityName }} &nbsp;{{ item.assigneeName }}</h3>
+            <p>{{ item.comment }}</p>
           </van-step>
         </van-steps>
-        <div style="border-bottom: 2px solid #f5f5f5;margin: 0 16px 16px"></div>
+        <div style="border-bottom: 2px solid #f5f5f5; margin: 0 16px 16px"></div>
       </div>
-      <van-collapse v-model="active" class="fontWeit" v-if="managerRemarkContents!=null&&managerRemarkContents.length>0">
+      <van-collapse
+        v-model="active"
+        class="fontWeit"
+        v-if="managerRemarkContents != null && managerRemarkContents.length > 0">
         <van-collapse-item name="1" title="点评">
-          <p>{{managerRemarkContents[0].deptName}} - {{managerRemarkContents[0].postName}} - {{managerRemarkContents[0].nickName}}的点评</p>
+          <p>
+            {{ managerRemarkContents[0].deptName }} - {{ managerRemarkContents[0].postName }} -
+            {{ managerRemarkContents[0].nickName }}的点评
+          </p>
           <p class="contern">
             <van-field
-                v-model="managerRemarkContents[0].remarkContent"
-                rows="4"
-                autosize
-                readonly
-                type="textarea"
-            /></p>
-          <p style="text-align: right;">点评时间:{{managerRemarkContents[0].createTime}}</p>
+              v-model="managerRemarkContents[0].remarkContent"
+              rows="4"
+              autosize
+              readonly
+              type="textarea" />
+          </p>
+          <p style="text-align: right">点评时间:{{ managerRemarkContents[0].createTime }}</p>
         </van-collapse-item>
       </van-collapse>
-      <div style="padding: 10px 16px;font-size: 16px;font-weight: bold;">
-        任务
-      </div>
-      <div class="card" v-if="list.visitSource!=2">
-        <div class="info" style="line-height: 44px;font-size: 14px;" v-for="(item,index) in list.sfaTaskList"
-             :key="index"
-             @click="historiStoreVisit(item,index)">
-          <p style="  width: 94%; margin: 0; line-height: 24px;padding: 10px 0;display: inline-block;"
-          >{{ item.taskName }}</p>
+      <div style="padding: 10px 16px; font-size: 16px; font-weight: bold">任务</div>
+      <div class="card" v-if="list.visitSource != 2">
+        <div
+          class="info"
+          style="line-height: 44px; font-size: 14px"
+          v-for="(item, index) in list.sfaTaskList"
+          :key="index"
+          @click="historiStoreVisit(item, index)">
+          <p
+            style="
+              width: 94%;
+              margin: 0;
+              line-height: 24px;
+              padding: 10px 0;
+              display: inline-block;
+            ">
+            {{ item.taskName }}
+          </p>
           <p class="arrowdetils1">
-            <van-icon name="arrow"/>
+            <van-icon name="arrow" />
           </p>
         </div>
       </div>
-      <div v-if="list.visitSource==2" style="background-color: #fff;">
-        <van-cell title="异常事由" :value="selectDictLabel(typeList,list.abnormalReason)"/>
-        <van-cell title="异常信息照"/>
-        <div style="padding: 10px 16px 0;">
+      <div v-if="list.visitSource == 2" style="background-color: #fff">
+        <van-cell title="异常事由" :value="selectDictLabel(typeList, list.abnormalReason)" />
+        <van-cell title="异常信息照" />
+        <div style="padding: 10px 16px 0">
           <delete-upload-img :imgs="imgs"></delete-upload-img>
         </div>
-        <van-cell title="异常信息" :value="list.remark"/>
+        <van-cell title="异常信息" :value="list.remark" />
       </div>
 
-      <div style="padding: 10px 16px;font-size: 16px;font-weight: bold;">
-        更多记录
-      </div>
+      <div style="padding: 10px 16px; font-size: 16px; font-weight: bold">更多记录</div>
       <van-cell-group>
-        <van-cell v-for="(item1,index1) in list.visitsMore" :key="index1">
+        <van-cell v-for="(item1, index1) in list.visitsMore" :key="index1">
           <template #title>
             <van-row>
               <van-col span="6">拜访人:</van-col>
@@ -86,71 +118,72 @@
           </template>
         </van-cell>
       </van-cell-group>
-      <div style="padding: 10px 16px;font-size: 16px;font-weight: bold;" v-if="managerRemarkContents==null&&remarkShow">
+      <div
+        style="padding: 10px 16px; font-size: 16px; font-weight: bold"
+        v-if="managerRemarkContents == null && remarkShow">
         点评
       </div>
-      <div class="comment" v-if="managerRemarkContents==null&&remarkShow">
+      <div class="comment" v-if="managerRemarkContents == null && remarkShow">
         <van-field
-            v-model="dataform.remarkContent"
-            rows="4"
-            autosize
-            maxlength="800"
-            show-word-limit
-            type="textarea"
-            :formatter="formatter"
-        />
-        <br>
-        <br>
-        <div class="contentborder" >
-          <van-button type="info" size="small" plain class="Btn1" @click="submint">提交点评</van-button>
+          v-model="dataform.remarkContent"
+          rows="4"
+          autosize
+          maxlength="800"
+          show-word-limit
+          type="textarea"
+          :formatter="formatter" />
+        <br />
+        <br />
+        <div class="contentborder">
+          <van-button type="info" size="small" plain class="Btn1" @click="submint"
+            >提交点评</van-button
+          >
         </div>
       </div>
-
     </div>
-
   </div>
 </template>
 
 <script>
-import deleteUploadImg from "@/components/deleteUploadImg";
+import deleteUploadImg from '@/components/deleteUploadImg';
 import {
   getVisitsDetail,
   getPhotoTypeList1,
   insertVisitRemark,
   getListHistoryList,
-  getCollectionShowHistory
-} from "@/api/index";
+  getCollectionShowHistory,
+} from '@/api/index';
 
 export default {
-  components: {deleteUploadImg},
+  components: { deleteUploadImg },
   data() {
     return {
-      userShow:false,
-      visitsId: "",
-      imgs: "",
+      userShow: false,
+      visitsId: '',
+      imgs: '',
       typeList: [],
-      active:["1"],
-      sameDay:false,
-      ListHistoryTOTLE:"",
-      managerRemarkContents:null,
-      managerRemarkContent:"",
-      CWShow:false,
-      dataform:{
-        "remarkContent":"",
-        "visitsId":0
+      active: ['1'],
+      sameDay: false,
+      ListHistoryTOTLE: '',
+      managerRemarkContents: null,
+      managerRemarkContent: '',
+      CWShow: false,
+      dataform: {
+        remarkContent: '',
+        visitsId: 0,
       },
-      updateTimeShow:false,
-      insert:true,
-      remarkShow:false,
-      ListHistoryList:[],
-      list:""
-    }
+      updateTimeShow: false,
+      insert: true,
+      remarkShow: false,
+      ListHistoryList: [],
+      list: '',
+    };
   },
   created() {
     this.visitsId = this.$route.query.visitId;
     this.dataform.visitsId = this.$route.query.visitId;
-    this.getVisitsDetailFn()
-    this.getPhotoTypeList()
+    this.getVisitsDetailFn();
+    this.getPhotoTypeList();
   },
   // watch: {
   //   $route(to, from) {
@@ -161,155 +194,155 @@ export default {
   //   }
   // },
   activated() {
-    this.getVisitsDetailFn()
+    this.getVisitsDetailFn();
   },
   methods: {
-
-    getListHistoryList(instanceId){
-      var form={visitsId:this.$route.query.visitId,pageNum: 1, pageSize: 999}
-      getListHistoryList(form).then(res=>{
-        this.ListHistoryList=res.data
-      })
+    getListHistoryList(instanceId) {
+      var form = { visitsId: this.$route.query.visitId, pageNum: 1, pageSize: 999 };
+      getListHistoryList(form).then((res) => {
+        this.ListHistoryList = res.data;
+      });
     },
     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,
+        ''
+      );
     },
     editorFn() {
-      if(this.list.hideStr!=""&&this.list.hideStr!=null){
-        this.$toast(this.list.hideStr)
-      }else{
-      localStorage.setItem('ORGName', this.list.deptName)
-      localStorage.setItem('chainNameR', this.list.storeName)
-      if(this.list.visitSource=="2"){
-        this.$router.push({
-          path: "/abnormalVisit",
-          query: {type:"edit",
-            storeCode:this.$route.query.storeCode,
-            rdId:this.$route.query.visitId,
-            visitId: this.$route.query.visitId,
-            storeId:this.list.storeId,
-            visitSource:this.list.visitSource,
-            visitModel:this.list.visitModel,
-            marklat:this.list.lat,
-            marklon:this.list.lon
+      if (this.list.hideStr != '' && this.list.hideStr != null) {
+        this.$toast(this.list.hideStr);
+      } else {
+        localStorage.setItem('ORGName', this.list.deptName);
+        localStorage.setItem('chainNameR', this.list.storeName);
+        if (this.list.visitSource == '2') {
+          this.$router.push({
+            path: '/abnormalVisit',
+            query: {
+              type: 'edit',
+              storeCode: this.$route.query.storeCode,
+              rdId: this.$route.query.visitId,
+              visitId: this.$route.query.visitId,
+              storeId: this.list.storeId,
+              visitSource: this.list.visitSource,
+              visitModel: this.list.visitModel,
+              marklat: this.list.lat,
+              marklon: this.list.lon,
+            },
+          });
+        } else {
+          var LCshow = false;
+          if (this.$route.query.taskId != null) {
+            LCshow = true;
+          } else {
+            LCshow = false;
           }
-        })
-      }else{
-        var LCshow=false
-        if(this.$route.query.taskId!=null){
-          LCshow=true
-        }else{
-          LCshow=false
+          this.$router.push({
+            path: '/storeVisitpage',
+            query: {
+              type: 'edit',
+              storeGroupId: this.list.storeGroupId,
+              storeCode: this.$route.query.storeCode,
+              storeName: this.list.storeName,
+              addressLine: this.list.addressLine,
+              rdId: this.$route.query.visitId,
+              visitId: this.$route.query.visitId,
+              storeId: this.list.storeId,
+              visitSource: this.list.visitSource,
+              visitModel: this.list.visitModel,
+              LCshow: LCshow,
+              instanceId: this.list.instanceId,
+              taskId: this.$route.query.taskId,
+              marklat: this.list.lat,
+              marklon: this.list.lon,
+              from: 'outPlan',
+            },
+          });
         }
-        this.$router.push({
-          path: "/storeVisitpage",
-          query: {
-            type:"edit",
-            storeGroupId:this.list.storeGroupId,
-            storeCode:this.$route.query.storeCode,
-            storeName:this.list.storeName,
-            addressLine:this.list.addressLine,
-            rdId:this.$route.query.visitId,
-            visitId: this.$route.query.visitId,
-            storeId:this.list.storeId,
-            visitSource:this.list.visitSource,
-            visitModel:this.list.visitModel,
-            LCshow:LCshow,
-            instanceId:this.list.instanceId,
-            taskId:this.$route.query.taskId,
-            marklat:this.list.lat,
-            marklon:this.list.lon
-          }
-        })
-      }
       }
     },
-    submint(){
-      if(this.dataform.remarkContent.trim()==""){
-        this.$toast("请填写点评内容!")
-      }else{
-        insertVisitRemark(this.dataform).then(
-            res => {
-              if(res.code==200){
-                this.getVisitsDetailFn()
-              }
-            }
-        )
+    submint() {
+      if (this.dataform.remarkContent.trim() == '') {
+        this.$toast('请填写点评内容!');
+      } else {
+        insertVisitRemark(this.dataform).then((res) => {
+          if (res.code == 200) {
+            this.getVisitsDetailFn();
+          }
+        });
       }
     },
     getPhotoTypeList() {
-      getPhotoTypeList1({}).then(res => {
-        this.typeList = res.data
-      })
+      getPhotoTypeList1({}).then((res) => {
+        this.typeList = res.data;
+      });
     },
     getVisitsDetailFn() {
-
-      getVisitsDetail({visitsId: this.visitsId}).then(res => {
+      getVisitsDetail({ visitsId: this.visitsId }).then((res) => {
         if (res.code == 200) {
-          this.list = res.data
-          if(res.data.visitSource!=2){
-            this.getListHistoryList(res.data.instanceId)
+          this.list = res.data;
+          if (res.data.visitSource != 2) {
+            this.getListHistoryList(res.data.instanceId);
+          }
+          if (res.data.stopTime != res.data.updateTime) {
+            this.updateTimeShow = true;
+          } else {
+            this.updateTimeShow = false;
           }
-          if(res.data.stopTime!=res.data.updateTime){
-            this.updateTimeShow=true
-          }else{
-            this.updateTimeShow=false
+          if (localStorage.getItem('userId') == this.$route.query.userId) {
+            this.userShow = true;
+          } else {
+            this.userShow = false;
           }
-          if(localStorage.getItem("userId")==this.$route.query.userId){
-            this.userShow=true
-          }else{
-            this.userShow=false
+          if (this.$route.query.taskId != null) {
+            this.CWShow = true;
+          } else {
+            this.CWShow = false;
           }
-          if(this.$route.query.taskId!=null){
-            this.CWShow=true
-          }else{
-            this.CWShow=false
+          this.sameDay = res.data.sameDay;
+          if (localStorage.getItem('userId') == res.data.userId) {
+            this.remarkShow = false;
+          } else {
+            this.remarkShow = true;
           }
-          this.sameDay=res.data.sameDay
-          if(localStorage.getItem("userId")==res.data.userId){
-            this.remarkShow=false
-          }else{
-            this.remarkShow=true
+          if (res.data.visitRemarks != null) {
+            if (res.data.visitRemarks.length > 0) {
+              this.managerRemarkContents = res.data.visitRemarks;
+            } else {
+              this.managerRemarkContents = null;
+            }
           }
-           if(res.data.visitRemarks!=null){
-             if(res.data.visitRemarks.length>0){
-               this.managerRemarkContents=res.data.visitRemarks
-             }else{
-               this.managerRemarkContents=null
-             }
-           }
 
           if (res.data.visitSource == 2) {
-            this.imgs = res.data.sysFileInfos
+            this.imgs = res.data.sysFileInfos;
           }
         } else {
-          this.$toast.fail(res.msg)
+          this.$toast.fail(res.msg);
         }
-      })
+      });
     },
     historiStoreVisit(val, index) {
       this.$router.push({
-        path: "/historiStoreVisit",
-        query: {visitId: this.visitsId, ids: index, taskType: val.taskType}
-      })
+        path: '/historiStoreVisit',
+        query: { visitId: this.visitsId, ids: index, taskType: val.taskType },
+      });
       sessionStorage.setItem('collectionItemList', JSON.stringify(val.collectionItemList));
-
     },
     onClickLeft() {
       this.$router.go(-1);
-    }
-  }
-}
+    },
+  },
+};
 </script>
 <style lang="scss" scoped>
 .container {
   padding-bottom: 50px;
 }
-.container .custom-titles{
+.container .custom-titles {
   white-space: break-spaces;
 }
 .card {
-  background: #FFF;
+  background: #fff;
   padding: 10px 15px;
   box-sizing: border-box;
   .title {
@@ -321,7 +354,7 @@ export default {
   .subtitle {
     line-height: 24px;
     font-size: 14px;
-    color: #7B7B7B;
+    color: #7b7b7b;
   }
   .info {
     font-size: 16px;
@@ -329,8 +362,8 @@ export default {
     line-height: 40px;
     border-bottom: 1px solid #dedede;
     position: relative;
-    &:last-child{
-      border-bottom:0;
+    &:last-child {
+      border-bottom: 0;
     }
     .arrow {
       float: right;
@@ -341,7 +374,7 @@ export default {
       text-align: center;
       border-radius: 50%;
       background: #1989fa;
-      color: #FFF;
+      color: #fff;
       font-weight: bold;
       font-size: 14px;
       margin-top: 9px;
@@ -358,13 +391,20 @@ export default {
 }
 </style>
 <style>
-.fontWeit .van-cell__title{font-weight: bold;font-size: 16px;}
-.fontWeit .van-cell__title p{margin: 0;}
-.comment .van-field__control{    background-color: #EBF4FF;
-  border-radius: 6px;}
-.contern .van-cell{
-background-color: #EBF4FF;
+.fontWeit .van-cell__title {
+  font-weight: bold;
+  font-size: 16px;
+}
+.fontWeit .van-cell__title p {
+  margin: 0;
+}
+.comment .van-field__control {
+  background-color: #ebf4ff;
+  border-radius: 6px;
+}
+.contern .van-cell {
+  background-color: #ebf4ff;
   border-radius: 6px;
   overflow: hidden;
 }
-</style>
+</style>