From fc188397419e76da8e97c0782599f757fb34bd30 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期四, 14 十二月 2023 16:13:26 +0800
Subject: [PATCH] 增加编码规范功能及新建供应商和采购页面增加编码

---
 src/views/supplierManage/supplier/index.vue                  |   27 
 src/components/makepager/TableCommonView.vue                 |    3 
 src/api/common/standard.js                                   |   20 
 src/views/supplierManage/supplier/AddSupplier.vue            |   93 +++-
 src/views/purchaseManage/purchase/components/AddPurchase.vue |  686 ++++++++++++++++----------------
 src/views/purchaseManage/purchase/index.vue                  |  258 ++++++-----
 src/components/mixin/codeMixin.js                            |  133 ++++++
 7 files changed, 712 insertions(+), 508 deletions(-)

diff --git a/src/api/common/standard.js b/src/api/common/standard.js
new file mode 100644
index 0000000..6d2565a
--- /dev/null
+++ b/src/api/common/standard.js
@@ -0,0 +1,20 @@
+import request from "@/common/untils/request"
+export function getCodeStandardList(data) {
+  // return  axios.get(`/api/code/getCodeList`, {
+  //   params: data
+  // })
+
+  return request({
+    url: "/api/code/getCodeList",
+    method: "get",
+    params: data
+  })
+}
+// 鑾峰彇鑷姩缂栫爜
+export function getAutoCode(data) {
+  return request({
+    url: "/api/code/getAutoCode",
+    method: "post",
+    data
+  })
+}
diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index a8e9b4c..42f2469 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -400,6 +400,9 @@
   .el-table .cell .el-button--text.el-button--small {
     padding: 4px 0;
   }
+  .el-table .onSelect {
+    background: #ebf2ff;
+  }
 }
 
 .overSpread1 {
diff --git a/src/components/mixin/codeMixin.js b/src/components/mixin/codeMixin.js
new file mode 100644
index 0000000..1a69a49
--- /dev/null
+++ b/src/components/mixin/codeMixin.js
@@ -0,0 +1,133 @@
+import { getCodeStandardList, getAutoCode } from "@/api/common/standard"
+export default {
+  components: {},
+  data() {
+    return {
+      // 缂栫爜
+      // 鏄惁鑷姩鐢熸垚
+      isIdDisabled: false,
+      inputValue: [],
+      explain: "",
+      codenumer: 0, //姣忔杈撳叆鐨勭紪鐮�
+      codenumberList: [], //鏁存潯缂栫爜
+      sum: 0,
+      method: 0,
+      objCode: { name: "", page: 0, pageSize: 0, type: "鐗╂枡缂栫爜", codeStandID: "" },
+      codeRule: {},
+      codeLength: 0,
+      autoCodeObj: {}
+    }
+  },
+
+  methods: {
+    async getRCodeStandardList() {
+      try {
+        if (this.editConfig.title == "鏂板缓") {
+          const res = await getCodeStandardList(this.objCode)
+          this.codenumer = []
+          this.sum = 0
+          this.explain = ""
+          this.codeLength = 0
+          if (res.code == 200) {
+            const { List = [], ID, AutoRule = {}, Method } = res.data ? res.data.list[0] : []
+            this.codeRule = res.data ? res.data.list[0] : {}
+            let autoRule = AutoRule
+            let method = Method ? Method : 0
+            this.method = method
+            let rules = List
+            this.editConfig.infomation.ID = ID
+            if (method == 0 && res.data.list.length > 0) {
+              console.log("sss")
+              rules.forEach((item, index) => {
+                // setTimeout(() => {
+                //   this.codenumer = item.length;
+                //   this.sum++;
+                // }, 200);
+                this.codenumer.push(item.Length)
+                this.codeLength += item.Length
+                this.sum++
+                this.explain += item.Name + (index === rules.Length - 1 ? "" : "/")
+              })
+            }
+            console.log(method)
+            if (method == 1) {
+              if (Object.keys(autoRule).length > 0) {
+                this.isIdDisabled = true
+                if (autoRule.PrefixMethod == 1) {
+                  let prefix = autoRule.PrefixValue.split("").length
+
+                  this.codenumer.push(prefix)
+                  this.codeLength += prefix
+                  if (autoRule.SuffixMethod == 2) {
+                    this.codenumer.push(8)
+                    this.codeLength += 8
+                  }
+                  if (autoRule.AutoLength) {
+                    this.codenumer.push(autoRule.AutoLength)
+                    this.codeLength += autoRule.AutoLength
+                  }
+                  this.sum = prefix + Number(autoRule.AutoLength)
+                  // this.codeList(
+                  //   this.editConfig.infomation.id ? this.editConfig.infomation.id : autoRule.PrefixValue
+                  // )
+                }
+              }
+            }
+
+            this.$forceUpdate()
+          } else {
+            this.$message.error(res.data.msg ? res.data.msg : "鑾峰彇缂栫爜瑙勮寖澶辫触锛岃閲嶈瘯锛�")
+          }
+          this.getAutoCodeValue()
+        } else {
+          this.codeList(this.editConfig.infomation.number)
+        }
+      } catch (err) {
+        console.log(err)
+      }
+    },
+    async getAutoCodeValue() {
+      if (Object.keys(this.codeRule).length > 0) {
+        const res = await getAutoCode(this.codeRule)
+        if (res.code == 200) {
+          let p = {
+            id: "",
+            codeStandardID: "",
+            maxAutoIncr: ""
+          }
+          this.autoCodeObj = res.data ? res.data : p
+          this.$set(this.editConfig.infomation, "number", this.autoCodeObj.id)
+        } else {
+          this.$set(
+            this.editConfig.infomation,
+            "number",
+            this.codeRule.AutoRule.PrefixValue ? this.codeRule.AutoRule.PrefixValue : ""
+          )
+        }
+      }
+    },
+    codeList(val) {
+      this.inputValue = val
+      this.codenumberList = val.toString()
+      this.editConfig.infomation.number = this.codenumberList.length > 0 ? this.codenumberList.replace(/,/g, "") : ""
+      console.log(this.codenumberList.replace(/,/g, ""))
+    },
+    // 璁㈠崟缂栫爜鍗曠嫭鏍¢獙
+    validateCheckCode(rule, value, callback) {
+      if (value && value.length > 0) {
+        if (this.editConfig.title == "鏂板缓") {
+          if (value.length != this.codeLength) {
+            callback(new Error("璇峰~鍐�" + this.codeLength + "浣嶇殑缂栫爜锛�"))
+          }
+        }
+        callback()
+      } else {
+        callback(new Error("璇疯緭鍏ョ紪鐮�"))
+      }
+    },
+    // 閰嶇疆缂栫爜瑙勮寖鐨勮烦杞�
+    numberClick() {
+      window.open("http://www.fai365.com:9080/facilty", "_blank")
+    }
+  }
+}
diff --git a/src/views/purchaseManage/purchase/components/AddPurchase.vue b/src/views/purchaseManage/purchase/components/AddPurchase.vue
index a69d2d1..541e76c 100644
--- a/src/views/purchaseManage/purchase/components/AddPurchase.vue
+++ b/src/views/purchaseManage/purchase/components/AddPurchase.vue
@@ -24,12 +24,27 @@
           <div class="basic-info-view">
             <el-row>
               <el-col :span="12">
-                <el-form-item
-                  label="閲囪喘绫诲瀷"
-                  prop="purchaseTypeId"
-                  class="float_left"
-                  style="width:100%;"
-                >
+                <el-form-item label="閲囪喘鍗曞彿" prop="number">
+                  <!-- <el-input v-model="editConfig.infomation.number"></el-input> -->
+                  <el-input
+                    style="width: 85%"
+                    v-if="
+                      editConfig.title == '缂栬緫' ||
+                      editConfig.title == '鏌ョ湅' ||
+                      (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled))
+                    "
+                    :disabled="editConfig.title != '鏂板缓'"
+                    v-model="editConfig.infomation.number"
+                    placeholder="璇疯緭鍏ョ紪鐮�"
+                  >
+                  </el-input>
+                  <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c; width: 85%"
+                    >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span
+                  >
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="閲囪喘绫诲瀷" prop="purchaseTypeId" class="float_left" style="width: 100%">
                   <el-select
                     :disabled="editConfig.isDisabled"
                     placeholder="璇烽�夋嫨閲囪喘绫诲瀷"
@@ -41,7 +56,7 @@
                       v-for="ele in plcBrandList"
                       :key="ele.name"
                       :label="ele.name"
