Bladeren bron

商品上线提示修改

xiaodai2022 1 jaar geleden
bovenliggende
commit
80a176d70d
2 gewijzigde bestanden met toevoegingen van 120 en 164 verwijderingen
  1. 87 113
      src/views/goodStore/goodsCost/components/addEdit.vue
  2. 33 51
      src/views/goodStore/goodsOnline/add.vue

+ 87 - 113
src/views/goodStore/goodsCost/components/addEdit.vue

@@ -47,7 +47,7 @@
                     :src="scope.row.good_thumb_img"
                     style="display: inline-block; width: 100%; height: 100%"
                     alt=""
-                  >
+                  />
                 </div>
               </template>
             </el-table-column>
@@ -76,7 +76,7 @@
                   :type="scope.row.good_type == '1' ? '' : 'warning'"
                   v-text="
                     (options1.find((item) => item.id == scope.row.status) || {}).name ||
-                      '--'
+                    '--'
                   "
                 />
               </template>
@@ -154,7 +154,7 @@
                   type="primary"
                   :size="'mini'"
                   @click="submitForm"
-                >保 存
+                  >保 存
                 </el-button>
                 <el-button :size="'mini'" @click="showModelThis = false">{{
                   id == "007" ? "关 闭" : "取 消"
@@ -168,177 +168,151 @@
   </el-dialog>
 </template>
 <script>
-import asyncRequest from '@/apis/service/goodStore/goodsCost'
-import resToken from '@/mixins/resToken'
-import { replaceTextWrapAndSpace } from '@/utils'
+import asyncRequest from "@/apis/service/goodStore/goodsCost";
+import resToken from "@/mixins/resToken";
+import { replaceTextWrapAndSpace } from "@/utils";
 export default {
-  name: 'Brand',
+  name: "Brand",
   mixins: [resToken],
-  props: ['showModel', 'id', 'sitem'],
+  props: ["showModel", "id", "sitem"],
   data() {
     return {
       loading: false,
       showModelThis: this.showModel,
       ruleForm: {
-        platform: '', // string	平台id
-        online_reason: '', // string	上线原因
-        online_remark: '' // string	上线备注
+        platform: "", // string	平台id
+        online_reason: "", // string	上线原因
+        online_remark: "", // string	上线备注
       },
       // 是否定制
       options1: [
-        { id: '0', name: '否' },
-        { id: '1', name: '是' }
+        { id: "0", name: "否" },
+        { id: "1", name: "是" },
       ],
       rulesThis: this.rules,
       rules: {
         platform: [
           {
             required: true,
-            message: '请选择所属平台',
-            trigger: 'change'
-          }
+            message: "请选择所属平台",
+            trigger: "change",
+          },
         ],
         online_reason: [
           {
             required: true,
-            message: '上线原因不能为空',
-            trigger: 'blur'
-          }
+            message: "上线原因不能为空",
+            trigger: "blur",
+          },
         ],
         online_remark: [
           {
             required: true,
-            message: '上线备注不能为空',
-            trigger: 'blur'
-          }
-        ]
-      }
-    }
+            message: "上线备注不能为空",
+            trigger: "blur",
+          },
+        ],
+      },
+    };
   },
   watch: {
-    showModel: function(val) {
-      this.showModelThis = val
+    showModel: function (val) {
+      this.showModelThis = val;
       if (val) {
-        this.initForm()
+        this.initForm();
       }
     },
     showModelThis(val) {
       if (!val) {
-        this.$emit('cancel')
+        this.$emit("cancel");
       }
-    }
+    },
   },
   methods: {
     async initForm() {
-      this.loading = true
-      this.rulesThis = this.rules
-      await this.resetForm()
-      this.loading = false
+      this.loading = true;
+      this.rulesThis = this.rules;
+      await this.resetForm();
+      this.loading = false;
     },
     async resetForm() {
       // 重置
       await this.$nextTick(() => {
         if (this.$refs.ruleForm) {
-          this.$refs.ruleForm.resetFields()
-          this.$refs.ruleForm.clearValidate()
+          this.$refs.ruleForm.resetFields();
+          this.$refs.ruleForm.clearValidate();
           this.ruleForm = {
-            platform: '', // string	平台id
-            online_reason: '', // string	上线原因
-            online_remark: '' // string	上线备注
-          }
+            platform: "", // string	平台id
+            online_reason: "", // string	上线原因
+            online_remark: "", // string	上线备注
+          };
         }
-      })
+      });
     },
     platform_codesearchChange(e) {
-      const { id, code, label } = e
-      this.ruleForm.platform = id || ''
-      this.$refs.ruleForm.validateField('platform')
+      const { id, code, label } = e;
+      this.ruleForm.platform = id || "";
+      this.$refs.ruleForm.validateField("platform");
     },
     async submitForm() {
-      this.ruleForm.online_remark = replaceTextWrapAndSpace(this.ruleForm.online_remark)
-      await this.$refs.ruleForm.validate(async(valid) => {
+      this.ruleForm.online_remark = replaceTextWrapAndSpace(this.ruleForm.online_remark);
+      await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
           if (!this.loading) {
-            this.loading = true
-            const model = JSON.parse(JSON.stringify(this.ruleForm))
+            this.loading = true;
+            const model = JSON.parse(JSON.stringify(this.ruleForm));
             // model.platform = model.platform.toString();
-            model.codes = []
-            const list = JSON.parse(JSON.stringify(this.sitem))
+            model.codes = [];
+            const list = JSON.parse(JSON.stringify(this.sitem));
             list.forEach((e) => {
-              model.codes.push(e.spuCode)
-            })
-            const { code, data, message } = await asyncRequest.online_add(model)
-            this.loading = false
+              model.codes.push(e.spuCode);
+            });
+            const { code, data, message } = await asyncRequest.online_add(model);
+            this.loading = false;
             if (code === 0) {
               this.$notify.success({
-                title: '已成功添加至上线流程!',
-                message: ''
-              })
-              this.showModelThis = false
+                title: "已成功添加至上线流程!",
+                message: "",
+              });
+              this.showModelThis = false;
               // 刷新
-              this.$emit('refresh')
+              this.$emit("refresh");
             } else if (code >= 100 && code <= 104) {
-              await this.logout()
+              await this.logout();
+            } else if (code === 1004) {
+              this.open_show(
+                data,
+                "以下商品的业务公司和平台支付渠道中的业务公司重复,不允许上线"
+              );
             } else if (code === 1009) {
-              const resList = JSON.parse(JSON.stringify(data))
-
-              console.log(resList)
-
-              let htmlList = '<ul>'
-              resList.forEach((v) => {
-                htmlList += `<li>
-                 <img src='${v.good_thumb_img}' style='width: 20px; height: 20px'
-                    class='hover'
-                       v-viewer/>
-                  <span>${v.good_name}__</span>`
-                // const { speclist } = v
-                // let str = '<span>'
-                // speclist.forEach((a, ai) => {
-                //   str += `${ai !== 0 ? '--' : ''}${a.spec_name}[${a.spec_value}]`
-                // })
-                htmlList += '</span>' + `</li>`
-              })
-              htmlList += '</ul>'
-              this.$notify({
-                title: '以下商品的业务公司和平台支付渠道中的业务公司重复,不允许上线',
-                dangerouslyUseHTMLString: true,
-                message: htmlList
-              })
+              this.open_show(data, "以下商品已申请过商品上线!");
             } else if (code === 1010) {
-              const resList = JSON.parse(JSON.stringify(data))
-
-              let htmlList = '<ul>'
-              resList.forEach((v) => {
-                htmlList += `<li>
-          <img src='${v.good_img}' style='width: 20px; height: 20px'
-                  class='hover'
-                  v-viewer/>
-                  <span>${v.good_name}__</span>`
-                const { speclist } = v
-                let str = '<span>'
-                speclist.forEach((a, ai) => {
-                  str += `${ai !== 0 ? '--' : ''}${a.spec_name}[${a.spec_value}]`
-                })
-                htmlList += str + '</span>' + `</li>`
-              })
-              htmlList += '</ul>'
-              this.$notify({
-                title: '该平台要求商品必须要有一件的成本!',
-                dangerouslyUseHTMLString: true,
-                message: htmlList
-              })
+              this.open_show(data, "该平台要求商品必须要有一件的成本!");
             } else {
-              this.$message.warning(message)
+              this.$message.warning(message);
             }
           }
         } else {
-          // console.log("error submit!!");
-          return false
+          return false;
         }
