Procházet zdrojové kódy

同城店铺新建流程重构

zhujindu před 1 rokem
rodič
revize
928631e002

+ 8 - 3
.env.test

@@ -3,14 +3,19 @@ VUE_APP_TITLE = 门店拜访
 
 # 本地开发环境配置
 ENV = 'test'
-VUE_APP_Target=https://ssbsfatest.nipponpaint.com.cn
+VUE_APP_Target=http://192.168.100.190:9560/
 VUE_APP_SSB_LINK=http://suishenbangtest.nipponpaint.com.cn
 VUE_APP_XD_LINK=http://b2btest.nipponpaint.com.cn
+VUE_APP_BASE_API = '/'
+#测试环境
+# VUE_APP_Target=https://ssbsfatest.nipponpaint.com.cn
+# VUE_APP_SSB_LINK=http://suishenbangtest.nipponpaint.com.cn
+# VUE_APP_XD_LINK=http://b2btest.nipponpaint.com.cn
+#VUE_APP_BASE_API = '/ssbsfa/'
+
 # 正式环境
 # VUE_APP_Target=https://ssbsfa.nipponpaint.com.cn
 # VUE_APP_SSB_LINK=http://suishenbang.nipponpaint.com.cn
 # VUE_APP_XD_LINK=http://b2b.nipponpaint.com.cn
-
-VUE_APP_BASE_API = '/ssbsfa/'
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 2
src/views/home/index.vue

@@ -1203,11 +1203,13 @@
       <div class="lineGrey"></div>
     </div>
     <!-- 同城店建店审批 -->
-    <div class="contentborder" v-if="storeApprovalNum != null && storeApprovalNum > 0">
+    <div
+      class="contentborder"
+      v-if="reportInfoData.storeApprovalNum != null && reportInfoData.storeApprovalNum > 0">
       <van-cell class="homeTitle" title="同城店建店审批" to="/newStoreApprovalList">
         <template #title>
           <span class="custom-title">同城店建店审批&nbsp;&nbsp;</span>
-          <van-tag type="danger">{{ storeApprovalNum }}</van-tag>
+          <van-tag type="danger">{{ reportInfoData.storeApprovalNum }}</van-tag>
         </template>
         <template #right-icon>
           <van-icon class="homeCellIcon" name="arrow" size="16" />

+ 23 - 33
src/views/signApproval/newStoreApprovalDetail.vue

@@ -13,8 +13,8 @@
         <van-tab title="基础信息" name="insidePlan" ref="dispsps">
           <!-- 提交审批后被驳回 -->
           <div class="rejectMsg" v-if="rejectMsg[0]">
-            <span class="label">审批记录</span>
-            <span class="value">{{ rejectMsg[0].rejectCause }}</span>
+            <span class="label">退回原因</span>
+            <span class="value">{{ rejectMsg[0].approvalDesc }}</span>
             <span class="examineDetail" @click="examineDetail">查看详情</span>
           </div>
           <van-field readonly v-model="list.storeCode" label="编号" />
@@ -191,12 +191,12 @@
     </van-popup>
     <!-- 提交审核后退回原因 只有同城分销店显示 -->
     <van-popup v-model="rejectMsgShow" class="rejectMsgBox" closeable round position="bottom">
-      <div class="title">审批详情</div>
+      <div class="title">退回详情</div>
       <div class="content">
         <div class="rejectMsgItem" v-for="(item, index) in rejectMsg" :key="index">
           <div class="item approver">
             <span class="label">审批人:</span>
-            <span class="value">{{ item.approver }}</span>
+            <span class="value">{{ item.approvalUserName }}</span>
           </div>
           <div class="item approvalTime">
             <span class="label">审批时间:</span>
@@ -204,7 +204,7 @@
           </div>
           <div class="item rejectCause">
             <span class="label">退回原因:</span>
-            <span class="value">{{ item.rejectCause }}</span>
+            <span class="value">{{ item.approvalDesc }}</span>
           </div>
         </div>
       </div>
@@ -229,6 +229,7 @@ import {
   getpotentialCustomerTypeList,
   getOrderByStoreCode,
   approvalStore,
+  storeApprovaHistory,
 } from '@/api/index';
 import mapmarker from '@/components/mapMarker';
 import viewUploadImg from '@/components/viewUploadImg';
