Przeglądaj źródła

fix:报备单更改

snow 1 rok temu
rodzic
commit
4e9780b9f8

+ 1 - 4
src/apis/service/sellOut/filing/index.js

@@ -2,11 +2,9 @@
 import http from '@/apis/axios'
 const api = 'admin/'
 export default {
-  // 分页查询
   list: (data, params) => http(api + 'filingList', data, 'post', params),
-  // 详情
+  update: (data, params) => http(api + 'filingSave', data, 'post', params),
   detail: (data, params) => http(api + 'filingDetail', data, 'post', params),
-  // 修改状态
   status: (data, params) => http(api + 'filingStatus', data, 'post', params),
   golpricelast: (data, params) => http(api + 'golpricelast', data, 'post', params),
   catinfo: (data, params) => http(api + 'catinfo', data, 'post', params),
@@ -14,6 +12,5 @@ export default {
   addrall: (data, params) => http(api + 'addrall', data, 'post', params),
   transfer: (data) => http(api + 'filingTransfer', data, 'post'),
   saleOutList: (data) => http(api + 'xsaleout', { ...data, noRelation: true }, 'post'),
-  // 取消转单
   cancel: (data) => http(api + 'filingCancel', data, 'post')
 }

+ 32 - 37
src/components/globalComponents/search-metal-kind/main.vue

@@ -2,7 +2,7 @@
   <!-- multiple
     filterable
     remote
-    :multiple-limit="1" :remote-method="remoteMethod" -->
+  :multiple-limit="1" :remote-method="remoteMethod"-->
   <el-select
     v-model="valuess"
     filterable
@@ -20,8 +20,7 @@
       :key="item.type + index + 'spec'"
       :label="item.type_cn"
       :value="item.type"
-    >
-    </el-option>
+    ></el-option>
   </el-select>
 </template>
 
@@ -38,7 +37,7 @@ export default {
     "isDetail",
     "disabled",
     "type",
-    "names",
+    "names"
   ],
   /**
    * 属性集合
@@ -63,23 +62,28 @@ export default {
         end: "",
         creater: "",
         status: "",
-        type_cn: "",
-      },
+        type_cn: ""
+      }
     };
   },
   watch: {
-    value: function (val, old) {
-      this.valuess = val;
-      if (this.isDetail) {
-        this.remoteMethod();
-      }
-    },
-    isDetail: function (val, old) {
-      // console.log(val, old, this.isDetail, "2");
-      if (val) {
-        this.remoteMethod();
-      }
+    value: {
+      function(val) {
+        this.valuess = val;
+        if (this.isDetail) {
+          this.remoteMethod(val);
+        }
+      },
+      immediate: true
     },
+    isDetail: {
+      handler: function(val) {
+        if (val) {
+          this.remoteMethod();
+        }
+      },
+      immediate: true
+    }
   },
   mounted() {
     this.options = [];
@@ -88,28 +92,17 @@ export default {
   },
   methods: {
     async selectChange(e) {
-      console.log(e);
-      let index = this.options.findIndex((v) => v.type === e);
+      let index = this.options.findIndex(v => v.type === e);
       if (index !== -1) {
         let model = {
           id: this.options[index].type,
           code: this.options[index].type,
-          label: this.options[index].type_cn,
+          label: this.options[index].type_cn
           // price: "0",
         };
-        // const { code, data, message } = await asyncRequest.get_price({
-        //   type: this.options[index].type,
-        // });
-        // if (code === 0 && data && data[0]) {
-        //   let sitem = data[0];
-        //   const { price } = sitem;
-        //   model.price = price;
-        // } else if (code >= 100 && code <= 104) {
-        //   await this.logout();
-        // } else {
-        //   this.$message.warning(message);
-        //   return;
-        // }
+
+        // console.log(model);
+        this.valuess = model.id;
         this.$emit("searchChange", model);
       } else {
         this.$emit("searchChange", {});
@@ -121,19 +114,21 @@ export default {
       const { code, data, message } = await asyncRequest.list(this.formValue);
       if (code === 0) {
         this.options = data;
-        this.options.forEach((e) => {
+        this.options.forEach(e => {
           e.type += "";
         });
+
+        if (this.value && this.isDetail) this.selectChange(this.value);
       } else if (code >= 100 && code <= 104) {
         await this.logout();
       } else {
         this.$message.warning(message);
       }
       this.selectLoading = false;
-    },
-  },
+    }
+  }
 };
 </script>
 
 <style>
-</style>
+</style>

+ 7 - 7
src/components/globalComponents/search-tax/main.vue

@@ -33,7 +33,7 @@ export default {
     "isDetail",
     "disabled",
     "type",
-    "names",
+    "names"
   ],
   /**
    * 属性集合
@@ -52,7 +52,7 @@ export default {
     return {
       options: [],
       selectLoading: false,
-      searchName: "",
+      searchName: ""
     };
   },
   // watch: {
@@ -81,16 +81,16 @@ export default {
       //   };
       //   this.$emit("searchChange", model);
       // } else {
-        this.$emit("searchChange", e);
+      this.$emit("searchChange", e);
       // }
     },
     async remoteMethod() {
       this.selectLoading = true;
       const { code, data, message } = await asyncRequest.list({});
       if (code === 0) {
-        // let list=data
         this.options = data;
-        this.options.forEach((i) => {
+        console.log(this.options);
+        this.options.forEach(i => {
           i.rate += "%";
         });
       } else if (code >= 100 && code <= 104) {
@@ -100,8 +100,8 @@ export default {
       }
 
       this.selectLoading = false;
-    },
-  },
+    }
+  }
 };
 </script>
 

+ 40 - 40
src/components/globalComponents/search-terrace/main.vue

@@ -22,21 +22,21 @@
 </template>
 
 <script>
-import asyncRequest from '@/apis/components/search-terrace'
-import resToken from '@/mixins/resToken'
+import asyncRequest from "@/apis/components/search-terrace";
+import resToken from "@/mixins/resToken";
 export default {
-  name: 'SearchTerrace',
+  name: "SearchTerrace",
   mixins: [resToken],
   props: [
-    'size',
-    'value',
-    'placeholder',
-    'isDetail',
-    'disabled',
-    'type',
-    'names',
-    'is_show',
-    'controlDisabled'
+    "size",
+    "value",
+    "placeholder",
+    "isDetail",
+    "disabled",
+    "type",
+    "names",
+    "is_show",
+    "controlDisabled"
   ],
   /**
    * 属性集合
@@ -55,75 +55,75 @@ export default {
     return {
       options: [],
       selectLoading: false,
-      searchName: '',
+      searchName: "",
       formValue: {
         page: 1,
         size: 10000,
-        start: '',
-        is_show: '1',
-        end: '',
-        platform_name: '',
-        creater: ''
+        start: "",
+        is_show: "1",
+        end: "",
+        platform_name: "",
+        creater: ""
       }
-    }
+    };
   },
   watch: {
     names: function(val, old) {
       // console.log(val, old, this.isDetail, "1");
-      this.searchName = val
+      this.searchName = val;
       if (this.isDetail && this.searchName) {
-        this.remoteMethod(this.searchName)
+        this.remoteMethod(this.searchName);
       }
     },
     isDetail: function(val, old) {
       // console.log(val, old, this.isDetail, "2");
       if (val && this.searchName) {
-        this.remoteMethod(this.searchName)
+        this.remoteMethod(this.searchName);
       }
     }
   },
   mounted() {
-    this.options = []
-    this.selectLoading = false
-    this.remoteMethod()
+    this.options = [];
+    this.selectLoading = false;
+    this.remoteMethod();
   },
   methods: {
     async selectChange(e) {
       if (e) {
-        const index = this.options.findIndex((v) => v.id === e)
+        const index = this.options.findIndex(v => v.id === e);
         if (index !== -1) {
           const model = {
             id: this.options[index].id,
             code: this.options[index].platform_code,
             label: this.options[index].platform_name,
             platform_type: this.options[index].platform_type
-          }
-          this.$emit('searchChange', model)
+          };
+          this.$emit("searchChange", model);
         } else {
-          this.$emit('searchChange', {})
+          this.$emit("searchChange", {});
         }
       } else {
-        this.$emit('searchChange', {})
+        this.$emit("searchChange", {});
       }
     },
     async remoteMethod() {
-      this.selectLoading = true
-      this.options = []
-      this.formValue.is_show = this.is_show || '1'
-      const { code, data, message } = await asyncRequest.list(this.formValue)
+      this.selectLoading = true;
+      this.options = [];
+      this.formValue.is_show = this.is_show || "1";
+      const { code, data, message } = await asyncRequest.list(this.formValue);
 
       if (code === 0) {
-        const { list } = data
-        this.options = list
+        const { list } = data;
+        this.options = list;
       } else if (code >= 100 && code <= 104) {
-        await this.logout()
+        await this.logout();
       } else {
-        this.$message.warning(message)
+        this.$message.warning(message);
       }
-      this.selectLoading = false
+      this.selectLoading = false;
     }
   }
-}
+};
 </script>
 
 <style>

+ 75 - 113
src/views/dataDashboard/stockCount/components/dataWeido/index.vue

@@ -29,16 +29,16 @@
           <div style="width: 100%">
             <el-row style="padding: 0 0 0 80px">
               <el-col :span="24">
-               <el-col :span="4" >
-                  <company-select 
+                <el-col :span="4">
+                  <company-select
                     style="width:100%"
-                    :value="parmValue.companyNo" 
-                    @change="handleCompanyChange" 
+                    :value="parmValue.companyNo"
+                    @change="handleCompanyChange"
                     size="mini"
                     clearable
-                    placeholder="请选择业务公司" 
-                    :noCompanyCode="true" 
-                  />  
+                    placeholder="请选择业务公司"
+                    :noCompanyCode="true"
+                  />
                 </el-col>
 
                 <el-col :span="4" style="margin-left:10px">
@@ -56,7 +56,6 @@
                   />
                 </el-col>
 
-
                 <!-- 搜索 -->
                 <el-col :span="4" style="width: 54px">
                   <el-button
@@ -64,18 +63,13 @@
                     type="primary"
                     class="fr"
                     icon="el-icon-search"
-                    label=""
+                    label
                     @click="searchList"
                   ></el-button>
                 </el-col>
                 <!-- 重置 -->
                 <el-col :span="4" style="width: 54px; margin-left: 10px" class="mr5">
-                  <el-button
-                    :size="searchSize"
-                    class="fr"
-                    type="warning"
-                    @click="restSearch"
-                    >重置</el-button>
+                  <el-button :size="searchSize" class="fr" type="warning" @click="restSearch">重置</el-button>
                 </el-col>
               </el-col>
             </el-row>
@@ -89,91 +83,49 @@
             border
             size="small"
           >
-            <el-table-column
-              label="商品编码"
-              prop="spuCode"
-              width="190"
-            >
+            <el-table-column label="商品编码" prop="spuCode" width="190">
               <template slot-scope="scope">
                 <div style="display:flex; align-items:center">
-                <!-- <el-tooltip placement="top" content="查看商品详情" v-if="goodCostPremission.includes('007')">
-                     <i @click="linkToGoodDetail(scope.row)" class="el-icon-link" style="cursor:pointer;margin-right:5px;font-size:16px" />
-                  </el-tooltip> -->
+                  <el-tooltip
+                    placement="top"
+                    content="查看商品详情"
+                    v-if="goodCostPremission.includes('007')"
+                  >
+                    <i
+                      @click="linkToGoodDetail(scope.row)"
+                      class="el-icon-link"
+                      style="cursor:pointer;margin-right:5px;font-size:16px"
+                    />
+                  </el-tooltip>
                   <p>{{scope.row.spuCode}}</p>
                 </div>
               </template>
             </el-table-column>
-            <el-table-column
-              label="商品名称"
-              prop="good_name"
-              min-width="120"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              label="规格"
-              prop="attribute"
-              show-overflow-tooltip
-              min-width="120"
-            >
+            <el-table-column label="商品名称" prop="good_name" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column label="规格" prop="attribute" show-overflow-tooltip min-width="120">
               <template slot-scope="scope">
-                <span
-                  v-for="(si, sii) in scope.row.specinfo"
-                  :key="sii + si.spec_value_id"
-                  >{{ sii === 0 ? "" : "-" }}{{ si.spec_name }}[{{
-                    si.spec_value_name
-                  }}]</span
-                >
+                <span v-for="(si, sii) in scope.row.specinfo" :key="sii + si.spec_value_id">
+                  {{ sii === 0 ? "" : "-" }}{{ si.spec_name }}[{{
+                  si.spec_value_name
+                  }}]
+                </span>
               </template>
             </el-table-column>
             <el-table-column label="分类" min-width="120" show-overflow-tooltip>
               <template slot-scope="scope">
-                <span v-for="(si, sii) in scope.row.can" :key="sii + si.spec_value_id">
-                  {{ sii === 0 ? "" : "_" }}{{ si.name }}
-                </span>
-              </template></el-table-column
-            >
-          <el-table-column
-              label="品牌"
-              prop="brand_name"
-              show-overflow-tooltip
-              width="100"
-            ></el-table-column>
-            <el-table-column
-              label="单位"
-              prop="unit"
-              show-overflow-tooltip
-              width="80"
-            ></el-table-column>
-            <el-table-column
-              label="当前库存"
-              show-overflow-tooltip
-              prop="total_stock"
-              width="80"
-            ></el-table-column>
-            <el-table-column
-              label="待入库存"
-              show-overflow-tooltip
-              prop="wait_in_stock"
-              width="80"
-            ></el-table-column>
-            <el-table-column
-              label="待出库存"
-              show-overflow-tooltip
-              prop="wait_out_stock"
-              width="80"
-            ></el-table-column>
-            <el-table-column
-              label="可用库存"
-              show-overflow-tooltip
-              prop="usable_stock"
-              width="80"
-            ></el-table-column>
-            <el-table-column
-              label="在途库存"
-              show-overflow-tooltip
-              prop="intra_stock"
-              width="80"
-            ></el-table-column>
+                <span
+                  v-for="(si, sii) in scope.row.can"
+                  :key="sii + si.spec_value_id"
+                >{{ sii === 0 ? "" : "_" }}{{ si.name }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="品牌" prop="brand_name" show-overflow-tooltip width="100"></el-table-column>
+            <el-table-column label="单位" prop="unit" show-overflow-tooltip width="80"></el-table-column>
+            <el-table-column label="当前库存" show-overflow-tooltip prop="total_stock" width="80"></el-table-column>
+            <el-table-column label="待入库存" show-overflow-tooltip prop="wait_in_stock" width="80"></el-table-column>
+            <el-table-column label="待出库存" show-overflow-tooltip prop="wait_out_stock" width="80"></el-table-column>
+            <el-table-column label="可用库存" show-overflow-tooltip prop="usable_stock" width="80"></el-table-column>
+            <el-table-column label="在途库存" show-overflow-tooltip prop="intra_stock" width="80"></el-table-column>
           </el-table>
         </template>
 
@@ -226,21 +178,27 @@ import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/stock/dataWeido";
 import columns from "./columns";
 import { mapGetters } from "vuex";
-import CompanySelect from "@/layout/components/company-select"
+import CompanySelect from "@/layout/components/company-select";
 
 export default {
   name: "dataWeido",
   mixins: [mixinPage, resToken],
-  components:{ CompanySelect },
+  components: { CompanySelect },
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
-      const tran = this.$store.getters.btnList.find((item) => item.menu_route == "stockCount") || {};
+      const tran =
+        this.$store.getters.btnList.find(
+          item => item.menu_route == "stockCount"
+        ) || {};
       const { action } = tran ?? {};
       return action ?? [];
     },
-    goodCostPremission(){
-      const tran = this.$store.getters.btnList.find((item) => item.menu_route == "goodsCost") || {};
+    goodCostPremission() {
+      const tran =
+        this.$store.getters.btnList.find(
+          item => item.menu_route == "goodsCost"
+        ) || {};
       const { action } = tran ?? {};
       return action ?? [];
     }
@@ -256,7 +214,7 @@ export default {
         supplier_code: [],
         stock_code: [],
         page: 1, // 页码
-        size: 15, // 每页显示条数
+        size: 15 // 每页显示条数
       },
       expandKeys: [],
 
@@ -266,16 +224,16 @@ export default {
       table: {
         stripe: true,
         border: true,
-        _defaultHeader_: ["setcol"],
+        _defaultHeader_: ["setcol"]
       },
       // 表格 - 分页
       pageInfo: {
         size: 15,
         curr: 1,
-        total: 0,
+        total: 0
       },
       // 表格 - 列参数
-      columns: columns,
+      columns: columns
     };
   },
   mounted() {
@@ -284,8 +242,8 @@ export default {
   },
   methods: {
     // onCompanyChange(){
-      // console.log(this.currentCompany)
-      // this.parmValue.companyNo = this.currentCompany
+    // console.log(this.currentCompany)
+    // this.parmValue.companyNo = this.currentCompany
     // },
     //业务公司选择
     async supplierChange(e) {
@@ -321,36 +279,40 @@ export default {
       this.pageInfo.curr = 1;
       await this.searchList();
     },
-    handleCompanyChange(code){
-      this.parmValue.companyNo = code
-      if(code === "") this.parmValue.stock_code = ""
-      this.searchList()
+    handleCompanyChange(code) {
+      this.parmValue.companyNo = code;
+      if (code === "") this.parmValue.stock_code = "";
+      this.searchList();
     },
-    linkToGoodDetail(row){
+    linkToGoodDetail(row) {
       // console.log(row)
       // http://localhost:8081/#/goodStore/goodsCostDetail?id=SKU2305311527349138&type=view
-      this.$router.push(`/goodStore/goodsCostDetail?id=${row.spuCode}&type=view`)
+      this.$router.push(
+        `/goodStore/goodsCostDetail?id=${row.spuCode}&type=view`
+      );
     },
     restSearch() {
       // 表格 - 分页
       this.pageInfo = {
         size: 15,
         curr: 1,
-        total: 0,
+        total: 0
       };
       this.parmValue = {
         companyNo: "",
         supplier_code: [],
         stock_code: [], //仓库编码
         page: 1, // 页码
-        size: 15, // 每页显示条数
+        size: 15 // 每页显示条数
       };
       this.searchList();
     },
     async handleExpandChange(row) {
       if (!row.expand) {
         row.loading = true;
-        const { data } = await asyncRequest.listChild({ wsm_code: row.wsm_code });
+        const { data } = await asyncRequest.listChild({
+          wsm_code: row.wsm_code
+        });
         row.loading = false;
         this.expandKeys.push(row.expand);
         row.child = data;
@@ -373,11 +335,11 @@ export default {
 
       if (res && res.code === 0 && res.data) {
         const _list = res.data.list;
-        this.tableData = _list.map((item) => ({
+        this.tableData = _list.map(item => ({
           ...item,
           child: [],
           expand: false,
-          loading: false,
+          loading: false
         }));
         this.pageInfo.total = Number(res.data.count);
       } else if (res && res.code >= 100 && res.code <= 104) {
@@ -387,7 +349,7 @@ export default {
         this.pageInfo.total = 0;
       }
       this.loading = false;
-    },
-  },
+    }
+  }
 };
 </script>

+ 60 - 103
src/views/dataDashboard/stockCount/components/productWeido/index.vue

@@ -43,14 +43,14 @@
                 </el-col>
 
                 <el-col :span="4">
-                  <company-select 
-                    :value="parmValue.companyNo" 
-                    @change="handleCompanyChange" 
+                  <company-select
+                    :value="parmValue.companyNo"
+                    @change="handleCompanyChange"
                     size="mini"
                     clearable
-                    placeholder="请选择业务公司" 
-                    :noCompanyCode="true" 
-                  />  
+                    placeholder="请选择业务公司"
+                    :noCompanyCode="true"
+                  />
                 </el-col>
 
                 <!-- 搜索 -->
@@ -60,18 +60,13 @@
                     type="primary"
                     class="fr"
                     icon="el-icon-search"
-                    label=""
+                    label
                     @click="searchList"
                   />
                 </el-col>
                 <!-- 重置 -->
                 <el-col :span="4" style="width: 56px; margin-left: 10px" class="mr5">
-                  <el-button
-                    :size="searchSize"
-                    class="fr"
-                    type="warning"
-                    @click="restSearch"
-                    >重置</el-button>
+                  <el-button :size="searchSize" class="fr" type="warning" @click="restSearch">重置</el-button>
                 </el-col>
               </el-col>
             </el-row>
@@ -80,26 +75,20 @@
 
         <template #good_code="{ scope }">
           <div style="display:flex;align-items:center">
-            <!-- <el-tooltip placement="top" content="查看商品详情" v-if="goodCostPremission.includes('007')">
-               <i @click="linkToGoodDetail(scope.row)" class="el-icon-link" style="cursor:pointer;margin-right:5px;font-size:16px" />
-            </el-tooltip> -->
+            <el-tooltip placement="top" content="查看商品详情" v-if="goodCostPremission.includes('007')">
+              <i
+                @click="linkToGoodDetail(scope.row)"
+                class="el-icon-link"
+                style="cursor:pointer;margin-right:5px;font-size:16px"
+              />
+            </el-tooltip>
             <p>{{scope.row.good_code}}</p>
           </div>
         </template>
-        
+
         <template #expand="{ scope }">
-          <el-table
-            :data="scope.row.child"
-            style="width: 100%; paddind: 20px"
-            border
-            size="small"
-          >
-            <el-table-column
-              label="仓库名称"
-              prop="wsm_name"
-              show-overflow-tooltip
-              min-width="150"
-            >
+          <el-table :data="scope.row.child" style="width: 100%; paddind: 20px" border size="small">
+            <el-table-column label="仓库名称" prop="wsm_name" show-overflow-tooltip min-width="150">
               <template slot-scope="scope">
                 <div style="display:flex;align-items:center">
                   <el-tooltip :content="'仓库编码 : ' + scope.row.wsm_code" placement="top">
@@ -109,25 +98,20 @@
                 </div>
               </template>
             </el-table-column>
-            <el-table-column 
-              label="仓库负责人"
-              prop="contactor_name"
-              show-overflow-tooltip
-              width="120"
-            />
+            <el-table-column label="仓库负责人" prop="contactor_name" show-overflow-tooltip width="120" />
             <!-- <el-table-column
               label="仓库编码"
               prop="wsm_code"
               show-overflow-tooltip
               width="170"
-            ></el-table-column> -->
+            ></el-table-column>-->
             <el-table-column
               label="仓库所在公司名称"
               prop="supplierName"
               show-overflow-tooltip
               min-width="150"
             >
-               <template slot-scope="scope">
+              <template slot-scope="scope">
                 <div style="display:flex;align-items:center">
                   <el-tooltip :content="'仓库所在公司编码 : ' + scope.row.supplierNo" placement="top">
                     <i class="el-icon-warning-outline" style="margin-right:2px;cursor:pointer" />
@@ -136,24 +120,14 @@
                 </div>
               </template>
             </el-table-column>
-            <el-table-column
-              label="供应商负责人"
-              prop="person"
-              show-overflow-tooltip
-              width="120"
-            />
+            <el-table-column label="供应商负责人" prop="person" show-overflow-tooltip width="120" />
             <!-- <el-table-column
               label="仓库所在公司编码"
               prop="supplierNo"
               show-overflow-tooltip
               width="160"
-            ></el-table-column> -->
-            <el-table-column
-              label="仓库业务公司名称"
-              prop="company"
-              show-overflow-tooltip
-              min-width="150"
-            >
+            ></el-table-column>-->
+            <el-table-column label="仓库业务公司名称" prop="company" show-overflow-tooltip min-width="150">
               <template slot-scope="scope">
                 <div style="display:flex;align-items:center">
                   <el-tooltip :content="'仓库业务公司名称 : ' + scope.row.companyNo" placement="top">
@@ -168,43 +142,19 @@
               prop="companyNo"
               show-overflow-tooltip
               width="160"
-            ></el-table-column> -->
-            <el-table-column
-              label="当前库存"
-              width="100"
-              show-overflow-tooltip
-              prop="total_stock"
-            ></el-table-column>
-            <el-table-column
-              label="待入库"
-              width="100"
-              show-overflow-tooltip
-              prop="wait_in_stock"
-            ></el-table-column>
-            <el-table-column
-              label="待出库"
-              width="100"
-              show-overflow-tooltip
-              prop="wait_out_stock"
-            ></el-table-column>
-            <el-table-column
-              label="可用库存"
-              width="100"
-              show-overflow-tooltip
-              prop="usable_stock"
-            ></el-table-column>
-            <el-table-column
-              label="在途库存"
-              width="100"
-              show-overflow-tooltip
-              prop="intra_stock"
-            ></el-table-column>
+            ></el-table-column>-->
+            <el-table-column label="当前库存" width="100" show-overflow-tooltip prop="total_stock"></el-table-column>
+            <el-table-column label="待入库" width="100" show-overflow-tooltip prop="wait_in_stock"></el-table-column>
+            <el-table-column label="待出库" width="100" show-overflow-tooltip prop="wait_out_stock"></el-table-column>
+            <el-table-column label="可用库存" width="100" show-overflow-tooltip prop="usable_stock"></el-table-column>
+            <el-table-column label="在途库存" width="100" show-overflow-tooltip prop="intra_stock"></el-table-column>
           </el-table>
         </template>
         <template #specinfo="{ scope }">
-          <span v-for="(si, sii) in scope.row.specinfo" :key="sii + si.spec_value_id"
-            >{{ sii === 0 ? "" : "-" }}{{ si.spec_name }}[{{ si.spec_value_name }}]</span
-          >
+          <span
+            v-for="(si, sii) in scope.row.specinfo"
+            :key="sii + si.spec_value_id"
+          >{{ sii === 0 ? "" : "-" }}{{ si.spec_name }}[{{ si.spec_value_name }}]</span>
         </template>
       </ex-table>
       <add-edit
@@ -228,7 +178,7 @@ import { statusList } from "@/assets/js/statusList";
 import asyncRequest from "@/apis/service/stock/productWeido";
 import { mapGetters } from "vuex";
 import columns from "./columns";
-import CompanySelect from "@/layout/components/company-select"
+import CompanySelect from "@/layout/components/company-select";
 
 export default {
   name: "productWeido",
@@ -238,12 +188,17 @@ export default {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
       const tran =
-        this.$store.getters.btnList.find((item) => item.menu_route == "stockCount") || {};
+        this.$store.getters.btnList.find(
+          item => item.menu_route == "stockCount"
+        ) || {};
       const { action } = tran ?? {};
       return action ?? [];
     },
-    goodCostPremission(){
-      const tran = this.$store.getters.btnList.find((item) => item.menu_route == "goodsCost") || {};
+    goodCostPremission() {
+      const tran =
+        this.$store.getters.btnList.find(
+          item => item.menu_route == "goodsCost"
+        ) || {};
       const { action } = tran ?? {};
       return action ?? [];
     }
@@ -257,27 +212,27 @@ export default {
       modelId: 0,
       //入参参数
       parmValue: {
-        companyNo:"",
+        companyNo: "",
         type_code: "", //商品属性编码
         good_name: "", //商品名称
         page: 1, // 页码
-        size: 15, // 每页显示条数
+        size: 15 // 每页显示条数
       },
       tableData: [], //渲染表格数据
       // 表格 - 参数
       table: {
         stripe: true,
         border: true,
-        _defaultHeader_: ["setcol"],
+        _defaultHeader_: ["setcol"]
       },
       // 表格 - 分页
       pageInfo: {
         size: 15,
         curr: 1,
-        total: 0,
+        total: 0
       },
       // 表格 - 列参数
-      columns: columns,
+      columns: columns
     };
   },
   mounted() {
@@ -285,14 +240,16 @@ export default {
   },
 
   methods: {
-    handleCompanyChange(code){
-      this.parmValue.companyNo = code
-      this.searchList()
+    handleCompanyChange(code) {
+      this.parmValue.companyNo = code;
+      this.searchList();
     },
-    linkToGoodDetail(row){
+    linkToGoodDetail(row) {
       // console.log(row)
       // http://localhost:8081/#/goodStore/goodsCostDetail?id=SKU2305311527349138&type=view
-      this.$router.push(`/goodStore/goodsCostDetail?id=${row.good_code}&type=view`)
+      this.$router.push(
+        `/goodStore/goodsCostDetail?id=${row.good_code}&type=view`
+      );
     },
     //重置参数
     restSearch() {
@@ -300,14 +257,14 @@ export default {
       this.pageInfo = {
         size: 15,
         curr: 1,
-        total: 0,
+        total: 0
       };
       this.parmValue = {
-        companyNo:"",
+        companyNo: "",
         type_code: "",
         good_name: "", //商品名称
         size: 15,
-        curr: 1,
+        curr: 1
       };
       this.searchList();
     },
@@ -330,7 +287,7 @@ export default {
         this.pageInfo.total = 0;
       }
       this.loading = false;
-    },
-  },
+    }
+  }
 };
 </script>

+ 72 - 62
src/views/sellOut/filing/config/columns.js

@@ -93,106 +93,116 @@ const statusOptions = [
 
 export const editColumns = [
   {
-    prop: "filingCode",
-    label: "报备单编号",
-    span: 6,
+    prop: 'filingCode',
+    label: '报备单编号',
+    span: 6
   },
   {
-    prop: "status",
-    label: "状态",
-    _slot_: "status",
-    span: 6,
+    prop: 'status',
+    label: '状态',
+    _slot_: 'status',
+    span: 6
   },
   {
-    prop: "apply_name",
-    label: "申请人",
-    span: 6,
+    prop: 'apply_name',
+    label: '申请人',
+    span: 6
   },
   {
-    prop: "addtime",
-    label: "申请时间",
-    span: 6,
+    prop: 'addtime',
+    label: '申请时间',
+    span: 6
   },
   {
-    prop: "supplierName",
-    label: "供应商名称",
-    _slot_: "supplierName",
-    span: 12,
+    prop: 'supplierName',
+    label: '供应商名称',
+    _slot_: 'supplierName',
+    span: 12
   },
   {
-    prop: "customerName",
-    label: "业务公司名称",
-    _slot_: "customerName",
-    span: 12,
+    prop: 'customerName',
+    label: '业务公司名称',
+    _slot_: 'customerName',
+    span: 12
   },
   {
-    prop: "companyName",
-    label: "客户名称",
-    _slot_: "companyName",
-    span: 12,
+    prop: 'companyName',
+    label: '客户名称',
+    _slot_: 'companyName',
+    span: 12
   },
   {
-    prop: "num",
-    label: "销售数量",
-    span: 6,
+    prop: 'num',
+    label: '销售数量',
+    span: 6
   },
 
   {
-    prop: "is_determine_price",
-    label: "是否确认售价",
-    _slot_: "is_determine_price",
-    span: 6,
+    prop: 'is_determine_price',
+    label: '是否确认售价',
+    _slot_: 'is_determine_price',
+    span: 6
   },
 
   {
-    prop: "cgd_charge",
-    label: "采购单价",
-    span: 6,
+    prop: 'cgd_charge',
+    label: '采购单价',
+    span: 6
   },
   {
-    prop: "price",
-    label: "销售单价",
-    span: 6,
+    prop: 'price',
+    label: '销售单价',
+    span: 6
   },
   {
-    prop: "expect_service",
-    label: "期望服务费",
-    span: 6,
+    prop: 'expect_service',
+    label: '期望服务费',
+    span: 6
   },
   {
-    prop: "expect_service_proportion",
-    label: "期望服务费比例",
+    prop: 'expect_service_proportion',
+    label: '期望服务费比例',
     span: 6,
-    _slot_: "expect_service_proportion",
+    _slot_: 'expect_service_proportion'
   },
-
   {
-    prop: "orderCode",
-    label: "订单编号",
-    span: 6,
+    prop: 'service_charge',
+    label: '最终服务费',
+    span: 6
   },
   {
-    prop: "plat_code",
-    label: "平台商品编号",
-    span: 6,
+    prop: 'service_proportion',
+    label: '最终服务费比例',
+    _slot_: 'service_proportion',
+    span: 6
   },
   {
-    prop: "service_charge",
-    label: "最终服务费",
-    span: 6,
+    prop:'transfer_num',
+    label:'已转单数量',
+    span:6
   },
   {
-    prop: "service_proportion",
-    label: "最终服务费比例",
-    _slot_: "service_proportion",
-    span: 6,
+    prop:'wait_num',
+    label:'未转单数量',
+    span:6
   },
   {
-    prop: "platform_name",
-    label: "所属平台",
-    span: 24,
+    prop: 'plat_code',
+   label: '平台商品编号',
+   span: 12
   },
-];
+  {
+    prop: 'platform_name',
+    label: '所属平台',
+    span: 12
+  },
+  {
+    prop: 'orderCode',
+    label: '订单编号',
+    span: 24
+  },
+]
+
 //采返 采购商品字段
 export const coveColumns = [
   {

+ 64 - 68
src/views/sellOut/filing/cpns/baseDetail.vue

@@ -34,7 +34,8 @@
               <el-popover placement="top" width="300" trigger="hover">
                 <ul>
                   <li>
-                    <span>供应商编号:</span><span>{{ sitem.supplierNo }}</span>
+                    <span>供应商编号:</span>
+                    <span>{{ sitem.supplierNo }}</span>
                   </li>
                 </ul>
                 <i slot="reference" class="el-icon-warning-outline fr" />
@@ -45,7 +46,8 @@
               <el-popover placement="top" width="300" trigger="hover">
                 <ul>
                   <li>
-                    <span>业务公司编号:</span><span>{{ sitem.customerNo }}</span>
+                    <span>业务公司编号:</span>
+                    <span>{{ sitem.customerCode }}</span>
                   </li>
                 </ul>
                 <i slot="reference" class="el-icon-warning-outline fr" />
@@ -53,15 +55,11 @@
             </template>
             <template slot="companyName">
               <span>{{ sitem.companyName }}</span>
-              <el-popover
-                v-if="sitem.companyCode"
-                placement="top"
-                width="300"
-                trigger="hover"
-              >
+              <el-popover v-if="sitem.companyCode" placement="top" width="300" trigger="hover">
                 <ul>
                   <li>
-                    <span>企业客户编号:</span><span>{{ sitem.companyCode }}</span>
+                    <span>企业客户编号:</span>
+                    <span>{{ sitem.companyCode }}</span>
                   </li>
                 </ul>
                 <i slot="reference" class="el-icon-warning-outline fr" />
@@ -95,15 +93,11 @@
                 <span v-else>_</span>
                 <span>{{ si.spec_name }}[{{ si.spec_value_name }}]</span>
               </span>
-              <el-popover
-                v-if="sitem.spuCode"
-                placement="top"
-                width="300"
-                trigger="hover"
-              >
+              <el-popover v-if="sitem.spuCode" placement="top" width="300" trigger="hover">
                 <ul>
                   <li>
-                    <span>商品编号:</span><span>{{ sitem.spuCode }}</span>
+                    <span>商品编号:</span>
+                    <span>{{ sitem.spuCode }}</span>
                   </li>
                 </ul>
                 <i slot="reference" class="el-icon-warning-outline fr" />
@@ -145,15 +139,15 @@
               />
             </template>
             <template slot="noble">
-              <span
-                v-if="sitem.noble_name"
-              >{{ sitem.noble_weight ? sitem.noble_weight : "0" }}g-{{
+              <span v-if="sitem.noble_name">
+                {{ sitem.noble_weight ? sitem.noble_weight : "0" }}g-{{
                 sitem.noble_name
-              }}-{{ sitem.gold_price ? sitem.gold_price : "0" }}元/g-{{
+                }}-{{ sitem.gold_price ? sitem.gold_price : "0" }}元/g-{{
                 sitem.is_gold_price === "0" ? "不" : ""
-              }}启用实时金价-{{ sitem.is_diff === "1" ? "有" : "无" }}工差-{{
+                }}启用实时金价-{{ sitem.is_diff === "1" ? "有" : "无" }}工差-{{
                 sitem.config
-              }}-{{ sitem.other_config }}</span>
+                }}-{{ sitem.other_config }}
+              </span>
               <span v-else>--</span>
             </template>
             <template slot="good_img">
@@ -164,17 +158,19 @@
                 style="width: 23px; height: 23px; margin: 0 5px 0 0"
                 class="fl"
                 :src="si"
-                alt=""
-              > </template></show-data-table>
+                alt
+              />
+            </template>
+          </show-data-table>
         </el-collapse-item>
       </el-collapse>
     </div>
   </div>
 </template>
 <script>
-import asyncRequest from '@/apis/service/sellOut/filing'
-import resToken from '@/mixins/resToken'
-import { mapGetters } from 'vuex'
+import asyncRequest from "@/apis/service/sellOut/filing";
+import resToken from "@/mixins/resToken";
+import { mapGetters } from "vuex";
 
 import {
   costArr,
@@ -195,18 +191,18 @@ import {
   bargainingArr,
   statusOptions,
   is_determine_price_options
-} from '../config/columns'
+} from "../config/columns";
 
 export default {
-  name: 'FilingDetail',
+  name: "FilingDetail",
   mixins: [resToken],
   computed: {
-    ...mapGetters(['tablebtnSize', 'searchSize', 'size', 'private_field'])
+    ...mapGetters(["tablebtnSize", "searchSize", "size", "private_field"])
   },
 
   data() {
     return {
-      size: 'small',
+      size: "small",
       eaxmList: [],
       costArr,
       bargainingArr,
@@ -226,81 +222,81 @@ export default {
       statusOptions,
       is_determine_price_options,
       coveColumns,
-      projectTabs: '1',
-      activeNames: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '20'],
-      newTime: '',
+      projectTabs: "1",
+      activeNames: ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "20"],
+      newTime: "",
       loading: false,
-      queryType: '',
-      queryId: '',
-      status: '',
+      queryType: "",
+      queryId: "",
+      status: "",
       sitem: null,
 
       orderItem: {},
       moneyDirItem: {},
       moneyItem: {},
       BossItem: {}
-    }
+    };
   },
   mounted() {
-    this.initForm()
+    this.initForm();
   },
   methods: {
     async initForm() {
-      const { id, type } = this.$route.query
-      this.queryId = id
-      this.queryType = type
-      this.projectTabs = '1'
-      this.loading = true
-      await this.initData()
-      this.loading = false
+      const { id, type } = this.$route.query;
+      this.queryId = id;
+      this.queryType = type;
+      this.projectTabs = "1";
+      this.loading = true;
+      await this.initData();
+      this.loading = false;
     },
 
     handleClick(row) {
-      console.log(row)
+      console.log(row);
     },
     async refresh() {
-      this.routeReGoto('filing', {})
+      this.routeReGoto("filing", {});
     },
     async initData() {
-      this.loading = true
+      this.loading = true;
 
       const { code, message, data } = await asyncRequest.detail({
         id: this.queryId
-      })
+      });
 
       // return
-      this.eaxmList = []
-      this.loading = false
+      this.eaxmList = [];
+      this.loading = false;
       if (code === 0) {
-        this.sitem = JSON.parse(JSON.stringify(data))
-        const { cat_info } = this.sitem
-        let cat = ''
+        this.sitem = JSON.parse(JSON.stringify(data));
+        const { cat_info } = this.sitem;
+        let cat = "";
 
         if (cat_info && cat_info.length > 0) {
           cat_info.forEach((e, i) => {
-            cat += i === 0 ? e.name : '_' + e.name
-          })
+            cat += i === 0 ? e.name : "_" + e.name;
+          });
         }
-        this.sitem.cat = cat
-        const { status, num, orderCode } = this.sitem
-        this.status = status
+        this.sitem.cat = cat;
+        const { status, num, orderCode } = this.sitem;
+        this.status = status;
 
-        this.$emit('change-detail', data)
+        this.$emit("change-detail", data);
         // this.$emit('change-status', status)
-        this.$emit('change-num', num)
-        this.$emit('change-order-code', orderCode)
-        this.getNewTime()
+        this.$emit("change-num", num);
+        this.$emit("change-order-code", orderCode);
+        this.getNewTime();
       } else if (code >= 100 && code <= 104) {
-        await this.logout()
+        await this.logout();
       } else {
-        this.$message.warning(message)
+        this.$message.warning(message);
       }
     },
     getNewTime() {
-      this.newTime = new Date().valueOf()
+      this.newTime = new Date().valueOf();
     }
   }
-}
+};
 </script>
 <style lang="scss" scoped>
 .filingDetail {

+ 137 - 103
src/views/sellOut/filing/cpns/baseForm.vue

@@ -403,13 +403,12 @@
                 <el-form-item label="产地" prop="origin_place">
                   <search-area
                     :value="ruleForm.origin_place"
+                    :names="origin_place_cn"
                     :is-detail="true"
                     :disabled="type === 'view'"
                     size="mini"
                     :placeholder="'产地'"
                     :level="3"
-                    :searchCode="true"
-                    :names="ruleForm.origin_place_codes"
                     @searchChange="selectAreaoriginChange($event)"
                   />
                 </el-form-item>
@@ -418,6 +417,7 @@
                 <el-form-item label="发货地" prop="delivery_place">
                   <search-area
                     :value="ruleForm.delivery_place"
+                    :names="delivery_place_cn"
                     :is-detail="true"
                     :disabled="type === 'view'"
                     size="mini"
@@ -511,7 +511,7 @@
         </el-row>
       </el-col>
 
-      <el-col :span="24" v-show="is_noble">
+      <el-col :span="24" v-if="is_noble">
         <el-row>
           <el-col :span="12">
             <el-form-item label="金属重量" prop="gold_weight">
@@ -559,7 +559,7 @@
                     :key="item + index"
                     :label="item"
                     :value="item"
-                  ></el-option>
+                  />
                 </el-select>
               </el-form-item>
             </el-col>
@@ -701,6 +701,8 @@ export default {
 
   data() {
     return {
+      origin_place_cn: "",
+      delivery_place_cn: "",
       supplierName: [],
       pid: "",
       cat_id_name: "",
@@ -768,7 +770,6 @@ export default {
 
     //判断其他文件规格
     beforeOtherUpload(file) {
-      console.log(file);
       let isJPG = false;
       if (
         file.type === "application/vnd.ms-excel" ||
@@ -806,7 +807,6 @@ export default {
       this.loading = false;
     },
     number_change(e, key) {
-      console.log("----" + e + "--" + key);
       this.ruleForm[key] = e + "" || "0";
       const { is_determine_price, type } = this.ruleForm;
       if (key === "price" && String(is_determine_price) == "1") {
@@ -827,7 +827,6 @@ export default {
 
     //计算单价
     getPrice(key) {
-      console.log(key);
       const { is_determine_price, type } = this.ruleForm;
       if (
         (key === "price" && String(is_determine_price) == "1") ||
@@ -865,7 +864,6 @@ export default {
     },
     //计算比例
     getProp() {
-      // console.log("222222222222");
       const { is_determine_price, expect_service_proportion } = this.ruleForm;
       if (String(is_determine_price) == "0") {
         this.ruleForm.expect_service = accMul(
@@ -960,104 +958,109 @@ export default {
     },
 
     async submitForm() {
-      await this.$refs.ruleForm.validate(async valid => {
-        if (valid) {
-          if (!this.loading) {
-            this.loading = true;
-            if (this.ruleForm.good_img.length > 10) {
-              this.$message.warning("上传图片不能超过10张");
-              this.loading = false;
-              return;
-            }
-            if (this.spec_tableData.length === 0) {
-              this.$message.warning("请填写规格!");
-              this.loading = false;
-              return;
-            }
-            if (this.is_noble) {
-              this.ruleForm.cgd_charge = "0";
-            }
+      try {
+        await this.$refs.ruleForm.validate();
 
-            const {
-              is_determine_price,
-              expect_service,
-              expect_service_proportion
-            } = this.ruleForm;
-            const prop = is_determine_price === "1" ? "price" : "cgd_charge";
-            const label = is_determine_price === "1" ? "销售价" : "裸价";
+        if (!this.loading) {
+          this.loading = true;
+          if (this.ruleForm.good_img.length > 10) {
+            this.$message.warning("上传图片不能超过10张");
+            this.loading = false;
+            return;
+          }
+          if (this.spec_tableData.length === 0) {
+            this.$message.warning("请填写规格!");
+            this.loading = false;
+            return;
+          }
+          if (this.is_noble) {
+            this.ruleForm.cgd_charge = "0";
+          }
 
-            if (!Number(this.ruleForm[prop])) {
-              this.$message.warning(label + "不能为空");
-              this.loading = false;
-              return;
-            }
+          const {
+            is_determine_price,
+            expect_service,
+            expect_service_proportion
+          } = this.ruleForm;
+          const prop = is_determine_price === "1" ? "price" : "cgd_charge";
+          const label = is_determine_price === "1" ? "销售价" : "裸价";
 
-            if (!Number(expect_service) && !Number(expect_service_proportion)) {
-              this.$message.warning("服务费比例和服务费不能同时为空");
-              this.loading = false;
-              return;
-            }
+          if (!Number(this.ruleForm[prop]) && !this.is_noble) {
+            this.$message.warning(label + "不能为空");
+            this.loading = false;
+            return;
+          }
 
-            //没有服务费存在服务费比例 重新计算服务费
-            if (!Number(expect_service) && Number(expect_service_proportion)) {
-              this.handleProportionrChange(expect_service_proportion);
-            }
+          if (
+            !Number(expect_service) &&
+            !Number(expect_service_proportion) &&
+            !this.is_noble
+          ) {
+            this.$message.warning("服务费比例和服务费不能同时为空");
+            this.loading = false;
+            return;
+          }
 
-            //没有服务费存在服务费比例或者两个都存在 以服务费计算服务费比例
-            if (
-              (!Number(expect_service_proportion) && Number(expect_service)) ||
-              (Number(expect_service_proportion) && Number(expect_service))
-            ) {
-              this.handleExpectChange(expect_service);
-            }
-            let model = Object.assign(
-              other_ruleForm,
-              JSON.parse(JSON.stringify(this.ruleForm))
-            );
+          //没有服务费存在服务费比例 重新计算服务费
+          if (!Number(expect_service) && Number(expect_service_proportion)) {
+            this.handleProportionrChange(expect_service_proportion);
+          }
 
-            model.cat_id = model.cat_id[model.cat_id.length - 1];
-            model.brand_id = model.brand_id.toString();
-            model.origin_place = model.originPlace;
-            model.delivery_place = model.deliveryPlace;
-            model.unit_id = model.unit_id.toString();
-            model.config = model.config.toString();
-            model.tax = parseInt(model.tax + "") + "";
-            model.spec_list = [];
-            model.supplierNo = model.supplierNo.toString();
-            let list = JSON.parse(JSON.stringify(this.spec_tableData));
-            list.forEach(a => {
-              let am = {
-                spec_id: a.specid,
-                spec_value_id: a.spec_value_id
-              };
-              model.spec_list.push(am);
-            });
+          //没有服务费存在服务费比例或者两个都存在 以服务费计算服务费比例
+          if (
+            (!Number(expect_service_proportion) && Number(expect_service)) ||
+            (Number(expect_service_proportion) && Number(expect_service))
+          ) {
+            this.handleExpectChange(expect_service);
+          }
+          let model = Object.assign(
+            other_ruleForm,
+            JSON.parse(JSON.stringify(this.ruleForm))
+          );
 
-            let res = {};
-            if (this.type === "add") {
-              res = await asyncRequest.add(model);
-            } else {
-              res = await asyncRequest.good_update(model);
-            }
+          model.cat_id = model.cat_id[model.cat_id.length - 1];
+          model.brand_id = model.brand_id.toString();
+          model.origin_place = model.originPlace;
+          model.delivery_place = model.deliveryPlace;
+          model.unit_id = model.unit_id.toString();
+          model.config = model.config.toString();
+          model.tax = parseInt(model.tax + "") + "";
+          model.spec_list = [];
+          model.supplierNo = model.supplierNo.toString();
 
-            const { code } = await this.useResHandle(res);
+          delete model.originPlace;
+          let list = JSON.parse(JSON.stringify(this.spec_tableData));
+          list.forEach(a => {
+            let am = {
+              spec_id: a.specid,
+              spec_value_id: a.spec_value_id
+            };
+            model.spec_list.push(am);
+          });
 
-            this.loading = false;
-            if (code === 0) {
-              const title = this.type === "add" ? "新建成功!" : "修改成功!";
-              this.$notify.success({
-                title: title,
-                message: ""
-              });
-              this.showModelThis = false;
-              this.$router.push("/supplierSellOut/supplierFiling");
-            }
+          let res = {};
+          if (this.type === "add") {
+            res = await asyncRequest.add(model);
+          } else {
+            res = await asyncRequest.update(model);
+          }
+
+          const { code } = await this.useResHandle(res);
+
+          this.loading = false;
+          if (code === 0) {
+            const title = this.type === "add" ? "新建成功!" : "修改成功!";
+            this.$notify.success({
+              title: title,
+              message: ""
+            });
+            this.showModelThis = false;
+            this.$router.push("/sellOut/filing");
           }
-        } else {
-          console.log("error submit!!");
-          return false;
         }
-      });
+      } catch (err) {
+        console.log(err);
+      }
     },
 
     handleProportionrChange(e) {
@@ -1138,6 +1141,7 @@ export default {
             if (code !== 0) return;
 
             const {
+              id,
               companyName,
               num,
               is_determine_price,
@@ -1162,16 +1166,35 @@ export default {
               make_day,
               origin_place,
               delivery_place,
+              origin_place_cn,
+              delivery_place_cn,
               supply_area,
               pay_way,
               remark,
               cost_desc,
               good_img,
-              specinfo
+              specinfo,
+              fill_url,
+              expect_service,
+              noble_metal,
+              config,
+              gold_weight,
+              other_config
             } = data;
 
+            if (Number(gold_weight) !== 0) {
+              this.is_noble = true;
+            }
+
             this.ruleForm = {
               ...ruleForm1,
+              other_config: other_config || "",
+              gold_weight: gold_weight || "",
+              noble_metal: noble_metal || "",
+              config: config ? config.split(",") : [],
+              expect_service: expect_service || "",
+              id: id || "",
+              fill_url: fill_url || "",
               is_determine_price: is_determine_price || "",
               companyName: companyName || "",
               num: num || "",
@@ -1192,13 +1215,19 @@ export default {
               brand_id: brand_id ? [brand_id] : "",
               unit_id: unit_id ? [unit_id] : "",
               unit_name: unit_name ? [unit_name] : "",
-              tax: tax || "",
+              tax: tax ? `${tax}%` : "",
               weight: weight || "",
               preservation_day: preservation_day || "",
               delivery_day: delivery_day || "",
               make_day: make_day || "",
-              origin_place: origin_place || "",
-              delivery_place: delivery_place || "",
+              originPlace: origin_place,
+              deliveryPlace: delivery_place,
+              origin_place: Array.isArray(origin_place)
+                ? [origin_place[origin_place.length - 1]]
+                : origin_place,
+              delivery_place: Array.isArray(delivery_place)
+                ? [delivery_place[delivery_place.length - 1]]
+                : delivery_place,
               supply_area: supply_area || "",
               pay_way: pay_way || "",
               remark: remark || "",
@@ -1206,7 +1235,15 @@ export default {
               good_img: good_img || []
             };
 
-            this.spec_tableData = specinfo;
+            this.origin_place_cn = [origin_place_cn];
+            this.delivery_place_cn = [delivery_place_cn];
+
+            this.spec_tableData = specinfo.map(item => ({
+              ...item,
+              specid: item.spec_id
+            }));
+
+            console.log(this.ruleForm);
           }
         }
       });
@@ -1307,7 +1344,6 @@ export default {
       const { id, code } = e;
       this.ruleForm.origin_place = id ? [id] : [];
       this.ruleForm.originPlace = id ? code.split(",") : [];
-      console.log(this.ruleForm.originPlace);
       this.$refs.ruleForm.validateField("origin_place");
     },
 
@@ -1315,7 +1351,6 @@ export default {
       const { id, code } = e;
       this.ruleForm.delivery_place = id ? [id] : [];
       this.ruleForm.deliveryPlace = id ? code.split(",") : [];
-      console.log(this.ruleForm.deliveryPlace);
       this.$refs.ruleForm.validateField("delivery_place");
     },
 
@@ -1350,7 +1385,6 @@ export default {
           this.ruleForm.good_img.push(url);
           this.$refs.ruleForm.validateField("good_img");
         }
-        console.log(this.ruleForm.good_img.length);
         this.$message.success("图片上传成功!");
       }
     },

+ 39 - 35
src/views/sellOut/filing/cpns/complianceForm.vue

@@ -1,14 +1,14 @@
 <template>
-  <el-form ref="formRef" label-width="110px" :rules="rules" :model="ruleForm">
+  <el-form ref="formRef" label-width="110px" :rules="rules" :model="ruleForm" v-loading="loading">
     <el-row>
       <el-col :span="12">
         <el-form-item label="是否合规" prop="is_check">
           <el-select v-model="ruleForm.is_check" size="mini" style="width:100%">
             <el-option
               v-for="option in options"
-              :key="option.value"
               :value="option.value"
               :label="option.label"
+              :key="option.value"
             />
           </el-select>
         </el-form-item>
@@ -19,6 +19,7 @@
             :value="ruleForm.platform_id"
             :names="ruleForm.platform_name"
             :disabled="false"
+            :isDetail="true"
             :size="'mini'"
             :is_show="'1'"
             :placeholder="'所属平台'"
@@ -31,23 +32,16 @@
           <search-customer
             :value="ruleForm.companyCode"
             :names="ruleForm.companyName"
-            :placeholder="'客户名称'"
-            :size="'mini'"
             :is-detail="ruleForm.companyName"
             @searchChange="customerChange"
+            :placeholder="'客户名称'"
+            :size="'mini'"
           />
         </el-form-item>
       </el-col>
       <el-col :span="12">
         <el-form-item label="平台商品编号" prop="plat_code">
-          <el-select v-model="ruleForm.plat_code" size="mini" style="width:100%">
-            <el-option
-              v-for="option in options"
-              :key="option.value"
-              :value="option.value"
-              :label="option.label"
-            />
-          </el-select>
+          <el-input size="mini" v-model="ruleForm.plat_code" placeholder="平台商品编号" />
         </el-form-item>
       </el-col>
 
@@ -67,26 +61,23 @@
 </template>
 
 <script>
+import asyncRequest from "@/apis/service/sellOut/filing";
+
 export default {
+  props: ["sitem"],
   data() {
     return {
+      loading: false,
       ruleForm: {
         companyName: "",
         companyCode: "",
         platform_name: "",
         platform_id: "",
-        label: "",
         plat_code: ""
       },
       options: [
-        {
-          value: "0",
-          label: "不合规"
-        },
-        {
-          value: "1",
-          label: "合规"
-        }
+        { value: "1", label: "不合规" },
+        { value: "2", label: "合规" }
       ]
     };
   },
@@ -96,42 +87,42 @@ export default {
       return {
         companyCode: [
           {
-            required: Number(is_check) === 0,
+            required: Number(is_check) === 1,
             message: "请选择客户公司",
             trigger: "chnage"
           }
         ],
         platform_id: [
           {
-            required: Number(is_check) === 1,
+            required: Number(is_check) === 2,
             message: "请选择所属平台",
             trigger: "chnage"
           }
         ],
         is_check: [
           {
-            required: true,
             message: "请选择所属平台",
-            trigger: "chnage"
+            trigger: "chnage",
+            required: true
           }
         ],
         companyCode: [
           {
-            required: Number(is_check) === 1,
+            required: Number(is_check) === 2,
             message: "请选择客户公司",
             trigger: "chnage"
           }
         ],
         plat_code: [
           {
-            required: Number(is_check) === 1,
+            required: Number(is_check) === 2,
             message: "请输入平台商品编号",
-            trigger: "chnage"
+            trigger: "change"
           }
         ],
         remark: [
           {
-            required: Number(is_check) === 0,
+            required: Number(is_check) === 1,
             message: "请输入备注",
             trigger: "chnage"
           }
@@ -141,21 +132,34 @@ export default {
   },
   methods: {
     async platform_idsearchChange(e) {
-      console.log(e);
-      const { code, label } = e;
-      this.ruleForm.platform_id = code ? [code] : "";
-      this.ruleForm.platform_name = label ? [label] : "";
-      this.$refs.ruleForm.validateField("platform_id");
+      const { id, label } = e;
+      this.ruleForm.platform_id = id || "";
+      this.ruleForm.platform_name = label || "";
+      this.$refs.formRef.validateField("platform_id");
     },
     async customerChange(e) {
       const { code } = e;
       this.ruleForm.companyCode = code ? [code] : [];
       this.ruleForm.companyName = e.label;
-      this.$refs.ruleForm.validateField("companyCode");
+      this.$refs.formRef.validateField("companyCode");
     },
     async onSubmit() {
       try {
         await this.$refs.formRef.validate();
+        this.loading = true;
+        const { code, message } = await asyncRequest.status({
+          id: this.sitem.id,
+          ...this.ruleForm,
+          companyCode: Array.isArray(this.ruleForm.companyCode)
+            ? this.ruleForm.companyCode[0]
+            : ""
+        });
+        this.loading = false;
+        if (code === 0) {
+          this.$emit("refresh");
+        } else if (code === 1004) {
+          this.$message.warning(message);
+        }
       } catch (e) {
         console.log(e);
       }

+ 7 - 2
src/views/sellOut/filing/detail.vue

@@ -4,6 +4,7 @@
       <el-tab-pane name="1" :label="title">
         <el-collapse v-model="collapses">
           <el-collapse-item v-if="type === 'add' || type === 'edit'" name="1" :title="title">
+            {{sitem.status}}
             <base-form :id="id" :type="type" />
           </el-collapse-item>
 
@@ -23,9 +24,9 @@
           <el-collapse-item
             name="2"
             title="是否合规设置"
-            v-if="!isSupertube && type !== 'add' && type !== 'edit'"
+            v-if="(!isSupertube && type !== 'add' && type !== 'edit') && Number(status) === 0"
           >
-            <compliance-form />
+            <compliance-form :sitem="sitem" @refresh="refresh" />
           </el-collapse-item>
 
           <el-collapse-item v-if="status === '3'" name="4" title="发货单">
@@ -87,6 +88,10 @@ export default {
     }
   },
   methods: {
+    refresh() {
+      if (!this.$refs.baseForm) return;
+      this.$refs.baseForm.initData();
+    },
     async examFormSubmit({ companyCode, ...rest } = {}) {
       const { id } = this.$route.query;
       this.loading = true;

+ 20 - 6
src/views/sellOut/filing/index.vue

@@ -73,10 +73,11 @@
               <el-button type="warning" class="fr" :size="searchSize" @click="restSearch">重置</el-button>
             </el-col>
           </el-row>
+
           <el-row>
-            <!-- v-if="!isSupertube && powers.includes('003')" -->
             <el-col :span="3" class="fr" style="width: 66px; margin-top: 10px">
               <el-button
+                v-if="!isSupertube && powers.includes('003')"
                 :size="searchSize"
                 type="success"
                 style="float: right"
@@ -137,7 +138,9 @@
         <el-tag
           :size="tablebtnSize"
           v-text="
-            (statusOptions.find((item) => item.value == scope.row.status) || {}).label ||
+            (statusOptions.find(
+              (item) => item.value == scope.row.status) || {}
+            ).label ||
             '--'
           "
         ></el-tag>
@@ -148,11 +151,16 @@
           <i class="el-icon-view tb-icon" @click="getRouter('/sellOut/filingDetail', scope.row.id)"></i>
         </el-tooltip>
 
-        <el-tooltip effect="dark" content="修改" placement="top">
+        <el-tooltip
+          effect="dark"
+          content="修改"
+          placement="top"
+          v-if="!isSupertube && powers.includes('005')"
+        >
           <i
             class="el-icon-edit tb-icon"
             @click="getRouter('/sellOut/filingDetail', scope.row.id,'edit')"
-          ></i>
+          />
         </el-tooltip>
       </template>
     </ex-table>
@@ -180,6 +188,13 @@ export default {
       "searchSize",
       "size"
     ]),
+    powers() {
+      const tran =
+        this.$store.getters.btnList.find(item => item.menu_route == "filing") ||
+        {};
+      const { action } = tran ?? {};
+      return action ?? [];
+    },
     maxNo() {
       return this.business_companyNo;
     }
@@ -280,7 +295,6 @@ export default {
           router: this.$route.path
         };
         model.preModel = JSON.stringify(routerModel);
-
         this.routeGoto(toRouter, model);
       } else {
         this.$message.warning("暂未找到相关流程!");
@@ -364,7 +378,7 @@ export default {
       }
 
       this.loading = true;
-      // this.wsm_supplierNo = [];
+
       const res = await asyncRequest.list({
         ...this.parmValue,
         ...this.timeOBJ,

+ 65 - 102
src/views/stock/stockCount/components/dataWeido/index.vue

@@ -49,18 +49,13 @@
                     type="primary"
                     class="fr"
                     icon="el-icon-search"
-                    label=""
+                    label
                     @click="searchList"
                   ></el-button>
                 </el-col>
                 <!-- 重置 -->
                 <el-col :span="4" style="width: 54px; margin-left: 10px" class="mr5">
-                  <el-button
-                    :size="searchSize"
-                    class="fr"
-                    type="warning"
-                    @click="restSearch"
-                    >重置</el-button>
+                  <el-button :size="searchSize" class="fr" type="warning" @click="restSearch">重置</el-button>
                 </el-col>
               </el-col>
             </el-row>
@@ -74,91 +69,49 @@
             border
             size="small"
           >
-            <el-table-column
-              label="商品编码"
-              prop="spuCode"
-              width="190"
-            >
+            <el-table-column label="商品编码" prop="spuCode" width="190">
               <template slot-scope="scope">
                 <div style="display:flex; align-items:center">
-                  <!-- <el-tooltip placement="top" content="查看商品详情" v-if="goodCostPremission.includes('007')">
-                     <i @click="linkToGoodDetail(scope.row)" class="el-icon-link" style="cursor:pointer;margin-right:5px;font-size:16px" />
-                  </el-tooltip> -->
+                  <el-tooltip
+                    placement="top"
+                    content="查看商品详情"
+                    v-if="goodCostPremission.includes('007')"
+                  >
+                    <i
+                      @click="linkToGoodDetail(scope.row)"
+                      class="el-icon-link"
+                      style="cursor:pointer;margin-right:5px;font-size:16px"
+                    />
+                  </el-tooltip>
                   <p>{{scope.row.spuCode}}</p>
                 </div>
               </template>
             </el-table-column>
-            <el-table-column
-              label="商品名称"
-              prop="good_name"
-              min-width="120"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              label="规格"
-              prop="attribute"
-              show-overflow-tooltip
-              min-width="120"
-            >
+            <el-table-column label="商品名称" prop="good_name" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column label="规格" prop="attribute" show-overflow-tooltip min-width="120">
               <template slot-scope="scope">
-                <span
-                  v-for="(si, sii) in scope.row.specinfo"
-                  :key="sii + si.spec_value_id"
-                  >{{ sii === 0 ? "" : "-" }}{{ si.spec_name }}[{{
-                    si.spec_value_name
-                  }}]</span
-                >
+                <span v-for="(si, sii) in scope.row.specinfo" :key="sii + si.spec_value_id">
+                  {{ sii === 0 ? "" : "-" }}{{ si.spec_name }}[{{
+                  si.spec_value_name
+                  }}]
+                </span>
               </template>
             </el-table-column>
             <el-table-column label="分类" min-width="120" show-overflow-tooltip>
               <template slot-scope="scope">
-                <span v-for="(si, sii) in scope.row.can" :key="sii + si.spec_value_id">
-                  {{ sii === 0 ? "" : "_" }}{{ si.name }}
-                </span>
-              </template></el-table-column
-            >
-          <el-table-column
-              label="品牌"
-              prop="brand_name"
-              show-overflow-tooltip
-              width="100"
-            ></el-table-column>
-            <el-table-column
-              label="单位"
-              prop="unit"
-              show-overflow-tooltip
-              width="80"
-            ></el-table-column>
-            <el-table-column
-              label="当前库存"
-              show-overflow-tooltip
-              prop="total_stock"
-              width="80"
-            ></el-table-column>
-            <el-table-column
-              label="待入库存"
-              show-overflow-tooltip
-              prop="wait_in_stock"
-              width="80"
-            ></el-table-column>
-            <el-table-column
-              label="待出库存"
-              show-overflow-tooltip
-              prop="wait_out_stock"
-              width="80"
-            ></el-table-column>
-            <el-table-column
-              label="可用库存"
-              show-overflow-tooltip
-              prop="usable_stock"
-              width="80"
-            ></el-table-column>
-            <el-table-column
-              label="在途库存"
-              show-overflow-tooltip
-              prop="intra_stock"
-              width="80"
-            ></el-table-column>
+                <span
+                  v-for="(si, sii) in scope.row.can"
+                  :key="sii + si.spec_value_id"
+                >{{ sii === 0 ? "" : "_" }}{{ si.name }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="品牌" prop="brand_name" show-overflow-tooltip width="100"></el-table-column>
+            <el-table-column label="单位" prop="unit" show-overflow-tooltip width="80"></el-table-column>
+            <el-table-column label="当前库存" show-overflow-tooltip prop="total_stock" width="80"></el-table-column>
+            <el-table-column label="待入库存" show-overflow-tooltip prop="wait_in_stock" width="80"></el-table-column>
+            <el-table-column label="待出库存" show-overflow-tooltip prop="wait_out_stock" width="80"></el-table-column>
+            <el-table-column label="可用库存" show-overflow-tooltip prop="usable_stock" width="80"></el-table-column>
+            <el-table-column label="在途库存" show-overflow-tooltip prop="intra_stock" width="80"></el-table-column>
           </el-table>
         </template>
 
@@ -217,12 +170,18 @@ export default {
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
-      const tran = this.$store.getters.btnList.find((item) => item.menu_route == "stockCount") || {};
+      const tran =
+        this.$store.getters.btnList.find(
+          item => item.menu_route == "stockCount"
+        ) || {};
       const { action } = tran ?? {};
       return action ?? [];
     },
-    goodCostPremission(){
-      const tran = this.$store.getters.btnList.find((item) => item.menu_route == "goodsCost") || {};
+    goodCostPremission() {
+      const tran =
+        this.$store.getters.btnList.find(
+          item => item.menu_route == "goodsCost"
+        ) || {};
       const { action } = tran ?? {};
       return action ?? [];
     }
@@ -238,7 +197,7 @@ export default {
         supplier_code: [],
         stock_code: [],
         page: 1, // 页码
-        size: 15, // 每页显示条数
+        size: 15 // 每页显示条数
       },
       expandKeys: [],
 
@@ -248,26 +207,26 @@ export default {
       table: {
         stripe: true,
         border: true,
-        _defaultHeader_: ["setcol"],
+        _defaultHeader_: ["setcol"]
       },
       // 表格 - 分页
       pageInfo: {
         size: 15,
         curr: 1,
-        total: 0,
+        total: 0
       },
       // 表格 - 列参数
-      columns: columns,
+      columns: columns
     };
   },
   mounted() {
-    this.onCompanyChange()
+    this.onCompanyChange();
     this.searchList();
   },
   methods: {
-    onCompanyChange(){
-      console.log(this.currentCompany)
-      this.parmValue.companyNo = this.currentCompany
+    onCompanyChange() {
+      console.log(this.currentCompany);
+      this.parmValue.companyNo = this.currentCompany;
     },
     //业务公司选择
     async supplierChange(e) {
@@ -303,31 +262,35 @@ export default {
       this.pageInfo.curr = 1;
       await this.searchList();
     },
-    linkToGoodDetail(row){
+    linkToGoodDetail(row) {
       // console.log(row)
       // http://localhost:8081/#/goodStore/goodsCostDetail?id=SKU2305311527349138&type=view
-      this.$router.push(`/goodStore/goodsCostDetail?id=${row.spuCode}&type=view`)
+      this.$router.push(
+        `/goodStore/goodsCostDetail?id=${row.spuCode}&type=view`
+      );
     },
     restSearch() {
       // 表格 - 分页
       this.pageInfo = {
         size: 15,
         curr: 1,
-        total: 0,
+        total: 0
       };
       this.parmValue = {
         companyNo: "",
         supplier_code: [],
         stock_code: [], //仓库编码
         page: 1, // 页码
-        size: 15, // 每页显示条数
+        size: 15 // 每页显示条数
       };
       this.searchList();
     },
     async handleExpandChange(row) {
       if (!row.expand) {
         row.loading = true;
-        const { data } = await asyncRequest.listChild({ wsm_code: row.wsm_code });
+        const { data } = await asyncRequest.listChild({
+          wsm_code: row.wsm_code
+        });
         row.loading = false;
         this.expandKeys.push(row.expand);
         row.child = data;
@@ -344,16 +307,16 @@ export default {
 
       const res = await asyncRequest.list({
         ...model,
-        needRela: true,
+        needRela: true
       });
 
       if (res && res.code === 0 && res.data) {
         const _list = res.data.list;
-        this.tableData = _list.map((item) => ({
+        this.tableData = _list.map(item => ({
           ...item,
           child: [],
           expand: false,
-          loading: false,
+          loading: false
         }));
         this.pageInfo.total = Number(res.data.count);
       } else if (res && res.code >= 100 && res.code <= 104) {
@@ -363,7 +326,7 @@ export default {
         this.pageInfo.total = 0;
       }
       this.loading = false;
-    },
-  },
+    }
+  }
 };
 </script>

+ 50 - 111
src/views/stock/stockCount/components/productWeido/index.vue

@@ -48,18 +48,13 @@
                     type="primary"
                     class="fr"
                     icon="el-icon-search"
-                    label=""
+                    label
                     @click="searchList"
                   />
                 </el-col>
                 <!-- 重置 -->
                 <el-col :span="4" style="width: 56px; margin-left: 10px" class="mr5">
-                  <el-button
-                    :size="searchSize"
-                    class="fr"
-                    type="warning"
-                    @click="restSearch"
-                    >重置</el-button>
+                  <el-button :size="searchSize" class="fr" type="warning" @click="restSearch">重置</el-button>
                 </el-col>
               </el-col>
             </el-row>
@@ -68,26 +63,20 @@
 
         <template #good_code="{ scope }">
           <div style="display:flex;align-items:center">
-            <!-- <el-tooltip placement="top" content="查看商品详情" v-if="goodCostPremission.includes('007')">
-               <i @click="linkToGoodDetail(scope.row)" class="el-icon-link" style="cursor:pointer;margin-right:5px;font-size:16px" />
-            </el-tooltip> -->
+            <el-tooltip placement="top" content="查看商品详情" v-if="goodCostPremission.includes('007')">
+              <i
+                class="el-icon-link"
+                @click="linkToGoodDetail(scope.row)"
+                style="cursor:pointer;margin-right:5px;font-size:16px"
+              />
+            </el-tooltip>
             <p>{{scope.row.good_code}}</p>
           </div>
         </template>
-        
+
         <template #expand="{ scope }">
-          <el-table
-            :data="scope.row.child"
-            style="width: 100%; paddind: 20px"
-            border
-            size="small"
-          >
-            <el-table-column
-              label="仓库名称"
-              prop="wsm_name"
-              show-overflow-tooltip
-              min-width="150"
-            >
+          <el-table :data="scope.row.child" style="width: 100%; paddind: 20px" border size="small">
+            <el-table-column label="仓库名称" prop="wsm_name" show-overflow-tooltip min-width="150">
               <template slot-scope="scope">
                 <div style="display:flex;align-items:center">
                   <el-tooltip :content="'仓库编码 : ' + scope.row.wsm_code" placement="top">
@@ -97,25 +86,16 @@
                 </div>
               </template>
             </el-table-column>
-            <el-table-column 
-              label="仓库负责人"
-              prop="contactor_name"
-              show-overflow-tooltip
-              width="120"
-            />
-            <!-- <el-table-column
-              label="仓库编码"
-              prop="wsm_code"
-              show-overflow-tooltip
-              width="170"
-            ></el-table-column> -->
+
+            <el-table-column label="仓库负责人" prop="contactor_name" show-overflow-tooltip width="120" />
+
             <el-table-column
               label="仓库所在公司名称"
               prop="supplierName"
               show-overflow-tooltip
               min-width="150"
             >
-               <template slot-scope="scope">
+              <template slot-scope="scope">
                 <div style="display:flex;align-items:center">
                   <el-tooltip :content="'仓库所在公司编码 : ' + scope.row.supplierNo" placement="top">
                     <i class="el-icon-warning-outline" style="margin-right:2px;cursor:pointer" />
@@ -124,24 +104,10 @@
                 </div>
               </template>
             </el-table-column>
-            <el-table-column
-              label="供应商负责人"
-              prop="person"
-              show-overflow-tooltip
-              width="120"
-            />
-            <!-- <el-table-column
-              label="仓库所在公司编码"
-              prop="supplierNo"
-              show-overflow-tooltip
-              width="160"
-            ></el-table-column> -->
-            <el-table-column
-              label="仓库业务公司名称"
-              prop="company"
-              show-overflow-tooltip
-              min-width="150"
-            >
+
+            <el-table-column label="供应商负责人" prop="person" show-overflow-tooltip width="120" />
+
+            <el-table-column label="仓库业务公司名称" prop="company" show-overflow-tooltip min-width="150">
               <template slot-scope="scope">
                 <div style="display:flex;align-items:center">
                   <el-tooltip :content="'仓库业务公司名称 : ' + scope.row.companyNo" placement="top">
@@ -151,48 +117,19 @@
                 </div>
               </template>
             </el-table-column>
-            <!-- <el-table-column
-              label="仓库业务公司编码"
-              prop="companyNo"
-              show-overflow-tooltip
-              width="160"
-            ></el-table-column> -->
-            <el-table-column
-              label="当前库存"
-              width="100"
-              show-overflow-tooltip
-              prop="total_stock"
-            ></el-table-column>
-            <el-table-column
-              label="待入库"
-              width="100"
-              show-overflow-tooltip
-              prop="wait_in_stock"
-            ></el-table-column>
-            <el-table-column
-              label="待出库"
-              width="100"
-              show-overflow-tooltip
-              prop="wait_out_stock"
-            ></el-table-column>
-            <el-table-column
-              label="可用库存"
-              width="100"
-              show-overflow-tooltip
-              prop="usable_stock"
-            ></el-table-column>
-            <el-table-column
-              label="在途库存"
-              width="100"
-              show-overflow-tooltip
-              prop="intra_stock"
-            ></el-table-column>
+
+            <el-table-column label="当前库存" width="100" show-overflow-tooltip prop="total_stock"></el-table-column>
+            <el-table-column label="待入库" width="100" show-overflow-tooltip prop="wait_in_stock"></el-table-column>
+            <el-table-column label="待出库" width="100" show-overflow-tooltip prop="wait_out_stock"></el-table-column>
+            <el-table-column label="可用库存" width="100" show-overflow-tooltip prop="usable_stock"></el-table-column>
+            <el-table-column label="在途库存" width="100" show-overflow-tooltip prop="intra_stock"></el-table-column>
           </el-table>
         </template>
         <template #specinfo="{ scope }">
-          <span v-for="(si, sii) in scope.row.specinfo" :key="sii + si.spec_value_id"
-            >{{ sii === 0 ? "" : "-" }}{{ si.spec_name }}[{{ si.spec_value_name }}]</span
-          >
+          <span
+            v-for="(si, sii) in scope.row.specinfo"
+            :key="sii + si.spec_value_id"
+          >{{ sii === 0 ? "" : "-" }}{{ si.spec_name }}[{{ si.spec_value_name }}]</span>
         </template>
       </ex-table>
       <add-edit
@@ -225,13 +162,16 @@ export default {
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
-      const tran =
-        this.$store.getters.btnList.find((item) => item.menu_route == "stockCount") || {};
+      const { btnList } = ths.$store.getters;
+      const tran = btnList.find(item => item.menu_route == "stockCount") || {};
       const { action } = tran ?? {};
       return action ?? [];
     },
-    goodCostPremission(){
-      const tran = this.$store.getters.btnList.find((item) => item.menu_route == "goodsCost") || {};
+    goodCostPremission() {
+      const tran =
+        this.$store.getters.btnList.find(
+          item => item.menu_route == "goodsCost"
+        ) || {};
       const { action } = tran ?? {};
       return action ?? [];
     }
@@ -239,32 +179,32 @@ export default {
   data() {
     return {
       statusList: statusList,
-      loading: true,
       showModel: false,
       isDetail: false,
+      loading: true,
       modelId: 0,
       //入参参数
       parmValue: {
         type_code: "", //商品属性编码
         good_name: "", //商品名称
-        page: 1, // 页码
         size: 15, // 每页显示条数
+        page: 1 // 页码
       },
       tableData: [], //渲染表格数据
       // 表格 - 参数
       table: {
         stripe: true,
         border: true,
-        _defaultHeader_: ["setcol"],
+        _defaultHeader_: ["setcol"]
       },
       // 表格 - 分页
       pageInfo: {
         size: 15,
         curr: 1,
-        total: 0,
+        total: 0
       },
       // 表格 - 列参数
-      columns: columns,
+      columns: columns
     };
   },
   mounted() {
@@ -272,10 +212,9 @@ export default {
   },
 
   methods: {
-    linkToGoodDetail(row){
-      // console.log(row)
-      // http://localhost:8081/#/goodStore/goodsCostDetail?id=SKU2305311527349138&type=view
-      this.$router.push(`/goodStore/goodsCostDetail?id=${row.good_code}&type=view`)
+    linkToGoodDetail(row) {
+      const url = `/goodStore/goodsCostDetail?id=${row.good_code}&type=view`;
+      this.$router.push(url);
     },
     //重置参数
     restSearch() {
@@ -283,13 +222,13 @@ export default {
       this.pageInfo = {
         size: 15,
         curr: 1,
-        total: 0,
+        total: 0
       };
       this.parmValue = {
         type_code: "",
         good_name: "", //商品名称
         size: 15,
-        curr: 1,
+        curr: 1
       };
       this.searchList();
     },
@@ -298,8 +237,8 @@ export default {
       this.loading = true;
       const res = await asyncRequest.list({
         ...this.parmValue,
-        companyNo: this.currentCompany,
         needRela: true,
+        companyNo: this.currentCompany
       });
 
       if (res && res.code === 0 && res.data) {
@@ -312,7 +251,7 @@ export default {
         this.pageInfo.total = 0;
       }
       this.loading = false;
-    },
-  },
+    }
+  }
 };
 </script>

+ 7 - 12
src/views/stock/stockCount/index.vue

@@ -1,21 +1,16 @@
 <template>
   <div class="nowCount pagePadding">
-    <div
-      v-if=" powers.some((i) => i == '001')"
-    >
+    <div v-if=" powers.some((i) => i == '001')">
       <div style="width: 100%">
         <el-row>
           <el-col>
             <el-tabs v-model="activeName">
               <el-tab-pane label="商品维度" name="productWeido">
-                <product-weido/>
+                <product-weido />
               </el-tab-pane>
               <el-tab-pane label="仓库维度" name="dataWeido">
                 <data-weido />
               </el-tab-pane>
-               <!-- <el-tab-pane label="区间统计" name="count">
-                <space-count
-              /></el-tab-pane> -->
             </el-tabs>
           </el-col>
         </el-row>
@@ -42,25 +37,25 @@ export default {
   components: {
     DataWeido,
     ProductWeido,
-    SpaceCount,
+    SpaceCount
   },
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
       const tran =
         this.$store.getters.btnList.find(
-          (item) => item.menu_route == "stockCount"
+          item => item.menu_route == "stockCount"
         ) || {};
       const { action } = tran ?? {};
       return action ?? [];
-    },
+    }
   },
   data() {
     return {
-      activeName: "productWeido", //默认选中的区间统计选项
+      activeName: "productWeido" //默认选中的区间统计选项
     };
   },
-  methods: {},
+  methods: {}
 };
 </script>
    

+ 40 - 34
src/views/supplierPurchaseIn/supplierDeliveryWorkOrder/detail.vue

@@ -20,7 +20,6 @@
                     "
                   ></el-tag>
                 </template>
-                
 
                 <template slot="order_type">
                   <el-tag
@@ -40,7 +39,8 @@
                   <el-popover placement="top" width="300" trigger="hover">
                     <ul>
                       <li>
-                        <span>供应商编号:</span><span>{{ sitem.supplierNo }}</span>
+                        <span>供应商编号:</span>
+                        <span>{{ sitem.supplierNo }}</span>
                       </li>
                     </ul>
                     <i class="el-icon-warning-outline fr" slot="reference"></i>
@@ -52,12 +52,12 @@
                   <el-popover placement="top" width="300" trigger="hover">
                     <ul>
                       <li>
-                        <span>仓库编号:</span
-                        ><span>{{ sitem.wsm_code }}</span>
+                        <span>仓库编号:</span>
+                        <span>{{ sitem.wsm_code }}</span>
                       </li>
                       <li>
-                        <span>仓库负责人:</span
-                        ><span>{{ sitem.contactor_name }}</span>
+                        <span>仓库负责人:</span>
+                        <span>{{ sitem.contactor_name }}</span>
                       </li>
                     </ul>
                     <i class="el-icon-warning-outline fr" slot="reference"></i>
@@ -69,8 +69,8 @@
                   <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>
@@ -82,8 +82,8 @@
                   <el-popover placement="top" width="300" trigger="hover">
                     <ul>
                       <li>
-                        <span>客户公司编号:</span
-                        ><span>{{ sitem.customer_code }}</span>
+                        <span>客户公司编号:</span>
+                        <span>{{ sitem.customer_code }}</span>
                       </li>
                     </ul>
                     <i class="el-icon-warning-outline fr" slot="reference"></i>
@@ -102,7 +102,11 @@
               />
             </el-collapse-item>
 
-            <el-collapse-item title="待库管发货" name="3"  v-if="canSend && sitem.status === '1' && !isSupertube && ppowers.includes('1')">
+            <el-collapse-item
+              title="待库管发货"
+              name="3"
+              v-if="canSend && sitem.status === '1' && !isSupertube && ppowers.includes('1')"
+            >
               <express-node @refresh="() => initData()" :sitem="sitem" />
             </el-collapse-item>
           </el-collapse>
@@ -129,39 +133,41 @@ import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sellOut/deliveryWorkOrder";
 import { showColumns } from "./components/ShowDataTableColumns";
 import { xs_order_type_options } from "@/assets/js/statusList";
-import ExpressNode from "./components/express.vue"
+import ExpressNode from "./components/express.vue";
 import { mapGetters } from "vuex";
 export default {
   name: "deliveryWorkOrderDetail",
   mixins: [mixinPage, resToken],
   components: { ExpressNode },
   computed: {
-    ...mapGetters(['isSupertube',"userInfo"]),
+    ...mapGetters(["isSupertube", "userInfo"]),
     powers() {
       const tran =
         this.$store.getters.btnList.find(
-          (item) => item.menu_route == "supplierDeliveryWorkOrderDetail"
+          item => item.menu_route == "supplierDeliveryWorkOrderDetail"
         ) || {};
       const { action } = tran ?? {};
       return action ?? [];
     },
-    canSend(){
-      const { id:userId } = this.userInfo || {};
-      const { contactor:manangerUserId ,order_type ,has_account } = this.sitem || {};
-      const isStock = String(order_type) === '1'
+    canSend() {
+      const { id: userId } = this.userInfo || {};
+      const { contactor: manangerUserId, order_type, has_account } =
+        this.sitem || {};
+      const isStock = String(order_type) === "1";
 
       /* 不是库存品&&有供应商端账号 **/
-      if(!isStock && String(has_account) === '1'){
-        return true
+      if (!isStock && String(has_account) === "1") {
+        return true;
       }
 
       /* 库存品&&用户id和库管id一致 **/
-      if(!userId || !manangerUserId) return false
-      return userId === manangerUserId
+      if (!userId || !manangerUserId) return false;
+      return userId === manangerUserId;
     },
     ppowers() {
       const tran =
-        this.$store.getters.roleProcess.find((i) => i.process_type === "FHGD") || {};
+        this.$store.getters.roleProcess.find(i => i.process_type === "FHGD") ||
+        {};
       const { action } = tran ?? {};
       return action ?? [];
     }
@@ -171,11 +177,11 @@ export default {
       activeTabs: "1",
       showColumns: showColumns,
       statusOptions: [
-      { value: "1", label: "待发货" },
-      { value: "2", label: "发货完成" },
+        { value: "1", label: "待发货" },
+        { value: "2", label: "发货完成" },
         // { value: "3", label: "已收货" },
         // { value: "4", label: "已全部收货" },
-      { value: "5", label: "已取消" },
+        { value: "5", label: "已取消" }
       ],
       xs_order_type_options,
       sitem: null, //传给组件
@@ -184,21 +190,21 @@ export default {
       statusList: [
         {
           value: "1",
-          label: "待验货",
+          label: "待验货"
         },
         {
           value: "2",
-          label: "待验货审核",
+          label: "待验货审核"
         },
         {
           value: "3",
-          label: "待业务审核",
-        },
+          label: "待业务审核"
+        }
       ],
       newTime: "",
       loading: false,
       is_stock: "",
-      queryId: "",
+      queryId: ""
     };
   },
   mounted() {
@@ -208,7 +214,7 @@ export default {
   methods: {
     async initData() {
       const { code, data, message } = await asyncRequest.detail({
-        outChildCode: this.queryId,
+        outChildCode: this.queryId
       });
       if (code === 0) {
         const { is_stock, status } = data;
@@ -224,7 +230,7 @@ export default {
     },
     getNewTime() {
       this.newTime = new Date().valueOf();
-    },
-  },
+    }
+  }
 };
 </script>

+ 28 - 17
src/views/supplierSellOut/supplierFiling/config/columns.js

@@ -83,11 +83,11 @@ export const options13 = [
 ]
 
 const statusOptions = [
-  { value: '0', label: '待审核' },
-  { value: '1', label: '审核失败' },
-  { value: '2', label: '审核中可转单' },
-  { value: '3', label: '转单成功' },
-  { value: '4', label: '转单失败' },
+  { value: '0', label: '待审核判断合规' },
+  { value: '1', label: '不合规' },
+  { value: '2', label: '合规待转单' },
+  { value: '3', label: '部分转单' },
+  { value: '4', label: '全部转单' },
   { value: '5', label: '取消转单' }
 ]
 
@@ -165,17 +165,6 @@ export const editColumns = [
     span: 6,
     _slot_: 'expect_service_proportion'
   },
-
-  {
-    prop: 'orderCode',
-    label: '订单编号',
-    span: 6
-  },
-  {
-    prop: 'plat_code',
-    label: '平台商品编号',
-    span: 6
-  },
   {
     prop: 'service_charge',
     label: '最终服务费',
@@ -187,12 +176,34 @@ export const editColumns = [
     _slot_: 'service_proportion',
     span: 6
   },
+  {
+    prop:'transfer_num',
+    label:'已转单数量',
+    span:6
+  },
+  {
+    prop:'wait_num',
+    label:'未转单数量',
+    span:6
+  },
+  {
+    prop: 'plat_code',
+   label: '平台商品编号',
+   span: 12
+  },
   {
     prop: 'platform_name',
     label: '所属平台',
+    span: 12
+  },
+  {
+    prop: 'orderCode',
+    label: '订单编号',
     span: 24
-  }
+  },
 ]