-                      :value="ele.ID"
+                      :value="ele.id"
                     ></el-option>
                   </el-select>
                   <i
@@ -62,41 +77,29 @@
                       v-model="editConfig.infomation.supplierName"
                       :fetch-suggestions="
                         (queryString, callback) => {
-                          querySearchAsync(queryString, callback, 'supplier');
+                          querySearchAsync(queryString, callback, 'supplier')
                         }
                       "
                       value-key="name"
                       placeholder="璇烽�夋嫨"
                       @select="handleSelectClient('client', $event)"
                     ></el-autocomplete>
-                    <div
-                      v-if="!editConfig.isDisabled"
-                      class="common-select-btn"
-                      @click="selClientClick('client')"
-                    >
+                    <div v-if="!editConfig.isDisabled" class="common-select-btn" @click="selClientClick('client')">
                       <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
                     </div>
                     <div
-                      v-if="
-                        editConfig.infomation.supplierName &&
-                        editConfig.infomation.supplierName.length > 0
-                      "
+                      v-if="editConfig.infomation.supplierName && editConfig.infomation.supplierName.length > 0"
                       class="common-select-btn"
                       @click="clearupClient('client')"
                     >
-                      <i class="el-icon-remove-outline" 
-                      v-if="!editConfig.isDisabled" title="娓呴櫎"></i>
+                      <i class="el-icon-remove-outline" v-if="!editConfig.isDisabled" title="娓呴櫎"></i>
                     </div>
                   </div>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
                 <el-form-item label="鍗曟嵁鏉ユ簮" prop="orderSource">
-                  <el-input
-                    v-model="editConfig.infomation.orderSource"
-                    disabled
-                    placeholder="璇峰~鍐�"
-                  ></el-input>
+                  <el-input v-model="editConfig.infomation.orderSource" disabled placeholder="璇峰~鍐�"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
@@ -177,7 +180,7 @@
           <div class="basic-info-title" style="display: flex">浜у搧淇℃伅</div>
           <div class="product-view">
             <CommonFormTableView
-              :detailEnter=editCommonConfig.detailEnter
+              :detailEnter="editCommonConfig.detailEnter"
               :show-summary="showSummary"
               :recalculateShow="false"
               :product-table-list="productTableList"
@@ -281,226 +284,225 @@
 </template>
 
 <script>
-import CommonFormTableView from "@/components/makepager/CommonFormTableView";
-import BomDialog from "@/components/makepager/BomDialog";
+import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+import BomDialog from "@/components/makepager/BomDialog"
 import { getProductList } from "@/api/productManage/product"
-
-import {
-  addPurchase,
-  updatePurchase,
-  savePurchaseType,
-  getPurchaseType,
-} from "@/api/purchaseManage/purchase";
-
-import SelectSupplierDialog from "@/views/purchaseManage/purchase/components/SelectSupplierDialog";
+import { addPurchase, updatePurchase, savePurchaseType, getPurchaseType } from "@/api/purchaseManage/purchase"
+import SelectSupplierDialog from "@/views/purchaseManage/purchase/components/SelectSupplierDialog"
 // import { formToJSON } from "axios";
+import codeMixin from "@/components/mixin/codeMixin"
+
 export default {
   name: "QuotationDialog",
-  components: { SelectSupplierDialog, CommonFormTableView,BomDialog },
+  components: { SelectSupplierDialog, CommonFormTableView, BomDialog },
+  mixins: [codeMixin],
   props: {
     editCommonConfig: {
       type: Object,
       default: () => {
         return {
-          detailEnter:true,
+          detailEnter: true,
           visible: false,
-          title: "鍒涘缓",
-          infomation: {},
-        };
-      },
-    },
+          title: "鏂板缓",
+          infomation: {}
+        }
+      }
+    }
   },
   data() {
     return {
       editConfig: this.editCommonConfig,
       rules: {
-        purchaseTypeId:[{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+        purchaseTypeId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
         supplierName: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
         phone: [
           {
             required: false,
             message: "璇峰~鍐�",
-            trigger: "change",
+            trigger: "change"
           },
-          { validator: this.validatorPhone, trigger: "change" },
+          { validator: this.validatorPhone, trigger: "change" }
         ],
         wholeDiscount: [
           {
             required: false,
             message: "璇峰~鍐�0-100鐨勬暟瀛�",
-            trigger: "change",
+            trigger: "change"
           },
-          { validator: this.validatorNum, trigger: "change" },
+          { validator: this.validatorNum, trigger: "change" }
         ],
         priceAdjustment: [
           {
             required: false,
             message: "璇峰~鍐�",
-            trigger: "change",
+            trigger: "change"
           },
-          { validator: this.validatorNumThree, trigger: "change" },
+          { validator: this.validatorNumThree, trigger: "change" }
         ],
+        number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }]
       },
       productTableList: {},
       showSummary: {
         show: true,
         total: false,
         sumProp: ["price", "total"],
-        multiply:['amount','price'],
-        titleProp: [
-          "缂栧彿",
-          "浜у搧鍚嶇О",
-          "浜у搧缂栧彿",
-          "璁¢噺鍗曚綅",
-          "瑙勬牸鍨嬪彿",
-          "閲囪喘鍗曚环",
-          "鎻忚堪",
-        ],
+        multiply: ["amount", "price"],
+        titleProp: ["缂栧彿", "浜у搧鍚嶇О", "浜у搧缂栧彿", "璁¢噺鍗曚綅", "瑙勬牸鍨嬪彿", "閲囪喘鍗曚环", "鎻忚堪"],
         mergeNumber: 4,
-        totalName:'灏忚'
+        totalName: "灏忚"
       },
       editSelectSupplierConfig: {
         editVisible: false,
         title: "",
-        infomation: {},
+        infomation: {}
       },
       supplierId: this.editCommonConfig.infomation.supplierId,
       tableData: [],
       productIndex: 0,
-      productId:'',
+      productId: "",
       isNoProduct: true,
       clientList: [],
-      plcBrandList:[],
-      editRow:{
-        isDefault:'pin'
+      plcBrandList: [],
+      editRow: {
+        isDefault: "pin"
       },
-      total:0,
-      totalTwo:0,
-      productListIdx:0,
-      lacks:[],
-    };
+      total: 0,
+      totalTwo: 0,
+      productListIdx: 0,
+      lacks: []
+    }
   },
   created() {
-    this.handleGetBomKindDictList();
+    this.handleGetBomKindDictList()
     this.$store.dispatch("getSupplier")
+    this.formInfo()
   },
   computed: {
     supplierList() {
       return this.$store.state.getSupplierName.supplierList
     }
   },
