From 4faaa50ff4a44a07949f82271170bec1d9a9e8ef Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 11 十月 2023 16:06:23 +0800 Subject: [PATCH] Merge branch 'dev' of http://192.168.5.5:10010/r/web/crm-web into wn --- src/views/service/serviceContract/AddServiceContractDialog.vue | 47 ++++ src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue | 61 +++++ src/views/service/serviceFollowup/AddServiceFollowupDialog.vue | 47 ++++ src/views/sales/quotation/AddQuotationDialog.vue | 58 +++++ src/views/sales/subOrder/AddSubOrderDialog.vue | 61 +++++ src/api/sales/contractManage.js | 6 src/views/sales/masterOrder/AddMasterOrderDialog.vue | 60 +++++ src/views/sales/contractManage/AddContractManageDialog.vue | 47 ++++ src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue | 48 ++++ src/views/service/clientServiceOrder/mixin/codeMixin.js | 102 +++++++++++ src/views/sales/contractManage/index.vue | 2 11 files changed, 479 insertions(+), 60 deletions(-) diff --git a/src/api/sales/contractManage.js b/src/api/sales/contractManage.js index cc57f57..10038f8 100644 --- a/src/api/sales/contractManage.js +++ b/src/api/sales/contractManage.js @@ -17,11 +17,11 @@ }) } // 鍒犻櫎鍚堝悓绠$悊 -export function getDelContract(data) { +export function getDelContract(id) { return request({ - url: "/api/contract/delete", + url: `/api/contract/delete/${id}`, method: "delete", - data + id }) } // 鏇存柊鍚堝悓绠$悊 diff --git a/src/views/sales/contractManage/AddContractManageDialog.vue b/src/views/sales/contractManage/AddContractManageDialog.vue index d0a9d4f..31f8c7e 100644 --- a/src/views/sales/contractManage/AddContractManageDialog.vue +++ b/src/views/sales/contractManage/AddContractManageDialog.vue @@ -21,6 +21,23 @@ <div class="basic-info-view"> <el-row> <el-col :span="12"> + <el-form-item label="鍗曟嵁缂栧彿" prop="number"> + <!-- <el-input v-model="editConfig.infomation.number" style="width: 100%"></el-input> --> + <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 @@ -45,11 +62,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" style="width: 100%"></el-input> </el-form-item> </el-col> <el-col :span="12"> @@ -211,8 +223,10 @@ import { getAddContract, getUpdateContract } from "@/api/sales/contractManage" import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" +import codeMixin from "@/views/client/followupRecords/mixin/codeMixin" export default { name: "AddContractManageDialog", + mixins: [codeMixin], props: { editCommonConfig: { type: Object, @@ -265,8 +279,27 @@ this.$store.dispatch("geClient") this.$store.dispatch("geQuotation") this.getCommonData() + this.formInfo() + }, + watch: { + "editCommonConfig.visible"(val) { + if (val) { + this.formInfo() + } + }, + "editCommonConfig.infomation.codeStandID"() { + this.formInfo() + } }, methods: { + formInfo() { + this.objCode.type = "鍚堝悓缂栫爜" + this.objCode.codeStandID = "" + if (this.editConfig.infomation.codeStandID) { + this.objCode.codeStandID = this.editConfig.infomation.codeStandID + } + this.getRCodeStandardList() + }, getCommonData() { getAllData() .then((res) => { @@ -318,7 +351,9 @@ member_id: data.memberId || 0, number: data.number || "", quotation_id: this.quotationId || 0, - status_id: data.statusId || 0 + status_id: data.statusId || 0, + codeStandID: data.ID, + codeRule: this.codeRule } return params }, diff --git a/src/views/sales/contractManage/index.vue b/src/views/sales/contractManage/index.vue index 64821f8..8976ada 100644 --- a/src/views/sales/contractManage/index.vue +++ b/src/views/sales/contractManage/index.vue @@ -221,7 +221,7 @@ type: "warning" }) .then(() => { - getDelContract({ ids: [id] }).then((response) => { + getDelContract(id).then((response) => { if (response.code === 200) { this.$message.success("鍒犻櫎鎴愬姛") this.getData() 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 }, diff --git a/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue b/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue index 65bf383..6afd7f5 100644 --- a/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue +++ b/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue @@ -24,6 +24,23 @@ <div class="basic-info-view"> <el-row> <el-col :span="12"> + <el-form-item label="鏈嶅姟鍗曠紪鍙�" prop="serviceNumber"> + <!-- <el-input v-model="editConfig.infomation.serviceNumber" style="width: 100%"></el-input> --> + <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 @@ -50,11 +67,7 @@ </div> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="鏈嶅姟鍗曠紪鍙�" prop="serviceNumber"> - <el-input v-model="editConfig.infomation.serviceNumber" style="width: 100%"></el-input> - </el-form-item> - </el-col> + <el-col :span="12"> <el-form-item label="鏈嶅姟鍚堝悓"> <div class="custom-name"> @@ -631,10 +644,11 @@ getTimeSpentList } from "@/api/common/other" import Status from "@/common/const/commonStatus" +import codeMixin from "./mixin/codeMixin" export default { name: "AddClientServiceOrderDialog", - mixins: [pageMixin], + mixins: [pageMixin, codeMixin], props: { editCommonConfig: { type: Object, @@ -751,8 +765,26 @@ this.getSeverityList() this.getPriorityLevelList() this.getTimeSpentList() + this.formInfo() + }, + watch: { + "editCommonConfig.visible"(val) { + if (val) { + this.formInfo() + } + }, + "editCommonConfig.infomation.codeStandID"() { + this.formInfo() + } }, methods: { + formInfo() { + this.objCode.codeStandID = "" + if (this.editConfig.infomation.codeStandID) { + this.objCode.codeStandID = this.editConfig.infomation.codeStandID + } + this.getRCodeStandardList() + }, setTable() { this.recordTableList = { tableInfomation: [], @@ -847,7 +879,9 @@ solutionRemark: data.solutionRemark || "", serviceOrderStatusId: data.serviceOrderStatusId || 0, subject: data.subject || "", - timeSpentId: data.timeSpentId || 0 + timeSpentId: data.timeSpentId || 0, + codeStandID: data.ID, + codeRule: this.codeRule } return params }, diff --git a/src/views/service/clientServiceOrder/mixin/codeMixin.js b/src/views/service/clientServiceOrder/mixin/codeMixin.js new file mode 100644 index 0000000..07a2455 --- /dev/null +++ b/src/views/service/clientServiceOrder/mixin/codeMixin.js @@ -0,0 +1,102 @@ +import WordInput from "@/components/wordInput" +import { getCodeStandardList } from "@/api/common/standard" +export default { + components: { + WordInput + }, + data() { + return { + // 缂栫爜 + // 鏄惁鑷姩鐢熸垚 + isIdDisabled: false, + inputValue: [], + explain: "", + codenumer: 0, //姣忔杈撳叆鐨勭紪鐮� + codenumberList: [], //鏁存潯缂栫爜 + sum: 0, + method: 0, + objCode: { name: "", page: 0, pageSize: 0, type: "瀹㈡埛鏈嶅姟缂栫爜", codeStandID: "" }, + codeRule: {} + } + }, + + methods: { + async getRCodeStandardList() { + try { + const res = await getCodeStandardList(this.objCode) + this.codenumer = [] + this.sum = 0 + this.explain = "" + if (res.data.code == 200) { + const { + List = [], + ID, + AutoRule = {}, + Method + } = res.data.data && res.data.data.data ? res.data.data.data[0] : [] + this.codeRule = res.data.data && res.data.data.data ? res.data.data.data[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.data.data.length > 0) { + rules.forEach((item, index) => { + // setTimeout(() => { + // this.codenumer = item.length; + // this.sum++; + // }, 200); + this.codenumer.push(item.Length) + this.sum++ + this.explain += item.Name + (index === rules.Length - 1 ? "" : "/") + }) + } + 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) + if (autoRule.SuffixMethod == 2) { + this.codenumer.push(8) + } + if (autoRule.AutoLength) { + this.codenumer.push(autoRule.AutoLength) + } + this.sum = prefix + Number(autoRule.AutoLength) + this.codeList( + this.editConfig.infomation.serviceNumber + ? this.editConfig.infomation.serviceNumber + : autoRule.PrefixValue + ) + return true + } + } + } + if (this.editConfig.infomation.id) { + this.codeList(this.editConfig.infomation.serviceNumber) + } + + this.$forceUpdate() + } else { + this.$message.error(res.data.msg ? res.data.msg : "鑾峰彇缂栫爜瑙勮寖澶辫触锛岃閲嶈瘯锛�") + } + } catch (err) { + console.log(err) + } + }, + codeList(val) { + console.log(val, "===val codelist") + this.inputValue = val + this.codenumberList = val.toString() + this.editConfig.infomation.serviceNumber = + this.codenumberList.length > 0 ? this.codenumberList.replace(/,/g, "") : "" + console.log(this.codenumberList.replace(/,/g, "")) + }, + // 閰嶇疆缂栫爜瑙勮寖鐨勮烦杞� + numberClick() { + window.open("http://www.fai365.com:9080/facilty", "_blank") + } + } +} diff --git a/src/views/service/serviceContract/AddServiceContractDialog.vue b/src/views/service/serviceContract/AddServiceContractDialog.vue index 2719d49..78e80ef 100644 --- a/src/views/service/serviceContract/AddServiceContractDialog.vue +++ b/src/views/service/serviceContract/AddServiceContractDialog.vue @@ -24,6 +24,23 @@ <div class="basic-info-view"> <el-row> <el-col :span="12"> + <el-form-item label="鏈嶅姟鍚堝悓缂栧彿" prop="number"> + <!-- <el-input v-model="editConfig.infomation.number" style="width: 100%"></el-input> --> + <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 @@ -48,11 +65,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" style="width: 100%"></el-input> </el-form-item> </el-col> <el-col :span="12"> @@ -436,8 +448,10 @@ import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog" import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog" import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" +import codeMixin from "@/views/client/followupRecords/mixin/codeMixin" export default { name: "AddServiceContractDialog", + mixins: [codeMixin], props: { editCommonConfig: { type: Object, @@ -530,8 +544,27 @@ this.$store.dispatch("geQuotation") this.setTableForm() this.getCommonData() + this.formInfo() + }, + watch: { + "editCommonConfig.visible"(val) { + if (val) { + this.formInfo() + } + }, + "editCommonConfig.infomation.codeStandID"() { + this.formInfo() + } }, methods: { + formInfo() { + this.objCode.type = "鏈嶅姟鍚堝悓缂栫爜" + this.objCode.codeStandID = "" + if (this.editConfig.infomation.codeStandID) { + this.objCode.codeStandID = this.editConfig.infomation.codeStandID + } + this.getRCodeStandardList() + }, getCommonData() { getAllData() .then((res) => { @@ -611,7 +644,9 @@ terms: data.terms || "", typeId: 0, serviceContractTypeId: data.serviceContractTypeId || 0, - serviceContractStatusId: data.serviceContractStatusId || 0 + serviceContractStatusId: data.serviceContractStatusId || 0, + codeStandID: data.ID, + codeRule: this.codeRule } return params }, diff --git a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue index caebbba..0c4b224 100644 --- a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue +++ b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue @@ -24,6 +24,23 @@ <div class="basic-info-view"> <el-row> <el-col :span="12"> + <el-form-item label="鍥炶鍗曠紪鍙�" prop="number"> + <!-- <el-input v-model="editConfig.infomation.number" style="width: 100%"></el-input> --> + <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 @@ -48,11 +65,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" style="width: 100%"></el-input> </el-form-item> </el-col> <el-col :span="12"> @@ -281,8 +293,10 @@ import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog" import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" +import codeMixin from "@/views/client/followupRecords/mixin/codeMixin" export default { name: "AddServiceFollowupDialog", + mixins: [codeMixin], props: { editCommonConfig: { type: Object, @@ -346,8 +360,27 @@ this.$store.dispatch("geContact") this.$store.dispatch("geServiceOrder") this.getCommonData() + this.formInfo() + }, + watch: { + "editCommonConfig.visible"(val) { + if (val) { + this.formInfo() + } + }, + "editCommonConfig.infomation.codeStandID"() { + this.formInfo() + } }, methods: { + formInfo() { + this.objCode.type = "鏈嶅姟鍥炶缂栫爜" + this.objCode.codeStandID = "" + if (this.editConfig.infomation.codeStandID) { + this.objCode.codeStandID = this.editConfig.infomation.codeStandID + } + this.getRCodeStandardList() + }, getCommonData() { getAllData() .then((res) => { @@ -410,7 +443,9 @@ satisfaction: data.satisfactionId || 0, serviceOrderId: this.serviceOrderId || 0, solveRate: data.solveRateId || 0, - timelyRate: data.timelyRateId || 0 + timelyRate: data.timelyRateId || 0, + codeStandID: data.ID, + codeRule: this.codeRule } return params }, -- Gitblit v1.8.0