From b5acca92bd0794c24310d15c6fba8433d08119c9 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期三, 11 十月 2023 15:27:09 +0800
Subject: [PATCH] feat: 销售机会报价单销售总单销售子单 编辑弹窗调整表单编号位置, 更换适配新的编码组件

---
 src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue |   61 ++++++++++-
 src/views/sales/quotation/AddQuotationDialog.vue               |   58 ++++++++++-
 src/views/sales/subOrder/AddSubOrderDialog.vue                 |   61 ++++++++++-
 src/views/sales/masterOrder/AddMasterOrderDialog.vue           |   60 ++++++++++-
 src/views/client/followupRecords/mixin/codeMixin.js            |    2 
 5 files changed, 210 insertions(+), 32 deletions(-)

diff --git a/src/views/client/followupRecords/mixin/codeMixin.js b/src/views/client/followupRecords/mixin/codeMixin.js
index c4bd01d..0594f64 100644
--- a/src/views/client/followupRecords/mixin/codeMixin.js
+++ b/src/views/client/followupRecords/mixin/codeMixin.js
@@ -72,7 +72,7 @@
               }
             }
           }
-          if(this.editContactsConfig.infomation.id){
+          if(this.editConfig.infomation.id){
             this.codeList( this.editConfig.infomation.number);
           }
           
diff --git a/src/views/sales/masterOrder/AddMasterOrderDialog.vue b/src/views/sales/masterOrder/AddMasterOrderDialog.vue
index 666e60f..462e94e 100644
--- a/src/views/sales/masterOrder/AddMasterOrderDialog.vue
+++ b/src/views/sales/masterOrder/AddMasterOrderDialog.vue
@@ -22,6 +22,31 @@
           <div v-if="isUnflod" class="basic-info-title">鍩烘湰淇℃伅</div>
           <div class="basic-info-view">
             <el-row>
+<!--              <el-col v-if="isUnflod" :span="12">-->
+<!--                <el-form-item label="鍗曟嵁缂栧彿" prop="number">-->
+<!--                  <el-input v-model="editConfig.infomation.number"></el-input>-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+              <el-col v-if="isUnflod" :span="12">
+                <el-form-item label="鍗曟嵁缂栧彿" prop="number">
+                  <WordInput
+                      v-if="codenumer && (explain != '' || isIdDisabled)&&method == 0"
+                      :codenumer="codenumer"
+                      :sum="sum"
+                      :disabled="editConfig.infomation.id || isIdDisabled"
+                      :inputValue="inputValue"
+                      @codeList="codeList"
+                  />
+                  <span v-else-if="method == 0" style="color: #f56c6c"
+                  >璇蜂紭鍏堥厤缃紪鐮佽鑼�
+                    <el-button type="text"  @click="numberClick">
+                        閰嶇疆瑙勮寖
+                      </el-button
+                      ></span
+                  >
+                  <span  v-else>鑷姩鐢熸垚</span>
+                </el-form-item>
+              </el-col>
               <el-col :span="12">
                 <el-form-item label="瀹㈡埛鍚嶇О" prop="client_name">
                   <div class="custom-name">
@@ -46,11 +71,6 @@
                       <i class="el-icon-remove-outline" title="娓呴櫎"></i>
                     </div>
                   </div>
-                </el-form-item>
-              </el-col>
-              <el-col v-if="isUnflod" :span="12">
-                <el-form-item label="鍗曟嵁缂栧彿" prop="number">
-                  <el-input v-model="editConfig.infomation.number"></el-input>
                 </el-form-item>
               </el-col>
               <el-col v-if="isUnflod" :span="12">
@@ -157,8 +177,11 @@
 import { getAllData } from "@/api/client/client"
 import { getAddMasterOrder, getUpdateMasterOrder } from "@/api/sales/masterOrder"
 import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
+import WordInput from "@/components/wordInput.vue";
+import codeMixin from "@/views/client/followupRecords/mixin/codeMixin";
 export default {
   name: "QuotationDialog",
+  mixins:[codeMixin],
   props: {
     editCommonConfig: {
       type: Object,
@@ -171,7 +194,7 @@
       }
     }
   },
-  components: { SelectClientDialog },
+  components: {WordInput, SelectClientDialog },
   computed: {
     clientList() {
       return this.$store.state.getClientName.clientList
@@ -193,14 +216,33 @@
         title: "",
         infomation: {}
       },
-      clientId: this.editCommonConfig.infomation.client_id
+      clientId: this.editCommonConfig.infomation.client_id,
+      objCode: { name: "", page: 0, pageSize: 0, type: "閿�鍞�诲崟缂栫爜",codeStandID:'' },
     }
   },
   created() {
     this.$store.dispatch("geClient")
     this.getCommonData()
+    this.formInfo()
+  },
+  watch:{
+    'editCommonConfig.visible'(val){
+      if(val){
+        this.formInfo()
+      }
+    },
+    'editCommonConfig.infomation.codeStandID'(val){
+      this.formInfo()
+    }
   },
   methods: {
+    formInfo(){
+      this.objCode.codeStandID = ''
+      if(this.editConfig.infomation.codeStandID){
+        this.objCode.codeStandID = this.editConfig.infomation.codeStandID;
+      }
+      this.getRCodeStandardList();
+    },
     getCommonData() {
       getAllData()
         .then((res) => {
@@ -251,7 +293,9 @@
         member_id: data.member_id || 0,
         money: data.money || 0,
         number: data.number || "",
-        start_time: data.start_time || ""
+        start_time: data.start_time || "",
+        codeStandID:data.ID,
+        codeRule:this.codeRule,
       }
       return params
     },
diff --git a/src/views/sales/quotation/AddQuotationDialog.vue b/src/views/sales/quotation/AddQuotationDialog.vue
index 23192e4..ca6a31b 100644
--- a/src/views/sales/quotation/AddQuotationDialog.vue
+++ b/src/views/sales/quotation/AddQuotationDialog.vue
@@ -24,6 +24,27 @@
           <div class="basic-info-view">
             <el-row>
               <el-col :span="12">
+                <el-form-item label="鎶ヤ环缂栧彿" prop="number">
+                  <WordInput
+                      v-if="codenumer && (explain != '' || isIdDisabled)&&method == 0"
+                      :codenumer="codenumer"
+                      :sum="sum"
+                      :disabled="editConfig.infomation.id || isIdDisabled"
+                      :inputValue="inputValue"
+                      @codeList="codeList"
+                  />
+                  <span v-else-if="method == 0" style="color: #f56c6c"
+                  >璇蜂紭鍏堥厤缃紪鐮佽鑼�
+                    <el-button type="text"  @click="numberClick">
+                        閰嶇疆瑙勮寖
+                      </el-button
+                      ></span
+                  >
+                  <span  v-else>鑷姩鐢熸垚</span>
+                </el-form-item>
+              </el-col>
+
+              <el-col :span="12">
                 <el-form-item label="瀹㈡埛鍚嶇О" prop="client_name">
                   <div class="custom-name">
                     <el-autocomplete
@@ -49,11 +70,11 @@
                   </div>
                 </el-form-item>
               </el-col>
-              <el-col :span="12">
-                <el-form-item label="鎶ヤ环缂栧彿" prop="number">
-                  <el-input v-model="editConfig.infomation.number"></el-input>
-                </el-form-item>
-              </el-col>
+<!--              <el-col :span="12">-->
+<!--                <el-form-item label="鎶ヤ环缂栧彿" prop="number">-->
+<!--                  <el-input v-model="editConfig.infomation.number"></el-input>-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
               <el-col :span="12">
                 <el-form-item label="鎶ヤ环鍗曠姸鎬�" prop="quotation_status_id">
                   <div class="common-select">
@@ -294,8 +315,10 @@
 import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
 import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog"
 import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog"
+import codeMixin from "@/views/client/followupRecords/mixin/codeMixin";
 export default {
   name: "QuotationDialog",
+  mixins:[codeMixin],
   props: {
     editCommonConfig: {
       type: Object,
@@ -364,7 +387,8 @@
       saleChanceId: this.editCommonConfig.infomation.sale_chance_id,
       tableData: [],
       productId: 1,
-      isNoProduct: true
+      isNoProduct: true,
+      objCode: { name: "", page: 0, pageSize: 0, type: "鎶ヤ环缂栫爜",codeStandID:'' },
     }
   },
   created() {
@@ -373,8 +397,26 @@
     this.$store.dispatch("geChance")
     this.setTableForm()
     this.getCommonData()
+    this.formInfo()
+  },
+  watch:{
+    'editConfig.visible'(val){
+      if(val){
+        this.formInfo()
+      }
+    },
+    'editConfig.infomation.codeStandID'(){
+      this.formInfo()
+    }
   },
   methods: {
+    formInfo(){
+      this.objCode.codeStandID = ''
+      if(this.editConfig.infomation.codeStandID){
+        this.objCode.codeStandID = this.editConfig.infomation.codeStandID;
+      }
+      this.getRCodeStandardList();
+    },
     getCommonData() {
       getAllData()
         .then((res) => {
@@ -448,7 +490,9 @@
         quotation_status_id: data.quotation_status_id || 0,
         sale_chance_id: this.saleChanceId || 0,
         validity_date: data.validity_date || "",
-        products: this.tableData
+        products: this.tableData,
+        codeStandID:data.ID,
+        codeRule:this.codeRule,
       }
       return params
     },
diff --git a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
index 69c9edd..9bc0695 100644
--- a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
+++ b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
@@ -23,6 +23,31 @@
           <div class="basic-info-title">鏈轰細鍩烘湰淇℃伅</div>
           <div class="basic-info-view">
             <el-row>
+<!--              <el-col :span="12">-->
+<!--                <el-form-item label="閿�鍞満浼氱紪鍙�" prop="number">-->
+<!--                  <el-input v-model="editConfig.infomation.number"></el-input>-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+             <el-col :span="12">
+               <el-form-item label="閿�鍞満浼氱紪鍙�" prop="number">
+                 <WordInput
+                     v-if="codenumer && (explain != '' || isIdDisabled)&&method == 0"
+                     :codenumer="codenumer"
+                     :sum="sum"
+                     :disabled="editConfig.infomation.id || isIdDisabled"
+                     :inputValue="inputValue"
+                     @codeList="codeList"
+                 />
+                 <span v-else-if="method == 0" style="color: #f56c6c"
+                 >璇蜂紭鍏堥厤缃紪鐮佽鑼�
+                    <el-button type="text"  @click="numberClick">
+                        閰嶇疆瑙勮寖
+                      </el-button
+                      ></span
+                 >
+                 <span  v-else>鑷姩鐢熸垚</span>
+               </el-form-item>
+             </el-col>
               <el-col :span="12">
                 <el-form-item label="瀹㈡埛鍚嶇О" prop="client_name">
                   <div class="custom-name">
@@ -47,11 +72,6 @@
                       <i class="el-icon-remove-outline" title="娓呴櫎"></i>
                     </div>
                   </div>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="閿�鍞満浼氱紪鍙�" prop="number">
-                  <el-input v-model="editConfig.infomation.number"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
@@ -552,8 +572,11 @@
 import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
 import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog"
 import { getCityList } from "@/api/common/address"
+import WordInput from "@/components/wordInput.vue";
+import codeMixin from "@/views/client/followupRecords/mixin/codeMixin";
 export default {
   name: "AddSalesOpportunityDialog",
+  mixins:[codeMixin],
   props: {
     editCommonConfig: {
       type: Object,
@@ -566,7 +589,7 @@
       }
     }
   },
-  components: { SelectClientDialog, SelectContactDialog },
+  components: {WordInput, SelectClientDialog, SelectContactDialog },
   computed: {
     searchCommonHeight() {
       return this.$refs.searchCommonView.offsetHeight
@@ -615,7 +638,8 @@
       },
       restaurants: [],
       clientId: this.editCommonConfig.infomation.client_id,
-      contactId: this.editCommonConfig.infomation.contact_id
+      contactId: this.editCommonConfig.infomation.contact_id,
+      objCode: { name: "", page: 0, pageSize: 0, type: "閿�鍞満浼氱紪鐮�",codeStandID:'' },
     }
   },
   created() {
@@ -625,8 +649,26 @@
       this.getCityList(this.editConfig.infomation.province_id, "edit")
     }
     this.getCommonData()
+    this.formInfo();
+  },
+  watch:{
+    'editConfig.visible'(val){
+      if(val){
+        this.formInfo()
+      }
+    },
+    'editConfig.infomation.codeStandID'(){
+      this.formInfo()
+    }
   },
   methods: {
+    formInfo(){
+      this.objCode.codeStandID = ''
+      if(this.editConfig.infomation.codeStandID){
+        this.objCode.codeStandID = this.editConfig.infomation.codeStandID;
+      }
+      this.getRCodeStandardList();
+    },
     getCommonData() {
       this.editConfig.infomation.country_id = 1
       this.editConfig.infomation.province_id =
@@ -727,7 +769,10 @@
         whether_established: data.whether_established || "",
 
         remark: data.remark || "",
-        detail_address: data.detail_address || ""
+        detail_address: data.detail_address || "",
+
+        codeStandID:data.ID,
+        codeRule:this.codeRule,
       }
       return params
     },
diff --git a/src/views/sales/subOrder/AddSubOrderDialog.vue b/src/views/sales/subOrder/AddSubOrderDialog.vue
index 10f5a17..7e46442 100644
--- a/src/views/sales/subOrder/AddSubOrderDialog.vue
+++ b/src/views/sales/subOrder/AddSubOrderDialog.vue
@@ -22,6 +22,31 @@
           <div class="basic-info-title">鍩烘湰淇℃伅</div>
           <div class="basic-info-view">
             <el-row>
+<!--              <el-col :span="12">-->
+<!--                <el-form-item label="鍗曟嵁缂栧彿" prop="number">-->
+<!--                  <el-input v-model="editConfig.infomation.number"></el-input>-->
+<!--                </el-form-item>-->
+<!--              </el-col>-->
+              <el-col :span="12">
+                <el-form-item label="鍗曟嵁缂栧彿" prop="number">
+                  <WordInput
+                      v-if="codenumer && (explain != '' || isIdDisabled)&&method == 0"
+                      :codenumer="codenumer"
+                      :sum="sum"
+                      :disabled="editConfig.infomation.id || isIdDisabled"
+                      :inputValue="inputValue"
+                      @codeList="codeList"
+                  />
+                  <span v-else-if="method == 0" style="color: #f56c6c"
+                  >璇蜂紭鍏堥厤缃紪鐮佽鑼�
+                    <el-button type="text"  @click="numberClick">
+                        閰嶇疆瑙勮寖
+                      </el-button
+                      ></span
+                  >
+                  <span  v-else>鑷姩鐢熸垚</span>
+                </el-form-item>
+              </el-col>
               <el-col :span="12">
                 <el-form-item label="瀹㈡埛鍚嶇О" prop="client_name">
                   <div class="custom-name">
@@ -48,11 +73,7 @@
                   </div>
                 </el-form-item>
               </el-col>
-              <el-col :span="12">
-                <el-form-item label="鍗曟嵁缂栧彿" prop="number">
-                  <el-input v-model="editConfig.infomation.number"></el-input>
-                </el-form-item>
-              </el-col>
+
               <el-col :span="12">
                 <el-form-item label="閿�鍞�诲崟" prop="master_order_number">
                   <div class="custom-name">
@@ -174,10 +195,13 @@
 import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
 import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
 import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
+import WordInput from "@/components/wordInput.vue";
+import codeMixin from "@/views/client/followupRecords/mixin/codeMixin";
 
 export default {
   name: "SubOrderDialog",
-  components: { CommonFormTableView, SelectClientDialog, SelectCommonDialog },
+  mixins:[codeMixin],
+  components: {WordInput, CommonFormTableView, SelectClientDialog, SelectCommonDialog },
   props: {
     editCommonConfig: {
       type: Object,
@@ -239,7 +263,8 @@
       masterId: this.editCommonConfig.infomation.masterOrderId,
       tableData: [],
       productId: 1,
-      addProductArr: []
+      addProductArr: [],
+      objCode: { name: "", page: 0, pageSize: 0, type: "閿�鍞瓙鍗曠紪鐮�",codeStandID:'' },
     }
   },
   created() {
@@ -247,8 +272,26 @@
     this.$store.dispatch("geMaster")
     this.setTableForm()
     this.getCommonData()
+    this.formInfo();
+  },
+  watch:{
+    'editConfig.visible'(val){
+      if(val){
+        this.formInfo()
+      }
+    },
+    'editConfig.infomation.codeStandID'(){
+      this.formInfo()
+    }
   },
   methods: {
+    formInfo(){
+      this.objCode.codeStandID = ''
+      if(this.editConfig.infomation.codeStandID){
+        this.objCode.codeStandID = this.editConfig.infomation.codeStandID;
+      }
+      this.getRCodeStandardList();
+    },
     getCommonData() {
       getAllData()
         .then((res) => {
@@ -321,7 +364,9 @@
         masterOrderId: this.masterId || 0,
         memberId: data.memberId || 0,
         number: data.number || "",
-        product: this.tableData
+        product: this.tableData,
+        codeStandID:data.ID,
+        codeRule:this.codeRule,
       }
       return params
     },

--
Gitblit v1.8.0