+
+
 // 采返 采购商品字段
 export const coveColumns = [
   {

+ 65 - 69
src/views/supplierSellOut/supplierFiling/cpns/baseDetail.vue

@@ -37,7 +37,8 @@
               <el-popover placement="top" width="300" trigger="hover">
                 <ul>
                   <li>
-                    <span>供应商编号:</span><span>{{ sitem.supplierNo }}</span>
+                    <span>供应商编号:</span>
+                    <span>{{ sitem.supplierNo }}</span>
                   </li>
                 </ul>
                 <i slot="reference" class="el-icon-warning-outline fr" />
@@ -48,7 +49,8 @@
               <el-popover placement="top" width="300" trigger="hover">
                 <ul>
                   <li>
-                    <span>业务公司编号:</span><span>{{ sitem.customerNo }}</span>
+                    <span>业务公司编号:</span>
+                    <span>{{ sitem.customerCode }}</span>
                   </li>
                 </ul>
                 <i slot="reference" class="el-icon-warning-outline fr" />
@@ -56,15 +58,11 @@
             </template>
             <template slot="companyName">
               <span>{{ sitem.companyName }}</span>
-              <el-popover
-                v-if="sitem.companyCode"
-                placement="top"
-                width="300"
-                trigger="hover"
-              >
+              <el-popover v-if="sitem.companyCode" placement="top" width="300" trigger="hover">
                 <ul>
                   <li>
-                    <span>企业客户编号:</span><span>{{ sitem.companyCode }}</span>
+                    <span>企业客户编号:</span>
+                    <span>{{ sitem.companyCode }}</span>
                   </li>
                 </ul>
                 <i slot="reference" class="el-icon-warning-outline fr" />
@@ -99,15 +97,11 @@
                 <span v-else>_</span>
                 <span>{{ si.spec_name }}[{{ si.spec_value_name }}]</span>
               </span>
-              <el-popover
-                v-if="sitem.spuCode"
-                placement="top"
-                width="300"
-                trigger="hover"
-              >
+              <el-popover v-if="sitem.spuCode" placement="top" width="300" trigger="hover">
                 <ul>
                   <li>
-                    <span>商品编号:</span><span>{{ sitem.spuCode }}</span>
+                    <span>商品编号:</span>
+                    <span>{{ sitem.spuCode }}</span>
                   </li>
                 </ul>
                 <i slot="reference" class="el-icon-warning-outline fr" />
@@ -149,15 +143,15 @@
               />
             </template>
             <template slot="noble">
-              <span
-                v-if="sitem.noble_name"
-              >{{ sitem.noble_weight ? sitem.noble_weight : "0" }}g-{{
+              <span v-if="sitem.noble_name">
+                {{ sitem.noble_weight ? sitem.noble_weight : "0" }}g-{{
                 sitem.noble_name
-              }}-{{ sitem.gold_price ? sitem.gold_price : "0" }}元/g-{{
+                }}-{{ sitem.gold_price ? sitem.gold_price : "0" }}元/g-{{
                 sitem.is_gold_price === "0" ? "不" : ""
-              }}启用实时金价-{{ sitem.is_diff === "1" ? "有" : "无" }}工差-{{
+                }}启用实时金价-{{ sitem.is_diff === "1" ? "有" : "无" }}工差-{{
                 sitem.config
-              }}-{{ sitem.other_config }}</span>
+                }}-{{ sitem.other_config }}
+              </span>
               <span v-else>--</span>
             </template>
             <template slot="good_img">
@@ -168,17 +162,19 @@
                 style="width: 23px; height: 23px; margin: 0 5px 0 0"
                 class="fl"
                 :src="si"
-                alt=""
-              > </template></show-data-table>
+                alt
+              />
+            </template>
+          </show-data-table>
         </el-collapse-item>
       </el-collapse>
     </div>
   </div>
 </template>
 <script>
-import asyncRequest from '@/apis/service/sellOut/filing'
-import resToken from '@/mixins/resToken'
-import { mapGetters } from 'vuex'
+import asyncRequest from "@/apis/service/sellOut/filing";
+import resToken from "@/mixins/resToken";
+import { mapGetters } from "vuex";
 
 import {
   editColumns,
@@ -199,18 +195,18 @@ import {
   statusOptions,
   coveColumns,
   is_determine_price_options
-} from '../config/columns'
+} from "../config/columns";
 
 export default {
-  name: 'FilingDetail',
+  name: "FilingDetail",
   mixins: [resToken],
   computed: {
-    ...mapGetters(['tablebtnSize', 'searchSize', 'size', 'private_field'])
+    ...mapGetters(["tablebtnSize", "searchSize", "size", "private_field"])
   },
 
   data() {
     return {
-      size: 'small',
+      size: "small",
       eaxmList: [],
       costArr,
       bargainingArr,
@@ -230,78 +226,78 @@ export default {
       statusOptions,
       is_determine_price_options,
       coveColumns,
-      projectTabs: '1',
-      activeNames: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '20'],
-      newTime: '',
+      projectTabs: "1",
+      activeNames: ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "20"],
+      newTime: "",
       loading: false,
-      queryType: '',
-      queryId: '',
-      status: '',
+      queryType: "",
+      queryId: "",
+      status: "",
       sitem: null,
 
       orderItem: {},
       moneyDirItem: {},
       moneyItem: {},
       BossItem: {}
-    }
+    };
   },
   mounted() {
-    this.initForm()
+    this.initForm();
   },
   methods: {
     async initForm() {
-      const { id, type } = this.$route.query
-      this.queryId = id
-      this.queryType = type
-      this.projectTabs = '1'
-      this.loading = true
-      await this.initData()
-      this.loading = false
+      const { id, type } = this.$route.query;
+      this.queryId = id;
+      this.queryType = type;
+      this.projectTabs = "1";
+      this.loading = true;
+      await this.initData();
+      this.loading = false;
     },
 
     handleClick(row) {
-      console.log(row)
+      console.log(row);
     },
     async refresh() {
-      this.routeReGoto('supplierFiling', {})
+      this.routeReGoto("supplierFiling", {});
     },
     async initData() {
-      this.loading = true
+      this.loading = true;
       const { code, message, data } = await asyncRequest.detail({
         id: this.queryId
-      })
+      });
 
-      this.eaxmList = []
-      this.loading = false
+      this.eaxmList = [];
+      this.loading = false;
       if (code === 0) {
-        this.sitem = JSON.parse(JSON.stringify(data))
-        const { cat_info } = this.sitem
-        let cat = ''
+        this.sitem = JSON.parse(JSON.stringify(data));
+        const { cat_info } = this.sitem;
+        let cat = "";
         if (cat_info && cat_info.length > 0) {
           cat_info.forEach((e, i) => {
-            cat += i === 0 ? e.name : '_' + e.name
-          })
+            cat += i === 0 ? e.name : "_" + e.name;
+          });
         }
