Bladeren bron

经销商拜访

zhujindu 7 maanden geleden
bovenliggende
commit
3221b0ef74
4 gewijzigde bestanden met toevoegingen van 107 en 60 verwijderingen
  1. 9 0
      src/api/agentList.js
  2. 0 7
      src/api/index.js
  3. BIN
      src/assets/icon/shipped.png
  4. 98 53
      src/views/agentList/index.vue

+ 9 - 0
src/api/agentList.js

@@ -104,3 +104,12 @@ export function getCollectionShowHistory(query) {
     params: query,
   });
 }
+
+// 获取经销商SKU列表接口
+export function getItemList(query) {
+  return request({
+    url: '/mobile/chainsGroup/getItemList',
+    method: 'get',
+    params: query,
+  });
+}

+ 0 - 7
src/api/index.js

@@ -752,13 +752,6 @@ export function ProductItemImge(query) {
     params: query,
   });
 }
-export function getItemList(query) {
-  return request({
-    url: '/mobile/store/getItemList',
-    method: 'get',
-    params: query,
-  });
-}
 export function getOptionByResult(query) {
   return request({
     url: '/mobile/storeGroup/getOptionByResult',

BIN
src/assets/icon/shipped.png


+ 98 - 53
src/views/agentList/index.vue

@@ -52,8 +52,8 @@
                   </span>
                 </div>
                 <div class="info" style="position: relative">
-                  身份类型:{{ item.typeName2 }}
-                  <div style="position: absolute; bottom: 0px; right: 0px" v-if="false">
+                  实际经营者:{{ item.customerManager }}
+                  <div style="position: absolute; bottom: 0px; right: 0px">
                     <!-- 凤凰客户 -->
                     <el-popover
                       popper-class="zpover"
@@ -62,7 +62,7 @@
                       trigger="click"
                       content="该客户为凤凰客户">
                       <div
-                        v-if="item.storeLabels && item.storeLabels.fhCustomer"
+                        v-if="item.chainLabels && item.chainLabels.fhCustomer"
                         class="visitStoreIco"
                         style="background-color: #fff"
                         slot="reference">
@@ -77,47 +77,47 @@
                       trigger="click"
                       content="本月已出货">
                       <div
-                        v-if="item.storeLabels && item.storeLabels.fhCustomer"
+                        v-if="item.chainLabels && item.chainLabels.shipped"
                         class="visitStoreIco"
                         style="background-color: #fff"
                         slot="reference">
-                        <van-icon :name="require('@/assets/icon/fenghuangjihua.png')" size="26" />
+                        <van-icon :name="require('@/assets/icon/shipped.png')" size="26" />
                       </div>
                     </el-popover>
                     <el-popover
                       popper-class="zpover zpover6"
                       placement="bottom-start"
                       trigger="click">
-                      <div>
-                        <p>
-                          本店{{ timeData }}下单SKU数:<a
-                            @click="linkList(item)"
-                            style="text-decoration: underline"
-                            >点击查看详情</a
-                          >
-                        </p>
-                      </div>
-                      <div
-                        class="visitStoreIco"
-                        style="background-color: #fff; position: relative"
-                        slot="reference">
-                        <p
-                          style="
-                            width: 100%;
-                            position: absolute;
-                            z-index: 1;
-                            top: 0.2px;
-                            width: 22px;
-                            margin: 0;
-                            margin-left: 3.6px;
-                            text-align: center;
-                            font-size: 12px;
-                          ">
-                          <!-- {{ item.storeLabels.zysslNums }} -->
-                          111
-                        </p>
-                        <van-icon :name="require('@/assets/icon/ord.png')" size="26" />
-                      </div>
+                      <template v-if="item.chainLabels && item.chainLabels.skuNum">
+                        <div>
+                          <p>
+                            本店{{ timeData }}下单SKU数:<a
+                              @click="linkList(item)"
+                              style="text-decoration: underline"
+                              >点击查看详情</a
+                            >
+                          </p>
+                        </div>
+                        <div
+                          class="visitStoreIco"
+                          style="background-color: #fff; position: relative"
+                          slot="reference">
+                          <p
+                            style="
+                              width: 100%;
+                              position: absolute;
+                              z-index: 1;
+                              top: 0.2px;
+                              width: 22px;
+                              margin: 0;
+                              margin-left: 3.6px;
+                              text-align: center;
+                              font-size: 12px;
+                            ">
+                            {{ item.chainLabels.skuNum }}
+                          </p>
+                          <van-icon :name="require('@/assets/icon/ord.png')" size="26" /></div
+                      ></template>
                     </el-popover>
                     <!-- <el-popover
                       popper-class="zpover zpover5"
@@ -239,7 +239,7 @@
                     </el-popover> -->
                   </div>
                 </div>
-                <div class="info">实际经营者:{{ item.customerManager }}</div>
+                <div class="info">身份类型:{{ item.typeName2 }}</div>
                 <div class="info">开户日期:{{ formatCompactDate(item.openDate) }}</div>
                 <div class="info">是否冻结:{{ item.freeze }}</div>
                 <div class="info">是否关户:{{ item.close }}</div>
@@ -354,6 +354,17 @@
             <van-radio name="0">未拜访</van-radio>
           </template>
         </van-radio-group>
+        <van-checkbox-group v-model="chainLabelTypes" direction="horizontal">
+          <p class="searchchecktitle" @click="otherbqShow = !otherbqShow">
+            &nbsp;经销商标签<van-icon name="arrow-down" style="float: right" />
+          </p>
+          <div v-if="otherbqShow" style="width: 100%">
+            <div class="checkbox" v-for="(item, index) in chainLabelTypesOption" :key="index">
+              <van-checkbox :name="item.dictValue">{{ item.dictLabel }}</van-checkbox>
+            </div>
+            <div style="height: 2px; background-color: #f5f5f5; width: 100%; clear: both"></div>
+          </div>
+        </van-checkbox-group>
         <van-checkbox-group v-model="result" direction="horizontal">
           <p class="searchchecktitle" @click="otherfxdShow = !otherfxdShow">
             &nbsp;身份类型<van-icon name="arrow-down" style="float: right" />
@@ -409,15 +420,20 @@
         @cancel="moreTypeShow = false"
         visible-item-count="10" />
     </van-popup>
-    <van-popup v-model="SKUDateShow">
+    <el-dialog
+      :visible.sync="SKUDateShow"
+      width="90%"
+      :append-to-body="true"
+      :close-on-click-modal="false"
+      custom-class="SKUDateTable">
       <div v-for="item in SKUList">
         <p style="font-weight: bold; font-size: 14px">&nbsp;&nbsp;&nbsp;{{ item.m01Name }}</p>
         <el-table :data="item.productDetailList" border style="width: 100%">
           <el-table-column label="物料名称" prop="productName" />
-          <el-table-column label="规格" prop="productSku" />
+          <el-table-column label="规格" prop="productSku" width="70" />
         </el-table>
       </div>
-    </van-popup>
+    </el-dialog>
     <!-- 测试用 -->
     <!-- 下单系统 -->
     <div
@@ -452,7 +468,7 @@
 </template>
 
 <script>
-import { addVisitsPosition, mobileReposition, buryingPoint, getItemList } from '@/api/index';
+import { addVisitsPosition, mobileReposition, buryingPoint, getDictOption } from '@/api/index';
 import { getPosition, getTicketFun } from '@/utils/TXApiFun';
 import { mapState } from 'vuex';
 import store from '@/store';
@@ -462,6 +478,7 @@ import {
   queryMyChainsGroupListByDept,
   checkChainsAddressByChainCode,
   getMainchains,
+  getItemList,
 } from '@/api/agentList';
 import tabBar from '@/components/tabBar';
 export default {
@@ -480,7 +497,7 @@ export default {
       chainCode: '',
       showPopover: false,
       moreTypeShow: false,
-      storeLabelTypes: [],
+      chainLabelTypes: [],
       disabled: false,
       timer: null,
       flag: true,
@@ -514,7 +531,7 @@ export default {
       serachstype: '',
       addShow1: false,
       result: [],
-      StoreLabels: [],
+      chainLabelTypesOption: [],
       CustomerName: '',
       lat: '',
       lon: '',
@@ -533,11 +550,11 @@ export default {
     this.tabVal = localStorage.getItem('tabVal') == '0' ? '0' : '1';
     store.dispatch('setDeviceOutsidePage', false);
     this.getMonth();
+    // 经销商标签
+    this.getStoreLabels();
   },
   mounted() {
     if (this.deviceOutsidePage) this.initData();
-  },
-  mounted() {
     // 上拉边界下拉出现白色空白
     let node = document.getElementsByClassName('home')[0];
     node.addEventListener(
@@ -604,12 +621,6 @@ export default {
       e._isScroller = true;
     },
     initData() {
-      // 筛选-门店标签
-      if (localStorage.getItem('outvstoreLabelTypes') != null) {
-        this.storeLabelTypes = localStorage.getItem('outvstoreLabelTypes').split(',');
-      } else {
-        this.storeLabelTypes = [];
-      }
       this.chainName = localStorage.getItem('outvchainName'); //筛选-经销商名称搜索
       this.chainCode = localStorage.getItem('outvchainCode'); //筛选-经销商Code
       // 筛选-店型选择
@@ -627,8 +638,15 @@ export default {
         this.addShow1 = true;
         this.otherShow = false; //筛选-其他
       }
+      // 经销商标签
+      this.getStoreLabels();
       this.onSearch();
     },
+    getStoreLabels() {
+      getDictOption({}, 'chain_labels').then((res) => {
+        this.chainLabelTypesOption = res.data;
+      });
+    },
     setStroeNameStyle(item) {
       return { color: '#0057ba', 'text-decoration': 'underline' };
     },
@@ -664,7 +682,7 @@ export default {
     },
     onsets() {
       this.result = [];
-      this.storeLabelTypes = [];
+      this.chainLabelTypes = [];
       this.chainName = '';
       this.chainCode = '';
       this.monthVisited = '';
@@ -697,6 +715,7 @@ export default {
         lon: this.lon,
         pageNum: this.pageNum,
         typeCode2List: this.result.join(','),
+        chainLabelTypes: this.chainLabelTypes.join(','),
         pageSize: this.pageSize,
         chainsName: this.chainsName.trim(),
         monthVisited: this.monthVisited, //本月是否拜访1=拜访,0=未拜访
@@ -743,6 +762,7 @@ export default {
         lon: this.lon,
         pageNum: this.pageNum,
         typeCode2List: this.result.join(','),
+        chainLabelTypes: this.chainLabelTypes.join(','),
         pageSize: this.pageSize,
         chainsName: this.chainsName.trim(),
         monthVisited: this.monthVisited, //本月是否拜访1=拜访,0=未拜访
@@ -1106,7 +1126,6 @@ export default {
     onSearchm() {
       localStorage.setItem('outvstoreName', this.chainName);
       localStorage.setItem('outvchainName', this.chainName);
-      localStorage.setItem('outvstoreLabelTypes', this.storeLabelTypes);
       localStorage.setItem('outvstoreCategoryList', this.result);
       localStorage.setItem('outvchainCode', this.chainCode);
       this.onSearch();
@@ -1167,7 +1186,7 @@ export default {
       }
     },
     linkList(val) {
-      getItemList({ storeCode: val.chainId }).then((res) => {
+      getItemList({ chainCode: val.chainCode }).then((res) => {
         if (res.code == 200) {
           this.SKUDateShow = true;
           this.SKUList = res.data;
@@ -1386,4 +1405,30 @@ export default {
     }
   }
 }
+
+.el-dialog__wrapper {
+  z-index: 9999 !important;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  background: rgba(0, 0, 0, 0.5) !important;
+  .SKUDateTable {
+    overflow: hidden;
+    display: flex;
+    flex-direction: column;
+    max-height: 70%;
+    margin-top: 0 !important;
+    .el-dialog__header {
+      height: 40px;
+    }
+    .el-dialog__body {
+      padding: 30px 20px !important;
+      overflow-y: auto;
+      flex: 1;
+    }
+    .cell {
+      font-size: 12px;
+    }
+  }
+}
 </style>