@@ -269,28 +270,7 @@ export default {
       pageShow: false,
       rejectMsgShow: false,
       //退回原因详情列表
-      rejectMsg: [
-        {
-          approver: '测试111',
-          approvalTime: '2020-08-06 15:08:08',
-          rejectCause: '测试222',
-        },
-        {
-          approver: '测试111',
-          approvalTime: '2020-08-06 15:08:08',
-          rejectCause: '测试222',
-        },
-        {
-          approver: '测试111',
-          approvalTime: '2020-08-06 15:08:08',
-          rejectCause: '测试222',
-        },
-        {
-          approver: '测试111',
-          approvalTime: '2020-08-06 15:08:08',
-          rejectCause: '测试222',
-        },
-      ],
+      rejectMsg: [],
       activeNames: [],
       orderList: [],
       rejectReasonShow: false, //退回提交原因
@@ -310,8 +290,14 @@ export default {
     this.getpotentialCustomerTypeList();
     this.visitListList = [];
     window.scrollTo(0, 0);
+    this.storeApprovaHistoryFun();
   },
   methods: {
+    storeApprovaHistoryFun() {
+      storeApprovaHistory({ storeId: this.$route.query.id }).then((res) => {
+        this.rejectMsg = res.data || [];
+      });
+    },
     getCustomerInfoList() {
       getCustomerInfoList().then((res) => {
         var CustomerInfoList = [];
@@ -588,13 +574,17 @@ export default {
     },
     approvalStoreFun(type) {
       this.toastLoading(0, '正在提交...', true);
-      let approvalStatus = type == 'reject' ? 3 : '2';
+      // processApprovalStatus(2=通过,3=拒绝)
+      let processApprovalStatus = type == 'reject' ? 3 : 2;
       let approvalDesc = type == 'reject' ? this.rejectMessage : '';
-      approvalStore({
-        approvalId: this.$route.query.id, // 店铺id
-        approvalStatus: approvalStatus, // 审批类型
-        approvalDesc: this.rejectMessage, // 退回原因
-      }).then((res) => {
+      let params = {
+        approvalId: this.$route.query.approvalId, // 店铺id
+        processApprovalStatus: processApprovalStatus, // 审批类型
+      };
+      if (type == 'reject') {
+        params.approvalDesc = approvalDesc;
+      }
+      approvalStore(params).then((res) => {
         this.toastLoading().clear();
         if (res.code == 200) {
           this.$toast.success('提交成功');

+ 6 - 6
src/views/signApproval/newStoreApprovalList.vue

@@ -18,13 +18,13 @@
             <div class="label">门店类型:</div>
             <div class="value">{{ item.storeCategory }}</div>
           </div>
-          <div class="item tijiaoName">
+          <div class="item applicationUserName">
             <div class="label">提交人员:</div>
-            <div class="value">{{ item.tijiaoName }}</div>
+            <div class="value">{{ item.applicationUserName }}</div>
           </div>
-          <div class="item tijiaoTime">
+          <div class="item applicationTime">
             <div class="label">提交时间:</div>
-            <div class="value">{{ item.tijiaoTime }}</div>
+            <div class="value">{{ item.applicationTime }}</div>
           </div>
           <div class="itemBtn">审批</div>
         </div>
@@ -48,7 +48,7 @@ export default {
     getApprovalList() {
       getStoreApprovalList().then((res) => {
         if (res.code == 200) {
-          this.approvalList = res.data.list;
+          this.approvalList = res.data;
         }
       });
     },
@@ -56,7 +56,7 @@ export default {
     enterApprovalDetail(item) {
       this.$router.push({
         path: '/newStoreApprovalDetail',
-        query: { id: item.storeId },
+        query: { id: item.storeId, approvalId: item.approvalId },
       });
     },
     onClickLeft() {

+ 29 - 16
src/views/storeManagement/index.vue

@@ -14,15 +14,16 @@
       <div class="selectFilter" v-if="tabVal == 1">
         <van-dropdown-menu>
           <van-dropdown-item
-            v-model="storeType"
+            v-model="approvalStatus"
             :title="storeTypeTitle"
             :options="typeOption"
             @change="storeTypeChange" />
           <van-dropdown-item
-            v-model="storeStatus"
+            v-model="processApprovalStatus"
             :title="storeStatusTitle"
             :options="statusOption"
-            @change="storeStatusChange" />
+            @change="storeStatusChange"
+            :disabled="approvalStatus == 1" />
         </van-dropdown-menu>
       </div>
       <div class="searchDiv">
@@ -76,7 +77,7 @@
                   "
                   >临</span
                 >
-                <!-- "approvalStatus": "1",  结案状态(0=未 结案, -->
+                <!-- "approvalStatus": 1:已结案;0:未结案, -->
                 <!-- "processApprovalStatus": "1"  审批状态(0=未提交,1=已提交待审核,2=审批通过,3=审批拒绝) -->
                 <template v-if="item.approvalStatus == 0 && item.validFlag == 0">
                   <span class="statusIcon submit" v-if="item.processApprovalStatus == 1"
@@ -368,23 +369,23 @@ export default {
         district: '',
         timeData: '',
       },
-      storeType: 0,
-      storeStatus: 0,
+      approvalStatus: '',
+      processApprovalStatus: '',
       typeOption: [
-        { text: '全部门店', value: 0 },
+        { text: '全部门店', value: '' },
         { text: '已结案', value: 1 },
-        { text: '未结案', value: 2 },
+        { text: '未结案', value: 0 },
       ],
       statusOption: [
-        { text: '全部状态', value: 0 },
+        { text: '全部状态', value: '' },
         { text: '已提交', value: 1 },
-        { text: '未提交', value: 2 },
+        { text: '未提交', value: 0 },
       ],
       storeTypeTitle: '门店类型',
       storeStatusTitle: '门店状态',
     };
   },
-  created() {
+  activated() {
     this.tabVal = '1';
     if (localStorage.getItem('postType') == 'JZ' || localStorage.getItem('postType') == 'GZ') {
       this.mapShows = false;
@@ -396,6 +397,8 @@ export default {
     this.getStreetQuery();
     this.getMonth();
   },
+  // created() {
+  // },
   watch: {
     $route(to, from) {
       if (to.path == '/storemanagement/index' && from.path == '/storeAdd') {
@@ -751,9 +754,11 @@ export default {
     },
     getUserMyStoreList() {
       if (this.refreshing) {
-        this.list = [];
         this.refreshing = false;
       }
+      if (this.pageNum == 1) {
+        this.list = [];
+      }
       let loading1 = this.$toast.loading({
         duration: 0,
         message: '加载中...',
@@ -763,9 +768,13 @@ export default {
       fromValue.pageNum = this.pageNum;
       fromValue.pageSize = this.pageSize;
       fromValue.storeName = this.fromValue.storeName.trim();
-      // fromValue.storeType = this.storeType //门店类型
-      // fromValue.storeStatus = this.storeStatus //门店状态
-      storeMyList(fromValue).then((res) => {
+      // fromValue.approvalStatus = this.approvalStatus; //门店结案类型
+      // fromValue.processApprovalStatus = this.processApprovalStatus; //门店审批状态
+      storeMyList({
+        ...fromValue,
+        approvalStatus: this.approvalStatus,
+        processApprovalStatus: this.processApprovalStatus,
+      }).then((res) => {
         loading1.clear();
         this.disabled = false;
         if (res.code == 200) {
@@ -839,13 +848,17 @@ export default {
       let storeTypeItem = this.typeOption.find((item) => item.value == value);
       this.storeTypeTitle = storeTypeItem ? storeTypeItem.title : '门店类型';
       // 门店每次切换 门店状态重置
-      this.storeStatus = 0;
+      this.processApprovalStatus = '';
       this.storeStatusTitle = '门店状态';
+      this.pageNum = 1;
+      this.getUserMyStoreList();
     },
     // 门店状态下拉选change
     storeStatusChange(value) {
       let storeStatusItem = this.statusOption.find((item) => item.value == value);
       this.storeStatusTitle = storeStatusItem ? storeStatusItem.title : '门店状态';
+      this.pageNum = 1;
+      this.getUserMyStoreList();
     },
   },
 };

+ 32 - 24
src/views/storeManagement/storeDetail.vue

@@ -4,27 +4,32 @@
       <!-- 顶部条 -->
       <van-nav-bar class="navBar" title="客户详情" left-arrow @click-left="onClickLeft">
         <template #right>
-          <!-- 未结案状态下 -->
-          <template v-if="list.approvalStatus == 0">
-            <!-- validFlag 正常门店 -->
-            <template v-if="list.validFlag == 0">
-              <!-- 未提交 -->
-              <template v-if="list.processApprovalStatus == 0">
-                <span style="color: #0057ba" v-if="type != 'address'" @click="editorFn">编辑 </span>
+          <!-- updatable 当前操作人是否可以编辑 -->
+          <template v-if="list.updatable">
+            <!-- 未结案状态下 -->
+            <template v-if="list.approvalStatus == 0">
+              <!-- validFlag 正常门店 -->
+              <template v-if="list.validFlag == 0">
+                <!-- 未提交 -->
+                <template v-if="list.processApprovalStatus == 0">
+                  <span style="color: #0057ba" v-if="type != 'address'" @click="editorFn"
+                    >编辑
+                  </span>
+                </template>
+                <!-- <span style="color: #0057ba; margin-left: 10px" @click="placeOrderFn">去下单 </span> -->
               </template>
-              <span style="color: #0057ba; margin-left: 10px" @click="placeOrderFn">去下单 </span>
             </template>
-          </template>
-          <template v-else-if="list.updatable">
-            <span style="color: #0057ba" v-if="list.validFlag == 2" @click="placeOrderFn"
-              >去下单
-            </span>
-            <span
-              style="color: #0057ba"
-              v-if="list.validFlag != 2 && type != 'address'"
-              @click="editorFn"
-              >编辑
-            </span>
+            <template v-else>
+              <span style="color: #0057ba" v-if="list.validFlag == 2" @click="placeOrderFn"
+                >去下单
+              </span>
+              <span
+                style="color: #0057ba"
+                v-if="list.validFlag != 2 && type != 'address'"
+                @click="editorFn"
+                >编辑
+              </span>
+            </template>
           </template>
         </template>
       </van-nav-bar>
@@ -39,7 +44,7 @@
           <!-- 提交审批后被驳回 -->
           <div class="rejectMsg" v-if="rejectMsg[0] && '退回状态'">
             <span class="label">退回原因</span>
-            <span class="value">{{ rejectMsg[0].rejectCause }}</span>
+            <span class="value">{{ rejectMsg[0].approvalDesc }}</span>
             <span class="examineDetail" @click="examineDetail">查看详情</span>
           </div>
           <van-field readonly v-model="list.storeCode" label="编号" />
@@ -322,7 +327,9 @@
         <!-- 正常查看详情状态 未结案并且未提交状态下可关闭门店、提交审核 -->
         <van-row
           gutter="20"
-          v-else-if="this.list.approvalStatus == 0 && list.processApprovalStatus == 0">
+          v-else-if="
+            this.list.approvalStatus == 0 && list.processApprovalStatus == 0 && list.updatable
+          ">
           <van-col span="12">
             <van-button round type="default" style="width: 100%" @click="valid"
               >撤销建店</van-button
@@ -426,7 +433,7 @@
         <div class="rejectMsgItem" v-for="(item, index) in rejectMsg" :key="index">
           <div class="item approver">
             <span class="label">审批人:</span>
-            <span class="value">{{ item.approver }}</span>
+            <span class="value">{{ item.approvalUserName }}</span>
           </div>
           <div class="item approvalTime">
             <span class="label">审批时间:</span>
@@ -434,7 +441,7 @@
           </div>
           <div class="item rejectCause">
             <span class="label">退回原因:</span>
-            <span class="value">{{ item.rejectCause }}</span>
+            <span class="value">{{ item.approvalDesc }}</span>
           </div>
         </div>
         <!-- </div> -->
@@ -1295,6 +1302,7 @@ export default {
               console.log(err);
             });
           // 同城店铺 未结案时获取
+          debugger;
           if (this.list.approvalStatus == 0) {
             // 获取门店订单
             this.getStoreOrderList(this.list.storeCode);
@@ -1545,7 +1553,7 @@ export default {
         this.toastLoading().clear();
         if (res.code == 200) {
           this.$toast.success('提交成功');
-          this.rejectReasonShow = false;
+          this.$router.go(-1);
         }
       });
     },

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 325 - 175
src/views/storeManagement/success.vue