xiaodai2022 2 年之前
父節點
當前提交
67237bba68

+ 7 - 0
src/apis/components/goods-class-youzan.js

@@ -0,0 +1,7 @@
+import http from "@/apis/axios";
+const api = "youzan/";
+export default {
+  // 列表
+  list: (data, params) => http(api + "yz_cat_list", data, "post", params),
+};
+   

+ 3 - 3
src/apis/service/youzan/othgoodsOnline/index.js

@@ -3,13 +3,13 @@ import http from "@/apis/axios";
 const api = "admin/";
 export default {
   // 分页查询
-  list: (data, params) => http(api + "goodlist", data, "post", params),
+  list: (data, params) => http(api + "/goodlistByYz", data, "post", params),
   // 添加
   add: (data, params) => http(api + "gooduponline", data, "post", params),
   // 详情
-  detail: (data, params) => http(api + "goodinfo", data, "post", params),
+  detail: (data, params) => http("youzan/yz_goodup_info", data, "post", params),
   // 产品部门审核
-  goodupexam: (data, params) => http(api + "goodupexam", data, "post", params),
+  goodupexam: (data, params) => http("youzan/yz_check_exam_status", data, "post", params),
   // 更新状态
   status: (data, params) => http(api + "goodupexam", data, "post", params),
 

+ 2 - 0
src/components/globalComponents/goodClassYouzan/index.js

@@ -0,0 +1,2 @@
+import Main from './main.vue'
+export default Main

+ 125 - 0
src/components/globalComponents/goodClassYouzan/main.vue

@@ -0,0 +1,125 @@
+<template>
+  <div class="select-goodsClass">
+    <el-cascader
+      v-if="!loading"
+      :size="size || 'medium'"
+      style="width: 100%"
+      filterable
+      clearable
+      v-model="value"
+      :placeholder="placeholder || ''"
+      :props="props"
+      :disabled="disabled"
+      @change="handleChange"
+    ></el-cascader>
+  </div>
+</template>
+
+<script>
+import asyncRequest from "@/apis/components/goods-class-youzan";
+import resToken from "@/mixins/resToken";
+export default {
+  name: "goodClassYouzan",
+  mixins: [resToken],
+  props: ["size", "value", "placeholder", "isDetail", "disabled"],
+  /**
+   * 属性集合
+   * @param {String}        size             : 组件大小            非必填
+   * @param {Array}         value            : 选中值              必填
+   * @param {String}        placeholder      : 提示信息            非必填
+   * @param {Boolean}       isDetail         : 是否是详情逻辑       必填
+   * @param {Boolean}       disabled         : 是否禁用            必填
+   */
+  /**
+   * 事件集合
+   * @searchChange             : 选中值变化调用   抛出选中数据
+   */
+  data() {
+    return {
+      loading: false,
+      props: {
+        checkStrictly: false,
+        expandTrigger: "hover",
+        lazy: true, //开启远程加载
+        async lazyLoad(node, resolve) {
+          // console.log(node);
+          const { level, value, root, loading } = node;
+          let model = {
+            parent_cid: "",
+          };
+          let list = [];
+          console.log(level);
+          if (level > 1) {
+            resolve([]);
+            return;
+          }
+          if (level === 0) {
+            model.parent_cid = "0";
+          } else {
+            model.parent_cid = value;
+          }
+          const res = await asyncRequest.list(model);
+          const { code, data } = res;
+          if (code === 0) {
+            data.forEach((v1) => {
+              let province = {
+                value: v1.yz_cat_id,
+                label: v1.yz_cat_name,
+                leaf: level >= 1,
+              };
+              list.push(province);
+            });
+            resolve(list);
+          } else {
+            resolve([]);
+          }
+        },
+      },
+    };
+  },
+  // watch: {
+  //   // value: function (val, old) {
+  //   //   if (val) {
+  //   //     this.loading = true;
+  //   //     setTimeout(() => {
+  //   //       this.loading = false;
+  //   //     }, 10);
+  //   //   }
+  //   // },
+  // },
+  mounted() {
+    this.options = [];
+    this.selectLoading = false;
+  },
+  methods: {
+    async handleChange(value) {
+      this.$emit("handleChange", value);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.select-goodsClass {
+  .loading-input {
+    background-color: transparent;
+    border: 1px solid #dfe4ed;
+    color: #c0c4cc;
+    width: 100%;
+    height: 36px;
+    line-height: 36px;
+    padding: 0 30px 0 12px;
+    border-radius: 4px;
+    &.disabled {
+      background-color: #f5f7fa;
+    }
+    span {
+      font-size: 16px;
+      height: 36px;
+      line-height: 36px;
+      padding: 0 0 0 3px;
+      vertical-align: top;
+    }
+  }
+}
+</style>

+ 0 - 0
src/components/globalComponents/goodClassYouzan/商品分类


+ 6 - 1
src/components/globalComponents/show-goods-data-table/ShowDataTableColumns.js

@@ -78,11 +78,16 @@ const reColumns = [
     span: 18,
 
   },
+  {
+    prop: "stock_moq",
+    label: "备库起订量",
+    span: 4,
+  },
   {
     prop: "noble",
     _slot_: "noble",
     label: "贵金属信息",
-    span: 24,
+    span: 20,
   },
   {
     prop: "craft_desc",

+ 7 - 0
src/views/goodStore/goodsCost/columns.js

@@ -278,6 +278,13 @@ const rules = {
       trigger: "blur",
     },
   ],
+  stock_moq: [
+    {
+      required: true,
+      validator: validate_num_0,
+      trigger: "blur",
+    },
+  ],
   customized: [
     {
       required: true,

+ 71 - 113
src/views/goodStore/goodsCost/components/baseForm.vue

@@ -24,9 +24,7 @@
               <search-sort
                 :value="ruleForm.cat_id"
                 :placeholder="'商品分类'"
-                :disabled="
-                  type === 'view' || type === 'editBase' || type === 'editCoin'
-                "
+                :disabled="type === 'view' || type === 'editBase' || type === 'editCoin'"
                 :size="'mini'"
                 :names="cat_id_name"
                 :isDetail="type !== 'add'"
@@ -49,9 +47,7 @@
               <search-work-company
                 :value="ruleForm.company_id"
                 :placeholder="'业务公司'"
-                :disabled="
-                  type === 'view' || type === 'editBase' || type === 'editCoin'
-                "
+                :disabled="type === 'view' || type === 'editBase' || type === 'editCoin'"
                 :size="'mini'"
                 :isDetail="type !== 'add'"
                 @searchChange="company_idsearchChange"
@@ -121,9 +117,7 @@
             <el-form-item label="税点" prop="tax" label-width="60px">
               <search-tax
                 :value="ruleForm.tax"
-                :disabled="
-                  type === 'view' || type === 'editBase' || type === 'editCoin'
-                "
+                :disabled="type === 'view' || type === 'editBase' || type === 'editCoin'"
                 :size="'mini'"
                 :isDetail="type !== 'add'"
                 :placeholder="'税点'"
@@ -169,9 +163,7 @@
                 v-model="ruleForm.is_stock"
                 filterable
                 clearable
-                :disabled="
-                  type === 'view' || type === 'editBase' || type === 'editCoin'
-                "
+                :disabled="type === 'view' || type === 'editBase' || type === 'editCoin'"
                 style="width: 100%"
                 placeholder="是否库存品"
               >
@@ -187,20 +179,14 @@
           <el-col :span="24" v-show="is_noble">
             <el-row>
               <el-col :span="8">
-                <el-form-item
-                  label="贵金属重量"
-                  prop="noble_weight"
-                  label-width="95px"
-                >
+                <el-form-item label="贵金属重量" prop="noble_weight" label-width="95px">
                   <digital-input
                     :values="ruleForm.noble_weight"
                     :placeholder="'贵金属重量'"
                     :name="'ruleForm.noble_weight'"
                     :min="0"
                     :disabled="
-                      type === 'view' ||
-                      type === 'editBase' ||
-                      type === 'editCoin'
+                      type === 'view' || type === 'editBase' || type === 'editCoin'
                     "
                     :max="100000000000"
                     :position="'right'"
@@ -213,17 +199,11 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item
-                  label="贵金属种类"
-                  prop="noble_metal"
-                  label-width="95px"
-                >
+                <el-form-item label="贵金属种类" prop="noble_metal" label-width="95px">
                   <search-metal-kind
                     :value="ruleForm.noble_metal"
                     :disabled="
-                      type === 'view' ||
-                      type === 'editBase' ||
-                      type === 'editCoin'
+                      type === 'view' || type === 'editBase' || type === 'editCoin'
                     "
                     :size="'mini'"
                     :isDetail="type !== 'add'"
@@ -243,9 +223,7 @@
                     filterable
                     clearable
                     :disabled="
-                      type === 'view' ||
-                      type === 'editBase' ||
-                      type === 'editCoin'
+                      type === 'view' || type === 'editBase' || type === 'editCoin'
                     "
                     style="width: 100%"
                     placeholder="启用实时金价"
@@ -267,9 +245,7 @@
                     filterable
                     clearable
                     :disabled="
-                      type === 'view' ||
-                      type === 'editBase' ||
-                      type === 'editCoin'
+                      type === 'view' || type === 'editBase' || type === 'editCoin'
                     "
                     style="width: 100%"
                     placeholder="有无工差"
@@ -418,6 +394,23 @@
               />
             </el-form-item>
           </el-col>
+          <el-col :span="8">
+            <el-form-item label="备库起订量" prop="stock_moq" label-width="95px">
+              <digital-input
+                :values="ruleForm.stock_moq"
+                :placeholder="'备库起订量'"
+                :min="0"
+                :disabled="type === 'view' || type === 'editCoin'"
+                :max="100000000000"
+                :position="'right'"
+                :precision="0"
+                :size="'mini'"
+                :controls="false"
+                :append="''"
+                @reschange="number_change($event, 'stock_moq')"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-col>
     </el-row>
@@ -432,12 +425,7 @@
         </ul>
       </el-col>
       <el-col :span="23" class="dmain" style="padding: 20px 0 20px 18px">
-        <el-table
-          :data="spec_tableData"
-          :size="'mini'"
-          border
-          style="width: 100%"
-        >
+        <el-table :data="spec_tableData" :size="'mini'" border style="width: 100%">
           <el-table-column prop="spec_value" label="规格类型" />
           <el-table-column prop="spec_value_value" label="规格值" />
           <el-table-column
@@ -473,10 +461,7 @@
                 content="删除"
                 placement="top"
               >
-                <i
-                  class="el-icon-delete tb-icon"
-                  @click="openDelete(scope.$index)"
-                ></i>
+                <i class="el-icon-delete tb-icon" @click="openDelete(scope.$index)"></i>
               </el-tooltip>
             </template>
           </el-table-column>
@@ -729,9 +714,7 @@
                   :multiple="true"
                   :uploadcondition="beforeAvatarUpload"
                   @UploadErrorEvent="UploadErrorEvent($event, 'good_thumb_img')"
-                  @UploadSuccessEvent="
-                    UploadSuccessEvent($event, 'good_thumb_img')
-                  "
+                  @UploadSuccessEvent="UploadSuccessEvent($event, 'good_thumb_img')"
                 ></file-upload>
               </div>
               <div class="txt-tips fl">
@@ -753,11 +736,7 @@
                     <div class="img-show-li-div">
                       <img :src="img" class="img-show" alt="" />
                       <i
-                        v-if="
-                          type == 'add' ||
-                          type === 'editBase' ||
-                          type === 'edit'
-                        "
+                        v-if="type == 'add' || type === 'editBase' || type === 'edit'"
                         class="el-icon-close"
                         @click="closeImg(iindex, 'good_img')"
                       ></i>
@@ -779,12 +758,8 @@
                           :accept="'.jpg,.png,.jpeg'"
                           :multiple="true"
                           :uploadcondition="beforeAvatarUpload"
-                          @UploadErrorEvent="
-                            UploadErrorEvent($event, 'good_img')
-                          "
-                          @UploadSuccessEvent="
-                            UploadSuccessEvent($event, 'good_img')
-                          "
+                          @UploadErrorEvent="UploadErrorEvent($event, 'good_img')"
+                          @UploadSuccessEvent="UploadSuccessEvent($event, 'good_img')"
                         ></file-upload>
                       </div>
                     </div>
@@ -806,11 +781,7 @@
                     <div class="img-show-li-div">
                       <img :src="img" class="img-show" alt="" />
                       <i
-                        v-if="
-                          type == 'add' ||
-                          type === 'editBase' ||
-                          type === 'edit'
-                        "
+                        v-if="type == 'add' || type === 'editBase' || type === 'edit'"
                         class="el-icon-close"
                         @click="closeImg(iindex, 'good_info_img')"
                       ></i>
@@ -832,9 +803,7 @@
                           :accept="'.jpg,.png,.jpeg'"
                           :multiple="true"
                           :uploadcondition="beforeAvatarUpload"
-                          @UploadErrorEvent="
-                            UploadErrorEvent($event, 'good_info_img')
-                          "
+                          @UploadErrorEvent="UploadErrorEvent($event, 'good_info_img')"
                           @UploadSuccessEvent="
                             UploadSuccessEvent($event, 'good_info_img')
                           "
@@ -1063,25 +1032,16 @@
       <el-col
         :span="24"
         v-if="
-          type === 'editBase' ||
-          type === 'add' ||
-          type === 'editCoin' ||
-          type === 'edit'
-        "
-        style="
-          text-align: right;
-          padding: 15px 0 15px 0;
-          border-top: 1px solid #dcdfe6;
+          type === 'editBase' || type === 'add' || type === 'editCoin' || type === 'edit'
         "
+        style="text-align: right; padding: 15px 0 15px 0; border-top: 1px solid #dcdfe6"
       >
-        <el-button :size="'mini'" type="primary" @click="submitForm"
-          >保 存
-        </el-button>
+        <el-button :size="'mini'" type="primary" @click="submitForm">保 存 </el-button>
       </el-col></el-row
     >
   </el-form>
 </template>
-   <script>
+<script>
 import asyncRequest from "@/apis/service/goodStore/goodsCost";
 import resToken from "@/mixins/resToken";
 import { mapGetters } from "vuex";
@@ -1111,9 +1071,8 @@ export default {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
       let tran =
-        this.$store.getters.btnList.find(
-          (item) => item.menu_route == "goodsCostAdd"
-        ) || {};
+        this.$store.getters.btnList.find((item) => item.menu_route == "goodsCostAdd") ||
+        {};
       if (tran && tran.action && tran.action.length > 0) {
         return tran.action;
       } else {
@@ -1246,6 +1205,8 @@ export default {
               this.loading = false;
               return;
             }
+
+            // stock_moq
             const {
               noble_weight,
               weight,
@@ -1253,7 +1214,20 @@ export default {
               moq,
               is_step,
               is_gold_price,
+              stock_moq,
             } = this.ruleForm;
+            let min = parseInt(this.ladder_tableData[0].min_num),
+              smoq = parseInt(stock_moq);
+            this.ladder_tableData.forEach((si) => {
+              let n = parseInt(si.min_num);
+              min = n < min ? n : min;
+            });
+            console.log(smoq, min, smoq < min);
+            if (smoq < min) {
+              this.$message.warning("备库起订量不能低于成本最低起订量!");
+              this.loading = false;
+              return;
+            }
             // if (is_step === "0" && this.ladder_tableData.length > 1) {
             //   this.$message.warning("不启用阶梯成本,只能录入一条阶梯成本信息!");
             //   this.loading = false;
@@ -1274,9 +1248,7 @@ export default {
                 }
               });
               if (!is_p) {
-                this.$message.warning(
-                  "启用实时金价的贵金属商品不能填写成本单价!"
-                );
+                this.$message.warning("启用实时金价的贵金属商品不能填写成本单价!");
                 this.loading = false;
                 return;
               }
@@ -1365,9 +1337,7 @@ export default {
         JSON.stringify(type === 1 ? this.spec_tableData : this.ladder_tableData)
       );
       let oldlist = JSON.parse(
-        JSON.stringify(
-          type === 1 ? this.old_spec_tableData : this.old_ladder_tableData
-        )
+        JSON.stringify(type === 1 ? this.old_spec_tableData : this.old_ladder_tableData)
       );
       let hasIDlist = [];
       list.forEach((a) => {
@@ -1641,8 +1611,7 @@ export default {
       } catch (e) {}
 
       return (
-        (Number(s1.replace(".", "")) * Number(s2.replace(".", ""))) /
-        Math.pow(10, m)
+        (Number(s1.replace(".", "")) * Number(s2.replace(".", ""))) / Math.pow(10, m)
       );
     },
     dataSort(key) {
@@ -1715,6 +1684,7 @@ export default {
         is_diff: "",
         config: [],
         other_config: "",
+        stock_moq: "0",
       };
     },
 
@@ -1788,6 +1758,7 @@ export default {
             config,
             is_diff,
             other_config,
+            stock_moq,
           } = this.sitem;
           let cat_id_name = "";
           let cat_id = [];
@@ -1813,9 +1784,7 @@ export default {
           this.is_noble = isok;
 
           let spec_list1 =
-            speclist && speclist.length > 0
-              ? JSON.parse(JSON.stringify(speclist))
-              : [];
+            speclist && speclist.length > 0 ? JSON.parse(JSON.stringify(speclist)) : [];
           spec_list1.forEach((a) => {
             let model = {
               id: a.id,
@@ -1828,18 +1797,12 @@ export default {
             };
             this.spec_tableData.push(model);
           });
-          this.old_spec_tableData = JSON.parse(
-            JSON.stringify(this.spec_tableData)
-          );
+          this.old_spec_tableData = JSON.parse(JSON.stringify(this.spec_tableData));
 
           let list2 =
-            nakelist && nakelist.length > 0
-              ? JSON.parse(JSON.stringify(nakelist))
-              : [];
+            nakelist && nakelist.length > 0 ? JSON.parse(JSON.stringify(nakelist)) : [];
           this.ladder_tableData = list2;
-          this.old_ladder_tableData = JSON.parse(
-            JSON.stringify(this.ladder_tableData)
-          );
+          this.old_ladder_tableData = JSON.parse(JSON.stringify(this.ladder_tableData));
           this.status = status;
           this.brand_name = brand_name;
           this.unit_name = unit;
@@ -1847,8 +1810,7 @@ export default {
           this.ruleForm = {
             id: id || "",
             spuCode: spuCode || "",
-            cat_id:
-              cat_id && cat_id.length > 0 ? [cat_id[cat_id.length - 1]] : [],
+            cat_id: cat_id && cat_id.length > 0 ? [cat_id[cat_id.length - 1]] : [],
             brandid: brand_id ? [brand_id] : [],
             noble_weight: noble_weight || "",
             weight: weight || "",
@@ -1877,9 +1839,7 @@ export default {
             good_size: good_size || "",
             good_bar: good_bar || "",
             supply_area: supply_area || "",
-            delivery_place: delivery_place
-              ? (delivery_place || "").split(",")
-              : [],
+            delivery_place: delivery_place ? (delivery_place || "").split(",") : [],
             origin_place: origin_place ? (origin_place || "").split(",") : [],
             delivery_day: delivery_day || "",
             lead_time: lead_time || "",
@@ -1891,8 +1851,7 @@ export default {
                 : (good_img || "").split(",")
               : [],
             good_info_img: good_info_img
-              ? (Object.prototype.toString.call(good_info_img) ===
-                "[object Array]"
+              ? (Object.prototype.toString.call(good_info_img) === "[object Array]"
                   ? []
                   : good_info_img || ""
                 ).split(",")
@@ -1908,6 +1867,7 @@ export default {
             is_diff: is_diff || "",
             config: config ? config.split(",") : [],
             other_config: other_config || "",
+            stock_moq: stock_moq || "0",
           };
         }
         await this.set_must_spec();
@@ -1926,8 +1886,7 @@ export default {
       for (let i = 0; i < list.length; i++) {
         if (list[i] === "cgd_gold_price") {
           const { is_gold_price } = this.ruleForm;
-          this.rulesThis[list[i]][0].required =
-            this.is_noble && is_gold_price === "1";
+          this.rulesThis[list[i]][0].required = this.is_noble && is_gold_price === "1";
           console.log(list[i] + "===" + this.rulesThis[list[i]][0].required);
         } else {
           this.rulesThis[list[i]][0].required = this.is_noble;
@@ -2163,7 +2122,7 @@ export default {
   },
 };
 </script>
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .goodsCostDetail {
   // position: relative;
   .good_info_img_div {
@@ -2218,4 +2177,3 @@ export default {
   }
 }
 </style>
-   

+ 6 - 2
src/views/goodStore/goodsOnline/ShowDataTableColumns.js

@@ -188,12 +188,16 @@ const public_listCol = [
     append: '天',
     span: 4,
   },
-
+  {
+    prop: "stock_moq",
+    label: "备库起订量",
+    span: 4,
+  },
   {
     prop: "noble",
     label: "贵金属信息",
     _slot_: "noble",
-    span: 24,
+    span: 20,
   },
   {
     prop: "good_remark",

+ 6 - 2
src/views/purchaseIn/recovery/columns.js

@@ -298,12 +298,16 @@ const costColumns = [
 
 
 
-
+  {
+    prop: "stock_moq",
+    label: "备库起订量",
+    span: 4,
+  },
   {
     prop: "noble",
     _slot_: "noble",
     label: "贵金属信息",
-    span: 24,
+    span: 20,
   },
 
   {

+ 3 - 7
src/views/sellOut/project/components/setPlan.vue

@@ -535,7 +535,7 @@ export default {
         this.plan_show.feedback[index][time] = new Date().valueOf;
       }
 
-      this.$set(this.plan_show.feedback[index], index, this.plan_show.feedback[index]);
+      this.$set(this.plan_show.feedback, index, this.plan_show.feedback[index]);
     },
     //初始化整个组件
     async initListData() {
@@ -585,11 +585,7 @@ export default {
         this.plan_show.feedback.forEach((a, index) => {
           a.time_price = new Date().valueOf();
           a.time_num = new Date().valueOf();
-          this.$set(
-            this.plan_show.feedback[index],
-            index,
-            this.plan_show.feedback[index]
-          );
+          this.$set(this.plan_show.feedback, index, this.plan_show.feedback[index]);
         });
         console.log(this.plan_show);
       }, 100);
@@ -755,7 +751,7 @@ export default {
 
       console.log(this.plan_show);
       for (let i = 0; i < this.plan_show.feedback.length; i++) {
-        this.$set(this.plan_show.feedback[i], i, this.plan_show.feedback[i]);
+        this.$set(this.plan_show.feedback, i, this.plan_show.feedback[i]);
       }
     },
   },

+ 5 - 5
src/views/serviceParam/terrace/addEdit.vue

@@ -32,11 +32,11 @@
                 maxlength="20"
               />
             </el-form-item>
-            <el-form-item label="平台类型" prop="platform_type">
+            <el-form-item label="对接平台" prop="platform_type">
               <el-select
                 v-model="ruleForm.platform_type"
                 style="width: 100%"
-                placeholder="请选择平台类型"
+                placeholder="请选择对接平台"
               >
                 <el-option
                   v-for="item in options"
@@ -74,13 +74,13 @@ export default {
       title: "添加平台",
       showModelThis: this.showModel,
       options: [
-        { value: "0", label: "系统内部使用,不对接" },
+        { value: "0", label: "对接" },
         { value: "1", label: "有赞平台" },
       ],
       ruleForm: {
         id: "",
         platform_name: "",
-        platform_type: "",
+        platform_type: "0",
       },
       rulesThis: this.rules,
       rules: {
@@ -128,7 +128,7 @@ export default {
           this.ruleForm = {
             id: id || "",
             platform_name: platform_name || "",
-            platform_type: platform_type || "",
+            platform_type: platform_type || "0",
           };
         }
       });

+ 35 - 39
src/views/serviceParam/terrace/index.vue

@@ -57,20 +57,12 @@
               </el-select>
             </el-col>
 
-            <el-col
-              :span="3"
-              class="fr"
-              style="width: 66px; padding: 0 0 0 10px"
-            >
+            <el-col :span="3" class="fr" style="width: 66px; padding: 0 0 0 10px">
               <el-button type="primary" :size="searchSize" @click="searchList">
                 刷新
               </el-button>
             </el-col>
-            <el-col
-              :span="3"
-              class="fr"
-              style="width: 66px; padding: 0 0 0 10px"
-            >
+            <el-col :span="3" class="fr" style="width: 66px; padding: 0 0 0 10px">
               <el-button type="warning" :size="searchSize" @click="restSearch">
                 重置
               </el-button>
@@ -139,8 +131,17 @@
           :size="tablebtnSize"
           :type="scope.row.status == '0' ? 'warning' : ''"
           v-text="
-            (statusOptions.find((item) => item.id == scope.row.status) || {})
-              .label || '--'
+            (statusOptions.find((item) => item.id == scope.row.status) || {}).label ||
+            '--'
+          "
+        ></el-tag>
+      </template>
+      <template #platform_type="{ scope }">
+        <el-tag
+          :size="tablebtnSize"
+          v-text="
+            (options.find((item) => item.value == scope.row.platform_type) || {}).label ||
+            '--'
           "
         ></el-tag>
       </template>
@@ -152,10 +153,7 @@
           content="详情"
           placement="top"
         >
-          <i
-            class="el-icon-view tb-icon"
-            @click="openModal(scope.row, '007')"
-          ></i>
+          <i class="el-icon-view tb-icon" @click="openModal(scope.row, '007')"></i>
         </el-tooltip>
         <el-tooltip
           v-if="powers.some((item) => item == '005')"
@@ -163,15 +161,10 @@
           content="修改"
           placement="top"
         >
-          <i
-            class="el-icon-edit tb-icon"
-            @click="openModal(scope.row, '005')"
-          ></i>
+          <i class="el-icon-edit tb-icon" @click="openModal(scope.row, '005')"></i>
         </el-tooltip>
         <el-tooltip
-          v-if="
-            powers.some((item) => item == '004') && scope.row.status === '1'
-          "
+          v-if="powers.some((item) => item == '004') && scope.row.status === '1'"
           effect="dark"
           content="禁用"
           placement="top"
@@ -182,9 +175,7 @@
           ></i>
         </el-tooltip>
         <el-tooltip
-          v-if="
-            powers.some((item) => item == '004') && scope.row.status === '0'
-          "
+          v-if="powers.some((item) => item == '004') && scope.row.status === '0'"
           effect="dark"
           content="启用"
           placement="top"
@@ -200,10 +191,7 @@
           content="删除"
           placement="top"
         >
-          <i
-            class="el-icon-delete tb-icon"
-            @click="deleteItem(scope.row.id)"
-          ></i>
+          <i class="el-icon-delete tb-icon" @click="deleteItem(scope.row.id)"></i>
         </el-tooltip>
       </template>
     </ex-table>
@@ -221,7 +209,7 @@
 <script>
 import addEdit from "./addEdit";
 import asyncRequest from "@/apis/service/serviceParam/terrace";
-import {statusList} from "@/assets/js/statusList";
+import { statusList } from "@/assets/js/statusList";
 import roleLevel from "@/assets/js/roleLevel";
 import mixinPage from "@/mixins/elPaginationHandle";
 import { mapGetters } from "vuex";
@@ -237,9 +225,7 @@ export default {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
       let tran =
-        this.$store.getters.btnList.find(
-          (item) => item.menu_route == "terrace"
-        ) || {};
+        this.$store.getters.btnList.find((item) => item.menu_route == "terrace") || {};
       if (tran && tran.action && tran.action.length > 0) {
         return tran.action;
       } else {
@@ -270,6 +256,10 @@ export default {
         { id: "0", label: "禁用" },
         { id: "1", label: "启用" },
       ],
+      options: [
+        { value: "0", label: "无对接" },
+        { value: "1", label: "有赞平台" },
+      ],
       // 表格 - 数据
       tableData: [],
       // 表格 - 参数
@@ -293,12 +283,17 @@ export default {
         {
           prop: "platform_code",
           label: "平台编号",
-          width:'160px'
+          width: "160px",
         },
         {
           prop: "platform_name",
           label: "平台名称",
         },
+        {
+          prop: "platform_type",
+          label: "对接平台",
+          _slot_: "platform_type",
+        },
         {
           prop: "status",
           label: "状态",
@@ -311,17 +306,19 @@ export default {
         {
           prop: "company_name",
           label: "创建人部门",
-          minWidth: "150px",
+          minWidth: "120px",
         },
         {
           prop: "addtime",
           label: "创建时间",
+          minWidth: "145px",
         },
         {
           prop: "",
           label: "操作",
           fixed: "right",
           _noset_: true,
+          width: "145px",
           _slot_: "operation",
         },
       ],
@@ -439,7 +436,7 @@ export default {
     },
     // 刷新表格
     async searchList() {
-         if (
+      if (
         (this.parmValue.start !== "" && this.parmValue.end === "") ||
         (this.parmValue.start == "" && this.parmValue.end != "")
       ) {
@@ -463,5 +460,4 @@ export default {
 };
 </script>
 
-<style lang="scss" scoped>
-</style>
+<style lang="scss" scoped></style>

+ 10 - 34
src/views/standingBook/components/detail6/main.vue

@@ -30,13 +30,7 @@
       </template>
 
       <template slot="ladder">
-        <el-table
-          :data="sitem.ladder"
-          :size="'mini'"
-          border
-          stripe
-          style="width: 100%"
-        >
+        <el-table :data="sitem.ladder" :size="'mini'" border stripe style="width: 100%">
           <el-table-column label="商品阶梯" width="70px">
             <template slot-scope="scope"> {{ scope.$index + 1 }}</template>
           </el-table-column>
@@ -45,11 +39,8 @@
               <el-tag
                 :size="'mini'"
                 v-text="
-                  (
-                    statusOptions.find(
-                      (item) => item.value == scope.row.good_type
-                    ) || {}
-                  ).label || '--'
+                  (statusOptions.find((item) => item.value == scope.row.good_type) || {})
+                    .label || '--'
                 "
               ></el-tag
             ></template>
@@ -195,12 +186,7 @@
           width="110"
           show-overflow-tooltip
         />
-        <el-table-column
-          prop="num"
-          label="购买数量"
-          width="110"
-          show-overflow-tooltip
-        >
+        <el-table-column prop="num" label="购买数量" width="110" show-overflow-tooltip>
           <template slot-scope="scope">
             <digital-input
               v-if="table_type === 'add'"
@@ -223,9 +209,7 @@
             <el-tag
               :size="'mini'"
               :type="scope.row.data_source === '1' ? 'success' : ''"
-              >{{
-                scope.row.data_source === "1" ? "平台商品" : "采反商品"
-              }}</el-tag
+              >{{ scope.row.data_source === "1" ? "平台商品" : "采反商品" }}</el-tag
             >
           </template>
         </el-table-column>
@@ -263,17 +247,11 @@
           <template slot-scope="scope">
             <span>{{ scope.row.good_name }}</span>
             <span v-for="(si, sii) in scope.row.specinfo" :key="si.id + sii">
-              {{ sii === 0 ? "_" : "-" }}{{ si.spec_name }}[{{
-                si.spec_value_name
-              }}]
+              {{ sii === 0 ? "_" : "-" }}{{ si.spec_name }}[{{ si.spec_value_name }}]
             </span>
           </template>
         </el-table-column>
-        <el-table-column
-          prop="class_cat"
-          label="商品分类"
-          show-overflow-tooltip
-        />
+        <el-table-column prop="class_cat" label="商品分类" show-overflow-tooltip />
         <!-- <el-table-column
             prop="expiry_day"
             label="信息有效期"
@@ -395,9 +373,7 @@ export default {
       let model = {
         projectNo: this.queryId,
       };
-      const { code, data, message } = await asyncRequest.get_project_plan(
-        model
-      );
+      const { code, data, message } = await asyncRequest.get_project_plan(model);
       if (code === 0) {
         this.allPlanList = JSON.parse(JSON.stringify(data));
         this.total = this.allPlanList.length;
@@ -453,7 +429,7 @@ export default {
       });
 
       for (let i = 0; i < this.plan_show.feedback.length; i++) {
-        this.$set(this.plan_show.feedback[i], i, this.plan_show.feedback[i]);
+        this.$set(this.plan_show.feedback, i, this.plan_show.feedback[i]);
       }
     },
   },
@@ -466,4 +442,4 @@ export default {
   padding: 20px 50px !important;
   background: #f3f3f3;
 }
-</style>
+</style>

+ 0 - 300
src/views/youzan/othgoodsOnline/ShowDataTableColumns.js

@@ -1,300 +0,0 @@
-
-const public_listCol = [
-  {
-    prop: "good_name",
-    label: "商品名称",
-    _slot_: "good_name",
-    span: 24,
-  },
-
-  // {
-  //   prop: "speclist",
-  //   label: "规格",
-  //   _slot_: "speclist",
-  // },
-  // {
-  //   prop: "skuCode",
-  //   label: "上线商品编号",
-  //   span: 7,
-  // },
-  // {
-  //   prop: "companyNo",
-  //   label: "业务企业编号",
-  //   span: 7,
-  // },
-  {
-    prop: "company",
-    label: "业务企业名称",
-    _slot_: "company",
-  },
-  {
-    prop: "good_info_img",
-    _slot_: "good_info_img",
-    label: "详情图",
-  },
-  {
-    prop: "cat",
-    label: "分类",
-    span: 8,
-  },
-
-
-
-  {
-    prop: "creater",
-    label: "申请人",
-    span: 4,
-  },
-  {
-    prop: "platform_name",
-    label: "上线平台",
-    span: 6,
-  },
-  {
-    prop: "online_time",
-    label: "上线时间",
-    span: 6,
-  },
-  {
-    prop: "online_reason",
-    label: "上线原因",
-  },
-
-  {
-    prop: "online_remark",
-    label: "上线备注",
-    span: 12,
-  },
-  {
-    prop: "brand_name",
-    label: "品牌",
-    span: 6,
-  },
-
-
-
-  {
-    prop: "exclusive",
-    label: "专属类型",
-    _slot_: "exclusive",
-    span: 6,
-  },
-  {
-    prop: "weight",
-    label: "商品总克重",
-    append: 'g',
-    span: 6,
-  },
-
-
-  {
-    prop: "packing_list",
-    label: "包装清单",
-    span: 6,
-  },
-  {
-    prop: "packing_way",
-    label: "包装方式",
-    span: 6,
-  },
-  {
-    prop: "packing_spec",
-    label: "装箱规格",
-    span: 6,
-  },
-  {
-    prop: "packing_weight",
-    label: "装箱重量",
-    append: 'g',
-    span: 6,
-  },
-  {
-    prop: "packing_size",
-    label: "装箱尺寸",
-    span: 6,
-  },
-  {
-    prop: "origin_place_cn",
-    label: "产地",
-    span: 8,
-  },
-  {
-    prop: "unit",
-    label: "单位",
-    span: 4,
-  },
-  {
-    prop: "good_bar",
-    label: "商品条形码",
-    span: 6,
-  },
-  {
-    prop: "supply_area",
-    label: "供货区域",
-    _slot_: "supply_area",
-    span: 6,
-  },
-  {
-    prop: "delivery_place_cn",
-    label: "发货地",
-    span: 8,
-  },
-  {
-    prop: "is_stock",
-    label: "是否库存品",
-    _slot_: "is_stock",
-    span: 4,
-  },
-  {
-    prop: "exam_status",
-    label: "状态",
-    _slot_: "exam_status",
-    span: 6,
-  },
-  {
-    prop: "good_type",
-    label: "是否定制",
-    _slot_: "good_type",
-    span: 6
-  },
-
-  {
-    prop: "addtime",
-    label: "创建时间",
-    span: 8,
-  },
-  {
-    prop: "tax",
-    label: "税点",
-    append: '%',
-    span: 4,
-  },
-
-  {
-    prop: "delivery_day",
-    label: "物流时间",
-    append: '天',
-    span: 4,
-  },
-  {
-    prop: "lead_time",
-    label: "供货周期",
-    append: '天',
-    span: 4
-  },
-  {
-    prop: "sample_day",
-    label: "调样周期",
-    append: '天',
-    span: 4,
-  },
-
-  {
-    prop: "noble",
-    label: "贵金属信息",
-    _slot_: "noble",
-    span: 24,
-  },
-  {
-    prop: "good_remark",
-    label: "商品备注",
-    span: 24,
-  },
-
-
-  {
-    prop: "after_sales",
-    label: "售后说明",
-    span: 24,
-  },
-
-
-
-  {
-    prop: "craft_desc",
-    label: "工艺说明",
-    span: 24,
-  },
-
-
-
-
-]
-const purchase_listCol = [
-  // {
-  //   prop: "spuCode",
-  //   label: "商品成本编号",
-  //   span: 7,
-  // },
-  // {
-  //   prop: "supplierNo",
-  //   label: "供应商编号",
-  //   span: 7,
-  // },
-  {
-    prop: "supplierName",
-    label: "供应商名称",
-    _slot_: "supplierName",
-    span: 12,
-  },
-  {
-    prop: "cgd_gold_price",
-    label: "供应商采购金价",
-    append: '元/g',
-    span: 6,
-  },
-
-  {
-    prop: "is_auth",
-    label: "供应商权限",
-    _slot_: "is_auth",
-    span: 6,
-  },
-  {
-    prop: "is_step",
-    label: "启用成本阶梯",
-    _slot_: "is_step",
-    span: 4,
-  },
-  {
-    prop: "demo_fee",
-    label: "打样费(元)",
-    span: 5,
-  },
-  {
-    prop: "open_fee",
-    label: "开模费(元/件)",
-    span: 5,
-  },
-
-  {
-    prop: "sample_fee",
-    label: "调样费(元)",
-    span: 5,
-  },
-  {
-    prop: "market_price",
-    label: "市场价(元)",
-    span: 5,
-  },
- 
-  
-  {
-    prop: "nakelist",
-    label: "采购起订量",
-    _slot_: "nakelist",
-    span: 24,
-  },
-
-
-]
-const sale_listCol = [
-  {
-    prop: "ladderlist",
-    label: "销售起订量",
-    _slot_: "ladderlist",
-    span: 24,
-  },
-]
-
-export { public_listCol, purchase_listCol, sale_listCol }

+ 237 - 8
src/views/youzan/othgoodsOnline/columns.js

@@ -36,14 +36,11 @@ const options7 = [
   { id: "1", name: "是" },
 ]
 const options8 = [
-  // { id: "0", name: "待提交" },
-  { id: "1", name: "待完善成本" },
-  { id: "2", name: "待产品审核" },
-  { id: "3", name: "待财务定价" },
-  { id: "4", name: "待财务审核定价" },
-  { id: "5", name: "待上线" },
+  { id: "0", name: "待产品审核" },
+  { id: "1", name: "待执行上线" },
+  { id: "2", name: "审核驳回" },
   { id: "6", name: "上线成功" },
-  { id: "7", name: "审核失败" },
+  { id: "7", name: "上线失败" },
   { id: "8", name: "已下线" },
 ]
 const listCol = [
@@ -169,5 +166,237 @@ const rules = {
   ],
 
 }
+const public_listCol = [
+  {
+    prop: "good_name",
+    label: "商品名称",
+    _slot_: "good_name",
+    span: 24,
+  },
+  {
+    prop: "company",
+    label: "业务企业名称",
+    _slot_: "company",
+  },
+  {
+    prop: "good_info_img",
+    _slot_: "good_info_img",
+    label: "详情图",
+  },
+  {
+    prop: "cat",
+    label: "分类",
+    span: 8,
+  },
+
+
+
+  {
+    prop: "creater",
+    label: "申请人",
+    span: 4,
+  },
+  {
+    prop: "platform_name",
+    label: "上线平台",
+    span: 6,
+  },
+  {
+    prop: "online_time",
+    label: "上线时间",
+    span: 6,
+  },
+  {
+    prop: "online_reason",
+    label: "上线原因",
+  },
 
-export { options1, options2, options3, options4, options5, options6, options7, options8, listCol, rules }
+  {
+    prop: "online_remark",
+    label: "上线备注",
+    span: 12,
+  },
+  {
+    prop: "brand_name",
+    label: "品牌",
+    span: 6,
+  },
+
+
+
+  {
+    prop: "exclusive",
+    label: "专属类型",
+    _slot_: "exclusive",
+    span: 6,
+  },
+  {
+    prop: "weight",
+    label: "商品总克重",
+    append: 'g',
+    span: 6,
+  },
+
+
+  {
+    prop: "packing_list",
+    label: "包装清单",
+    span: 6,
+  },
+  {
+    prop: "packing_way",
+    label: "包装方式",
+    span: 6,
+  },
+  {
+    prop: "packing_spec",
+    label: "装箱规格",
+    span: 6,
+  },
+  {
+    prop: "packing_weight",
+    label: "装箱重量",
+    append: 'g',
+    span: 6,
+  },
+  {
+    prop: "packing_size",
+    label: "装箱尺寸",
+    span: 6,
+  },
+  {
+    prop: "origin_place_cn",
+    label: "产地",
+    span: 8,
+  },
+  {
+    prop: "unit",
+    label: "单位",
+    span: 4,
+  },
+  {
+    prop: "good_bar",
+    label: "商品条形码",
+    span: 6,
+  },
+  {
+    prop: "supply_area",
+    label: "供货区域",
+    _slot_: "supply_area",
+    span: 6,
+  },
+  {
+    prop: "delivery_place_cn",
+    label: "发货地",
+    span: 8,
+  },
+  {
+    prop: "is_stock",
+    label: "是否库存品",
+    _slot_: "is_stock",
+    span: 4,
+  },
+  {
+    prop: "exam_status",
+    label: "状态",
+    _slot_: "exam_status",
+    span: 6,
+  },
+  {
+    prop: "good_type",
+    label: "是否定制",
+    _slot_: "good_type",
+    span: 6
+  },
+
+  {
+    prop: "addtime",
+    label: "创建时间",
+    span: 8,
+  },
+  {
+    prop: "tax",
+    label: "税点",
+    append: '%',
+    span: 4,
+  },
+
+  {
+    prop: "delivery_day",
+    label: "物流时间",
+    append: '天',
+    span: 4,
+  },
+  {
+    prop: "lead_time",
+    label: "供货周期",
+    append: '天',
+    span: 4
+  },
+  {
+    prop: "sample_day",
+    label: "调样周期",
+    append: '天',
+    span: 4,
+  },
+
+  {
+    prop: "noble",
+    label: "贵金属信息",
+    _slot_: "noble",
+    span: 24,
+  },
+  {
+    prop: "good_remark",
+    label: "商品备注",
+    span: 24,
+  },
+
+
+  {
+    prop: "after_sales",
+    label: "售后说明",
+    span: 24,
+  },
+  {
+    prop: "craft_desc",
+    label: "工艺说明",
+    span: 24,
+  },
+]
+const sale_listCol=[
+  {
+    prop: "yz_cat_info",
+    label: "有赞公有分类",
+    _slot_: "yz_cat_info",
+    span: 6,
+  },
+  {
+    prop: "is_support_barter",
+    label: "是否支持退货",
+    _slot_: "is_support_barter",
+    span: 6,
+  },
+  {
+    prop: "reject_reason",
+    label: "驳回原因",
+    span: 12,
+  },
+  {
+    prop: "nakelist",
+    label: "销售起订量",
+    _slot_: "nakelist",
+    span: 24,
+  },
+]
+const  is_support_barter_list= [
+  {
+    value: "1",
+    label: "支持",
+  },
+  {
+    value: "0",
+    label: "不支持",
+  },
+]
+export { options1, options2, options3, options4, options5, options6, options7, options8, listCol, rules,public_listCol,sale_listCol,is_support_barter_list }

+ 255 - 90
src/views/youzan/othgoodsOnline/components/online-exam-form.vue

@@ -11,40 +11,45 @@
   >
     <el-row>
       <el-col :span="6"
-        ><el-form-item label="审核状态" prop="state">
+        ><el-form-item label="审核状态" prop="exam_status">
           <el-radio-group
-            v-model="ruleForm.state"
+            v-model="ruleForm.exam_status"
             placeholder="请选择审核状态"
             style="width: 100%"
             :size="size || 'medium'"
-            @change="stateChange"
+            @change="exam_statusChange"
           >
-            <el-radio v-for="item in stateList" :key="item.value" :label="item.value">{{
-              item.label
-            }}</el-radio>
+            <el-radio
+              v-for="item in exam_statusList"
+              :key="item.value"
+              :label="item.value"
+              >{{ item.label }}</el-radio
+            >
           </el-radio-group>
         </el-form-item>
       </el-col>
-      <el-col :span="18" v-if="ruleForm.state === '1'">
+      <el-col :span="18" v-if="ruleForm.exam_status === '1'">
         <el-row>
           <el-col :span="14">
-            <el-form-item label="有赞公用分类" prop="cat" label-width="120px">
-              <el-input
-                v-model="ruleForm.cat"
-                placeholder="有赞公用分类"
-                :size="'mini'"
-                maxlength="20"
+            <el-form-item label="有赞公用分类" prop="yz_cat_id" label-width="120px">
+              <good-class-youzan
+                :value="ruleForm.yz_cat_id"
+                :placeholder="'请选择有赞公用分类'"
+                @handleChange="handleChange"
               />
             </el-form-item>
-            <el-form-item label="是否可退货" prop="is_return" label-width="120px">
+          </el-col>
+
+          <el-col :span="10">
+            <el-form-item label="是否可退货" prop="is_support_barter" label-width="120px">
               <el-radio-group
-                v-model="ruleForm.is_return"
+                v-model="ruleForm.is_support_barter"
                 placeholder="请选择是否可退货"
                 style="width: 100%"
                 :size="'mini'"
               >
                 <el-radio
-                  v-for="item in is_return_list"
+                  v-for="item in is_support_barter_list"
                   :key="item.value"
                   :label="item.value"
                   >{{ item.label }}</el-radio
@@ -52,43 +57,83 @@
               </el-radio-group>
             </el-form-item>
           </el-col>
-
-          <el-col :span="10">
-            <el-form-item label="系统售价" prop="new_sale_price" required>
-              <el-input
-                v-model="ruleForm.new_sale_price"
-                placeholder="系统售价"
-                :disabled="true"
-                :size="'mini'"
-                maxlength="20"
-              >
-                <template slot="append">元</template>
-              </el-input>
-            </el-form-item>
-            <el-form-item label="最终售价" prop="sale_price">
-              <digital-input
-                :values="ruleForm.sale_price"
-                :placeholder="'售价'"
-                :min="0"
-                :max="100000000000"
-                :position="'right'"
-                :precision="2"
-                :controls="false"
-                :append="'元'"
-                :newTime="ruleForm.newTime"
-                :size="'mini'"
-                :disabled="!ruleForm.edit"
-                @reschange="num_change($event, 'sale_price', scope.$index)"
-              /> </el-form-item
-          ></el-col>
         </el-row>
       </el-col>
+      <el-col :span="24" v-if="ruleForm.exam_status === '1'" style="padding: 0 0 10px 0">
+        <el-table
+          :data="nakelist"
+          :size="'mini'"
+          border
+          stripe
+          highlight-current-row
+          ref="singleTable"
+          @current-change="handleCurrentChange"
+        >
+          <el-table-column label="系统阶梯" width="80px">
+            <template slot-scope="scope">
+              <i
+                v-if="currentRow && currentRow.id === scope.row.id"
+                class="el-icon-check"
+                style="color: #1890ff; font-size: 16px; font-weight: bolder"
+              /> </template
+          ></el-table-column>
+          <el-table-column prop="min_num" label="采购起订量" />
+          <el-table-column label="销售">
+            <el-table-column prop="start_sale_num" label="起订量">
+              <template slot-scope="scope">
+                <digital-input
+                  v-show="scope.row.edit"
+                  :values="scope.row.start_sale_num"
+                  :placeholder="'起订量'"
+                  :min="scope.row.min_num"
+                  :max="100000000000"
+                  :position="'right'"
+                  :precision="2"
+                  :controls="false"
+                  :append="''"
+                  :newTime="scope.row.newTime"
+                  :size="'mini'"
+                  :disabled="false"
+                  @reschange="num_change($event, 'start_sale_num', scope.$index)"
+                />
+                <span v-show="!scope.row.edit">
+                  {{ scope.row.start_sale_num }}
+                </span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="sale_good_price" label="系统售价" />
+            <el-table-column prop="sale_cost_fee" label="系统工艺费" />
+            <el-table-column prop="final_price" label="最终售价">
+              <template slot-scope="scope">
+                <digital-input
+                  v-show="scope.row.edit"
+                  :values="scope.row.final_price"
+                  :placeholder="'最终售价'"
+                  :min="scope.row.sale_good_price"
+                  :max="9999999"
+                  :position="'right'"
+                  :precision="2"
+                  :controls="false"
+                  :append="''"
+                  :newTime="scope.row.newTime"
+                  :size="'mini'"
+                  :disabled="false"
+                  @reschange="num_change($event, 'final_price', scope.$index)"
+                />
+                <span v-show="!scope.row.edit">
+                  {{ scope.row.final_price }}
+                </span>
+              </template></el-table-column
+            >
+          </el-table-column>
+        </el-table>
+      </el-col>
       <el-col :span="18" v-else>
-        <el-form-item label="审核备注" prop="remark">
+        <el-form-item label="审核备注" prop="reject_reason">
           <el-input
             type="textarea"
             placeholder="审核备注"
-            v-model="ruleForm.remark"
+            v-model="ruleForm.reject_reason"
             :disabled="disabled"
             maxlength="250"
             show-word-limit
@@ -98,11 +143,7 @@
       </el-col>
       <el-col :span="24">
         <el-form-item class="fr">
-          <el-button
-            v-if="!isDetail"
-            :size="'mini'"
-            type="primary"
-            @click="submitForm(ruleForm.state === '1' ? '3' : '')"
+          <el-button v-if="!isDetail" :size="'mini'" type="primary" @click="submitForm()"
             >保 存
           </el-button>
         </el-form-item>
@@ -112,9 +153,10 @@
 </template>
 
 <script>
+import asyncRequest from "@/apis/service/youzan/othgoodsOnline";
 export default {
   name: "exam-form",
-  props: ["size", "statusList", "disabled", "isMust", "labelWidth", "time"],
+  props: ["size", "statusList", "disabled", "isMust", "labelWidth", "time", "sitem"],
   /**
    * 属性集合
    * @param {String}        size             : 组件大小             非必填
@@ -130,25 +172,28 @@ export default {
    */
   data() {
     return {
+      spuCode: "",
       loading: false,
-      stateList: [
+      currentRow: null,
+      nakelist: [],
+      exam_statusList: [
         {
           value: "1",
           label: "通过",
         },
         {
-          value: "0",
+          value: "2",
           label: "驳回",
         },
       ],
-      is_return_list: [
+      is_support_barter_list: [
         {
           value: "1",
-          label: "支持退货",
+          label: "支持",
         },
         {
           value: "0",
-          label: "不支持退货",
+          label: "不支持",
         },
       ],
       showModelThis: this.showModel,
@@ -159,13 +204,14 @@ export default {
       },
       ruleForm: {
         numStatus: "", //点击的按钮状态
-        state: "1", // 通过or驳回
+        exam_status: "1", // 通过or驳回
+        yz_cat_id: [],
         rebut: "", //驳回至
-        remark: "",
+        reject_reason: "",
       },
       rulesThis: this.rules,
       rules: {
-        state: [
+        exam_status: [
           {
             required: true,
             message: "请选择审核状态",
@@ -173,28 +219,22 @@ export default {
           },
         ],
 
-        is_return: [
+        is_support_barter: [
           {
             required: true,
             message: "请选择是否可退",
             trigger: "change",
           },
         ],
-        cat: [
+        yz_cat_id: [
           {
             required: true,
+            type: "array",
             message: "请选择有赞公用分类",
             trigger: "change",
           },
         ],
-        sale_price: [
-          {
-            required: true,
-            message: "请选择有赞公用分类",
-            trigger: "blur",
-          },
-        ],
-        remark: [
+        reject_reason: [
           { required: true, message: "请输入审核备注", trigger: "blur" },
           {
             min: 1,
@@ -227,19 +267,75 @@ export default {
       // this.loading = true;
       this.rulesThis = this.rules;
       await this.resetForm();
-      this.stateChange();
+      this.exam_statusChange();
+      const { nakelist, spuCode } = this.sitem;
+      this.spuCode = spuCode;
+      console.log(this.sitem);
+      this.nakelist = JSON.parse(JSON.stringify(nakelist));
+      this.nakelist.forEach(async (si, sii) => {
+        si.start_sale_num = si.min_num;
+        let { isok, price, sale_cost_fee } = await this.get_new(sii);
+        if (isok === 0) {
+          this.nakelist[sii].sale_good_price = price;
+          this.nakelist[sii].sale_cost_fee = sale_cost_fee;
+          this.nakelist[sii].newTime = new Date().valueOf() + "";
+        } else if (isok >= 100 && isok <= 104) {
+          await this.logout();
+        } else {
+          this.nakelist[sii].sale_good_price = price;
+          this.nakelist[sii].sale_cost_fee = sale_cost_fee;
+          this.nakelist[sii].newTime = new Date().valueOf() + "";
+        }
+        this.$set(this.nakelist, sii, this.nakelist[sii]);
+      });
+      this.setCurrent(this.nakelist[0]);
       this.loading = false;
     },
-    stateChange() {
-      if (this.ruleForm.state === "1") {
-        this.rulesThis.rebut[0].required = false;
-        this.rulesThis.remark[0].required = false;
-      } else {
-        this.rulesThis.rebut[0].required = true;
-        this.rulesThis.remark[0].required = true;
-      }
+    exam_statusChange() {
+      const { exam_status } = this.ruleForm;
+      const isok = exam_status === "1";
+      this.rulesThis.is_support_barter[0].required = isok;
+      this.rulesThis.yz_cat_id[0].required = isok;
+      this.rulesThis.reject_reason[0].required = !isok;
+    },
+    num_change(e, key, index) {
+      this.nakelist[index][key] = e;
+      this.nakelist[index].newTime = new Date().valueOf() + "";
+      // this.$set(this.nakelist, index, this.nakelist[index]);
+    },
+    handleChange(e) {
+      this.ruleForm.yz_cat_id = e;
+      this.$refs.ruleForm.validateField("yz_cat_id");
+    },
+    setCurrent(row) {
+      this.$refs.singleTable.setCurrentRow(row);
+    },
+    async get_new(index) {
+      const { min_num } = this.nakelist[index];
+      const { code, data, message } = await asyncRequest.goodupprice({
+        min_num: min_num,
+        spuCode: this.spuCode,
+      });
+      const { sale_price, new_cost_fee } = data;
+      const resModel = {
+        isok: code,
+        price: code === 0 ? sale_price : "0",
+        sale_cost_fee: code === 0 ? new_cost_fee : "0",
+        message: message,
+      };
+      return resModel;
+    },
+    handleCurrentChange(val) {
+      this.currentRow = val;
+      const { id } = val;
+      this.nakelist.forEach((si, sii) => {
+        this.nakelist[sii].edit = false;
+        if (id && id === si.id) {
+          this.nakelist[sii].edit = true;
+        }
+        this.$set(this.nakelist, sii, this.nakelist[sii]);
+      });
     },
-
     async resetForm() {
       // 重置
       await this.$nextTick(() => {
@@ -247,28 +343,97 @@ export default {
           this.$refs.ruleForm.resetFields();
           this.$refs.ruleForm.clearValidate();
           this.ruleForm = {
-            state: "1", // 通过or驳回
-            rebut: "", //驳回至
-            remark: "",
+            exam_status: "1", // 通过or驳回
+            yz_cat_id: [],
+            is_support_barter: "1",
+            reject_reason: "",
           };
         }
       });
     },
-    async submitForm(numStatus) {
-      this.ruleForm.numStatus = numStatus;
-      //点击驳回重新审核时,调用其他接口
-
+    async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.$emit("searchChange", this.ruleForm);
+          let model = JSON.parse(JSON.stringify(this.ruleForm));
+          const { yz_cat_id } = this.ruleForm;
+          console.log(yz_cat_id);
+          model.platform_youzan_id = this.sitem.platform_youzan_id;
+          model.yz_cat_id = "";
+          model.good_ladder_id = "";
+          model.final_price = "";
+          model.start_sale_num = "";
+          const { exam_status } = this.ruleForm;
+          const isok = exam_status === "1";
+          if (isok) {
+            const { id } = this.currentRow;
+            if (!id) {
+              this.$message.warning("请选择一个系统阶梯!");
+              return;
+            }
+            let index = this.nakelist.findIndex((si) => si.id === id);
+            const {
+              min_num,
+              start_sale_num,
+              sale_good_price,
+              sale_cost_fee,
+              final_price,
+            } = this.nakelist[index];
+            if (parseInt(start_sale_num) < parseInt(min_num)) {
+              this.$message.warning("销售起订量不小于采购起订量!");
+              return;
+            }
+            if (!final_price) {
+              this.$message.warning("最终售价不能为空!");
+              return;
+            }
+            if (sale_good_price * 100 > final_price * 100) {
+              this.$message.warning("销售起订量不小于采购起订量!");
+              return;
+            }
+
+            model.platform_youzan_id = this.sitem.platform_youzan_id;
+            model.yz_cat_id = yz_cat_id[yz_cat_id.length - 1];
+            model.good_ladder_id = id;
+            model.final_price = final_price;
+            model.start_sale_num = start_sale_num;
+            console.log(min_num);
+          }
+          await this.setstatus(model);
         } else {
           console.log("error submit!!");
           return false;
         }
       });
     },
+    async setstatus(model) {
+      await this.$confirm(`确定要提交?`, {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(async () => {
+          const { code, message } = await asyncRequest.goodupexam(model);
+          if (code === 0) {
+            this.$notify.success({
+              title: "提交成功!",
+              message: "",
+            });
+            this.$emit("searchChange");
+          } else if (code >= 100 && code <= 104) {
+            await this.logout();
+          } else {
+            this.$message.warning(message);
+          }
+        })
+        .catch(() => {
+          console.log("取消");
+        });
+    },
   },
 };
 </script>
 
-<style></style>
+<style>
+p {
+}
+</style>

+ 116 - 137
src/views/youzan/othgoodsOnline/detail.vue

@@ -32,8 +32,7 @@
                   <el-popover placement="top" width="300" trigger="hover">
                     <ul>
                       <li>
-                        <span>上线商品编号:</span
-                        ><span>{{ sitem.skuCode }}</span>
+                        <span>上线商品编号:</span><span>{{ sitem.skuCode }}</span>
                       </li>
                       <li
                         v-if="
@@ -43,12 +42,10 @@
                           private_field.some((item) => item == '1')
                         "
                       >
-                        <span>成本商品编号:</span
-                        ><span>{{ sitem.spuCode }}</span>
+                        <span>成本商品编号:</span><span>{{ sitem.spuCode }}</span>
                       </li>
                       <li>
-                        <span>平台商品编码:</span
-                        ><span>{{ sitem.plat_code }}</span>
+                        <span>平台商品编码:</span><span>{{ sitem.plat_code }}</span>
                       </li>
                     </ul>
                     <i class="el-icon-warning-outline fr" slot="reference"></i>
@@ -59,8 +56,7 @@
                   <el-popover placement="top" width="300" trigger="hover">
                     <ul>
                       <li>
-                        <span>业务企业编号:</span
-                        ><span>{{ sitem.companyNo }}</span>
+                        <span>业务企业编号:</span><span>{{ sitem.companyNo }}</span>
                       </li>
                     </ul>
                     <i class="el-icon-warning-outline fr" slot="reference"></i>
@@ -85,10 +81,8 @@
                   <el-tag
                     :size="'mini'"
                     v-text="
-                      (
-                        options6.find((item) => item.id == sitem.supply_area) ||
-                        {}
-                      ).name || '--'
+                      (options6.find((item) => item.id == sitem.supply_area) || {})
+                        .name || '--'
                     "
                   />
                 </template>
@@ -96,8 +90,8 @@
                   <el-tag
                     :size="'mini'"
                     v-text="
-                      (options4.find((item) => item.id == sitem.is_stock) || {})
-                        .name || '--'
+                      (options4.find((item) => item.id == sitem.is_stock) || {}).name ||
+                      '--'
                     "
                   />
                 </template>
@@ -105,10 +99,8 @@
                   <el-tag
                     :size="'mini'"
                     v-text="
-                      (
-                        options8.find((item) => item.id == sitem.exam_status) ||
-                        {}
-                      ).name || '--'
+                      (options8.find((item) => item.id == sitem.exam_status) || {})
+                        .name || '--'
                     "
                   />
                 </template>
@@ -116,15 +108,11 @@
                   <el-tag
                     :size="'mini'"
                     v-text="
-                      (
-                        options1.find((item) => item.id == sitem.good_type) ||
-                        {}
-                      ).name || '--'
+                      (options1.find((item) => item.id == sitem.good_type) || {}).name ||
+                      '--'
                     "
                   />
-                  <span
-                    v-if="sitem.good_type === '1'"
-                    style="padding: 0 0 0 5px"
+                  <span v-if="sitem.good_type === '1'" style="padding: 0 0 0 5px"
                     >{{ sitem.moq }}起订/工期{{ sitem.customized }}天</span
                   >
                 </template>
@@ -134,121 +122,89 @@
                       sitem.noble_name
                     }}-{{ sitem.gold_price ? sitem.gold_price : "0" }}元/g-{{
                       sitem.is_gold_price === "0" ? "不" : ""
-                    }}启用实时金价-{{
-                      sitem.is_diff === "1" ? "有" : "无"
-                    }}工差-{{ sitem.config }}-{{ sitem.other_config }}</span
+                    }}启用实时金价-{{ sitem.is_diff === "1" ? "有" : "无" }}工差-{{
+                      sitem.config
+                    }}-{{ sitem.other_config }}</span
                   >
                 </template>
               </show-data-table>
+
               <show-data-table
                 :newTime="newTime"
                 v-if="
                   newTime !== '' &&
                   private_field &&
                   private_field.length > 0 &&
-                  private_field.some((item) => item == '1')
+                  private_field.some((item) => item == '2') &&
+                  nakelist &&
+                  nakelist.length > 0 &&
+                  status !== '0'
                 "
                 :sitem="sitem"
-                :columns="purchase_listCol"
+                :columns="sale_listCol"
               >
-                <template slot="supplierName">
-                  <span>{{ sitem.supplierName }}</span>
-                  <el-popover placement="top" width="300" trigger="hover">
-                    <ul>
-                      <li>
-                        <span>供应商编号:</span
-                        ><span>{{ sitem.supplierNo }}</span>
-                      </li>
-                    </ul>
-                    <i class="el-icon-warning-outline fr" slot="reference"></i>
-                  </el-popover>
-                </template>
-                <template slot="is_auth">
-                  <el-tag
-                    :size="'mini'"
-                    v-text="
-                      (options3.find((item) => item.id == sitem.is_auth) || {})
-                        .name || '--'
-                    "
-                  />
+                <template slot="yz_cat_info">
+                  <span v-for="(si, sii) in sitem.yz_cat_info" :key="si.yz_cat_id">
+                    <span v-if="sii !== 0">/</span> <span>{{ si.yz_cat_name }}</span>
+                  </span>
                 </template>
-
-                <template slot="is_step">
+                <template slot="is_support_barter">
                   <el-tag
                     :size="'mini'"
                     v-text="
-                      (options7.find((item) => item.id == sitem.is_step) || {})
-                        .name || '--'
+                      (
+                        is_support_barter_list.find(
+                          (item) => item.value == sitem.is_support_barter
+                        ) || {}
+                      ).label || '--'
                     "
                   />
                 </template>
-
                 <template slot="nakelist">
-                  <div v-if="nakelist">
-                    <el-table
-                      :data="nakelist"
-                      :size="'mini'"
-                      border
-                      stripe
-                      style="width: 99%; margin: 10px 10px 10px 0"
-                    >
-                      <el-table-column prop="min_num" label="起订量(>=)" />
-                      <el-table-column prop="nake_fee" label="成本单价" />
-                      <el-table-column prop="cost_fee" label="工艺费" />
-                      <el-table-column prop="delivery_fee" label="物流费" />
-                      <el-table-column prop="cert_fee" label="证书费" />
-                      <el-table-column prop="mark_fee" label="加标费" />
-                      <el-table-column prop="package_fee" label="包装费" />
-                      <el-table-column prop="other_fee" label="其他费用" />
-                      <el-table-column prop="nake_total" label="成本合计" />
-                    </el-table>
-                  </div>
-                  <div v-else>--</div>
-                </template>
-              </show-data-table>
-              <show-data-table
-                :newTime="newTime"
-                v-if="
-                  newTime !== '' &&
-                  private_field &&
-                  private_field.length > 0 &&
-                  private_field.some((item) => item == '2') &&
-                  ladderlist &&
-                  ladderlist.length > 0
-                "
-                :sitem="sitem"
-                :columns="sale_listCol"
-              >
-                <template slot="ladderlist">
                   <el-table
-                    :data="ladderlist"
+                    :data="nakelist"
                     :size="'mini'"
                     border
                     stripe
                     style="width: 99%; margin: 10px 10px 10px 0"
                   >
-                    <el-table-column prop="min_num" label="起订量(>=)" />
-                    <el-table-column prop="sale_price" label="售价" />
-                    <el-table-column prop="cost_fee" label="工艺费" />
-                    <el-table-column prop="market_price" label="市场价" />
-                    <el-table-column prop="market_platform" label="对比平台" />
-                    <el-table-column prop="status" label="状态">
-                      <template slot-scope="scope">{{
-                        scope.row.status === "1" ? "启用" : "禁用"
-                      }}</template>
+                    <el-table-column label="系统阶梯" width="80px">
+                      <template slot-scope="scope">
+                        <i
+                          v-if="sitem.good_ladder_id === scope.row.id"
+                          class="el-icon-check"
+                          style="color: #1890ff; font-size: 16px; font-weight: bolder"
+                        /> </template
+                    ></el-table-column>
+                    <el-table-column prop="min_num" label="采购起订量" />
+                    <el-table-column label="销售">
+                      <el-table-column prop="start_sale_num" label="起订量">
+                        <template slot-scope="scope">
+                          <span v-if="sitem.good_ladder_id === scope.row.id">
+                            {{ sitem.start_sale_num }}
+                          </span>
+                        </template>
+                      </el-table-column>
+                      <el-table-column prop="sale_good_price" label="系统售价" />
+                      <el-table-column prop="sale_cost_fee" label="系统工艺费" />
+                      <el-table-column prop="final_price" label="最终售价">
+                        <template slot-scope="scope">
+                          <span v-if="sitem.good_ladder_id === scope.row.id">
+                            {{ sitem.final_price }}
+                          </span>
+                        </template></el-table-column
+                      >
                     </el-table-column>
                   </el-table>
                 </template>
               </show-data-table>
             </el-collapse-item>
-            <el-collapse-item
-              title="上线审批"
-              name="1"
-            >
+            <el-collapse-item title="上线审批" name="1" v-if="status === '0'">
               <online-exam-form
                 :newTime="newTime"
                 v-if="newTime !== ''"
                 :time="sitem.online_time"
+                :sitem="sitem"
                 :disabled="false"
                 :isMust="false"
                 :statusList="[]"
@@ -271,15 +227,10 @@
     </div>
   </div>
 </template>
-   <script>
+<script>
 import asyncRequest from "@/apis/service/youzan/othgoodsOnline";
 import resToken from "@/mixins/resToken";
 import { mapGetters } from "vuex";
-import {
-  public_listCol,
-  purchase_listCol,
-  sale_listCol,
-} from "./ShowDataTableColumns";
 import onlineExamForm from "./components/online-exam-form";
 import {
   options1,
@@ -290,6 +241,9 @@ import {
   options6,
   options7,
   options8,
+  public_listCol,
+  sale_listCol,
+  is_support_barter_list,
 } from "./columns";
 import { isArray } from "@/utils/validate";
 export default {
@@ -315,17 +269,17 @@ export default {
 
   data() {
     return {
-      public_listCol: public_listCol,
-      purchase_listCol: purchase_listCol,
-      sale_listCol: sale_listCol,
-      options1: options1,
-      options2: options2,
-      options3: options3,
-      options4: options4,
-      options5: options5,
-      options6: options6,
-      options7: options7,
-      options8: options8,
+      public_listCol,
+      sale_listCol,
+      is_support_barter_list,
+      options1,
+      options2,
+      options3,
+      options4,
+      options5,
+      options6,
+      options7,
+      options8,
       ladderlist: [],
       nakelist: [],
       spuCode: "",
@@ -373,7 +327,6 @@ export default {
         if ((e.numStatus ?? "") == "") {
           //驳回重新审核
           await this.setstatus("提交产品部门审核结果", model);
-          
         } else if (e.numStatus == "3") {
           //点击保存
           // return;
@@ -436,7 +389,7 @@ export default {
       if (!this.loading) {
         let model = {
           skuCode: this.queryId,
-          exam_status:e.numStatus,
+          exam_status: e.numStatus,
           plat_code: e.plat_code,
           remark: e.remark || "",
         };
@@ -444,7 +397,6 @@ export default {
         if ((e.numStatus ?? "") == "") {
           //驳回重新审核
           await this.setstatus("驳回重新审核吗", model);
-
         } else if (e.numStatus == "6") {
           //点击保存
           // return;
@@ -457,8 +409,6 @@ export default {
     },
 
     async setstatus(detail, model) {
-      
-
       await this.$confirm(`确定要${detail}?`, {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
@@ -466,9 +416,9 @@ export default {
       })
         .then(async () => {
           let res = null;
-          if(model.exam_status == ""){
+          if (model.exam_status == "") {
             res = await asyncRequest.goodupreject(model);
-          }else{
+          } else {
             res = await asyncRequest.status(model);
           }
           if (res && res.code === 0) {
@@ -490,7 +440,6 @@ export default {
 
     refresh(e) {
       const { spuCode } = e;
-
       let model = {
         id: this.queryType === "add" ? spuCode : this.queryId,
         type: "view",
@@ -500,17 +449,16 @@ export default {
     async initData() {
       this.loading = true;
       const { code, message, data } = await asyncRequest.detail({
-        skuCode: this.queryId,
+        platform_youzan_id: this.queryId,
       });
       this.loading = false;
       if (code === 0) {
         this.sitem = JSON.parse(JSON.stringify(data));
-        const { exam_status, cat_info, ladderlist, nakelist, spuCode } =
-          this.sitem;
+        const { exam_status, cat_info, ladderlist, nakelist, spuCode } = this.sitem;
         this.spuCode = spuCode;
-        this.ladderlist = JSON.parse(JSON.stringify(ladderlist));
+        // this.ladderlist = JSON.parse(JSON.stringify(ladderlist));
         this.nakelist = JSON.parse(JSON.stringify(nakelist));
-        console.log(this.ladderlist);
+        // console.log(this.ladderlist);
         let cat = "";
         if (cat_info && cat_info.length > 0) {
           cat_info.forEach((e, i) => {
@@ -518,10 +466,27 @@ export default {
           });
         }
         this.sitem.cat = cat;
+        this.sitem.platform_youzan_id = this.queryId;
 
         if (!isArray(this.sitem.good_info_img)) {
           this.sitem.good_info_img = this.sitem.good_info_img.split(",");
         }
+        this.nakelist.forEach(async (si, sii) => {
+          si.start_sale_num = si.min_num;
+          let { isok, price, sale_cost_fee } = await this.get_new(sii);
+          if (isok === 0) {
+            this.nakelist[sii].sale_good_price = price;
+            this.nakelist[sii].sale_cost_fee = sale_cost_fee;
+            this.nakelist[sii].newTime = new Date().valueOf() + "";
+          } else if (isok >= 100 && isok <= 104) {
+            await this.logout();
+          } else {
+            this.nakelist[sii].sale_good_price = price;
+            this.nakelist[sii].sale_cost_fee = sale_cost_fee;
+            this.nakelist[sii].newTime = new Date().valueOf() + "";
+          }
+          this.$set(this.nakelist, sii, this.nakelist[sii]);
+        });
 
         this.status = exam_status;
         this.getNewTime();
@@ -531,13 +496,28 @@ export default {
         this.$message.warning(message);
       }
     },
+    async get_new(index) {
+      const { min_num } = this.nakelist[index];
+      const { code, data, message } = await asyncRequest.goodupprice({
+        min_num: min_num,
+        spuCode: this.spuCode,
+      });
+      const { sale_price, new_cost_fee } = data;
+      const resModel = {
+        isok: code,
+        price: code === 0 ? sale_price : "0",
+        sale_cost_fee: code === 0 ? new_cost_fee : "0",
+        message: message,
+      };
+      return resModel;
+    },
     getNewTime() {
       this.newTime = new Date().valueOf();
     },
   },
 };
 </script>
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .othgoodsOnlineDetail {
   width: 100%;
   box-sizing: border-box;
@@ -576,4 +556,3 @@ export default {
   }
 }
 </style>
-   

+ 15 - 41
src/views/youzan/othgoodsOnline/index.vue

@@ -79,11 +79,7 @@
               />
             </el-col>
 
-            <el-col
-              :span="3"
-              class="fr"
-              style="width: 66px; padding: 0 0 0 10px"
-            >
+            <el-col :span="3" class="fr" style="width: 66px; padding: 0 0 0 10px">
               <el-button type="warning" :size="searchSize" @click="restSearch">
                 重置
               </el-button>
@@ -123,11 +119,7 @@
                 @searchChange="brandidsearchChange"
               />
             </el-col>
-            <el-col
-              :span="3"
-              class="fr"
-              style="width: 66px; padding: 0 0 0 10px"
-            >
+            <el-col :span="3" class="fr" style="width: 66px; padding: 0 0 0 10px">
               <el-button type="primary" :size="searchSize" @click="searchList">
                 刷新
               </el-button>
@@ -204,15 +196,10 @@
         <el-tag
           :size="tablebtnSize"
           :type="
-            scope.row.status == '6'
-              ? ''
-              : scope.row.status == '7'
-              ? 'danger'
-              : 'warning'
+            scope.row.status == '6' ? '' : scope.row.status == '7' ? 'danger' : 'warning'
           "
           v-text="
-            (options8.find((item) => item.id == scope.row.status) || {}).name ||
-            '--'
+            (options8.find((item) => item.id == scope.row.status) || {}).name || '--'
           "
         ></el-tag>
       </template>
@@ -221,8 +208,7 @@
           :size="tablebtnSize"
           :type="scope.row.good_type == '0' ? 'warning' : ''"
           v-text="
-            (options1.find((item) => item.id == scope.row.good_type) || {})
-              .name || '--'
+            (options1.find((item) => item.id == scope.row.good_type) || {}).name || '--'
           "
         ></el-tag>
       </template>
@@ -236,7 +222,7 @@
         >
           <i
             class="el-icon-view tb-icon"
-            @click="getRouter('othgoodsOnlineDetail', scope.row.skuCode)"
+            @click="getRouter('othgoodsOnlineDetail', scope.row.platform_youzan_id)"
           ></i>
         </el-tooltip>
         <el-tooltip
@@ -254,9 +240,7 @@
           ></i>
         </el-tooltip>
         <el-tooltip
-          v-if="
-            powers.some((item) => item == '079') && scope.row.status !== '8'
-          "
+          v-if="powers.some((item) => item == '079') && scope.row.status !== '8'"
           effect="dark"
           content="下线商品"
           placement="top"
@@ -277,9 +261,9 @@
         class="demo-ruleForm"
         label-width="80px"
       >
-        <el-form-item label="下线原因" prop="offline_reason" >
+        <el-form-item label="下线原因" prop="offline_reason">
           <el-select
-          style="width:100%"
+            style="width: 100%"
             v-model="donline_form.offline_reason"
             placeholder="请选择下线原因"
           >
@@ -388,9 +372,8 @@ export default {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
       let tran =
-        this.$store.getters.btnList.find(
-          (item) => item.menu_route == "othgoodsOnline"
-        ) || {};
+        this.$store.getters.btnList.find((item) => item.menu_route == "othgoodsOnline") ||
+        {};
       if (tran && tran.action && tran.action.length > 0) {
         return tran.action;
       } else {
@@ -415,12 +398,8 @@ export default {
         skuCode: "",
       },
       donline_rules: {
-        offline_reason: [
-          { validator: validate, required: true, trigger: "blur" },
-        ],
-        offline_remark: [
-          { validator: validate, required: true, trigger: "blur" },
-        ],
+        offline_reason: [{ validator: validate, required: true, trigger: "blur" }],
+        offline_remark: [{ validator: validate, required: true, trigger: "blur" }],
       },
       fileUrl: urlConfig.baseURL,
       ruleForm: {
@@ -440,9 +419,7 @@ export default {
           },
         ],
         status: [{ validator: validate, required: true, trigger: "change" }],
-        platform_id: [
-          { validator: validate, required: true, trigger: "change" },
-        ],
+        platform_id: [{ validator: validate, required: true, trigger: "change" }],
       },
       centerDialogVisible: false,
       options1: options1,
@@ -745,7 +722,6 @@ export default {
             await this.searchList();
           } else if (res && res.code >= 100 && res.code <= 104) {
             await this.logout();
-            
           } else {
             this.loading = false;
             this.$message.warning(res.message);
@@ -812,7 +788,6 @@ export default {
             this.loading = false;
             this.$message.warning(res.message);
           }
-
         })
         .catch(() => {
           console.log("取消");
@@ -935,5 +910,4 @@ export default {
 };
 </script>
 
-<style lang="scss" scoped>
-</style>
+<style lang="scss" scoped></style>