-        this.sitem.cat = cat
-        const { status, num, orderCode } = this.sitem
-        this.status = status
+        this.sitem.cat = cat;
+        const { status, wait_num, orderCode } = this.sitem;
+        this.status = status;
 
-        this.$emit('change-detail', data)
-        this.$emit('change-status', status)
-        this.$emit('change-num', num)
-        this.$emit('change-order-code', orderCode)
-        this.getNewTime()
+        this.$emit("change-detail", data);
+        this.$emit("change-status", status);
+        this.$emit("change-num", wait_num);
+        this.$emit("change-order-code", orderCode);
+        this.getNewTime();
       } else if (code >= 100 && code <= 104) {
-        await this.logout()
+        await this.logout();
       } else {
-        this.$message.warning(message)
+        this.$message.warning(message);
       }
     },
     getNewTime() {
-      this.newTime = new Date().valueOf()
+      this.newTime = new Date().valueOf();
     }
   }
-}
+};
 </script>
 <style lang="scss" scoped>
 .filingDetail {

+ 53 - 15
src/views/supplierSellOut/supplierFiling/cpns/wait-transferred.vue

@@ -50,14 +50,24 @@
         <el-table-column label="收货省市区" prop="addr_code">
           <template slot-scope="scope">
             <el-form-item v-if="scope.$index === editIndex" prop="addr_code">
-              <select-area
+              <!-- <select-area
                 :value="editCacheData.addr_code"
                 :placeholder="'收货省市区'"
                 size="mini"
                 @selectChange="handleInAddrChange($event)"
+              />-->
+              <search-area
+                :value="editCacheData.area_code"
+                :is-detail="scope.$index === editIndex"
+                :disabled="!scope.$index === editIndex"
+                size="mini"
+                :names="[getAddrName(scope.row.addr_code_name)]"
+                placeholder="收货省市区"
+                :level="3"
+                @searchChange="areaChange($event,scope.$index)"
               />
             </el-form-item>
-            <span v-else>{{ scope.row.addr_code_name }}</span>
+            <span v-else>{{getAddrName(scope.row.addr_code_name,true)}}</span>
           </template>
         </el-table-column>
 
@@ -138,13 +148,13 @@ const defaultAddressData = {
   contactor: "",
   addr_code: "",
   mobile: "",
-  addr: ""
+  addr: "",
+  area_code: "",
+  area_label: ""
 };
 
 export default {
-  components: {
-    InAddressModal
-  },
+  components: { InAddressModal },
   props: ["id", "num"],
   data() {
     return {
@@ -179,7 +189,9 @@ export default {
         mobile,
         addr_code,
         addr,
-        addr_code_name
+        addr_code_name,
+        area_code,
+        area_label
       } = this.list[index];
 
       this.editCacheData = {
@@ -188,7 +200,9 @@ export default {
         mobile,
         addr_code,
         addr,
-        addr_code_name
+        addr_code_name,
+        area_code,
+        area_label
       };
     },
 
@@ -210,14 +224,17 @@ export default {
       utils.book_append_sheet(workBook, workSheet, "sheet");
 
       // 导出模板
-      writeFile(workBook, "收货模板.xlsx", {
-        bookType: "xlsx"
-      });
+      writeFile(workBook, "收货模板.xlsx", { bookType: "xlsx" });
     },
     handleDelete(index) {
       this.list.splice(index, 1);
       if (this.editIndex >= 0) this.editIndex = -1;
     },
+    getAddrName(name, modifider) {
+      if (modifider) return name;
+      const _n = name.split("/").join("");
+      return _n;
+    },
 
     handleSave() {
       this.$refs.formRef.validate(async isValid => {
@@ -263,10 +280,13 @@ export default {
           contactor,
           mobile,
           receipt_quantity,
-          addr_code_name
+          addr_code_name,
+          area_code: [addr_code[addr_code.length - 1]]
         })
       );
 
+      console.log(_data);
+
       this.list = [...this.list, ..._data];
       this.showModal = false;
     },
@@ -281,6 +301,18 @@ export default {
       this.editIndex = this.list.length - 1;
     },
 
+    async areaChange(e) {
+      console.log(e);
+      const { code, area_code, splitLabel } = e;
+      this.editCacheData.area_label = splitLabel
+        ? splitLabel.split(",").join("/")
+        : "";
+
+      this.editCacheData["area_code"] = area_code ? [area_code] : [];
+
+      this.editCacheData["addr_code"] = code ? code.split(",") : [];
+    },
+
     handleInAddrChange(e) {
       this.editCacheData["addr_code"] = e;
     },
@@ -305,17 +337,23 @@ export default {
         return Number(current) + Number(prev.receipt_quantity);
       }, 0);
 
-      if (Number(this.num) > currentNum) {
+      if (currentNum > Number(this.num)) {
         this.$message.warning("收货数量小于销售数量!");
         return;
       }
 
-      const { data, code, message } = await asyncRequest.transfer({
+      const { code, message } = await asyncRequest.transfer({
         id: this.id,
-        addr_list: this.list
+        addr_list: this.list,
+
+        customerCode: Array.isArray(this.ruleForm.companyCode)
+          ? this.ruleForm.companyCode[0]
+          : this.ruleForm.companyCode
       });
 
       if (Number(code) === 0) {
+        this.list = [];
+        this.ruleForm.companyCode = "";
         this.$emit("refresh");
       } else {
         this.$message.error(message);

+ 1 - 23
src/views/supplierSellOut/supplierFiling/detail.vue

@@ -17,32 +17,11 @@
               @change-detail="(det) => (sitem = det)"
             />
           </template>
-
-          <!-- <template v-if="(status == '0' || status == '2')">
-            <el-collapse-item
-              title="审批"
-              name="2"
-            >
-              <exam-forms
-                v-if="newTime !== ''"
-                :new-time="newTime"
-                :sitem="sitem"
-                @searchChange="examFormSubmit($event, '')"
-              />
-            </el-collapse-item>
-          </template>-->
-
-          <tempalte v-if="true && !isSupertube">
+          <tempalte v-if="(status == '2' || status == '3') && !isSupertube">
             <el-collapse-item name="3" title="待转单">
               <wait-transferred :id="id" :num="num" @refresh="handleRefresh" />
             </el-collapse-item>
           </tempalte>
-
-          <template v-if="status === '3'">
-            <el-collapse-item name="4" title="发货单">
-              <shipment-request :order-code="orderCode" />
-            </el-collapse-item>
-          </template>
         </el-collapse>
       </el-tab-pane>
     </el-tabs>
@@ -54,7 +33,6 @@ import WaitTransferred from "./cpns/wait-transferred.vue";
 import ShipmentRequest from "./cpns/shipment-request.vue";
 import baseDetail from "./cpns/baseDetail.vue";
 import BaseForm from "./cpns/baseForm.vue";
-// import ExamForms from './cpns/exam-form.vue'
 import asyncRequest from "@/apis/service/sellOut/filing";
 import { mapGetters } from "vuex";
 

+ 139 - 78
src/views/supplierSellOut/supplierFiling/index.vue

@@ -1,75 +1,113 @@
 <template>
   <div class="purchaseOrder pagePadding">
-    <ex-table v-loading="loading" :table="table" :data="tableData" :columns="columns" :page="pageInfo" :size="size"
-      @page-curr-change="handlePageChange" @page-size-change="handleSizeChange"
-       @screen-reset="
+    <ex-table
+      v-loading="loading"
+      :table="table"
+      :data="tableData"
+      :columns="columns"
+      :page="pageInfo"
+      :size="size"
+      @page-curr-change="handlePageChange"
+      @page-size-change="handleSizeChange"
+      @screen-reset="
           pageInfo.curr = 1;
           parmValue.page = 1;
           searchList();
-      " @screen-submit="
+      "
+      @screen-submit="
           pageInfo.curr = 1;
           parmValue.page = 1;
           searchList();
-      " @selection="selection_change">
+      "
+      @selection="selection_change"
+    >
       <template #table-header="{}">
         <div style="width: 100%">
           <el-row style="padding: 0 0 0 80px" :gutter="10">
             <el-col :span="4" style="width: 303px; padding: 0 0 0 10px">
-              <period-date-picker :type="1" :width="'135px'" :size="searchSize" :start_date="timeOBJ.start_date"
-                :end_date="timeOBJ.end_date" @timeReturned="handleTime" />
+              <period-date-picker
+                :type="1"
+                :width="'135px'"
+                :size="searchSize"
+                :start_date="timeOBJ.start_date"
+                :end_date="timeOBJ.end_date"
+                @timeReturned="handleTime"
+              />
             </el-col>
 
             <el-col :span="4">
-              <el-input size="mini" placeholder="报备单号" v-model="parmValue.filingCode" 
-              @blur="pageInfo.curr = 1;
-                     parmValue.page = 1;
-                    searchList();" />
+              <el-input
+                size="mini"
+                placeholder="报备单号"
+                v-model="parmValue.filingCode"
+                @blur="pageInfo.curr = 1;
+                       parmValue.page = 1;
+                       searchList();"
+              />
             </el-col>
 
             <el-col :span="4">
-              <el-input size="mini" placeholder="商品名称" v-model="parmValue.good_name"  
-              @blur="pageInfo.curr = 1;
+              <el-input
+                size="mini"
+                placeholder="商品名称"
+                v-model="parmValue.good_name"
+                @blur="pageInfo.curr = 1;
                      parmValue.page = 1;
-                     searchList();" />
+                     searchList();"
+              />
             </el-col>
 
             <el-col :span="3" style="width: 66px; float: right">
-              <el-button :size="searchSize" type="primary" style="float: right; margin-left: 5px" @click="searchList">
-                刷新
-              </el-button>
+              <el-button
+                :size="searchSize"
+                type="primary"
+                style="float: right; margin-left: 5px"
+                @click="searchList"
+              >刷新</el-button>
             </el-col>
             <el-col :span="4" style="width: 66px; float: right">
-              <el-button type="warning" class="fr" :size="searchSize" @click="restSearch">
-                重置
-              </el-button>
+              <el-button type="warning" class="fr" :size="searchSize" @click="restSearch">重置</el-button>
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="3" class="fr" style="width: 66px; margin-top: 10px">
-              <el-button v-if="!isSupertube && powers.includes('003')" :size="searchSize" type="success" style="float: right"
-                @click="routeGoto('/supplierSellOut/supplierFilingDetail', { id: 'add', type: 'add' })">
-                添加
-              </el-button>
+              <el-button
+                v-if="!isSupertube && powers.includes('003')"
+                :size="searchSize"
+                type="success"
+                style="float: right"
+                @click="routeGoto('/supplierSellOut/supplierFilingDetail', { id: 'add', type: 'add' })"
+              >添加</el-button>
             </el-col>
 
             <el-col :span="4" style="margin-top:15px;">
               <search-customer
-                  size="mini"
-                  :names="parmValue.khName"
-                  :is-detail="type !== 'add'"
-                  :value="parmValue.companyCode"
-                  placeholder="客户公司"
-                  @searchChange="handleCustomerChange"
+                size="mini"
+                :names="parmValue.khName"
+                :is-detail="type !== 'add'"
+                :value="parmValue.companyCode"
+                placeholder="客户公司"
+                @searchChange="handleCustomerChange"
               />
             </el-col>
 
-
             <el-col :span="4" style="margin-top:15px;margin-left:10px">
-              <el-select clearable size="mini" placeholder="请选择状态" v-model="parmValue.status" 
-              @change="pageInfo.curr = 1;
-                       parmValue.page = 1;
-                       searchList();" >
-                <el-option v-for="status in statusOptions" :key="status.value" :value="status.value" :label="status.label" />
+              <el-select
+                clearable
+                size="mini"
+                placeholder="请选择状态"
+                v-model="parmValue.status"
+                @change="
+                      pageInfo.curr = 1;
+                      parmValue.page = 1;
+                      searchList();"
+              >
+                <el-option
+                  v-for="status in statusOptions"
+                  :label="status.label"
+                  :value="status.value"
+                  :key="status.value"
+                />
               </el-select>
             </el-col>
           </el-row>
@@ -78,51 +116,72 @@
 
       <template #good_img="{ scope }">
         <div v-if="scope.row.good_img" style="width: 20px; height: 20px" class="hover" v-viewer>
-          <img :src="scope.row.good_img" style="display: inline-block; width: 100%; height: 100%" alt="" />
+          <img
+            :src="scope.row.good_img"
+            style="display: inline-block; width: 100%; height: 100%"
+            alt
+          />
         </div>
       </template>
 
       <template #status="{ scope }">
-        <el-tag :size="tablebtnSize" v-text="
+        <el-tag
+          :size="tablebtnSize"
+          v-text="
           (statusOptions.find((item) => item.value == scope.row.status) || {}).label || '--'
-        "></el-tag>
+        "
+        ></el-tag>
       </template>
 
       <template #operation="{ scope }">
         <el-tooltip effect="dark" content="详情" placement="top">
-          <i class="el-icon-view tb-icon" @click="getRouter('/supplierSellOut/supplierFilingDetail', scope.row.id)"></i>
+          <i
+            class="el-icon-view tb-icon"
+            @click="getRouter('/supplierSellOut/supplierFilingDetail', scope.row.id)"
+          />
         </el-tooltip>
 
         <el-tooltip effect="dark" content="取消转单" placement="top">
-          <i v-if="String(scope.row.status) !== '3' && String(scope.row.status) !== '5'" class="el-icon-refresh-right tb-icon" @click="handleCancel(scope.row.id)"></i>
+          <i
+            v-if="String(scope.row.status) !== '4' && String(scope.row.status) !== '5'"
+            class="el-icon-refresh-right tb-icon"
+            @click="handleCancel(scope.row.id)"
+          ></i>
         </el-tooltip>
       </template>
     </ex-table>
   </div>
 </template>
 <script>
-import mixinPage from "@/mixins/elPaginationHandle";
-import resToken from "@/mixins/resToken";
-import urlConfig from "@/apis/url-config";
 import asyncRequest from "@/apis/service/sellOut/filing";
 import { columns, statusOptions } from "./config/columns";
 import { cg_order_type_options } from "@/assets/js/statusList";
-import companyHelper from "@/mixins/companyHelper"
+import companyHelper from "@/mixins/companyHelper";
+import mixinPage from "@/mixins/elPaginationHandle";
+import urlConfig from "@/apis/url-config";
+import resToken from "@/mixins/resToken";
 import { mapGetters } from "vuex";
-// companyHelper
+
 export default {
   name: "supplierFiling",
   mixins: [mixinPage, resToken, companyHelper],
   components: {},
   computed: {
-    ...mapGetters(["tablebtnSize", "searchSize", "size", "business_companyNo", "isSupertube"]),
+    ...mapGetters([
+      "business_companyNo",
+      "tablebtnSize",
+      "isSupertube",
+      "searchSize",
+      "size"
+    ]),
     maxNo() {
       return this.business_companyNo;
     },
     powers() {
       const tran =
-        this.$store.getters.btnList.find((item) => item.menu_route == "supplierFiling") ||
-        {};
+        this.$store.getters.btnList.find(
+          item => item.menu_route == "supplierFiling"
+        ) || {};
       const { action } = tran ?? {};
       return action ?? [];
     }
@@ -131,7 +190,7 @@ export default {
   watch: {
     maxNo(val, oldval) {
       this.restSearch();
-    },
+    }
   },
   data() {
     return {
@@ -147,21 +206,21 @@ export default {
       input: "",
       timeOBJ: {
         start_date: "", //起始时间
-        end_date: "", // 结束时间
+        end_date: "" // 结束时间
       },
       // 状态
       statusOptions: statusOptions,
       loading: false,
-      showModel: false,
       isDetail: false,
+      showModel: false,
       modelId: 0,
       wsm_code: [],
       wsm_supplierNo: [],
       parmValue: {
-        khName:"",
+        khName: "",
         companyCode: "",
         start_date: "", //新建起始时间
-        end_date: "", // 新建结束时间
+        end_date: "" // 新建结束时间
       },
       tableData: [],
       passwordModel: false,
@@ -173,16 +232,16 @@ export default {
       table: {
         stripe: true,
         border: true,
-        _defaultHeader_: ["setcol"],
+        _defaultHeader_: ["setcol"]
       },
       // 表格 - 分页
       pageInfo: {
         size: 15,
         curr: 1,
-        total: 0,
+        total: 0
       },
       // 表格 - 列参数
-      columns: columns,
+      columns: columns
     };
   },
   mounted() {
@@ -195,7 +254,7 @@ export default {
       this.pageInfo = {
         size: size,
         curr: page,
-        total: 0,
+        total: 0
       };
       //多选条件
       this.select = this.parmValue.select;
@@ -209,13 +268,13 @@ export default {
     handleCustomerChange(e) {
       this.parmValue.companyCode = e.code ? [e.code] : "";
       this.parmValue.khName = e.label;
-      this.searchList()
+      this.searchList();
     },
     getRouter(toRouter, queryId) {
       console.log(toRouter, queryId);
       if (toRouter && queryId) {
         let model = {
-          id: queryId,
+          id: queryId
         };
 
         //有多选框的条件
@@ -225,7 +284,7 @@ export default {
 
         let routerModel = {
           options: JSON.parse(JSON.stringify(this.parmValue)),
-          router: this.$route.path,
+          router: this.$route.path
         };
         model.preModel = JSON.stringify(routerModel);
 
@@ -234,11 +293,11 @@ export default {
         this.$message.warning("暂未找到相关流程!");
       }
     },
-    async handleCancel(id){
-      const {code,message} = await asyncRequest.cancel({id});
-      if(Number(code) === 0){
-        this.searchList()
-      }else{
+    async handleCancel(id) {
+      const { code, message } = await asyncRequest.cancel({ id });
+      if (Number(code) === 0) {
+        this.searchList();
+      } else {
         this.$message.warning(message);
       }
     },
@@ -250,14 +309,14 @@ export default {
     },
     showal(list, message, code) {
       let htmlList = "<ul>";
-      list.forEach((v) => {
+      list.forEach(v => {
         htmlList += `<li>${code !== "" ? v[code] : v}</li>`;
       });
       htmlList += "</ul>";
       this.$notify({
         title: message,
         dangerouslyUseHTMLString: true,
-        message: htmlList,
+        message: htmlList
       });
     },
     restSearch() {
@@ -267,7 +326,7 @@ export default {
       this.wsm_supplierNo = [];
       this.timeOBJ = {
         start_date: "", //起始时间
-        end_date: "", // 结束时间
+        end_date: "" // 结束时间
       };
       this.parmValue = {
         filingCode: "", // 报备单编码
@@ -285,13 +344,13 @@ export default {
         orderCode: "", //订单编号
         company_name: "", //部门
         page: 1, // 页码
-        size: 15, // 每页显示条数
+        size: 15 // 每页显示条数
       };
       // 表格 - 分页
       this.pageInfo = {
         size: 15,
         curr: 1,
-        total: 0,
+        total: 0
       };
       this.searchList();
     },
@@ -311,12 +370,14 @@ export default {
       const res = await asyncRequest.list({
         ...this.parmValue,
         ...this.timeOBJ,
-        khName:undefined,
-        companyCode: Array.isArray(this.parmValue.companyCode) ? this.parmValue.companyCode[0] : this.parmValue.companyCode,
+        khName: undefined,
+        companyCode: Array.isArray(this.parmValue.companyCode)
+          ? this.parmValue.companyCode[0]
+          : this.parmValue.companyCode,
         supplierNo: this.currentCompany,
-        noRelation:true,
+        noRelation: true
       });
-      
+
       const { code, data } = await this.useResHandle(res);
       if (code === 0) {
         const { list, count } = data;
@@ -333,13 +394,13 @@ export default {
       this.timeOBJ.start_date = e?.startTime ?? "";
       this.timeOBJ.end_date = e?.endTime ?? "";
 
-      if(e.startTime && e.endTime){
+      if (e.startTime && e.endTime) {
         this.pageInfo.curr = 1;
         this.parmValue.page = 1;
         this.searchList();
       }
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="scss" scoped>