-      })
-    }
-  }
-}
+      });
+    },
+    open_show(data, title) {
+      const resList = JSON.parse(JSON.stringify(data));
+      let htmlList = "<ul>";
+      resList.forEach((v) => {
+        htmlList += `<li>
+                  <span>${v.good_name}</span></li>`;
+      });
+      htmlList += "</ul>";
+      this.$notify({
+        title: title,
+        dangerouslyUseHTMLString: true,
+        message: htmlList,
+      });
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>

+ 33 - 51
src/views/goodStore/goodsOnline/add.vue

@@ -1,9 +1,6 @@
 <template>
   <div class="goodsOnlineAdd">
-    <div
-      class="goodsOnlineAdd-main"
-      v-if=" powers.some((i) => i == '007')"
-    >
+    <div class="goodsOnlineAdd-main" v-if="powers.some((i) => i == '007')">
       <el-form
         :model="ruleForm"
         status-icon
@@ -50,13 +47,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="24">
-            <el-table
-              :data="tableData"
-              stripe
-              border
-              :size="'mini'"
-              style="width: 100%"
-            >
+            <el-table :data="tableData" stripe border :size="'mini'" style="width: 100%">
               <el-table-column width="50" type="index" show-overflow-tooltip />
               <el-table-column
                 prop="spuCode"
@@ -114,10 +105,8 @@
                     :size="'mini'"
                     :type="scope.row.good_type == '1' ? '' : 'warning'"
                     v-text="
-                      (
-                        options1.find((item) => item.id == scope.row.status) ||
-                        {}
-                      ).name || '--'
+                      (options1.find((item) => item.id == scope.row.status) || {}).name ||
+                      '--'
                     "
                   ></el-tag>
                 </template>
@@ -164,10 +153,7 @@
                 </template>
                 <template slot-scope="scope">
                   <el-tooltip effect="dark" content="删除" placement="top">
-                    <i
-                      class="el-icon-delete tb-icon"
-                      @click="openDel(scope.$index)"
-                    ></i>
+                    <i class="el-icon-delete tb-icon" @click="openDel(scope.$index)"></i>
                   </el-tooltip>
                 </template>
               </el-table-column>
@@ -193,7 +179,7 @@
     </div>
   </div>
 </template>
-   <script>
+<script>
 import asyncRequest from "@/apis/service/goodStore/goodsOnline";
 import resToken from "@/mixins/resToken";
 import { mapGetters } from "vuex";
@@ -211,9 +197,8 @@ export default {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
       const tran =
-        this.$store.getters.btnList.find(
-          (item) => item.menu_route == "goodsOnlineAdd"
-        ) || {};
+        this.$store.getters.btnList.find((item) => item.menu_route == "goodsOnlineAdd") ||
+        {};
       const { action } = tran ?? {};
       return action ?? [];
     },
@@ -270,7 +255,7 @@ export default {
       });
     },
     async submitForm() {
-      this.ruleForm.online_remark = replaceTextWrapAndSpace(this.ruleForm.online_remark)
+      this.ruleForm.online_remark = replaceTextWrapAndSpace(this.ruleForm.online_remark);
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
           if (!this.loading) {
@@ -302,31 +287,15 @@ export default {
               this.routeReGoto("goodsOnline", {});
             } else if (code >= 100 && code <= 104) {
               await this.logout(code <= 104);
-            } else if (code == 1009) {
-              let resList = JSON.parse(JSON.stringify(data));
-
-              let htmlList = "<ul>";
-              resList.forEach((v) => {
-                htmlList += `<li>
-                <img src='${v.good_thumb_img}' style='width: 20px; height: 20px'
-                  class='hover'
-                  v-viewer/>
-                  <span>${v.good_name}__</span>`;
-                const { speclist } = v;
-                let str = "<span>";
-                // speclist.forEach((a, ai) => {
-                //   str += `${ai !== 0 ? "--" : ""}${a.spec_name}[${
-                //     a.spec_value
-                //   }]`;
-                // });
-                htmlList += str + "</span>" + `</li>`;
-              });
-              htmlList += "</ul>";
-              this.$notify({
-                title: "以下商品的业务公司和平台支付渠道中的业务公司重复,不允许上线!",
-                dangerouslyUseHTMLString: true,
-                message: htmlList,
-              });
+            } else if (code === 1004) {
+              this.open_show(
+                data,
+                "以下商品的业务公司和平台支付渠道中的业务公司重复,不允许上线"
+              );
+            } else if (code === 1009) {
+              this.open_show(data, "以下商品已申请过商品上线");
+            } else if (code === 1010) {
+              this.open_show(data, "该平台要求商品必须要有一件的成本!");
             } else {
               this.$message.warning(message);
             }
@@ -337,6 +306,20 @@ export default {
         }
       });
     },
+    open_show(data, title) {
+      const resList = JSON.parse(JSON.stringify(data));
+      let htmlList = "<ul>";
+      resList.forEach((v) => {
+        htmlList += `<li>
+                  <span>${v.good_name}</span></li>`;
+      });
+      htmlList += "</ul>";
+      this.$notify({
+        title: title,
+        dangerouslyUseHTMLString: true,
+        message: htmlList,
+      });
+    },
 
     resetFormData() {
       this.ruleForm = {
@@ -366,11 +349,10 @@ export default {
   },
 };
 </script>
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .goodsOnlineAdd {
   .goodsOnlineAdd-main {
     padding: 30px 20px 0 20px;
   }
 }
 </style>
-