Jelajahi Sumber

主管任务增加经销商选项

zhujindu 6 bulan lalu
induk
melakukan
45318b32af

+ 47 - 32
src/views/week/VisitSummaryAdd.vue

@@ -171,8 +171,15 @@
             <div class="jxsBox">
               <div class="jxsContent">
                 <div class="item" v-for="(val, index) in item.chainList">
-                  <div class="selectItem">{{ val.chainName }} &nbsp; ({{ val.chainCode }})</div>
-                  <van-icon name="clear" size="16" @click="closeJXS(item, index)" />
+                  <el-popover
+                    placement="bottom"
+                    trigger="click"
+                    :content="val.chainName + '(' + val.chainCode + ')'">
+                    <template slot="reference">
+                      <div class="selectItem">{{ val.chainName }} &nbsp; ({{ val.chainCode }})</div>
+                      <van-icon name="clear" size="16" @click="closeJXS(item, index)" />
+                    </template>
+                  </el-popover>
                 </div>
               </div>
               <div class="addJXS"><van-icon name="add-o" size="24" @click="addJXS" /></div>
@@ -831,6 +838,7 @@ export default {
     },
     // 添加经销商
     addJXS() {
+      this.agentValue = '';
       this.moreTypeShow = true;
       this.getChainsList();
     },
@@ -856,17 +864,22 @@ export default {
         });
     },
     onConfirmChainsList(value) {
-      if (value.chainName != undefined) {
+      if (value && value.chainName != undefined) {
         let JXSSataList = this.collectionItemList.find((item) => item.answerType == 'jxs');
         if (!JXSSataList.chainList) {
           JXSSataList.chainList = [];
         }
-        JXSSataList.chainList.push({
-          chainName: value.chainName,
-          chainCode: value.chainCode,
-        });
+        let isFlag = JXSSataList.chainList.find((val) => val.chainCode == value.chainCode);
+        if (!isFlag) {
+          JXSSataList.chainList.push({
+            chainName: value.chainName,
+            chainCode: value.chainCode,
+          });
+          this.moreTypeShow = false;
+        } else {
+          this.$toast('当前经销商已添加,不能重复添加!');
+        }
       }
-      this.moreTypeShow = false;
     },
   },
 };
@@ -926,31 +939,8 @@ export default {
 .z-cell .van-cell__title {
   font-size: 16px;
 }
-.jxsBox {
-  .jxsContent {
-    margin-bottom: 10px;
-    .item {
-      padding: 5px;
-      display: flex;
-      background: #e9e9e9;
-      margin: 5px 0;
-      justify-content: space-between;
-      align-items: center;
-      .selectItem {
-        flex: 1;
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-        font-size: 14px;
-      }
-    }
-  }
-  .tips {
-    text-align: right;
-  }
-}
 </style>
-<style>
+<style lang="scss">
 .table-headermd {
   font-size: 12px;
   text-align: center;
@@ -1047,4 +1037,29 @@ export default {
   margin: 0;
   margin-top: -10px;
 }
+.jxsBox {
+  .jxsContent {
+    margin-bottom: 10px;
+    .item {
+      padding: 5px;
+      background: #e9e9e9;
+      margin: 5px 0;
+      .el-popover__reference-wrapper {
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+      }
+      .selectItem {
+        flex: 1;
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        font-size: 14px;
+      }
+    }
+  }
+  .tips {
+    text-align: right;
+  }
+}
 </style>

+ 32 - 17
src/views/week/allowWriteAgainSummary.vue

@@ -131,12 +131,19 @@
           <div class="jxsBox">
             <div class="jxsContent">
               <div class="item" v-for="(val, index) in item.chainList">
-                <div class="selectItem">{{ val.chainName }} &nbsp; ({{ val.chainCode }})</div>
-                <van-icon
-                  name="clear"
-                  size="16"
-                  @click="closeJXS(item, index)"
-                  v-if="item.allowWriteAgain" />
+                <el-popover
+                  placement="bottom"
+                  trigger="click"
+                  :content="val.chainName + '(' + val.chainCode + ')'">
+                  <template slot="reference">
+                    <div class="selectItem">{{ val.chainName }} &nbsp; ({{ val.chainCode }})</div>
+                    <van-icon
+                      name="clear"
+                      size="16"
+                      @click="closeJXS(item, index)"
+                      v-if="item.allowWriteAgain" />
+                  </template>
+                </el-popover>
               </div>
             </div>
             <div class="addJXS">
@@ -768,6 +775,7 @@ export default {
     },
     // 添加经销商
     addJXS() {
+      this.agentValue = '';
       this.moreTypeShow = true;
       this.getChainsList();
     },
@@ -793,17 +801,22 @@ export default {
         });
     },
     onConfirmChainsList(value) {
-      if (value.chainName != undefined) {
+      if (value && value.chainName != undefined) {
         let JXSSataList = this.collectionItemList.find((item) => item.answerType == 'jxs');
         if (!JXSSataList.chainList) {
           JXSSataList.chainList = [];
         }
-        JXSSataList.chainList.push({
-          chainName: value.chainName,
-          chainCode: value.chainCode,
-        });
+        let isFlag = JXSSataList.chainList.find((val) => val.chainCode == value.chainCode);
+        if (!isFlag) {
+          JXSSataList.chainList.push({
+            chainName: value.chainName,
+            chainCode: value.chainCode,
+          });
+          this.moreTypeShow = false;
+        } else {
+          this.$toast('当前经销商已添加,不能重复添加!');
+        }
       }
-      this.moreTypeShow = false;
     },
   },
 };
