Browse Source

feat:客户、供应商开票信息更改

snow 1 year ago
parent
commit
ef39cabde2

+ 6 - 0
src/components/search/src/customer.vue

@@ -45,6 +45,12 @@ export default {
     }
   },
   methods:{
+    async init(param){
+      const {code, data} = await asyncRequest.customer(param)
+      if(code !== 1) return
+      this.list = data.list
+      this._value = data.list[0][this.prop]
+    },
     async onFetch(keyword){
       const {code, data} = await asyncRequest.customer({companyName: keyword})
       if(code !== 1) return

+ 6 - 0
src/components/search/src/supplier.vue

@@ -40,6 +40,12 @@ export default {
     }
   },
   methods:{
+    async init(param){
+      const {code, data} = await asyncRequest.supplier(param)
+      if(code !== 1) return
+      this.list = data.list
+      this._value = data.list[0][this.prop]
+    },
     async onFetch(keyword){
       const {code, data} = await asyncRequest.supplier({name: keyword})
       if(code !== 1) return

+ 21 - 12
src/views/operate/invoicing/addEdit.vue

@@ -25,7 +25,7 @@
             label-width="108px"
             class="demo-ruleForm"
             ><el-row>
-              <el-col :span="24">
+              <!-- <el-col :span="24">
                 <el-form-item label="抬头类型" prop="title_type">
                   <el-select
                     :disabled="isDetail"
@@ -42,12 +42,12 @@
                     />
                   </el-select>
                 </el-form-item>
-              </el-col>
+              </el-col> -->
               <el-col :span="24">
                 <el-form-item label="发票抬头" prop="title">
                   <el-input
                     :disabled="isDetail"
-                    placeholder="抬头类型"
+                    placeholder="发票抬头"
                     maxlength="100"
                     v-model="ruleForm.title"
                   />
@@ -55,13 +55,15 @@
               </el-col>
 
               <el-col :span="24">
-                <el-form-item label="客户公司" prop="companyNo">
-                  <search-customer 
+                <el-form-item label="客户公司" prop="code">
+                  <search-customer
+                    ref="search"
                     prop="companyNo"
                     placeholder="客户公司" 
                     :disabled="isDetail"
-                    :value.sync="ruleForm.companyNo"
-                    style="width:100%" />
+                    :value.sync="ruleForm.code"
+                    style="width:100%"
+                  />
                 </el-form-item>
               </el-col>
               
@@ -247,7 +249,7 @@ export default {
       title: "添加开票信息",
       showModelThis: this.showModel,
       dataInfo: {},
-      companyNoNames: "",
+      codeNames: "",
       typeOptins: [
         {
           code: "客户抬头",
@@ -291,7 +293,7 @@ export default {
         title_type: [{ required: true, message: "请选择抬头类型", trigger: "change" }],
         bank_account: [{ required: true, message: "请输入开户银行账号", trigger: "blur" }],
         address: [{ required: true, message: "请输入纳税登记地址", trigger: "blur" }],
-        companyNo:[{ required:true, message:'请选择客户公司', trigger:'change' }],
+        code:[{ required:true, message:'请选择客户公司', trigger:'change' }],
         tel: [{ required: true, validator: validatemobile, trigger: "blur" }],
       },
     };
@@ -349,10 +351,10 @@ export default {
         address,
         tel,
         title_type,
-        companyNo = ""
+        code = ""
       } = this.sitem;
       this.ruleForm = {
-        companyNo,
+        code,
         id: this.id || "",
         title: title || "",
         tax_no: tax_no || "91110114MA004JNJ28",
@@ -362,6 +364,10 @@ export default {
         tel: tel || "",
         title_type: title_type || "客户抬头",
       };
+
+      this.$nextTick(() => {
+        code && this.$refs.search.init({companyNo: code})
+      })
       this.setTypeM(tel || "")
     },
 
@@ -390,7 +396,10 @@ export default {
             return;
           }
           this.loading = true;
-          let obj = JSON.parse(JSON.stringify(this.ruleForm));
+          let obj = JSON.parse(JSON.stringify({
+            ...this.ruleForm,
+            title_type:'客户抬头'
+          }));
           let res = {};
           if (this.id === "add") {
             delete obj["id"];

+ 24 - 7
src/views/operate/invoicing/index.vue

@@ -50,9 +50,9 @@
                 >
                   <el-option
                     v-for="item in statusList"
-                    :key="'status' + item.id"
-                    :label="item.label"
-                    :value="item.id"
+                    :key="'status' + item.code"
+                    :label="item.name"
+                    :value="item.code"
                   />
                 </el-select>
               </el-col>
@@ -69,7 +69,7 @@
               </el-col>
             </el-row>
             <el-row>
-              <el-col :span="4" style="width: 543px">
+              <el-col :span="4" style="width: 343px">
                 <el-input
                   :size="searchSize"
                   v-model="sinput"
@@ -99,6 +99,13 @@
                   </el-select>
                 </el-input>
               </el-col>
+
+              <el-col :span="3" style="margin-left:10px;width: 203px">
+                <search-customer prop="companyNo" size="mini" :value.sync="parmValue.code" placeholder="业务公司"
+                  @change="searchList()"
+                />
+              </el-col>
+
               <el-col
                 :span="3"
                 class="fr"
@@ -230,6 +237,7 @@ export default {
       isDetail: false,
       modelId: 0,
       parmValue: {
+        code:"",
         name: "", // 业务员名字
         username: "", // 账号
         status: "", //
@@ -257,9 +265,14 @@ export default {
       },
       // 表格 - 列参数
       columns: [
+        // {
+        //   prop: "title_type",
+        //   label: "抬头类型",
+        // },
         {
-          prop: "title_type",
-          label: "抬头类型",
+          prop:'companyName',
+          label:'客户公司名称',
+          "min-width": "150px",
         },
         {
           prop: "tax_no",
@@ -320,6 +333,7 @@ export default {
       this.select = "title";
       this.sinput = "";
       this.parmValue = {
+        code:"",
         name: "", // 业务员名字
         username: "", // 账号
         status: "", //
@@ -392,7 +406,10 @@ export default {
         ...this.parmValue,
         limit: this.parmValue.size,
       };
-      const { code, data } = await asyncRequest.list(model);
+      const { code, data } = await asyncRequest.list({
+        ...model,
+        title_type: '客户抬头'
+      });
       if (code === 1) {
         const { list, total } = data;
         this.tableData = list;

+ 19 - 10
src/views/operate/supplierInvoice/addEdit.vue

@@ -25,7 +25,7 @@
             label-width="108px"
             class="demo-ruleForm"
             ><el-row>
-              <el-col :span="24">
+              <!-- <el-col :span="24">
                 <el-form-item label="抬头类型" prop="title_type">
                   <el-select
                     :disabled="isDetail"
@@ -42,12 +42,12 @@
                     />
                   </el-select>
                 </el-form-item>
-              </el-col>
+              </el-col> -->
               <el-col :span="24">
                 <el-form-item label="发票抬头" prop="title">
                   <el-input
                     :disabled="isDetail"
-                    placeholder="抬头类型"
+                    placeholder="发票抬头"
                     maxlength="100"
                     v-model="ruleForm.title"
                   />
@@ -55,11 +55,12 @@
               </el-col>
 
               <el-col :span="24">
-                <el-form-item label="供应商公司" prop="supplierNo">
+                <el-form-item label="供应商公司" prop="code">
                   <search-supplier 
+                    ref="search"
                     prop="code"
                     placeholder="供应商公司" 
-                    :value.sync="ruleForm.supplierNo"
+                    :value.sync="ruleForm.code"
                     :disabled="isDetail"
                     style="width:100%" />
                 </el-form-item>
@@ -245,7 +246,7 @@ export default {
       title: "添加开票信息",
       showModelThis: this.showModel,
       dataInfo: {},
-      supplierNoNames: "",
+      codeNames: "",
       typeOptins: [
         {
           code: "客户抬头",
@@ -290,7 +291,7 @@ export default {
         bank_account: [
           { required: true, message: "请输入开户银行账号", trigger: "blur" },
         ],
-        supplierNo:[
+        code:[
           { required:true, message: '请选择供应商公司', trigger:'change' }
         ],
         address: [{ required: true, message: "请输入纳税登记地址", trigger: "blur" }],
@@ -351,10 +352,10 @@ export default {
         address,
         tel,
         title_type,
-        supplierNo = ""
+        code = ""
       } = this.sitem;
       this.ruleForm = {
-        supplierNo,
+        code,
         id: this.id || "",
         title: title || "",
         tax_no: tax_no || "91110114MA004JNJ28",
@@ -364,6 +365,11 @@ export default {
         tel: tel || "",
         title_type: title_type || "客户抬头",
       };
+
+      this.$nextTick(() => {
+        code && this.$refs.search.init({ code })
+      })
+
       this.setTypeM(tel || "")
     },
 
@@ -392,7 +398,10 @@ export default {
             return;
           }
           this.loading = true;
-          let obj = JSON.parse(JSON.stringify(this.ruleForm));
+          let obj = JSON.parse(JSON.stringify({
+            ...this.ruleForm,
+            title_type:'供应商抬头'
+          }));
           let res = {};
           if (this.id === "add") {
             delete obj["id"];

+ 17 - 8
src/views/operate/supplierInvoice/index.vue

@@ -50,9 +50,9 @@
                 >
                   <el-option
                     v-for="item in statusList"
-                    :key="'status' + item.id"
-                    :label="item.label"
-                    :value="item.id"
+                    :key="'status' + item.code"
+                    :label="item.name"
+                    :value="item.code"
                   />
                 </el-select>
               </el-col>
@@ -76,7 +76,7 @@
               </el-col>
             </el-row>
             <el-row>
-              <el-col :span="4" style="width: 543px">
+              <el-col :span="4" style="width: 343px">
                 <el-input
                   :size="searchSize"
                   v-model="sinput"
@@ -107,6 +107,12 @@
                 </el-input>
               </el-col>
 
+              <el-col :span="3" style="margin-left:10px;width: 203px">
+                <search-supplier prop="code" size="mini" :value.sync="parmValue.code" placeholder="供应商公司"
+                  @change="searchList()"
+                />
+              </el-col>
+
               <el-col
                 :span="3"
                 class="fr"
@@ -250,6 +256,7 @@ export default {
       isDetail: false,
       modelId: 0,
       parmValue: {
+        code:"",
         name: "", // 业务员名字
         username: "", // 账号
         status: "", //
@@ -277,9 +284,10 @@ export default {
       },
       // 表格 - 列参数
       columns: [
-        {
-          prop: "title_type",
-          label: "抬头类型",
+          {
+          prop:'companyName',
+          label:'供应商公司名称',
+          "min-width": "150px",
         },
         {
           prop: "tax_no",
@@ -340,6 +348,7 @@ export default {
       this.select = "title";
       this.sinput = "";
       this.parmValue = {
+        code: "",
         name: "", // 业务员名字
         username: "", // 账号
         status: "", //
@@ -409,7 +418,7 @@ export default {
       this.parmValue.title = "";
       this.parmValue[this.select] = this.sinput;
       const model = { ...this.parmValue, limit: this.parmValue.size };
-      const { code, data } = await asyncRequest.list({ ...model });
+      const { code, data } = await asyncRequest.list({ ...model ,title_type: '供应商抬头'});
       
       if (code === 1) {
         const { list, total } = data;

+ 4 - 4
src/views/platformService/settlement/components/waitSupplierUpload.vue

@@ -9,10 +9,10 @@
               style="width:100%" 
             >
               <el-option 
-                v-for="invoice in openInvoiceTypeList" 
-                :value="invoice.value" 
-                :label="invoice.label"  
-                :key="invoice.value" 
+                v-for="{ value, label } in openInvoiceTypeList" 
+                :value="value" 
+                :label="label"  
+                :key="value" 
               />
             </el-select>
           </el-form-item>