-  watch:{
-    'editCommonConfig.visible':{
-      immediate:true,
-      handler:function(){
-        
-        this.handleGetBomKindDictList(true);
+  watch: {
+    "editCommonConfig.visible": {
+      immediate: true,
+      handler: function () {
+        this.handleGetBomKindDictList(true)
       }
     }
   },
   methods: {
+    formInfo() {
+      this.objCode.type = "閲囪喘鍗曠紪鐮�"
+      this.objCode.codeStandID = ""
+      if (this.editConfig.infomation.codeStandardID) {
+        this.objCode.codeStandID = this.editConfig.infomation.codeStandardID
+      }
+      this.getRCodeStandardList()
+    },
     validatorNum(rule, value, callback) {
-      if(this.editConfig.infomation.wholeDiscountType==1){
-        if(value==undefined||value==null||(!value&&value!=0)){
-          callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�"));
-        }else{
-          var reg=/^\+?[0-9]\d*$/
-          if(!reg.test(value)){
-            callback(new Error('璇峰~鍐�0-100鐨勬暟瀛�'))
-          }else{
-            if(Number(value)>100){
-              callback(new Error('璇峰~鍐�0-100鐨勬暟瀛�'))
-            }else{
+      if (this.editConfig.infomation.wholeDiscountType == 1) {
+        if (value == undefined || value == null || (!value && value != 0)) {
+          callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�"))
+        } else {
+          var reg = /^\+?[0-9]\d*$/
+          if (!reg.test(value)) {
+            callback(new Error("璇峰~鍐�0-100鐨勬暟瀛�"))
+          } else {
+            if (Number(value) > 100) {
+              callback(new Error("璇峰~鍐�0-100鐨勬暟瀛�"))
+            } else {
               callback()
             }
           }
-        }  
-      }else{
+        }
+      } else {
         this.validatorNumThree(rule, value, callback)
-      }   
+      }
     },
-    validatorNumThree(rule, value, callback){
-      if(value){
-        if(value==undefined||value==null){
-          callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�"));
-        }else{
-          let reg2=/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
-          if(!reg2.test(value)){
-            callback(new Error('璇峰~鍐�2浣嶅皬鏁扮殑鏁板瓧'))
-          }else{
+    validatorNumThree(rule, value, callback) {
+      if (value) {
+        if (value == undefined || value == null) {
+          callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�"))
+        } else {
+          let reg2 = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
+          if (!reg2.test(value)) {
+            callback(new Error("璇峰~鍐�2浣嶅皬鏁扮殑鏁板瓧"))
+          } else {
             callback()
           }
         }
-      }else{
+      } else {
         callback()
-      } 
+      }
     },
     // PLC閰嶇疆璁剧疆
     handleShow() {
-      this.handleGetBomKindDictList();
-      this.$refs.editDialog.editDialogVisible = true;
+      this.handleGetBomKindDictList()
+      this.$refs.editDialog.editDialogVisible = true
     },
     //  PLC閰嶇疆
     handleGetBomKindDictList(val) {
       getPurchaseType().then((res) => {
-        this.plcBrandList = res.data;
+        this.plcBrandList = res.data
         this.setTableForm()
         if (val) {
           for (let i in this.plcBrandList) {
             if (this.plcBrandList[i][this.editRow.isDefault]) {
               this.editConfig.infomation.purchaseTypeId = this.editConfig.infomation.purchaseTypeId
                 ? this.editConfig.infomation.purchaseTypeId
-                : this.plcBrandList[i].ID;
-              this.$set(this.editConfig.infomation, "purchaseTypeId", this.editConfig.infomation.purchaseTypeId);
-             
-              break;
+                : this.plcBrandList[i].id
+              this.$set(this.editConfig.infomation, "purchaseTypeId", this.editConfig.infomation.purchaseTypeId)
+
+              break
             }
           }
         }
-      });
+      })
     },
     handleConfirmSave(data) {
-      console.log(data,'data')
-      data.forEach(ele=>{
+      console.log(data, "data")
+      data.forEach((ele) => {
         delete ele.created_at
       })
 
-      savePurchaseType(data).then((res) => {
-        if (res.code === 200) {
+      savePurchaseType(data).then(
+        (res) => {
+          if (res.code === 200) {
+            this.$message({
+              message: "鎿嶄綔鎴愬姛锛�",
+              type: "success"
+            })
+            this.$refs.editDialog.editDialogVisible = false
+            this.handleGetBomKindDictList(true)
+          }
+        },
+        (err) => {
+          console.error(err)
           this.$message({
-            message: "鎿嶄綔鎴愬姛锛�",
-            type: "success",
-          });
-          this.$refs.editDialog.editDialogVisible = false;
-          this.handleGetBomKindDictList(true);
+            message: "鎿嶄綔澶辫触锛�",
+            type: "warning"
+          })
         }
-      },(err)=>{
-        console.error(err)
-        this.$message({
-          message: "鎿嶄綔澶辫触锛�",
-          type: "warning",
-        });
-      });
+      )
     },
     validatorPhone(rule, value, callback) {
       if (value) {
         if (value == undefined || value == null) {
-          callback(new Error("璇疯緭鍏�"));
+          callback(new Error("璇疯緭鍏�"))
         } else {
           if (value.length != 11) {
-            callback(new Error("闀垮害鍦�11涓瓧绗︼紒"));
+            callback(new Error("闀垮害鍦�11涓瓧绗︼紒"))
           } else {
-            var reg =
-              /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/;
+            var reg = /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/
             if (!reg.test(value)) {
-              callback(new Error("璇峰~鍐欐纭殑鑱旂郴鐢佃瘽锛�"));
+              callback(new Error("璇峰~鍐欐纭殑鑱旂郴鐢佃瘽锛�"))
             } else {
-              callback();
+              callback()
             }
           }
         }
       } else {
-        callback();
+        callback()
       }
     },
     // 淇濆瓨
@@ -509,248 +511,245 @@
         if (valid) {
           for (let i = 0; i < this.tableData.length; i++) {
             if (this.tableData[i].name.length === 0) {
-              this.isNoProduct = true;
-              break;
+              this.isNoProduct = true
+              break
             } else {
-              this.isNoProduct = false;
+              this.isNoProduct = false
             }
           }
           if (this.isNoProduct) {
-            this.$message.error("浜у搧鍚嶇О涓嶈兘涓虹┖");
+            this.$message.error("浜у搧鍚嶇О涓嶈兘涓虹┖")
           } else {
-            const params = this.saveParams();
+            const params = this.saveParams()
             //鏂板缓
-            if (this.editConfig.title === "鍒涘缓") {
-              this.lacks=[]
-              this.tableData.forEach((item)=>{
-                if(this.productTableList.tableProductList.map(obj => obj.number).includes(item.number)) {  
-                    console.log(`${item.name} 鍦ㄦ暟缁勪腑瀛樺湪`);  
+            if (this.editConfig.title === "鏂板缓") {
+              this.lacks = []
+              this.tableData.forEach((item) => {
+                if (this.productTableList.tableProductList.map((obj) => obj.number).includes(item.number)) {
+                  console.log(`${item.name} 鍦ㄦ暟缁勪腑瀛樺湪`)
                 } else {
                   this.lacks.push(item.name)
                 }
               })
-              if(this.lacks.length>0){
-                this.$confirm(`褰撳墠渚涘簲鍟嗕笉鑳芥彁渚涙偍閫夋嫨鐨勪骇鍝�:${this.lacks},    鏄惁缁х画鍒涘缓閲囪喘鍗�?`, '鎻愮ず', {
-                  confirmButtonText: '纭畾',
-                  cancelButtonText: '鍙栨秷',
-                  type: 'warning'
-                }).then(() => {
-                  console.log("纭畾鍒涘缓")
-                  //鍒涘缓閲囪喘鍗�
-                  addPurchase(params).then((res) => {
-                    this.editConfig.visible = false;
-                    if (res.code === 200) {
-                      this.$message.success("鍒涘缓鎴愬姛");
-                      this.$parent.getData();
-                    }
-                  });
-                }).catch(() => {
-                  console.log("鍙栨秷鍒涘缓")
-                });
-              }else{
+              if (this.lacks.length > 0) {
+                this.$confirm(`褰撳墠渚涘簲鍟嗕笉鑳芥彁渚涙偍閫夋嫨鐨勪骇鍝�:${this.lacks},    鏄惁缁х画鍒涘缓閲囪喘鍗�?`, "鎻愮ず", {
+                  confirmButtonText: "纭畾",
+                  cancelButtonText: "鍙栨秷",
+                  type: "warning"
+                })
+                  .then(() => {
+                    console.log("纭畾鍒涘缓")
+                    //鍒涘缓閲囪喘鍗�
+                    addPurchase(params).then((res) => {
+                      this.editConfig.visible = false
+                      if (res.code === 200) {
+                        this.$message.success("鍒涘缓鎴愬姛")
+                        this.$parent.getData()
+                      }
+                    })
+                  })
+                  .catch(() => {
+                    console.log("鍙栨秷鍒涘缓")
+                  })
+              } else {
                 addPurchase(params).then((res) => {
-                  this.editConfig.visible = false;
+                  this.editConfig.visible = false
                   if (res.code === 200) {
-                    this.$message.success("鍒涘缓鎴愬姛");
-                    this.$parent.getData();
+                    this.$message.success("鍒涘缓鎴愬姛")
+                    this.$parent.getData()
                   }
-                });
+                })
               }
             } else {
               // 缂栬緫
               getProductList({
-                supplierId:this.editConfig.infomation.supplierId,
-                page:1,
-                pageSize:100
-              }).then((res)=>{
-                if(res.code===200){
-                  this.lacks=[]
+                supplierId: this.editConfig.infomation.supplierId,
+                page: 1,
+                pageSize: 100
+              }).then((res) => {
+                if (res.code === 200) {
+                  this.lacks = []
                   // 缂栬緫鍓嶅厛鐪嬬湅褰撳墠渚涘簲鍟嗗搴旂殑浜у搧鍒楄〃
                   this.productTableList.tableProductList = res.data.list
                   //褰撳墠浜у搧鏄惁鍦ㄥ綋鍓嶄緵搴斿晢涓嬪瓨鍦�
-                  this.tableData.forEach((item)=>{
-                    if(this.productTableList.tableProductList.map(obj => obj.number).includes(item.number)) {  
-                      console.log(`${item.name} 鍦ㄦ暟缁勪腑瀛樺湪`);  
+                  this.tableData.forEach((item) => {
+                    if (this.productTableList.tableProductList.map((obj) => obj.number).includes(item.number)) {
+                      console.log(`${item.name} 鍦ㄦ暟缁勪腑瀛樺湪`)
                     } else {
                       this.lacks.push(item.name)
                     }
                   })
                   // 涓嶅瓨鍦ㄧ殑浜у搧淇℃伅
-                  if(this.lacks.length>0){
-                    this.$confirm(`褰撳墠渚涘簲鍟嗕笉鑳芥彁渚涙偍閫夋嫨鐨勪骇鍝�:${this.lacks},    鏄惁缁х画鏇存柊閲囪喘鍗�?`, '鎻愮ず', {
-                      confirmButtonText: '纭畾',
-                      cancelButtonText: '鍙栨秷',
-                      type: 'warning'
-                    }).then(() => {
-                      console.log("纭畾鏇存柊")
-                      //鏇存柊閲囪喘鍗�
-                      updatePurchase(params).then((res) => {
-                        this.editConfig.visible = false;
-                        if (res.code === 200) {
-                          this.$message.success("鏇存柊鎴愬姛");
-                          this.$parent.getData();
-                        }
-                      });
-                    }).catch(() => {
-                      console.log("鍙栨秷鏇存柊")
-                    });
-                  }else {
+                  if (this.lacks.length > 0) {
+                    this.$confirm(`褰撳墠渚涘簲鍟嗕笉鑳芥彁渚涙偍閫夋嫨鐨勪骇鍝�:${this.lacks},    鏄惁缁х画鏇存柊閲囪喘鍗�?`, "鎻愮ず", {
+                      confirmButtonText: "纭畾",
+                      cancelButtonText: "鍙栨秷",
+                      type: "warning"
+                    })
+                      .then(() => {
+                        console.log("纭畾鏇存柊")
+                        //鏇存柊閲囪喘鍗�
+                        updatePurchase(params).then((res) => {
+                          this.editConfig.visible = false
+                          if (res.code === 200) {
+                            this.$message.success("鏇存柊鎴愬姛")
+                            this.$parent.getData()
+                          }
+                        })
+                      })
+                      .catch(() => {
+                        console.log("鍙栨秷鏇存柊")
+                      })
+                  } else {
                     updatePurchase(params).then((res) => {
-                      this.editConfig.visible = false;
+                      this.editConfig.visible = false
                       if (res.code === 200) {
-                        this.$message.success("鏇存柊鎴愬姛");
-                        this.$parent.getData();
+                        this.$message.success("鏇存柊鎴愬姛")
+                        this.$parent.getData()
                       }
-                    });
+                    })
                   }
                 }
               })
-              
             }
           }
         } else {
-          console.log("error submit");
-          return false;
+          console.log("error submit")
+          return false
         }
-      });
+      })
     },
     saveParams() {
-      let data =JSON.parse(JSON.stringify(this.editConfig.infomation));
-      
-      if(this.editConfig.infomation.wholeDiscountType==2&&this.editConfig.infomation.wholeDiscount){
-        if(Number(this.editConfig.infomation.wholeDiscount)>Number(this.totalTwo)){
-            this.$message.error('鐩存帴闄嶄环涓嶈兘瓒呰繃浠风◣鍚堣鐨勬�诲拰锛�')
-            return true;
+      let data = JSON.parse(JSON.stringify(this.editConfig.infomation))
+
+      if (this.editConfig.infomation.wholeDiscountType == 2 && this.editConfig.infomation.wholeDiscount) {
+        if (Number(this.editConfig.infomation.wholeDiscount) > Number(this.totalTwo)) {
+          this.$message.error("鐩存帴闄嶄环涓嶈兘瓒呰繃浠风◣鍚堣鐨勬�诲拰锛�")
+          return true
         }
       }
       let params = {
-        productList:this.tableData,
-        purchase:{
-          supplierId:data.supplierId,
-          signingDate:data.signingDate||'',
-          remark:data.remark,
-          orderSource:data.orderSource||'',
-          purchaseTypeId:data.purchaseTypeId||0,
-          phone:data.phone||'',
-          name:data.name||'',
-          deliveryDate:data.deliveryDate||'',
-          contact:data.contact,
-          wholeDiscountType:data.wholeDiscountType?data.wholeDiscountType:0,
-          wholeDiscount:data.wholeDiscount?Number(data.wholeDiscount):0,
-          priceAdjustmentType:data.priceAdjustmentType?data.priceAdjustmentType:0,
-          priceAdjustment:data.priceAdjustment?Number(data.priceAdjustment):0,
-          realTotalPrice:this.total?Number(this.total):0,
-          totalPrice:this.totalTwo?Number(this.totalTwo):0,
-          status:data.status,
-          quantity:data.quantity, // 閲囪喘鏁伴噺
+        productList: this.tableData,
+        purchase: {
+          number: data.number || "",
+          supplierId: data.supplierId,
+          signingDate: data.signingDate || "",
+          remark: data.remark,
+          orderSource: data.orderSource || "",
+          purchaseTypeId: data.purchaseTypeId || 0,
+          phone: data.phone || "",
+          name: data.name || "",
+          deliveryDate: data.deliveryDate || "",
+          contact: data.contact,
+          wholeDiscountType: data.wholeDiscountType ? data.wholeDiscountType : 0,
+          wholeDiscount: data.wholeDiscount ? Number(data.wholeDiscount) : 0,
+          priceAdjustmentType: data.priceAdjustmentType ? data.priceAdjustmentType : 0,
+          priceAdjustment: data.priceAdjustment ? Number(data.priceAdjustment) : 0,
+          realTotalPrice: this.total ? Number(this.total) : 0,
+          totalPrice: this.totalTwo ? Number(this.totalTwo) : 0,
+          status: data.status,
+          quantity: data.quantity // 閲囪喘鏁伴噺
         }
-      };
-      if(data.ID){
-        params.purchase.id=data.ID
       }
-      return params;
+      if (data.ID) {
+        params.purchase.id = data.ID
+      }
+      return params
     },
     handleClose() {
-      this.editConfig.visible = false;
+      this.editConfig.visible = false
     },
     // 閫夋嫨瀹㈡埛鐩稿叧鏂规硶
     querySearchAsync(queryString, cb, value) {
-      this.productTableList.tableProductList=[]
-      var restaurants = [];
+      this.productTableList.tableProductList = []
+      var restaurants = []
       if (value === "supplier") {
-        restaurants = this.supplierList;
-      } 
-      var results = queryString
-        ? restaurants.filter(this.createStateFilter(queryString))
-        : restaurants;
-      cb(results);
+        restaurants = this.supplierList
+      }
+      var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants
+      cb(results)
     },
     createStateFilter(queryString) {
       return (state) => {
-        return (
-          state.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0
-        );
-      };
+        return state.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0
+      }
     },
     // 閫夋嫨渚涘簲鍟�
     async handleSelectClient(value, item) {
-      this.productTableList.supplierId=item.ID
+      this.productTableList.supplierId = item.ID
       if (value === "client") {
-        this.supplierId = item.id;
-        this.editConfig.infomation.supplierId=item.ID
+        this.supplierId = item.id
+        this.editConfig.infomation.supplierId = item.ID
       }
       await getProductList({
-        supplierId:item.ID,
-        page:1,
-        pageSize:100
-      }).then((res)=>{
-        if(res.code===200){
+        supplierId: item.ID,
+        page: 1,
+        pageSize: 100
+      }).then((res) => {
+        if (res.code === 200) {
           this.productTableList.tableProductList = res.data.list
-          console.log(this.productTableList.tableProductList,"pop")
+          console.log(this.productTableList.tableProductList, "pop")
         }
       })
     },
     selClientClick() {
-      this.editSelectSupplierConfig.editVisible = true;
+      this.editSelectSupplierConfig.editVisible = true
     },
     async selClient(row) {
       await getProductList({
-        supplierId:row.ID,
-        page:1,
-        pageSize:100
-      }).then((res)=>{
-        if(res.code===200){
+        supplierId: row.ID,
+        page: 1,
+        pageSize: 100
+      }).then((res) => {
+        if (res.code === 200) {
           this.productTableList.tableProductList = res.data.list
         }
       })
-      this.$set(this.editConfig.infomation,'supplierName',row.name)
-      this.editConfig.infomation.contact = row.contact;
-      this.editConfig.infomation.phone = row.phone;
-      this.editConfig.infomation.supplierId = row.ID;
+      this.$set(this.editConfig.infomation, "supplierName", row.name)
+      this.editConfig.infomation.contact = row.contact
+      this.editConfig.infomation.phone = row.phone
+      this.editConfig.infomation.supplierId = row.ID
     },
     // 娓呴櫎宸查�夋嫨鐢ㄦ埛
     clearupClient(value) {
       if (value == "client") {
-        this.$set(this.editConfig.infomation, "supplierName", "");
-        this.supplierId = null;
-        this.$forceUpdate();
+        this.$set(this.editConfig.infomation, "supplierName", "")
+        this.supplierId = null
+        this.$forceUpdate()
       }
     },
     setTableForm() {
-      if (
-        !this.editConfig.infomation.ID  ||
-        this.editConfig.infomation.productList.length === 0
-      ) {
+      if (!this.editConfig.infomation.ID || this.editConfig.infomation.productList.length === 0) {
         this.tableData = [
           {
-            purchaseId:0,
+            purchaseId: 0,
             productId: this.productId,
-            productIndex:this.productIndex,
+            productIndex: this.productIndex,
             amount: 0,
             name: "",
             number: "",
             price: 0,
             total: 0,
-            remark:'',
-            unit:'',
-            purchasePrice:'',
-            deliveryTime:"",
-            shippingDuration:"",
-            specifications:"",
-            modelNumber:"",
-          },
-        ];
+            remark: "",
+            unit: "",
+            purchasePrice: "",
+            deliveryTime: "",
+            shippingDuration: "",
+            specifications: "",
+            modelNumber: ""
+          }
+        ]
       } else {
-        this.tableData = this.editConfig.infomation.productList;
+        this.tableData = this.editConfig.infomation.productList
         // this.tableData.map((item, index) => {
         //   item.productId = index + 1;
         // });
       }
       this.productTableList = {
-        tableProductList:[],
-        supplierId:undefined,
+        tableProductList: [],
+        supplierId: undefined,
         tableData: this.tableData,
-        disabled:this.editConfig.isDisabled,
+        disabled: this.editConfig.isDisabled,
         tableColumn: [
           {
             label: "浜у搧鍚嶇О",
@@ -758,88 +757,87 @@
             min: 180,
             productName: true,
             isRequird: true,
-            disabled:this.editConfig.isDisabled,
+            disabled: this.editConfig.isDisabled
           },
-          { label: "浜у搧缂栧彿", prop: "number", min: 150,},
+          { label: "浜у搧缂栧彿", prop: "number", min: 150 },
           { label: "璁¢噺鍗曚綅", prop: "unit" },
-          { label: "瑙勬牸鍨嬪彿", prop: "specifications",},
-          { label: "鏁伴噺", prop: "amount", inputNumber: true,disabled:this.editConfig.isDisabled, },
+          { label: "瑙勬牸鍨嬪彿", prop: "specifications" },
+          { label: "鏁伴噺", prop: "amount", inputNumber: true, disabled: this.editConfig.isDisabled },
           {
             label: "閲囪喘鍗曚环",
             prop: "price",
             inputFloat: true,
             isRequird: true,
-            disabled:this.editConfig.isDisabled,
+            disabled: this.editConfig.isDisabled
           },
-          { label: "浠风◣鍚堣", prop: "total", inputFloat: true,disabled:this.editConfig.isDisabled,multiply:true, },
-          { label: "鎻忚堪", prop: "remark", input: true,disabled:this.editConfig.isDisabled},
-        ],
-      };
-      this.toal=this.editConfig.infomation.realTotalPrice
-     
+          { label: "浠风◣鍚堣", prop: "total", inputFloat: true, disabled: this.editConfig.isDisabled, multiply: true },
+          { label: "鎻忚堪", prop: "remark", input: true, disabled: this.editConfig.isDisabled }
+        ]
+      }
+      this.toal = this.editConfig.infomation.realTotalPrice
     },
     // 浜у搧鍒楄〃杈撳叆
     inputContent(val, prop, row) {
       // this.productId = row.productId;
-      this.productIndex=row.productIndex;
-      let num=0
+      this.productIndex = row.productIndex
+      let num = 0
       this.tableData.map((item) => {
-        num+=item.amount
+        num += item.amount
         if (item.productIndex === row.productIndex) {
-          item[prop] = val;
+          item[prop] = val
         }
-      });
-      if(prop==="amount"){
-        this.editConfig.infomation.quantity=num
+      })
+      if (prop === "amount") {
+        this.editConfig.infomation.quantity = num
       }
     },
-    getSummaries(total){
-      this.totalTwo= JSON.parse(JSON.stringify(total));
-      this.total=total;
+    getSummaries(total) {
+      this.totalTwo = JSON.parse(JSON.stringify(total))
+      this.total = total
       this.getTotal()
     },
-    getTotal(){
-      let prie=0
-      if(this.editConfig.infomation.priceAdjustmentType==1){
-        prie=Number(this.editConfig.infomation.priceAdjustment)
-      }else if(this.editConfig.infomation.priceAdjustmentType==2){
-        prie=(-1)*Number(this.editConfig.infomation.priceAdjustment)
-      }else{
-        prie=0
+    getTotal() {
+      let prie = 0
+      if (this.editConfig.infomation.priceAdjustmentType == 1) {
+        prie = Number(this.editConfig.infomation.priceAdjustment)
+      } else if (this.editConfig.infomation.priceAdjustmentType == 2) {
+        prie = -1 * Number(this.editConfig.infomation.priceAdjustment)
+      } else {
+        prie = 0
       }
-      let t=0
-      if(this.editConfig.infomation.wholeDiscountType==1){
-        t=this.totalTwo*Number(this.editConfig.infomation.wholeDiscount)/100
-      }else if(this.editConfig.infomation.wholeDiscountType==2){
-        t=Number(this.editConfig.infomation.wholeDiscount)
-      }else{
-        t=0
+      let t = 0
+      if (this.editConfig.infomation.wholeDiscountType == 1) {
+        t = (this.totalTwo * Number(this.editConfig.infomation.wholeDiscount)) / 100
+      } else if (this.editConfig.infomation.wholeDiscountType == 2) {
+        t = Number(this.editConfig.infomation.wholeDiscount)
+      } else {
+        t = 0
       }
-      this.total=this.totalTwo-t+Number(prie)
+      this.total = this.totalTwo - t + Number(prie)
     },
     // 浜у搧鏂板
     addProductClick() {
-      this.productIndex++;
+      this.productIndex++
       this.tableData.push({
         productIndex: this.productIndex,
-        productId:'',
+        productId: "",
         id: 0,
         amount: 0,
         desc: "",
         name: "",
         number: "",
         price: 0,
-        total: 0,
-      });
-      this.showSummary.show = true;
+        total: 0
+      })
+      this.showSummary.show = true
     },
     //  浜у搧娓呯┖
     emptyProductClick() {
-      this.productIndex = 1;
+      this.productIndex = 1
       this.tableData = [
         {
-          productId: '',
-          productIndex:this.productIndex,
+          productId: "",
+          productIndex: this.productIndex,
           id: 0,
           amount: "0",
           desc: "",
@@ -847,26 +845,26 @@
           number: "",
           price: 0,
           total: 0
-        },
-      ];
-      this.productTableList.tableData = this.tableData;
+        }
+      ]
+      this.productTableList.tableData = this.tableData
     },
     clearupProduct(data) {
-      this.tableData = data;
-      this.productTableList.tableData = this.tableData;
+      this.tableData = data
+      this.productTableList.tableData = this.tableData
     },
     //閫夋嫨琛�
-    rowClick(row){
-      console.log(row,"xuanze")
-      this.productListIdx=row.productIndex
+    rowClick(row) {
+      console.log(row, "xuanze")
+      this.productListIdx = row.productIndex
     },
     //閫変腑浜у搧
-    handleProduct(item){
-      this.tableData[this.productListIdx].productId=item.ID
-      console.log(item,"閫変腑浜у搧",this.tableData)
+    handleProduct(item) {
+      this.tableData[this.productListIdx].productId = item.ID
+      console.log(item, "閫変腑浜у搧", this.tableData)
     }
-  },
-};
+  }
+}
 </script>
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue
index 806d08f..2c70931 100644
--- a/src/views/purchaseManage/purchase/index.vue
+++ b/src/views/purchaseManage/purchase/index.vue
@@ -1,16 +1,16 @@
 <template>
-  <div class="purchase"  v-loading="tableLoading">
+  <div class="purchase" v-loading="tableLoading">
     <div class="filter">
       <div class="filter-card">
         <CommonSearch
-            :show-add="true"
-            add-title="鏂板缓"
-            @addCommonClick="addBtnClick"
-            :show-download="false"
-            :amount-view="false"
-            :show-action-btn="false"
-            :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О/鐗╂枡鍚嶇О/閲囪喘鍗曞悕绉�'"
-            @searchClick="onFilterSearch"
+          :show-add="true"
+          add-title="鏂板缓"
+          @addCommonClick="addBtnClick"
+          :show-download="false"
+          :amount-view="false"
+          :show-action-btn="false"
+          :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О/鐗╂枡鍚嶇О/閲囪喘鍗曞悕绉�'"
+          @searchClick="onFilterSearch"
         />
       </div>
     </div>
@@ -19,30 +19,45 @@
       <div class="body-card">
         <div class="list-view">
           <TableCommonView
-              ref="tableListRef"
-              :table-list="tableList"
-              @selCommonClick="selCommonClick"
-              @selTableCol="selTableCol"
+            ref="tableListRef"
+            :table-list="tableList"
+            @selCommonClick="selCommonClick"
+            @selTableCol="selTableCol"
           >
             <template slot="tableButton">
-              <el-table-column  label="鐘舵��" width="120">
+              <el-table-column label="鐘舵��" width="120">
                 <template slot-scope="scope">
                   {{ getpurchaseStatus(scope.row.status) }}
                 </template>
               </el-table-column>
               <el-table-column label="鎿嶄綔" width="220" fixed="right">
                 <template slot-scope="scope">
-                  <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnConfirm(scope.row)" style="margin-right: 5px"
-                  >纭</el-button
+                  <el-button
+                    v-if="scope.row.status === 1"
+                    type="text"
+                    size="small"
+                    @click="btnConfirm(scope.row)"
+                    style="margin-right: 5px"
+                    >纭</el-button
                   >
-                  <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnEdit(scope.row)" style="margin-right: 5px"
-                  >缂栬緫</el-button
+                  <el-button
+                    v-if="scope.row.status === 1"
+                    type="text"
+                    size="small"
+                    @click="btnEdit(scope.row)"
+                    style="margin-right: 5px"
+                    >缂栬緫</el-button
                   >
                   <el-button type="text" size="small" @click="btnLook(scope.row)" style="margin-right: 5px"
-                  >鏌ョ湅</el-button
+                    >鏌ョ湅</el-button
                   >
-                  <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnCancel(scope.row)" style="margin-right: 5px"
-                  >鍙栨秷</el-button
+                  <el-button
+                    v-if="scope.row.status === 1"
+                    type="text"
+                    size="small"
+                    @click="btnCancel(scope.row)"
+                    style="margin-right: 5px"
+                    >鍙栨秷</el-button
                   >
                   <!-- <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnDelete(scope.row)" style="margin-right: 5px"
                   >鍒犻櫎</el-button
@@ -59,7 +74,6 @@
       </div>
     </div>
 
-
     <!-- 鏂板缓/缂栬緫閿�鍞嚎绱� -->
     <!-- <AddSalesLeadDialog v-if="editSalesLeadConfig.visible" :edit-rightContent-config="editSalesLeadConfig" /> -->
     <!-- 璇︽儏 -->
@@ -71,11 +85,11 @@
 
 <script>
 import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
-import { getPurchaseList, getPurchaseInfo, submitPurchase,deletePurchase } from "@/api/purchaseManage/purchase"
+import { getPurchaseList, getPurchaseInfo, submitPurchase, deletePurchase } from "@/api/purchaseManage/purchase"
 import DetailSupplier from "@/views/purchaseManage/purchase/DetailSupplier"
 import AddPurchase from "@/views/purchaseManage/purchase/components/AddPurchase"
 import { getSupplierList } from "@/api/supplierManage/supplier"
-import { getDataByType } from "@/api/data";
+import { getDataByType } from "@/api/data"
 export default {
   name: "SupplierManage",
   props: {},
@@ -84,7 +98,7 @@
   computed: {},
   data() {
     return {
-      purchaseStatusList:getDataByType('purchaseStatus'),
+      purchaseStatusList: getDataByType("purchaseStatus"),
       tableLoading: false,
       tableList: {}, // 鍒楄〃
       selValueList: [],
@@ -97,15 +111,15 @@
       editConfig: {
         visible: false,
         title: "鍒涘缓",
-        isDisabled:false,
-        detailEnter:false,
+        isDisabled: false,
+        detailEnter: false,
         infomation: {
-          supplierList:[]
+          supplierList: []
         }
       },
       tableColumn: [
         { label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 },
-        { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true ,default:true},
+        { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true, default: true },
         { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true },
         { label: "渚涘簲鍟嗗悕绉�", prop: "supplierName", min: 130 },
         { label: "閲囪喘鏁伴噺", prop: "quantity", min: 130 },
@@ -113,22 +127,18 @@
         { label: "缁忓姙浜�", prop: "handledBy", min: 130 },
         { label: "鍒跺崟浜�", prop: "creator", min: 130 }
       ],
-      showCol: ['閲囪喘鍗曞彿', '閲囪喘鍗曞悕绉�', '鍗曟嵁绫诲瀷', '渚涘簲鍟嗗悕绉�', '閲囪喘鏁伴噺', '鏀惰揣浠撳簱','缁忓姙浜�','鍒跺崟浜�'],
-      pagerOptions:{
-        pageSize:15,
-        currPage:1,
-      },
+      showCol: ["閲囪喘鍗曞彿", "閲囪喘鍗曞悕绉�", "鍗曟嵁绫诲瀷", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鏀惰揣浠撳簱", "缁忓姙浜�", "鍒跺崟浜�"]
     }
   },
   created() {
-    console.log(this.$route.params,"璺敱鍙傛暟")
-    if(this.$route.params.supplierId){
+    console.log(this.$route.params, "璺敱鍙傛暟")
+    if (this.$route.params.supplierId) {
       this.editConfig.visible = true
       this.editConfig.infomation = {
         productList: [],
         purchaseTypeId: "",
-        supplierId: this.$route.params.supplierId||'',
-        supplierName: this.$route.params.supplierName||'',
+        supplierId: this.$route.params.supplierId || "",
+        supplierName: this.$route.params.supplierName || "",
         orderSource: "鎵嬪姩鍒涘缓",
         name: "",
         contact: "",
@@ -159,11 +169,11 @@
         return "--"
       }
     },
-    setColumnVisible(showCol){
-      return  this.tableColumn.map(ele=>{
+    setColumnVisible(showCol) {
+      return this.tableColumn.map((ele) => {
         return {
           ...ele,
-          isShowColumn:showCol.includes(ele.label)
+          isShowColumn: showCol.includes(ele.label)
         }
       })
     },
@@ -173,64 +183,62 @@
         selectIndex: true,
         showcol: this.showCol,
         allcol: [],
-        tableColumn:this.setColumnVisible(this.showCol)
+        tableColumn: this.setColumnVisible(this.showCol)
       }
-      this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label);
+      this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
     },
     selTableCol(val) {
-      this.showcol = val;
-      this.tableList.tableColumn = this.setColumnVisible(val);
+      this.showcol = val
+      this.tableList.tableColumn = this.setColumnVisible(val)
     },
     // 璇锋眰鏁版嵁
     async getData() {
       await getPurchaseList({
-        keyword: this.search||'',
+        keyword: this.search || "",
         page: this.pagerOptions.currPage,
         pageSize: this.pagerOptions.pageSize
       })
-      .then((res) => {
-        if (res.code === 200) {
-          let list = res.data.list
-          list.map((item)=>{
-            item.supplierName=item.supplier.name
-          })
-          this.tableList.tableInfomation = list || []
-          this.pagerOptions.totalCount = res.data.total
-        }
-      })
-      .catch((err) => {
-        console.log(err)
-      })
+        .then((res) => {
+          if (res.code === 200) {
+            let list = res.data.list
+            list.map((item) => {
+              item.supplierName = item.supplier.name
+            })
+            this.tableList.tableInfomation = list || []
+            this.pagerOptions.totalCount = res.data.total
+          }
+        })
+        .catch((err) => {
+          console.log(err)
+        })
     },
     // 鑾峰彇渚涘簲鍟嗘暟鎹�
     async getSupplierData() {
       await getSupplierList({
         // [val]: content,
-        status:1,
-        page:1,
+        status: 1,
+        page: 1,
         pageSize: 10
-      })
-      .then((res) => {
+      }).then((res) => {
         if (res.data.code == 200) {
-          this.editConfig.infomation.supplierList=res.data.data.list
-          
+          this.editConfig.infomation.supplierList = res.data.data.list
         }
       })
     },
     // 鎼滅储
-    onFilterSearch(searchText){
-      this.search = searchText ?? ''
+    onFilterSearch(searchText) {
+      this.search = searchText ?? ""
       this.pagerOptions.currPage = 1
       this.getData()
     },
     // 鏂板缓
     addBtnClick() {
-      this.editConfig.detailEnter=false
-      this.editConfig.isDisabled=false
+      this.editConfig.detailEnter = false
+      this.editConfig.isDisabled = false
       // this.editRow = {};
       // this.$refs.add.islook = true;
       this.editConfig.visible = true
-      this.editConfig.title = "鍒涘缓"
+      this.editConfig.title = "鏂板缓"
       this.editConfig.infomation = {
         productList: [],
         purchaseTypeId: "",
@@ -238,6 +246,7 @@
         supplierName: "",
         orderSource: "鎵嬪姩鍒涘缓",
         name: "",
+        number: "",
         contact: "",
         phone: "",
         signingDate: "",
@@ -253,16 +262,16 @@
 
     // 缂栬緫
     btnEdit(row) {
-      this.editConfig.detailEnter=false
-      this.editConfig.isDisabled=false
+      this.editConfig.detailEnter = false
+      this.editConfig.isDisabled = false
       this.tableLoading = true
-      getPurchaseInfo({ id: row.ID }).then((res) => {
+      getPurchaseInfo({ id: row.id }).then((res) => {
         if (res.code == 200) {
           this.tableLoading = false
           this.editConfig.visible = true
           this.editConfig.title = "缂栬緫"
-          res.data.productList.map((item,index)=>{
-            item.productIndex=index
+          res.data.productList.map((item, index) => {
+            item.productIndex = index
           })
           this.editConfig.infomation = {
             productList: res.data.productList,
@@ -281,20 +290,20 @@
     },
     // 纭鍙戣揣
     btnConfirm(row) {
-      let string='鏄惁鎻愪氦锛�'
-      if(!row.supplierName){
-        string='鎮ㄦ湁蹇呭~瀛楁鏈綍鍏ワ紝璇锋鏌ユ暟鎹畬鏁存�с��'
+      let string = "鏄惁鎻愪氦锛�"
+      if (!row.supplierName) {
+        string = "鎮ㄦ湁蹇呭~瀛楁鏈綍鍏ワ紝璇锋鏌ユ暟鎹畬鏁存�с��"
       }
       this.$confirm(string, "鎻愮ず", {
         confirmButtonText: "纭畾",
         cancelButtonText: "鍙栨秷",
         type: "warning"
-      })
-        .then(() => {
-          if(!row.supplierName){
-            this.btnEdit(row) 
-          }else{
-            submitPurchase({ id: row.ID,status:2 }).then((response) => {
+      }).then(
+        () => {
+          if (!row.supplierName) {
+            this.btnEdit(row)
+          } else {
+            submitPurchase({ id: row.ID, status: 2 }).then((response) => {
               if (response.code === 200) {
                 this.$message.success("鎻愪氦鎴愬姛")
                 this.getData()
@@ -303,38 +312,42 @@
               }
             })
           }
-          
-        },(e)=>{
+        },
+        (e) => {
           console.error(e)
-        })
+        }
+      )
     },
     // 鍙栨秷
-    btnCancel(row){
+    btnCancel(row) {
       this.$confirm("鏄惁鍙栨秷?", "鎻愮ず", {
         confirmButtonText: "纭畾",
         cancelButtonText: "鍙栨秷",
         type: "warning"
-      })
-      .then(() => {
-        submitPurchase({ id: row.ID,status:5 }).then((response) => {
-          if (response.code === 200) {
-            this.$message.success("宸插彇娑�")
-            this.getData()
-          } else {
-            // this.$message.warning("鎻愪氦澶辫触")
-          }
-        })
-      },(e)=>{
-        console.error(e)
-      })
+      }).then(
+        () => {
+          submitPurchase({ id: row.ID, status: 5 }).then((response) => {
+            if (response.code === 200) {
+              this.$message.success("宸插彇娑�")
+              this.getData()
+            } else {
+              // this.$message.warning("鎻愪氦澶辫触")
+            }
+          })
+        },
+        (e) => {
+          console.error(e)
+        }
+      )
     },
     // 鍒犻櫎
-    btnDelete(row){
-      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
-          confirmButtonText: '纭畾',
-          cancelButtonText: '鍙栨秷',
-          type: 'warning'
-        }).then(() => {
+    btnDelete(row) {
+      this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
           deletePurchase({ id: row.ID }).then((response) => {
             if (response.code === 200) {
               this.$message.success("鍒犻櫎鎴愬姛")
@@ -343,19 +356,20 @@
               this.$message.warning("鍒犻櫎澶辫触")
             }
           })
-        }).catch(() => {
+        })
+        .catch(() => {
           this.$message({
-            type: 'info',
-            message: '宸插彇娑堝垹闄�'
-          });          
-        });
+            type: "info",
+            message: "宸插彇娑堝垹闄�"
+          })
+        })
     },
     // 鏌ョ湅
-    btnLook(row){
-      this.editConfig.detailEnter=true
-      this.editConfig.isDisabled=true
+    btnLook(row) {
+      this.editConfig.detailEnter = true
+      this.editConfig.isDisabled = true
       this.tableLoading = true
-      getPurchaseInfo({ id: row.ID }).then((res) => {
+      getPurchaseInfo({ id: row.id }).then((res) => {
         if (res.code == 200) {
           this.tableLoading = false
           this.editConfig.visible = true
@@ -376,9 +390,9 @@
     // 璇︽儏
     selCommonClick(row) {
       this.tableLoading = true
-      getPurchaseInfo({ id: row.ID }).then((res) => {
+      getPurchaseInfo({ id: row.id }).then((res) => {
         if (res.code == 200) {
-          console.log(res,"浜у搧璇︽儏")
+          console.log(res, "浜у搧璇︽儏")
           this.tableLoading = false
           this.commonDetail.visible = true
           this.commonDetail.infomation = {
@@ -399,16 +413,16 @@
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style lang="scss" scoped>
-.purchase{
+.purchase {
   height: 100%;
   overflow: hidden;
   background-color: transparent;
-  .filter{
+  .filter {
     height: 80px;
     display: flex;
     align-items: center;
     padding: 12px 20px 0 20px;
-    &-card{
+    &-card {
       height: 80px;
       display: flex;
       align-items: center;
@@ -419,7 +433,7 @@
       background-color: #fff;
     }
   }
-  .body{
+  .body {
     box-sizing: border-box;
     padding: 10px 20px;
     border-radius: 12px;
diff --git a/src/views/supplierManage/supplier/AddSupplier.vue b/src/views/supplierManage/supplier/AddSupplier.vue
index c8dbfa4..37b31a4 100644
--- a/src/views/supplierManage/supplier/AddSupplier.vue
+++ b/src/views/supplierManage/supplier/AddSupplier.vue
@@ -25,7 +25,21 @@
             <el-row>
               <el-col :span="12">
                 <el-form-item label="渚涘簲鍟嗙紪鍙�" prop="number">
-                  <el-input v-model="editConfig.infomation.number"></el-input>
+                  <!-- <el-input v-model="editConfig.infomation.number"></el-input> -->
+                  <el-input
+                    style="width: 85%"
+                    v-if="
+                      editConfig.title == '淇敼' ||
+                      (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled))
+                    "
+                    :disabled="editConfig.title != '鏂板缓'"
+                    v-model="editConfig.infomation.number"
+                    placeholder="璇疯緭鍏ョ紪鐮�"
+                  >
+                  </el-input>
+                  <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c; width: 85%"
+                    >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span
+                  >
                 </el-form-item>
               </el-col>
               <el-col :span="12">
@@ -100,8 +114,8 @@
                     style="width: 63%"
                   >
                     <el-option
-                      v-for="item in memberOptions"
-                      :key="item.id"
+                      v-for="(item, index) in memberOptions"
+                      :key="index"
                       :label="item.username"
                       :value="item.userName"
                     >
@@ -211,7 +225,7 @@
   createContract,
   updateSupplier,
   getIndustryList,
-  getSupplierTypeList,
+  getSupplierTypeList
   // downloadContract
   // previewContract
 } from "@/api/supplierManage/supplier"
@@ -220,8 +234,10 @@
 import download from "downloadjs"
 // import { renderAsync } from "docx-preview"
 import axios from "axios"
+import codeMixin from "@/components/mixin/codeMixin"
 export default {
   name: "AddSupplierDialog",
+  mixins: [codeMixin],
   props: {
     addCommonConfig: {
       type: Object,
@@ -237,7 +253,8 @@
   components: { EditDropdownDialog },
   computed: {
     headers() {
-      const authorization = "Bearer "+document.cookie.replace(/(?:(?:^|.*;\s*)token\s*=\s*([^;]*).*$)|^.*$/, "$1")|| ''
+      const authorization =
+        "Bearer " + document.cookie.replace(/(?:(?:^|.*;\s*)token\s*=\s*([^;]*).*$)|^.*$/, "$1") || ""
       return { authorization }
     }
   },
@@ -264,7 +281,8 @@
             message: "璇疯緭鍏ユ纭殑閭鏍煎紡",
             trigger: "blur"
           }
-        ]
+        ],
+        number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }]
       },
       supplierTypeOptions: [{ id: 1, name: "渚涘簲鍟嗙被鍨�1" }], // 渚涘簲鍟嗙被鍨�
       industryOptions: [{ id: 1, name: "鎵�灞炶涓�1" }], // 鎵�灞炶涓�
@@ -288,8 +306,17 @@
     if (this.editConfig.title === "淇敼") {
       // this.previewContract()
     }
+    this.formInfo()
   },
   methods: {
+    formInfo() {
+      this.objCode.type = "渚涘簲鍟嗙紪鐮�"
+      this.objCode.codeStandID = ""
+      if (this.editConfig.infomation.codeStandardID) {
+        this.objCode.codeStandID = this.editConfig.infomation.codeStandardID
+      }
+      this.getRCodeStandardList()
+    },
     // 閿�鍞礋璐d汉
     async getMemberList() {
       await getMemberListFromGrpc({
@@ -365,12 +392,13 @@
         detailAddress: data.detailAddress || "",
         email: data.email || "",
         fileId: this.file_id || 0,
-        id: data.ID || 0,
+        id: data.id || 0,
         industry: data.industry || "",
         name: data.name || "",
         number: data.number || "",
         phone: data.phone || "",
-        responsiblePersonName: data.responsiblePersonName || document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1"),
+        responsiblePersonName:
+          data.responsiblePersonName || document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1"),
         status: data.status || 0,
         supplierType: data.supplierType || "",
         url: data.url || ""
@@ -453,29 +481,34 @@
     //     window.open(routeUrl.href, "_blank")
     //   }
     // }
-    async previewClick() {  
-      this.previewUrl = "/api/previewContract?id=" + this.file_id  
-      if (this.file_name.includes("pdf")) {  
+    async previewClick() {
+      this.previewUrl = "/api/previewContract?id=" + this.file_id
+      if (this.file_name.includes("pdf")) {
         console.log("鏄痯df鏂囦欢")
-        await axios.get(this.previewUrl, { headers: { "Authorization":"Bearer "+ document.cookie.replace(/(?:(?:^|.*;\s*)token\s*=\s*([^;]*).*$)|^.*$/, "$1")} })  
-          .then(response => {  
-            window.open(this.previewUrl, "_blank") 
-            console.log("response",response,this.previewUrl)
-          })  
-          .catch(error => {  
-            console.error(error);  
-          });  
-      } else {  
-        console.log(this.previewUrl,"鐪嬬湅鏄暐瀛�")
-        let routeUrl = this.$router.resolve({  
-          path: "/PreviewFile",  
-          query: {  
-            //瑕佷紶鐨勫弬鏁�  
-            previewUrl: this.previewUrl  
-          }  
-        })  
-        window.open(routeUrl.href, "_blank")  
-      }  
+        await axios
+          .get(this.previewUrl, {
+            headers: {
+              Authorization: "Bearer " + document.cookie.replace(/(?:(?:^|.*;\s*)token\s*=\s*([^;]*).*$)|^.*$/, "$1")
+            }
+          })
+          .then((response) => {
+            window.open(this.previewUrl, "_blank")
+            console.log("response", response, this.previewUrl)
+          })
+          .catch((error) => {
+            console.error(error)
+          })
+      } else {
+        console.log(this.previewUrl, "鐪嬬湅鏄暐瀛�")
+        let routeUrl = this.$router.resolve({
+          path: "/PreviewFile",
+          query: {
+            //瑕佷紶鐨勫弬鏁�
+            previewUrl: this.previewUrl
+          }
+        })
+        window.open(routeUrl.href, "_blank")
+      }
     }
   }
 }
diff --git a/src/views/supplierManage/supplier/index.vue b/src/views/supplierManage/supplier/index.vue
index 72e8400..3a98c79 100644
--- a/src/views/supplierManage/supplier/index.vue
+++ b/src/views/supplierManage/supplier/index.vue
@@ -119,7 +119,7 @@
 <script>
 import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
 import { getSupplierList, changeSupplierStatus } from "@/api/supplierManage/supplier"
-import {getPurchaseList} from "@/api/purchaseManage/purchase"
+import { getPurchaseList } from "@/api/purchaseManage/purchase"
 import DetailSupplier from "@/views/supplierManage/supplier/DetailSupplier"
 import AddSupplier from "@/views/supplierManage/supplier/AddSupplier"
 import RaleteSupplierList from "@/views/supplierManage/supplier/RaleteSupplierList"
@@ -144,7 +144,7 @@
       commonDetail: {
         visible: false,
         infomation: {},
-        productListInfo:[]
+        productListInfo: []
       },
       editConfig: {
         visible: false,
@@ -277,14 +277,14 @@
       await getSupplierList({
         name: this.searchSupplierName,
         page: this.pagerOptions.currPage,
-        pageSize: this.pagerOptions.pageSize,
+        pageSize: this.pagerOptions.pageSize
       }).then((res) => {
         console.log(res)
         if (res.code === 200) {
           const list = res.data.list.map((item) => {
             return {
               ...item,
-              id: item.ID,
+              id: item.id,
               status_name: item.status === 0 ? "鏈惎鐢�" : "鍚敤"
             }
           })
@@ -292,7 +292,7 @@
           this.tableList.tableInfomation = list || []
           this.pagerOptions.totalCount = res.data.total
           if (list && list.length > 0) {
-            this.supplierId = this.tableList.tableInfomation[0].ID
+            this.supplierId = this.tableList.tableInfomation[0].id
             this.selectRow = this.tableList.tableInfomation.length > 0 ? this.tableList.tableInfomation[0] : {}
           } else {
             this.supplierId = 0
@@ -347,7 +347,10 @@
     addBtnClick() {
       this.editConfig.visible = true
       this.editConfig.title = "鏂板缓"
-      this.editConfig.infomation = { fileId: 0,responsiblePersonName:document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")}
+      this.editConfig.infomation = {
+        fileId: 0,
+        responsiblePersonName: document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
+      }
     },
     // 鍚敤渚涘簲鍟�
     async enableClick(row, value) {
@@ -395,7 +398,7 @@
         type: "warning"
       })
         .then(() => {
-          deleteProduct({ id: row.ID }).then((response) => {
+          deleteProduct({ id: row.id }).then((response) => {
             if (response.code === 200) {
               this.$message.success("鍒犻櫎鎴愬姛")
               this.getProductList()
@@ -418,13 +421,13 @@
       console.log(row)
       this.productPagerOptions.currPage = 1
       this.selectRow = row
-      this.supplierId = row.ID
+      this.supplierId = row.id
       this.getProductList()
     },
     // 璇︽儏
     async selCommonClick(row) {
-      await getPurchaseList({pageSize:10,page:1,supplierId:row.ID}).then((res)=>{
-        this.commonDetail.productListInfo=res.data.list
+      await getPurchaseList({ pageSize: 10, page: 1, supplierId: row.ID }).then((res) => {
+        this.commonDetail.productListInfo = res.data.list
       })
       this.commonDetail.visible = true
       this.commonDetail.infomation = { ...row }
@@ -442,9 +445,9 @@
     // 鍒涘缓閲囪喘鍗�
     creatPurchase() {
       this.editPurchaseConfig.visible = true
-      this.editPurchaseConfig.title = "鍒涘缓"
+      this.editPurchaseConfig.title = "鏂板缓"
       this.editPurchaseConfig.infomation = {
-        supplierId: this.selectRow.ID,
+        supplierId: this.selectRow.id,
         supplierName: this.selectRow.name
       }
     }

--
Gitblit v1.8.0