@@ -861,16 +874,20 @@ export default {
     font-size: 16px;
   }
 }
+</style>
+<style lang="scss">
 .jxsBox {
   .jxsContent {
     margin-bottom: 10px;
     .item {
       padding: 5px;
-      display: flex;
       background: #e9e9e9;
       margin: 5px 0;
-      justify-content: space-between;
-      align-items: center;
+      .el-popover__reference-wrapper {
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+      }
       .selectItem {
         flex: 1;
         white-space: nowrap;
@@ -884,8 +901,6 @@ export default {
     text-align: right;
   }
 }
-</style>
-<style>
 .table-headermd {
   font-size: 12px;
   text-align: center;

+ 28 - 13
src/views/week/componVisitSummary.vue

@@ -157,8 +157,15 @@
           <div class="jxsBox">
             <div class="jxsContent">
               <div class="item" v-for="(val, index) in item.chainList">
-                <div class="selectItem">{{ val.chainName }} &nbsp; ({{ val.chainCode }})</div>
-                <van-icon name="clear" size="16" @click="closeJXS(item, index)" />
+                <el-popover
+                  placement="bottom"
+                  trigger="click"
+                  :content="val.chainName + '(' + val.chainCode + ')'">
+                  <template slot="reference">
+                    <div class="selectItem">{{ val.chainName }} &nbsp; ({{ val.chainCode }})</div>
+                    <van-icon name="clear" size="16" @click="closeJXS(item, index)" />
+                  </template>
+                </el-popover>
               </div>
             </div>
             <div class="addJXS">
@@ -784,6 +791,7 @@ export default {
     },
     // 添加经销商
     addJXS() {
+      this.agentValue = '';
       this.moreTypeShow = true;
       this.getChainsList();
     },
@@ -809,17 +817,22 @@ export default {
         });
     },
     onConfirmChainsList(value) {
-      if (value.chainName != undefined) {
+      if (value && value.chainName != undefined) {
         let JXSSataList = this.collectionItemList.find((item) => item.answerType == 'jxs');
         if (!JXSSataList.chainList) {
           JXSSataList.chainList = [];
         }
-        JXSSataList.chainList.push({
-          chainName: value.chainName,
-          chainCode: value.chainCode,
-        });
+        let isFlag = JXSSataList.chainList.find((val) => val.chainCode == value.chainCode);
+        if (!isFlag) {
+          JXSSataList.chainList.push({
+            chainName: value.chainName,
+            chainCode: value.chainCode,
+          });
+          this.moreTypeShow = false;
+        } else {
+          this.$toast('当前经销商已添加,不能重复添加!');
+        }
       }
-      this.moreTypeShow = false;
     },
   },
 };
@@ -877,16 +890,20 @@ export default {
     font-size: 16px;
   }
 }
+</style>
+<style lang="scss">
 .jxsBox {
   .jxsContent {
     margin-bottom: 10px;
     .item {
       padding: 5px;
-      display: flex;
       background: #e9e9e9;
       margin: 5px 0;
-      justify-content: space-between;
-      align-items: center;
+      .el-popover__reference-wrapper {
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+      }
       .selectItem {
         flex: 1;
         white-space: nowrap;
@@ -900,8 +917,6 @@ export default {
     text-align: right;
   }
 }
-</style>
-<style>
 .table-headermd {
   font-size: 12px;
   text-align: center;