Forráskód Böngészése

Merge branch 'feature_20260128_公装双包客户&三大渠道标签' into uat(dev)

zhujindu 6 napja
szülő
commit
c0ec1dc4d1

+ 19 - 1
src/api/storeManagement.js

@@ -9,7 +9,7 @@ export function getStoreArchives(query) {
   });
 }
 
-// 修改门店档案信息接口
+// 修改金牌店门店档案信息接口
 export function updateArchives(data) {
   return request({
     url: 'mobile/store/updateArchives',
@@ -17,3 +17,21 @@ export function updateArchives(data) {
     data,
   });
 }
+
+// 根据门店编码获取公装经销商拜访标签信息接口
+export function getGzVisitLabel(query) {
+  return request({
+    url: '/mobile/store/getGzVisitLabel',
+    method: 'get',
+    params: query,
+  });
+}
+
+// 修改公装拜访标签信息接口
+export function updateVisitLabel(data) {
+  return request({
+    url: 'mobile/store/updateVisitLabel',
+    method: 'post',
+    data,
+  });
+}

+ 6 - 0
src/router/index.js

@@ -158,6 +158,12 @@ const router = new VueRouter({
           component: () => import('@/views/storeManagement/JPattributeEditor.vue'),
           meta: { title: '金牌店档案编辑', keepAlive: true },
         },
+        {
+          path: '/GZattributeEditor',
+          name: 'GZattributeEditor',
+          component: () => import('@/views/storeManagement/GZattributeEditor.vue'),
+          meta: { title: '公装经销商编辑', keepAlive: true },
+        },
         {
           path: '/FSQStoreDetail',
           name: 'FSQStoreDetail',

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

@@ -96,6 +96,77 @@
                   >{{ item.telephone }}<van-icon name="phone"
                 /></a>
                 <div style="position: absolute; bottom: 0px; right: 0px">
+                  <!-- 是否终端客户 -->
+                  <el-popover popper-class="zpover" placement="bottom" width="120" trigger="click">
+                    <div
+                      v-if="item.storeLabels.terminalCustomer"
+                      class="visitStoreIco"
+                      style="background-color: #fff"
+                      slot="reference">
+                      <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                    </div>
+                  </el-popover>
+                  <!-- 是否双包客户 -->
+                  <el-popover
+                    popper-class="zpover"
+                    placement="bottom"
+                    width="120"
+                    trigger="click"
+                    :content="item.storeLabels.doubleCustomer">
+                    <div
+                      v-if="item.storeLabels.doubleCustomer"
+                      class="visitStoreIco"
+                      style="background-color: #fff"
+                      slot="reference">
+                      <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                    </div>
+                  </el-popover>
+                  <!-- 工企标签 -->
+                  <el-popover
+                    popper-class="zpover"
+                    placement="bottom"
+                    width="120"
+                    trigger="click"
+                    :content="item.storeLabels.industrialEnterprises">
+                    <div
+                      v-if="item.storeLabels.industrialEnterprises"
+                      class="visitStoreIco"
+                      style="background-color: #fff"
+                      slot="reference">
+                      <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                    </div>
+                  </el-popover>
+                  <!-- 商住标签 -->
+                  <el-popover
+                    popper-class="zpover"
+                    placement="bottom"
+                    width="120"
+                    trigger="click"
+                    :content="item.storeLabels.commercialResidential">
+                    <div
+                      v-if="item.storeLabels.commercialResidential"
+                      class="visitStoreIco"
+                      style="background-color: #fff"
+                      slot="reference">
+                      <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                    </div>
+                  </el-popover>
+                  <!-- 市政工程标签 -->
+                  <el-popover
+                    popper-class="zpover"
+                    placement="bottom"
+                    width="120"
+                    trigger="click"
+                    :content="item.storeLabels.municipalEngineering">
+                    <div
+                      v-if="item.storeLabels.municipalEngineering"
+                      class="visitStoreIco"
+                      style="background-color: #fff"
+                      slot="reference">
+                      <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                    </div>
+                  </el-popover>
+
                   <!-- 凤凰客户 -->
                   <el-popover
                     popper-class="zpover"

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

@@ -248,6 +248,77 @@
             <div class="text" style="position: relative">
               联系人:{{ info.contactName }}
               <div style="position: absolute; bottom: 0px; right: 10px; display: inline-block">
+                <!-- 是否终端客户 -->
+                <el-popover popper-class="zpover" placement="bottom" width="120" trigger="click">
+                  <div
+                    v-if="info.storeLabels.terminalCustomer"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                  </div>
+                </el-popover>
+                <!-- 是否双包客户 -->
+                <el-popover
+                  popper-class="zpover"
+                  placement="bottom"
+                  width="120"
+                  trigger="click"
+                  :content="info.storeLabels.doubleCustomer">
+                  <div
+                    v-if="info.storeLabels.doubleCustomer"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                  </div>
+                </el-popover>
+                <!-- 工企标签 -->
+                <el-popover
+                  popper-class="zpover"
+                  placement="bottom"
+                  width="120"
+                  trigger="click"
+                  :content="info.storeLabels.industrialEnterprises">
+                  <div
+                    v-if="info.storeLabels.industrialEnterprises"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                  </div>
+                </el-popover>
+                <!-- 商住标签 -->
+                <el-popover
+                  popper-class="zpover"
+                  placement="bottom"
+                  width="120"
+                  trigger="click"
+                  :content="info.storeLabels.commercialResidential">
+                  <div
+                    v-if="info.storeLabels.commercialResidential"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                  </div>
+                </el-popover>
+                <!-- 市政工程标签 -->
+                <el-popover
+                  popper-class="zpover"
+                  placement="bottom"
+                  width="120"
+                  trigger="click"
+                  :content="info.storeLabels.municipalEngineering">
+                  <div
+                    v-if="info.storeLabels.municipalEngineering"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                  </div>
+                </el-popover>
+
                 <el-popover
                   popper-class="zpover"
                   placement="bottom"

+ 2 - 1
src/views/deviceWithin/addStoreVisit.vue

@@ -5552,7 +5552,8 @@ export default {
             }
           }
           this.RIndex = value.index;
-          this.collectionItemList[value.childindex].collectionOptionList[value.index].isCheck = 1;
+          if (value.index != -1)
+            this.collectionItemList[value.childindex].collectionOptionList[value.index].isCheck = 1;
         }
         if (value.childIndex4 == 'D') {
           let r5 =

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

@@ -113,6 +113,76 @@
                 >{{ item.telephone }}<van-icon name="phone"
               /></a>
               <div style="position: absolute; bottom: 0; right: 14px">
+                <!-- 是否终端客户 -->
+                <el-popover popper-class="zpover" placement="bottom" width="120" trigger="click">
+                  <div
+                    v-if="item.storeLabels.terminalCustomer"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                  </div>
+                </el-popover>
+                <!-- 是否双包客户 -->
+                <el-popover
+                  popper-class="zpover"
+                  placement="bottom"
+                  width="120"
+                  trigger="click"
+                  :content="item.storeLabels.doubleCustomer">
+                  <div
+                    v-if="item.storeLabels.doubleCustomer"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                  </div>
+                </el-popover>
+                <!-- 工企标签 -->
+                <el-popover
+                  popper-class="zpover"
+                  placement="bottom"
+                  width="120"
+                  trigger="click"
+                  :content="item.storeLabels.industrialEnterprises">
+                  <div
+                    v-if="item.storeLabels.industrialEnterprises"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                  </div>
+                </el-popover>
+                <!-- 商住标签 -->
+                <el-popover
+                  popper-class="zpover"
+                  placement="bottom"
+                  width="120"
+                  trigger="click"
+                  :content="item.storeLabels.commercialResidential">
+                  <div
+                    v-if="item.storeLabels.commercialResidential"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                  </div>
+                </el-popover>
+                <!-- 市政工程标签 -->
+                <el-popover
+                  popper-class="zpover"
+                  placement="bottom"
+                  width="120"
+                  trigger="click"
+                  :content="item.storeLabels.municipalEngineering">
+                  <div
+                    v-if="item.storeLabels.municipalEngineering"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                  </div>
+                </el-popover>
                 <el-popover
                   popper-class="zpover"
                   placement="bottom"

+ 84 - 0
src/views/home/hintTabPage/warningStore.vue

@@ -69,6 +69,90 @@
                     <div class="info" style="position: relative">
                       联系人:{{ item.contactName }}
                       <div style="position: absolute; bottom: 0px; right: 0px">
+                        <!-- 是否终端客户 -->
+                        <el-popover
+                          popper-class="zpover"
+                          placement="bottom"
+                          width="120"
+                          trigger="click">
+                          <div
+                            v-if="item.storeLabels.terminalCustomer"
+                            class="visitStoreIco"
+                            style="background-color: #fff"
+                            slot="reference">
+                            <van-icon
+                              :name="require('@/assets/Icon/fenghuangjihua.png')"
+                              size="26" />
+                          </div>
+                        </el-popover>
+                        <!-- 是否双包客户 -->
+                        <el-popover
+                          popper-class="zpover"
+                          placement="bottom"
+                          width="120"
+                          trigger="click"
+                          :content="item.storeLabels.doubleCustomer">
+                          <div
+                            v-if="item.storeLabels.doubleCustomer"
+                            class="visitStoreIco"
+                            style="background-color: #fff"
+                            slot="reference">
+                            <van-icon
+                              :name="require('@/assets/Icon/fenghuangjihua.png')"
+                              size="26" />
+                          </div>
+                        </el-popover>
+                        <!-- 工企标签 -->
+                        <el-popover
+                          popper-class="zpover"
+                          placement="bottom"
+                          width="120"
+                          trigger="click"
+                          :content="item.storeLabels.industrialEnterprises">
+                          <div
+                            v-if="item.storeLabels.industrialEnterprises"
+                            class="visitStoreIco"
+                            style="background-color: #fff"
+                            slot="reference">
+                            <van-icon
+                              :name="require('@/assets/Icon/fenghuangjihua.png')"
+                              size="26" />
+                          </div>
+                        </el-popover>
+                        <!-- 商住标签 -->
+                        <el-popover
+                          popper-class="zpover"
+                          placement="bottom"
+                          width="120"
+                          trigger="click"
+                          :content="item.storeLabels.commercialResidential">
+                          <div
+                            v-if="item.storeLabels.commercialResidential"
+                            class="visitStoreIco"
+                            style="background-color: #fff"
+                            slot="reference">
+                            <van-icon
+                              :name="require('@/assets/Icon/fenghuangjihua.png')"
+                              size="26" />
+                          </div>
+                        </el-popover>
+                        <!-- 市政工程标签 -->
+                        <el-popover
+                          popper-class="zpover"
+                          placement="bottom"
+                          width="120"
+                          trigger="click"
+                          :content="item.storeLabels.municipalEngineering">
+                          <div
+                            v-if="item.storeLabels.municipalEngineering"
+                            class="visitStoreIco"
+                            style="background-color: #fff"
+                            slot="reference">
+                            <van-icon
+                              :name="require('@/assets/Icon/fenghuangjihua.png')"
+                              size="26" />
+                          </div>
+                        </el-popover>
                         <!-- 凤凰客户 -->
                         <el-popover
                           popper-class="zpover"

+ 67 - 0
src/views/storeManagement/GZattributeDetail.vue

@@ -0,0 +1,67 @@
+<template>
+  <div class="GzStore" v-if="detail">
+    <van-field readonly v-model="detail.terminalCustomer" label="是否终端客户" />
+    <van-field
+      v-if="detail.terminalCustomer == '否'"
+      readonly
+      v-model="detail.doubleCustomer"
+      label="是否双包客户" />
+    <van-field
+      v-if="detail.doubleCustomer == '是' && detail.terminalCustomer == '否'"
+      readonly
+      autosize
+      type="textarea"
+      v-model="detail.customerType"
+      label="客户类型" />
+    <van-field
+      v-if="detail.terminalCustomer == '否'"
+      readonly
+      autosize
+      type="textarea"
+      v-model="detail.channelType"
+      label="渠道类型" />
+  </div>
+</template>
+<script>
+import { getGzVisitLabel } from '@/api/storeManagement';
+export default {
+  props: {
+    storeCode: {
+      type: [String, Number],
+    },
+  },
+  data() {
+    return {
+      detail: null,
+    };
+  },
+  created() {
+    this.detail = null;
+    this.getDetaild();
+  },
+  activated() {
+    this.detail = null;
+    this.getDetaild();
+  },
+  methods: {
+    getDetaild() {
+      getGzVisitLabel({ storeCode: this.storeCode }).then((res) => {
+        this.detail = res.data;
+      });
+    },
+  },
+};
+</script>
+<style scoped lang="scss">
+.GzStore {
+  // padding: 0 16px;
+  background: #fff;
+  .van-cell {
+    // padding: 10px 0;
+    // border-bottom: 1px solid #ccc;
+  }
+  .van-field__label {
+    width: 9em;
+  }
+}
+</style>

+ 193 - 0
src/views/storeManagement/GZattributeEditor.vue

@@ -0,0 +1,193 @@
+<template>
+  <div class="GZattributeEditor">
+    <van-nav-bar class="navBar" title="公装经销商编辑" left-arrow @click-left="onClickLeft" />
+    <div class="content" v-if="detail">
+      <van-form ref="tabstoreVal" @submit="onSubmit">
+        <van-field
+          label="是否终端客户"
+          :rules="[{ required: true, message: '请选择是否终端客户' }]">
+          <template #left-icon>
+            <span class="van-f-red">*</span>
+          </template>
+          <template #input>
+            <van-radio-group v-model="detail.terminalCustomer" direction="horizontal">
+              <van-radio name="是">是</van-radio>
+              <van-radio name="否">否</van-radio>
+            </van-radio-group>
+          </template>
+        </van-field>
+        <van-field
+          v-if="detail.terminalCustomer == '否'"
+          label="是否双包客户"
+          :rules="[{ required: true, message: '请选择是否双包客户' }]">
+          <template #left-icon>
+            <span class="van-f-red">*</span>
+          </template>
+          <template #input>
+            <van-radio-group v-model="detail.doubleCustomer" direction="horizontal">
+              <van-radio name="是">是</van-radio>
+              <van-radio name="否">否</van-radio>
+            </van-radio-group>
+          </template>
+        </van-field>
+        <van-field
+          v-if="detail.doubleCustomer == '是' && detail.terminalCustomer == '否'"
+          :rules="[{ required: true, message: '请选择客户类型' }]"
+          autosize
+          type="textarea"
+          label="客户类型">
+          <template #left-icon>
+            <span class="van-f-red">*</span>
+          </template>
+          <template #input>
+            <van-checkbox-group v-model="detail.customerType" direction="horizontal">
+              <van-checkbox
+                v-for="(item, index) in doubleustomer"
+                :name="item.dictLabel"
+                shape="square"
+                :key="index">
+                {{ item.dictValue }}
+              </van-checkbox>
+            </van-checkbox-group>
+          </template>
+        </van-field>
+        <van-field
+          v-if="detail.terminalCustomer == '否'"
+          autosize
+          type="textarea"
+          label="渠道类型"
+          :rules="[{ required: true, message: '请选择渠道类型' }]">
+          <template #left-icon>
+            <span class="van-f-red">*</span>
+          </template>
+          <template #input>
+            <van-radio-group v-model="detail.channelType" direction="horizontal">
+              <van-radio
+                v-for="(item, index) in channelTypeArr"
+                :name="item.dictLabel"
+                :key="index">
+                {{ item.dictValue }}
+              </van-radio>
+            </van-radio-group>
+          </template>
+        </van-field>
+      </van-form>
+    </div>
+    <div class="footer-btn">
+      <van-button
+        style="color: white; background: rgb(0, 87, 186); border-radius: 6px; width: 90%"
+        @click="confirmShare">
+        保 存
+      </van-button>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getDictOption } from '@/api/index';
+import { getGzVisitLabel, updateVisitLabel } from '@/api/storeManagement';
+export default {
+  name: 'GZattributeEditor',
+  data() {
+    return {
+      detail: null,
+      channelTypeArr: [],
+      doubleustomer: [],
+    };
+  },
+  activated() {
+    this.detail = null;
+    this.toastLoading(0, '加载中...', true);
+    // 公装拜访标签渠道类型:gz_visit_label_channel_type 公装拜访标签双包客户:gz_visit_label_double_customer
+    Promise.all([
+      this.getDictOptionFun('gz_visit_label_channel_type'),
+      this.getDictOptionFun('gz_visit_label_double_customer'),
+    ]).then((res) => {
+      this.channelTypeArr = res[0];
+      this.doubleustomer = res[1];
+      console.log(this.doubleustomer);
+      this.getDetaild();
+    });
+  },
+  methods: {
+    getDictOptionFun(type) {
+      return new Promise((resolve, reject) => {
+        getDictOption({}, type).then((res) => {
+          resolve(res.data);
+        });
+      });
+    },
+    getDetaild() {
+      getGzVisitLabel({ storeCode: this.$route.query.storeCode }).then((res) => {
+        this.toastLoading().clear();
+        if (res.code == 200) {
+          res.data.customerType = res.data.customerType ? res.data.customerType.split(',') : [];
+          this.detail = res.data;
+        }
+      });
+    },
+    // 保存
+    confirmShare() {
+      this.$refs.tabstoreVal.submit();
+    },
+    onSubmit(value) {
+      this.toastLoading(0, '加载中...', true);
+      let params = JSON.parse(JSON.stringify(this.detail));
+      params.customerType = params.customerType.join(',');
+      params.storeCode = this.$route.query.storeCode;
+      params.chainCode = this.$route.query.chainCode;
+      if (params.doubleCustomer == '否') params.customerType = '';
+      updateVisitLabel(params).then((res) => {
+        this.toastLoading().clear();
+        if (res.code == 200) {
+          this.$toast(res.msg);
+          this.$router.go(-1);
+        } else {
+          this.$toast(res.msg);
+        }
+      });
+    },
+    onClickLeft() {
+      this.$router.go(-1);
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+.GZattributeEditor {
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  overflow: hidden;
+  .content {
+    flex: 1;
+    overflow-y: auto;
+    background: #fff;
+    padding: 10px 15px;
+    margin-top: 10px;
+    background: #fff;
+    .van-cell {
+      padding: 10px 0;
+      border-bottom: 1px solid #ccc;
+    }
+    .van-field__label {
+      width: 9em;
+    }
+    .van-checkbox--horizontal {
+      margin-bottom: 10px;
+      width: 100%;
+    }
+    .van-radio--horizontal {
+      margin-bottom: 10px;
+    }
+  }
+  .footer-btn {
+    display: flex;
+    justify-content: space-around;
+    padding: 10px 0;
+  }
+}
+</style>

+ 71 - 0
src/views/storeManagement/JPattributeDetail.vue

@@ -0,0 +1,71 @@
+<template>
+  <div class="JpStore">
+    <van-field readonly v-model="storeArchives.ownerMobile" label="主经营者电话" />
+    <van-field readonly v-model="storeArchives.ownerName" label="主经营者姓名" />
+    <van-field readonly v-model="storeArchives.ownerBirthday" label="主经营者出生日期" />
+    <van-field
+      readonly
+      autosize
+      type="textarea"
+      v-model="storeArchives.mainProductCategorys"
+      label="主营/擅长经营品类" />
+    <van-field
+      readonly
+      autosize
+      type="textarea"
+      v-model="storeArchives.totalSalesAmount"
+      label="门店24年总进货额(含所有品牌品类,单位:万元)" />
+    <van-field readonly v-model="storeArchives.performanceRatio" label="门店立邦业绩占比(单位:%)" />
+    <van-field
+      readonly
+      autosize
+      type="textarea"
+      v-model="storeArchives.mainBrand"
+      label="门店主营TOP3品牌" />
+    <van-field
+      readonly
+      v-model="storeArchives.constructionResource"
+      label="是否有工地资源(支持工地配送,承接工地双包等)" />
+    <van-field
+      v-if="storeArchives.constructionResource == '是'"
+      readonly
+      v-model="storeArchives.constructionYearNum"
+      label="年工地数量" />
+    <van-field readonly v-model="storeArchives.doubleContracting" label="是否有双包能力" />
+    <van-field readonly v-model="storeArchives.emergencyContactRelation" label="紧急联系人身份" />
+    <van-field readonly v-model="storeArchives.emergencyContact" label="紧急联系人姓名" />
+    <van-field
+      readonly
+      v-model="storeArchives.emergencyContactBirthday"
+      label="紧急联系人出生日期" />
+    <van-field readonly v-model="storeArchives.emergencyContactMobile" label="紧急联系人电话" />
+  </div>
+</template>
+<script>
+export default {
+  props: {
+    storeArchives: {
+      type: Object,
+      default: () => {},
+    },
+  },
+  data() {
+    return {};
+  },
+  activated() {},
+  methods: {},
+};
+</script>
+<style scoped lang="scss">
+.JpStore {
+  // padding: 0 16px;
+  background: #fff;
+  .van-cell {
+    // padding: 10px 0;
+    // border-bottom: 1px solid #ccc;
+  }
+  .van-field__label {
+    width: 9em;
+  }
+}
+</style>

+ 70 - 0
src/views/storeManagement/index.vue

@@ -135,6 +135,76 @@
               <div class="info" style="position: relative">
                 联系人:{{ item.contactName }}
                 <div style="position: absolute; bottom: 0px; right: 0px" v-if="item.storeLabels">
+                  <!-- 是否终端客户 -->
+                  <el-popover popper-class="zpover" placement="bottom" width="120" trigger="click">
+                    <div
+                      v-if="item.storeLabels.terminalCustomer"
+                      class="visitStoreIco"
+                      style="background-color: #fff"
+                      slot="reference">
+                      <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                    </div>
+                  </el-popover>
+                  <!-- 是否双包客户 -->
+                  <el-popover
+                    popper-class="zpover"
+                    placement="bottom"
+                    width="120"
+                    trigger="click"
+                    :content="item.storeLabels.doubleCustomer">
+                    <div
+                      v-if="item.storeLabels.doubleCustomer"
+                      class="visitStoreIco"
+                      style="background-color: #fff"
+                      slot="reference">
+                      <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                    </div>
+                  </el-popover>
+                  <!-- 工企标签 -->
+                  <el-popover
+                    popper-class="zpover"
+                    placement="bottom"
+                    width="120"
+                    trigger="click"
+                    :content="item.storeLabels.industrialEnterprises">
+                    <div
+                      v-if="item.storeLabels.industrialEnterprises"
+                      class="visitStoreIco"
+                      style="background-color: #fff"
+                      slot="reference">
+                      <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                    </div>
+                  </el-popover>
+                  <!-- 商住标签 -->
+                  <el-popover
+                    popper-class="zpover"
+                    placement="bottom"
+                    width="120"
+                    trigger="click"
+                    :content="item.storeLabels.commercialResidential">
+                    <div
+                      v-if="item.storeLabels.commercialResidential"
+                      class="visitStoreIco"
+                      style="background-color: #fff"
+                      slot="reference">
+                      <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                    </div>
+                  </el-popover>
+                  <!-- 市政工程标签 -->
+                  <el-popover
+                    popper-class="zpover"
+                    placement="bottom"
+                    width="120"
+                    trigger="click"
+                    :content="item.storeLabels.municipalEngineering">
+                    <div
+                      v-if="item.storeLabels.municipalEngineering"
+                      class="visitStoreIco"
+                      style="background-color: #fff"
+                      slot="reference">
+                      <van-icon :name="require('@/assets/Icon/fenghuangjihua.png')" size="26" />
+                    </div>
+                  </el-popover>
                   <el-popover
                     popper-class="zpover"
                     placement="bottom"

+ 50 - 78
src/views/storeManagement/storeDetail.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="storeDetail">
-    <div class="navBarTOP">
+    <div class="navBarTOP" v-if="list">
       <!-- 顶部条 -->
       <van-nav-bar class="navBar" title="客户详情" left-arrow @click-left="onClickLeft">
         <template #right>
@@ -8,9 +8,10 @@
             <span style="color: #0057ba" @click="chainMaintain">维护经销商</span>
           </template>
           <template v-else>
-            <!-- 金牌店 编辑属性信息 当前门店是否是我覆盖的:myCover -->
+            <!-- 金牌店/公装经销 编辑属性信息 当前门店是否是我覆盖的:myCover -->
             <!-- <template> -->
-            <template v-if="list.myCover && list.storeCode">
+            <template
+              v-if="list.myCover && (list.ifJpStoreType == '1' || list.storeCategory == 'C108')">
               <span style="color: #0057ba" v-if="type != 'address'" @click="attributeEditor">
                 编辑
               </span>
@@ -334,75 +335,23 @@
             </van-collapse-item>
           </van-collapse>
         </van-tab>
-        <van-tab title="属性信息" name="outsidePlan">
+        <!-- 公装经销商 -->
+        <van-tab title="客户标签" name="outsidePlan" v-if="list.storeCategory == 'C108'">
+          <GZattributeDetail :storeCode="list.storeCode"></GZattributeDetail>
+        </van-tab>
+        <van-tab title="属性信息" name="outsidePlan" v-else>
           <!-- 金牌店档案信息 -->
-          <template v-if="list.ifJpStoreType == '1' && list.storeArchives">
-            <div class="JpStore">
-              <van-field readonly v-model="list.storeArchives.ownerMobile" label="主经营者电话" />
-              <van-field readonly v-model="list.storeArchives.ownerName" label="主经营者姓名" />
-              <van-field
-                readonly
-                v-model="list.storeArchives.ownerBirthday"
-                label="主经营者出生日期" />
-              <van-field
-                readonly
-                autosize
-                type="textarea"
-                v-model="list.storeArchives.mainProductCategorys"
-                label="主营/擅长经营品类" />
-              <van-field
-                readonly
-                autosize
-                type="textarea"
-                v-model="list.storeArchives.totalSalesAmount"
-                label="门店24年总进货额(含所有品牌品类,单位:万元)" />
-              <van-field
-                readonly
-                v-model="list.storeArchives.performanceRatio"
-                label="门店立邦业绩占比(单位:%)" />
-              <van-field
-                readonly
-                autosize
-                type="textarea"
-                v-model="list.storeArchives.mainBrand"
-                label="门店主营TOP3品牌" />
-              <van-field
-                readonly
-                v-model="list.storeArchives.constructionResource"
-                label="是否有工地资源(支持工地配送,承接工地双包等)" />
-              <van-field
-                v-if="list.storeArchives.constructionResource == '是'"
-                readonly
-                v-model="list.storeArchives.constructionYearNum"
-                label="年工地数量" />
-              <van-field
-                readonly
-                v-model="list.storeArchives.doubleContracting"
-                label="是否有双包能力" />
-              <van-field
-                readonly
-                v-model="list.storeArchives.emergencyContactRelation"
-                label="紧急联系人身份" />
-              <van-field
-                readonly
-                v-model="list.storeArchives.emergencyContact"
-                label="紧急联系人姓名" />
-              <van-field
-                readonly
-                v-model="list.storeArchives.emergencyContactBirthday"
-                label="紧急联系人出生日期" />
+          <JPattributeDetail
+            :storeArchives="list.storeArchives"
+            v-if="list.ifJpStoreType == '1' && list.storeArchives" />
+          <template v-else>
+            <template v-for="(item, index) in TCFXList" v-if="dictTypeFormShow">
               <van-field
                 readonly
-                v-model="list.storeArchives.emergencyContactMobile"
-                label="紧急联系人电话" />
-            </div>
-          </template>
-          <template v-for="(item, index) in TCFXList" v-if="dictTypeFormShow" v-else>
-            <van-field
-              readonly
-              label="属性"
-              v-if="item.dictValue == list.tcfxName"
-              v-model="item.text" />
+                label="属性"
+                v-if="item.dictValue == list.tcfxName"
+                v-model="item.text" />
+            </template>
           </template>
         </van-tab>
       </van-tabs>
@@ -633,8 +582,17 @@ import uploadImg from '@/components/viewaddreddUploadImg.vue';
 import helpPage from './helpPage.vue';
 import { getPosition, getMapPoi, getkeywordPoi, getTicketFun } from '@/utils/TXApiFun';
 import { getOrderUrlByStoreId } from '@/api/inventory';
+import JPattributeDetail from './JPattributeDetail.vue';
+import GZattributeDetail from './GZattributeDetail.vue';
 export default {
-  components: { uploadImg, mapmarker, viewUploadImg, helpPage },
+  components: {
+    uploadImg,
+    mapmarker,
+    viewUploadImg,
+    helpPage,
+    JPattributeDetail,
+    GZattributeDetail,
+  },
   data() {
     return {
       addresssb: '',
@@ -645,7 +603,7 @@ export default {
       tabVal: 'insidePlan',
       showDialog: false,
       msgList: '',
-      list: [],
+      list: {},
       provinceList: [],
       txmapimg1: txmapimg1,
       txmapimg2: txmapimg2,
@@ -725,6 +683,7 @@ export default {
     },
   },
   activated() {
+    this.list = {};
     this.cityABStore = false;
     // 下单成功后点击上传陈列照直接跳转到编辑页面
     let id = localStorage.getItem('successStoreId');
@@ -825,7 +784,7 @@ export default {
             styleId: 'abc',
             position: new TMap.LatLng(
               this.maplist[val].location.lat,
-              this.maplist[val].location.lng
+              this.maplist[val].location.lng,
             ),
           },
         ]);
@@ -1371,9 +1330,14 @@ export default {
     getDetail() {
       this.lat = '';
       this.lon = '';
+      this.toastLoading(0, '加载中...', true);
       getById({ storeId: this.$route.query.id })
         .then((res) => {
-          this.tabVal = res.data.ifJpStoreType == '1' ? 'outsidePlan' : 'insidePlan';
+          if (res.data.ifJpStoreType == '1' || res.data.storeCategory == 'C108') {
+            this.tabVal = 'outsidePlan';
+          } else {
+            this.tabVal = 'insidePlan';
+          }
           localStorage.setItem('locationRemark', res.data.addressLine);
           localStorage.setItem('orgName', res.data.orgName);
           localStorage.setItem('chainName', res.data.storeName);
@@ -1697,12 +1661,20 @@ export default {
         query: { id: this.$route.query.id },
       });
     },
-    // 金牌店属性编辑
     attributeEditor() {
-      this.$router.push({
-        path: '/JPattributeEditor',
-        query: { storeCode: this.list.storeCode },
-      });
+      if (this.list.storeCategory == 'C108') {
+        // 公装经销商
+        this.$router.push({
+          path: '/GZattributeEditor',
+          query: { storeCode: this.list.storeCode, chainCode: this.list.chainCode },
+        });
+      } else {
+        // 金牌店属性编辑
+        this.$router.push({
+          path: '/JPattributeEditor',
+          query: { storeCode: this.list.storeCode },
+        });
+      }
     },
   },
 };