From 6857572e3d303daaf3c28e639aad91c0bdf2fc42 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期二, 15 八月 2023 14:30:10 +0800 Subject: [PATCH] bug修复及对应参数联调 --- src/views/client/contacts/AddContactsDialog.vue | 52 +++ src/views/sales/subOrder/index.vue | 39 ++ src/views/service/serviceContract/DetailServiceContract.vue | 9 src/views/service/clientServiceOrder/DetailClientServiceOrder.vue | 10 src/views/client/client/DetailClientManage.vue | 47 +-- src/views/sales/masterOrder/DetailMasterOrder.vue | 52 ++-- src/views/sales/masterOrder/index.vue | 38 ++ src/views/sales/masterOrder/AddMasterOrderDialog.vue | 14 + src/views/client/client/AddClientManageDialog.vue | 10 src/views/service/serviceFollowup/DetailServiceFollowup.vue | 6 src/views/client/contacts/index.vue | 20 + src/views/client/salesLead/DetailSalesLead.vue | 10 src/views/sales/salesOpportunity/DetailOpportunity.vue | 38 +- src/views/client/salesLead/index.vue | 8 src/views/sales/quotation/AddQuotationDialog.vue | 70 +++++ src/views/client/followupRecords/index.vue | 4 src/views/sales/quotation/DetailQuotation.vue | 191 ++------------- src/views/sales/salesOpportunity/index.vue | 21 + src/views/sales/subOrder/AddSubOrderDialog.vue | 4 src/views/client/contacts/DetailContacts.vue | 18 - src/views/sales/quotation/index.vue | 36 ++ src/views/sales/salesDetails/index.vue | 15 + 22 files changed, 381 insertions(+), 331 deletions(-) diff --git a/src/views/client/client/AddClientManageDialog.vue b/src/views/client/client/AddClientManageDialog.vue index 25552c5..628f4c3 100644 --- a/src/views/client/client/AddClientManageDialog.vue +++ b/src/views/client/client/AddClientManageDialog.vue @@ -27,7 +27,7 @@ <el-form-item label="瀹㈡埛鍚嶇О" prop="name"> <div class="custom-name"> <el-input v-model="editConfig.infomation.name"></el-input> - <div class="common-select-btn"><i class="el-icon-house" title="宸ュ晢鏌ヨ"></i></div> + <!-- <div class="common-select-btn"><i class="el-icon-house" title="宸ュ晢鏌ヨ"></i></div> --> <div class="common-select-btn"><i class="el-icon-search" title="鏌ラ噸"></i></div> </div> </el-form-item> @@ -530,6 +530,14 @@ message: "璇疯緭鍏ユ纭殑鎵嬫満鍙�", trigger: "blur" } + ], + contact_email: [ + { required: false, message: "", trigger: "blur" }, + { + pattern: /^[a-zA-Z0-9_\\.]+@[a-zA-Z0-9-]+[\\.a-zA-Z]+$/, + message: "璇疯緭鍏ユ纭殑閭鏍煎紡", + trigger: "blur" + } ] }, memberOptions: [], diff --git a/src/views/client/client/DetailClientManage.vue b/src/views/client/client/DetailClientManage.vue index 6ff1c1a..7d9a0fb 100644 --- a/src/views/client/client/DetailClientManage.vue +++ b/src/views/client/client/DetailClientManage.vue @@ -28,7 +28,7 @@ <el-tab-pane label="閿�鍞�诲崟" name="master"></el-tab-pane> <el-tab-pane label="閿�鍞瓙鍗�" name="sub"></el-tab-pane> <el-tab-pane label="閿�鍞槑缁嗗崟" name="detail"></el-tab-pane> - <el-tab-pane label="鏀舵鍗�" name="plan"></el-tab-pane> + <el-tab-pane label="鏀舵鍗�" name="receipt"></el-tab-pane> </el-tabs> </div> <div v-if="activeName === 'first'" class="detail"> @@ -47,7 +47,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -69,7 +69,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -91,7 +91,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -113,7 +113,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -135,7 +135,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -161,7 +161,7 @@ </div> </div> <!-- 闄勪欢淇℃伅 --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('annex')"> <i v-if="isAnnexExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> @@ -177,32 +177,28 @@ </li> </ul> </div> - </div> + </div> --> </div> <div v-if="activeName === 'contact'" class="second"> - <Contacts :isDetail="true" /> + <Contacts :isDetail="true" :add-config="addContactsConfig" /> </div> <div v-if="activeName === 'second'" class="second"> - <FollowupRecords - :isDetail="true" - :follow-record="detailConfig.infomation.follow_record" - :add-config="addConfig" - /> + <FollowupRecords :isDetail="true" :add-config="addConfig" /> </div> <div v-if="activeName === 'salesOpportunity'" class="second"> - <SalesOpportunity :isDetail="true" /> + <SalesOpportunity :isDetail="true" :add-config="addContactsConfig" /> </div> <div v-if="activeName === 'quotation'" class="second"> - <Quotation :isDetail="true" /> + <Quotation :isDetail="true" :add-config="addContactsConfig" /> </div> <div v-if="activeName === 'master'" class="second"> - <MasterOrder :isDetail="true" /> + <MasterOrder :isDetail="true" :add-config="addContactsConfig" /> </div> <div v-if="activeName === 'sub'" class="second"> - <SubOrder :isDetail="true" /> + <SubOrder :isDetail="true" :add-config="addContactsConfig" /> </div> <div v-if="activeName === 'detail'" class="second"> - <SalesDetails :isDetail="true" /> + <SalesDetails :isDetail="true" :add-config="addContactsConfig" /> </div> </div> </el-drawer> @@ -248,7 +244,10 @@ addressInfoList: [], isRemarkExpand: true, // 澶囨敞淇℃伅 isAnnexExpand: true, // 闄勪欢淇℃伅 - addConfig: {} + addConfig: {}, + addContactsConfig: { + client_name: this.clientManageDetail.infomation.name + } } }, created() { @@ -277,7 +276,7 @@ leftStr: "瀹㈡埛鐘舵��", leftValue: item.client_status, rightStr: "閿�鍞礋璐d汉", - rightValue: item.member_id + rightValue: item.member.username }, { leftStr: "瀹㈡埛绫诲瀷", @@ -379,15 +378,15 @@ this.addressInfoList = [ { leftStr: "鍥藉", - leftValue: item.Country.name, + leftValue: "涓浗", rightStr: "鐪佷唤", rightValue: item.Province.name }, { leftStr: "鍩庡競", leftValue: item.City.name, - rightStr: "鍖哄煙", - rightValue: item.Region.name + rightStr: "", + rightValue: "" }, { leftStr: "璇︾粏鍦板潃", diff --git a/src/views/client/contacts/AddContactsDialog.vue b/src/views/client/contacts/AddContactsDialog.vue index f0f79e6..134b98d 100644 --- a/src/views/client/contacts/AddContactsDialog.vue +++ b/src/views/client/contacts/AddContactsDialog.vue @@ -114,7 +114,7 @@ <el-option v-for="item in countryOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> - <div class="common-select-btn"><i class="el-icon-setting"></i></div> + <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> --> </div> </el-form-item> </el-col> @@ -126,11 +126,12 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + @change="selProvinceChange" > <el-option v-for="item in provinceOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> - <div class="common-select-btn"><i class="el-icon-setting"></i></div> + <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> --> </div> </el-form-item> </el-col> @@ -142,15 +143,16 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + :disabled="cityOptions.length <= 0 ? true : false" > <el-option v-for="item in cityOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> - <div class="common-select-btn"><i class="el-icon-setting"></i></div> + <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> --> </div> </el-form-item> </el-col> - <el-col :span="12"> + <!-- <el-col :span="12"> <el-form-item label="鍖哄煙" prop="region_id"> <div class="common-select"> <el-select @@ -165,7 +167,7 @@ <div class="common-select-btn"><i class="el-icon-setting"></i></div> </div> </el-form-item> - </el-col> + </el-col> --> <!-- <el-col :span="12"> <el-form-item label="閭紪" prop="postalCode"> <el-input v-model="editConfig.infomation.postalCode"></el-input> @@ -242,6 +244,7 @@ import { getAddContact, getUpdateContact } from "@/api/client/contacts" import { getAllData } from "@/api/client/client" import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" +import { getCityList } from "@/api/common/address" export default { name: "AddContactsDialog", props: { @@ -278,6 +281,14 @@ message: "璇疯緭鍏ユ纭殑鎵嬫満鍙�", trigger: "blur" } + ], + email: [ + { required: false, message: "", trigger: "blur" }, + { + pattern: /^[a-zA-Z0-9_\\.]+@[a-zA-Z0-9-]+[\\.a-zA-Z]+$/, + message: "璇疯緭鍏ユ纭殑閭鏍煎紡", + trigger: "blur" + } ] }, businessSourceOptions: [ @@ -291,7 +302,7 @@ { value: "8", label: "鍏徃鐢佃瘽" } ], memberOptions: [], - countryOptions: [], // 鍥藉 + countryOptions: [{ id: 1, name: "涓浗" }], // 鍥藉 provinceOptions: [], // 鐪佷唤 cityOptions: [], // 鍩庡競 regionOptions: [], // 鍖哄煙 @@ -306,18 +317,26 @@ }, created() { this.$store.dispatch("geClient") + if (this.editConfig.title !== "鏂板缓" && this.editConfig.infomation.province_id !== 0) { + this.getCityList(this.editConfig.infomation.province_id, "edit") + } this.getCommonData() }, methods: { getCommonData() { + this.editConfig.infomation.country_id = 1 + this.editConfig.infomation.province_id = + this.editConfig.infomation.province_id === 0 ? "" : this.editConfig.infomation.province_id + this.editConfig.infomation.city_id = + this.editConfig.infomation.city_id === 0 ? "" : this.editConfig.infomation.city_id getAllData() .then((res) => { console.log(res) this.memberOptions = res.data.member - this.countryOptions = res.data.country + // this.countryOptions = res.data.country this.provinceOptions = res.data.province - this.cityOptions = res.data.city - this.regionOptions = res.data.region + // this.cityOptions = res.data.city + // this.regionOptions = res.data.region }) .catch((err) => { console.log(err) @@ -434,6 +453,21 @@ this.unflodCollapseStr = "鏀惰捣" this.isUnflod = true } + }, + // 閫夋嫨鐪佷唤 + selProvinceChange(val) { + this.getCityList(val, "sel") + }, + async getCityList(val, value) { + await getCityList({ province_id: val }).then((res) => { + console.log(res) + if (res.data.code === 200) { + this.cityOptions = res.data.data.list + if (value === "sel") { + this.editConfig.infomation.city_id = "" + } + } + }) } } } diff --git a/src/views/client/contacts/DetailContacts.vue b/src/views/client/contacts/DetailContacts.vue index 99ee946..b886609 100644 --- a/src/views/client/contacts/DetailContacts.vue +++ b/src/views/client/contacts/DetailContacts.vue @@ -42,7 +42,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -64,7 +64,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -90,7 +90,7 @@ </div> </div> <!-- 闄勪欢淇℃伅 --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('annex')"> <i v-if="isAnnexExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> @@ -106,7 +106,7 @@ </li> </ul> </div> - </div> + </div> --> </div> <div v-if="activeName === 'second'" class="second"> <FollowupRecords :isDetail="true" :add-config="addConfig" /> @@ -186,7 +186,7 @@ leftStr: "鑱屽姟", leftValue: item.position, rightStr: "閿�鍞礋璐d汉", - rightValue: item.member_id + rightValue: item.member.username }, { leftStr: "棣栬鑱旂郴浜�", @@ -216,19 +216,13 @@ this.addressInfoList = [ { leftStr: "鍥藉", - leftValue: item.Country.name, + leftValue: "涓浗", rightStr: "鐪佷唤", rightValue: item.Province.name }, { leftStr: "鍩庡競", leftValue: item.City.name, - rightStr: "鍖哄煙", - rightValue: item.Region.name - }, - { - leftStr: "閭紪", - leftValue: "", rightStr: "", rightValue: "" } diff --git a/src/views/client/contacts/index.vue b/src/views/client/contacts/index.vue index 303b3d4..279ab6b 100644 --- a/src/views/client/contacts/index.vue +++ b/src/views/client/contacts/index.vue @@ -57,6 +57,12 @@ isDetail: { type: Boolean, default: false + }, + addConfig: { + type: Object, + default: () => { + return {} + } } }, mixins: [pageMixin], @@ -113,7 +119,12 @@ }, created() { this.setTable() - this.getData() + if (!this.isDetail) { + this.search_map = {} + } else { + this.search_map = { ...this.addConfig } + } + this.getData(this.search_map) }, methods: { setTable() { @@ -125,7 +136,7 @@ { label: "鑱旂郴浜虹紪鍙�", prop: "number", min: 100 }, // 鑱旂郴浜虹紪鍙� { label: "鑱屽姟", prop: "position", min: 120 }, // 鑱屽姟 { label: "鎵嬫満", prop: "phone", min: 100 }, // 鎵嬫満鍙风爜 - { label: "閿�鍞礋璐d汉", prop: "member_id", min: 120 }, // 閿�鍞礋璐d汉 + { label: "閿�鍞礋璐d汉", prop: "member_name", min: 120 }, // 閿�鍞礋璐d汉 { label: "棣栬鑱旂郴浜�", prop: "is_first", min: 90 } // 棣栬鑱旂郴浜� ] } @@ -153,7 +164,8 @@ ...item, client_name: item.Client.name, is_first: item.is_first ? "鏄�" : "鍚�", - client_id: item.Client.id + client_id: item.Client.id, + member_name: item.member.username } }) this.tableList.tableInfomation = list || [] @@ -188,7 +200,7 @@ addBtnClick() { this.editConfig.visible = true this.editConfig.title = "鏂板缓" - this.editConfig.infomation = {} + this.editConfig.infomation = { ...this.addConfig } }, // 缂栬緫 handleClick(row) { diff --git a/src/views/client/followupRecords/index.vue b/src/views/client/followupRecords/index.vue index 060adca..7b0ea5b 100644 --- a/src/views/client/followupRecords/index.vue +++ b/src/views/client/followupRecords/index.vue @@ -57,10 +57,6 @@ type: Boolean, default: false }, - followRecord: { - type: Array, - default: () => [] - }, addConfig: { type: Object, default: () => { diff --git a/src/views/client/salesLead/DetailSalesLead.vue b/src/views/client/salesLead/DetailSalesLead.vue index 2e3988c..22e0c18 100644 --- a/src/views/client/salesLead/DetailSalesLead.vue +++ b/src/views/client/salesLead/DetailSalesLead.vue @@ -34,7 +34,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr && item.rightStr.length > 0" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -56,7 +56,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr && item.rightStr.length > 0" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -97,7 +97,7 @@ <li> <div class="left remark"> <div class="content-title">{{ "澶囨敞锛�" }}</div> - <div class="content-data">{{ detailConfig.desc }}</div> + <div class="content-data">{{ detailConfig.infomation.desc }}</div> </div> </li> </ul> @@ -181,9 +181,9 @@ }, { leftStr: "鍟嗘満鏉ユ簮", - leftValue: this.detailConfig.infomation.sales_sources_id, + leftValue: this.detailConfig.infomation.sales_resources, rightStr: "璐熻矗浜�", - rightValue: this.detailConfig.infomation.member_id + rightValue: this.detailConfig.infomation.member_name }, { leftStr: "鍒嗛厤鏃ユ湡", diff --git a/src/views/client/salesLead/index.vue b/src/views/client/salesLead/index.vue index 78a2656..ee03fb4 100644 --- a/src/views/client/salesLead/index.vue +++ b/src/views/client/salesLead/index.vue @@ -136,10 +136,10 @@ { label: "閿�鍞嚎绱㈢紪鍙�", prop: "number", min: 130 }, // 閿�鍞嚎绱㈢紪鍙� { label: "鑱旂郴浜哄鍚�", prop: "contact_name", min: 130 }, // 鑱旂郴浜哄鍚� { label: "鎵嬫満鍙风爜", prop: "contact_phone", min: 130 }, // 鎵嬫満鍙风爜 - { label: "鍟嗘満鏉ユ簮", prop: "sales_sources_id", min: 130 }, // 鍟嗘満鏉ユ簮 + { label: "鍟嗘満鏉ユ簮", prop: "sales_resources", min: 130 }, // 鍟嗘満鏉ユ簮 { label: "鐪佷唤", prop: "province", min: 130 }, // 鐪佷唤 { label: "鍩庡競", prop: "city", min: 130 }, // 鍩庡競 - { label: "璐熻矗浜�", prop: "member_id", min: 130 } // 璐熻矗浜� + { label: "璐熻矗浜�", prop: "member_name", min: 130 } // 璐熻矗浜� ] } this.searchOptions = [] @@ -161,7 +161,9 @@ return { ...item, province: item.Province.name, - city: item.City.name + city: item.City.name, + sales_resources: item.sales_sources.name, + member_name: item.member.username } }) this.tableList.tableInfomation = list || [] diff --git a/src/views/sales/masterOrder/AddMasterOrderDialog.vue b/src/views/sales/masterOrder/AddMasterOrderDialog.vue index 45434a1..6a4213d 100644 --- a/src/views/sales/masterOrder/AddMasterOrderDialog.vue +++ b/src/views/sales/masterOrder/AddMasterOrderDialog.vue @@ -60,13 +60,23 @@ </el-col> <el-col :span="12"> <el-form-item label="鏈嶅姟寮�濮嬫椂闂�" prop="start_time"> - <el-date-picker v-model="editConfig.infomation.start_time" type="date" placeholder="閫夋嫨鏃ユ湡"> + <el-date-picker + v-model="editConfig.infomation.start_time" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="閫夋嫨鏃ユ湡" + > </el-date-picker> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="鏈嶅姟鎴鏃堕棿" prop="end_time"> - <el-date-picker v-model="editConfig.infomation.end_time" type="date" placeholder="閫夋嫨鏃ユ湡"> + <el-date-picker + v-model="editConfig.infomation.end_time" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="閫夋嫨鏃ユ湡" + > </el-date-picker> </el-form-item> </el-col> diff --git a/src/views/sales/masterOrder/DetailMasterOrder.vue b/src/views/sales/masterOrder/DetailMasterOrder.vue index e09653c..9f11216 100644 --- a/src/views/sales/masterOrder/DetailMasterOrder.vue +++ b/src/views/sales/masterOrder/DetailMasterOrder.vue @@ -37,18 +37,18 @@ <li v-for="(item, i) in basicInfoList" :key="i"> <div class="left"> <div class="content-title">{{ item.leftStr + "锛�" }}</div> - <div class="content-data">{{ item.leftValue }}</div> + <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> - <div class="content-data">{{ item.rightValue }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> + <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> </div> </div> <!-- 闄勪欢淇℃伅 --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('annex')"> <i v-if="isAnnexExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> @@ -64,7 +64,7 @@ </li> </ul> </div> - </div> + </div> --> </div> <div v-if="activeName === 'sub'" class="second"> <SubOrder :isDetail="true" /> @@ -101,21 +101,21 @@ } }, created() { - this.setData() + this.setData(this.detailConfig.infomation) }, mounted() {}, methods: { - setData() { + setData(item) { this.basicInfoList = [ { leftStr: "瀹㈡埛鍚嶇О", - leftValue: "", + leftValue: item.client_name, rightStr: "鍗曟嵁缂栧彿", - rightValue: "" + rightValue: item.number }, { leftStr: "璐熻矗浜�", - leftValue: "", + leftValue: item.member_name, rightStr: "鍒涘缓浜�", rightValue: "" }, @@ -128,26 +128,26 @@ { leftStr: "鏇存柊鏃堕棿", leftValue: "", - rightStr: "瀹℃壒鐘舵��", - rightValue: "" - }, - { - leftStr: "鏈�鏂板鎵规椂闂�", - leftValue: "", - rightStr: "涓婁竴姝ュ鎵逛汉", - rightValue: "" - }, - { - leftStr: "褰撳墠瀹℃壒浜�", - leftValue: "", rightStr: "鏈嶅姟寮�濮嬫椂闂�", - rightValue: "" + rightValue: item.start_time }, + // { + // leftStr: "瀹℃壒鐘舵��", + // leftValue: "", + // rightStr: "鏈�鏂板鎵规椂闂�", + // rightValue: "" + // }, + // { + // leftStr: "涓婁竴姝ュ鎵逛汉", + // leftValue: "", + // rightStr: "褰撳墠瀹℃壒浜�", + // rightValue: "" + // }, { leftStr: "鏈嶅姟鎴鏃堕棿", - leftValue: "", - rightStr: "", - rightValue: "" + leftValue: item.end_time, + rightStr: "鍚堝悓閲戦", + rightValue: item.money } ] }, diff --git a/src/views/sales/masterOrder/index.vue b/src/views/sales/masterOrder/index.vue index d279298..a6159f7 100644 --- a/src/views/sales/masterOrder/index.vue +++ b/src/views/sales/masterOrder/index.vue @@ -11,6 +11,7 @@ :search-options="searchOptions" @searchClick="searchClick" @resetClick="resetClick" + :search-sel="searchSel" /> <div class="btn-pager"> <PublicFunctionBtnView :operates-list="operatesList" @batchDelete="delClick" /> @@ -56,6 +57,12 @@ isDetail: { type: Boolean, default: false + }, + addConfig: { + type: Object, + default: () => { + return {} + } } }, mixins: [pageMixin], @@ -106,12 +113,21 @@ infomation: {} }, selValueList: [], - search_map: {} + search_map: {}, + searchSel: { + value: "number", + label: "鍗曟嵁缂栧彿" + } } }, created() { this.setTable() - this.getData() + if (!this.isDetail) { + this.search_map = {} + } else { + this.search_map = { ...this.addConfig } + } + this.getData(this.search_map) }, methods: { setTable() { @@ -123,14 +139,15 @@ { label: "鏈嶅姟寮�濮嬫椂闂�", prop: "start_time", isTime: true }, // 鏈嶅姟寮�濮嬫椂闂� { label: "鏈嶅姟鎴鏃堕棿", prop: "end_time", isTime: true }, // 鏈嶅姟鎴鏃堕棿 { label: "鍚堝悓閲戦", prop: "money" }, // 鍚堝悓閲戦 - { label: "璐熻矗浜�", prop: "member_id" } // 璐熻矗浜� + { label: "璐熻矗浜�", prop: "member_name" } // 璐熻矗浜� // { label: "瀹℃壒鐘舵��", prop: "approvalStatus" } // 瀹℃壒鐘舵�� ] } this.searchOptions = [] for (let i = 0; i < this.tableList.tableColumn.length; i++) { const label = this.tableList.tableColumn[i].label - this.searchOptions.push({ value: (i + 1).toString(), label: label }) + const value = this.tableList.tableColumn[i].prop + this.searchOptions.push({ value: value, label: label }) } }, // 璇锋眰鏁版嵁 @@ -148,7 +165,8 @@ const list = res.data.list.map((item) => { return { ...item, - client_name: item.client.name + client_name: item.client.name, + member_name: item.member.username } }) this.tableList.tableInfomation = list || [] @@ -183,7 +201,7 @@ addBtnClick() { this.editConfig.visible = true this.editConfig.title = "鏂板缓" - this.editConfig.infomation = {} + this.editConfig.infomation = { ...this.addConfig } }, // 缂栬緫 handleClick(row) { @@ -227,7 +245,13 @@ selClientClick(row) { console.log(row) this.clientDeail.visible = true - this.clientDeail.infomation = { ...row } + this.clientDeail.infomation = { + ...row.client, + client_name: row.client.name, + client_level: row.client.client_level.name, + client_status: row.client.client_status.name, + contact_name: row.name + } }, // 鏈轰細鍚嶇О璇︽儏 selCommonClick(row) { diff --git a/src/views/sales/quotation/AddQuotationDialog.vue b/src/views/sales/quotation/AddQuotationDialog.vue index 17e48af..fe4a0a6 100644 --- a/src/views/sales/quotation/AddQuotationDialog.vue +++ b/src/views/sales/quotation/AddQuotationDialog.vue @@ -68,7 +68,7 @@ </el-option> </el-select> <!-- @click="editDropdownBox" --> - <div class="common-select-btn"><i class="el-icon-setting"></i></div> + <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> --> </div> </el-form-item> </el-col> @@ -119,11 +119,24 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="閿�鍞満浼�" prop="sale_chance_id"> + <el-form-item label="閿�鍞満浼�" prop="sale_chance_name"> <div class="custom-name"> - <el-input v-model="editConfig.infomation.sale_chance_id"></el-input> - <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div> - <div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div> + <el-autocomplete + v-model="editConfig.infomation.sale_chance_name" + :fetch-suggestions=" + (queryString, callback) => { + querySearchAsync(queryString, callback, 'chance') + } + " + value-key="name" + @select="handleSelectClient('chance', $event)" + ></el-autocomplete> + <div class="common-select-btn" @click="selClientClick('chance')"> + <i class="el-icon-circle-plus-outline"></i> + </div> + <div class="common-select-btn" @click="clearupClient('chance')"> + <i class="el-icon-edit-outline"></i> + </div> </div> </el-form-item> </el-col> @@ -243,6 +256,12 @@ :edit-common-config="editSelectContactConfig" @selClient="selClient" /> + <!-- 閫夋嫨閿�鍞満浼� --> + <SelectChanceDialog + v-if="editSelectChanceConfig.editVisible" + :edit-common-config="editSelectChanceConfig" + @selClient="selClient" + /> </el-dialog> </div> </template> @@ -253,6 +272,7 @@ import { getAddQuotation, getUpdateQuotation } from "@/api/sales/quotation" import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog" +import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog" export default { name: "QuotationDialog", props: { @@ -267,7 +287,7 @@ } } }, - components: { SelectClientDialog, SelectContactDialog }, + components: { SelectClientDialog, SelectContactDialog, SelectChanceDialog }, computed: { searchCommonHeight() { return this.$refs.searchCommonView.offsetHeight @@ -277,6 +297,9 @@ }, contactNamelist() { return this.$store.state.getClientName.contactNamelist + }, + saleChancelist() { + return this.$store.state.getClientName.saleChancelist } }, data() { @@ -310,13 +333,20 @@ title: "", infomation: {} }, + editSelectChanceConfig: { + editVisible: false, + title: "", + infomation: {} + }, clientId: this.editCommonConfig.infomation.client_id, - contactId: this.editCommonConfig.infomation.contact_id + contactId: this.editCommonConfig.infomation.contact_id, + saleChanceId: this.editCommonConfig.infomation.sale_chance_id } }, created() { this.$store.dispatch("geClient") this.$store.dispatch("geContact") + this.$store.dispatch("geChance") this.setTableForm() this.getCommonData() }, @@ -326,10 +356,18 @@ .then((res) => { this.memberOptions = res.data.member this.quotationStatusOptions = res.data.quotationStatus + this.dataProcess() }) .catch((err) => { console.log(err) }) + }, + dataProcess() { + this.saleChancelist.map((item) => { + if (this.saleChanceId === item.id) { + this.editConfig.infomation.sale_chance_name = item.name + } + }) }, // 淇濆瓨 saveClick(formName) { @@ -381,14 +419,14 @@ let data = this.editConfig.infomation let params = { id: this.editConfig.title === "鏂板缓" ? 0 : data.id, - client_id: parseInt(this.clientId) || 0, + client_id: this.clientId || 0, conditions: data.conditions || "", - contact_id: parseInt(this.contactId) || 0, + contact_id: this.contactId || 0, file: data.file || "", member_id: data.member_id || 0, number: data.number || "", quotation_status_id: data.quotation_status_id || 0, - sale_chance_id: data.sale_chance_id || 0, + sale_chance_id: this.saleChanceId || 0, validity_date: data.validity_date || "" } return params @@ -403,6 +441,8 @@ restaurants = this.clientList } else if (value === "contact") { restaurants = this.contactNamelist + } else if (value === "chance") { + restaurants = this.saleChancelist } var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants cb(results) @@ -416,6 +456,8 @@ console.log(value) if (value === "client") { this.clientId = item.id + } else if (value === "chance") { + this.saleChanceId = item.id } else { this.contactId = item.id } @@ -425,6 +467,8 @@ this.editSelectClientConfig.editVisible = true } else if (value === "contact") { this.editSelectContactConfig.editVisible = true + } else if (value === "chance") { + this.editSelectChanceConfig.editVisible = true } }, selClient(row, value) { @@ -432,6 +476,9 @@ if (value === "contact") { this.editConfig.infomation.contact_name = row.name this.contactId = row.id + } else if (value === "chance") { + this.editConfig.infomation.sale_chance_name = row.name + this.saleChanceId = row.id } else { this.editConfig.infomation.client_name = row.name this.clientId = row.id @@ -442,6 +489,9 @@ if (value === "client") { this.editConfig.infomation.client_name = "" this.clientId = 0 + } else if (value === "chance") { + this.editConfig.infomation.sale_chance_name = "" + this.saleChanceId = 0 } else { this.editConfig.infomation.contact_name = "" this.contactId = 0 diff --git a/src/views/sales/quotation/DetailQuotation.vue b/src/views/sales/quotation/DetailQuotation.vue index 1cd4f7c..9ff8004 100644 --- a/src/views/sales/quotation/DetailQuotation.vue +++ b/src/views/sales/quotation/DetailQuotation.vue @@ -29,14 +29,14 @@ </div> <div v-if="activeName === 'first'" class="detail"> <!-- 鏍囩 --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('label')"> <i v-if="isLabelExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> <span style="margin-left: 10px">鏍囩</span> </div> <div v-show="isLabelExpand" class="basic-info-content"></div> - </div> + </div> --> <!-- 鍩烘湰淇℃伅 --> <div class="basic-info"> <div class="basic-info-label" @click="expandClick('basic')"> @@ -49,11 +49,11 @@ <li v-for="(item, i) in basicInfoList" :key="i"> <div class="left"> <div class="content-title">{{ item.leftStr + "锛�" }}</div> - <div class="content-data">{{ item.leftValue }}</div> + <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> - <div class="content-data">{{ item.rightValue }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> + <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> @@ -70,15 +70,16 @@ <div class="termsConditions"> <div class="content-title">{{ "鏉′欢涓庢潯娆�" + "锛�" }}</div> <div class="content-termsConditions"> - <ul> + {{ "\n" + detailConfig.infomation.conditions }} + <!-- <ul> <li v-for="(item, index) in Status.termsConditions" :key="index">{{ item }}</li> - </ul> + </ul> --> </div> </div> </div> </div> <!-- 闄勪欢淇℃伅 --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('annex')"> <i v-if="isAnnexExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> @@ -94,7 +95,7 @@ </li> </ul> </div> - </div> + </div> --> <!-- 浜у搧绠$悊 --> <div class="basic-info"> <div class="basic-info-label" @click="expandClick('product')"> @@ -177,170 +178,36 @@ } }, created() { - this.setData() + this.setData(this.detailConfig.infomation) this.setTableForm() }, mounted() {}, methods: { - setData() { + setData(item) { this.basicInfoList = [ { leftStr: "瀹㈡埛鍚嶇О", - leftValue: "", - rightStr: "閿�鍞満浼氱紪鍙�", - rightValue: "" + leftValue: item.client_name, + rightStr: "鎶ヤ环缂栧彿", + rightValue: item.number }, { - leftStr: "鏈轰細鍚嶇О", - leftValue: "", + leftStr: "鎶ヤ环鍗曠姸鎬�", + leftValue: item.quotation_status_id, rightStr: "鑱旂郴浜哄鍚�", - rightValue: "" + rightValue: item.contact_name }, { - leftStr: "鍟嗘満鏉ユ簮", - leftValue: "", - rightStr: "鍟嗘満绫诲瀷", - rightValue: "" - }, - { - leftStr: "閿�鍞樁娈�", - leftValue: "", + leftStr: "鏈夋晥鏈熻嚦", + leftValue: item.validity_date, rightStr: "閿�鍞礋璐d汉", - rightValue: "" + rightValue: item.member_id }, { - leftStr: "鑰佸鎴疯惀閿�", - leftValue: "", - rightStr: "绛惧埌", - rightValue: "" - }, - { - leftStr: "瀹℃壒鐘舵��", - leftValue: "", - rightStr: "绔炰簤瀵规墜", - rightValue: "" - }, - { - leftStr: "鍒涘缓浜�", - leftValue: "", + leftStr: "閿�鍞満浼�", + leftValue: item.sale_chance.name, rightStr: "鍒涘缓鏃堕棿", rightValue: "" - } - ] - this.forecastList = [ - { - leftStr: "鍙兘鎬�(%)", - leftValue: "", - rightStr: "甯佺", - rightValue: "" - }, - { - leftStr: "棰勭畻缁濆鍊�", - leftValue: "", - rightStr: "棰勮鎴愪氦鏃ユ湡", - rightValue: "" - }, - { - leftStr: "棰勮鍚堝悓閲戦", - leftValue: "", - rightStr: "褰撳墠鐘舵��", - rightValue: "" - } - ] - this.dynamicInfoList = [ - { - leftStr: "鏈仈绯诲ぉ鏁�", - leftValue: "", - rightStr: "鏈�鏂拌仈绯绘棩鏈�", - rightValue: "" - }, - { - leftStr: "鏈帹鑽愬ぉ鏁�", - leftValue: "", - rightStr: "鏈�鏂版帹杩涙椂闂�", - rightValue: "" - }, - { - leftStr: "鏈�鏂拌仈绯讳汉", - leftValue: "", - rightStr: "鏈�鏂版洿鏂版椂闂�", - rightValue: "" - } - ] - this.businessInfoList = [ - { - leftStr: "瀹㈡埛闇�姹傛垨鐥涚偣锛坵hy锛�", - leftValue: "" - }, - { - leftStr: "鏄惁宸茬粡绔嬮」锛坧lan锛�", - leftValue: "" - }, - { - leftStr: "璧勯噾棰勭畻鏄灏戯紙plan锛�", - leftValue: "" - }, - { - leftStr: "鍏抽敭鍐崇瓥浜烘槸璋侊紙who锛�", - leftValue: "" - }, - { - leftStr: "鍏抽敭鍐崇瓥鍥犵礌鏈夊摢浜涳紙what锛�", - leftValue: "" - }, - { - leftStr: "鍐崇瓥娴佺▼鏄�庢牱鐨勶紙what锛�", - leftValue: "" - }, - { - leftStr: "绔炰簤瀵规墜鎻愪緵鐨勬柟妗堬紙what锛�", - leftValue: "" - } - ] - this.swotInfoList = [ - { - leftStr: "浼樺娍(S)", - leftValue: "", - rightStr: "鍔e娍(W)", - rightValue: "" - }, - { - leftStr: "鏈轰細(O)", - leftValue: "", - rightStr: "濞佽儊(T)", - rightValue: "" - } - ] - this.addressInfoList = [ - { - leftStr: "鍥藉", - leftValue: "", - rightStr: "鐪佷唤", - rightValue: "" - }, - { - leftStr: "鍩庡競", - leftValue: "", - rightStr: "鍖哄煙", - rightValue: "" - }, - { - leftStr: "璇︾粏鍦板潃", - leftValue: "", - rightStr: "", - rightValue: "" - } - ] - this.historyList = [ - { - date: "2023-08-04 13:22:36", - stage: "鎴愬姛缁撴", - modify: "绯荤粺绠$悊鍛�" - }, - { - date: "2023-08-04 13:22:36", - stage: "鎴愬姛缁撴", - modify: "绯荤粺绠$悊鍛�" } ] }, @@ -559,6 +426,7 @@ align-items: center; font-size: 14px; font-family: PingFangSC; + min-height: 40px; // padding: 5px 0; .content-title { width: 320px; @@ -566,13 +434,14 @@ color: #555; } .content-termsConditions { - margin-left: 25px; + margin: 0px 25px 15px; font-size: 13px; color: #333; - li { - margin: 5px 0; - border-bottom: 0px solid #f9f9fb; - } + white-space: pre-wrap; + // li { + // margin: 5px 0; + // border-bottom: 0px solid #f9f9fb; + // } } } } diff --git a/src/views/sales/quotation/index.vue b/src/views/sales/quotation/index.vue index b75379a..2d5df54 100644 --- a/src/views/sales/quotation/index.vue +++ b/src/views/sales/quotation/index.vue @@ -12,6 +12,7 @@ :search-options="searchOptions" @searchClick="searchClick" @resetClick="resetClick" + :search-sel="searchSel" /> <div class="btn-pager"> <PublicFunctionBtnView :submit-approval="true" :operates-list="operatesList" @batchDelete="delClick" /> @@ -59,6 +60,12 @@ isDetail: { type: Boolean, default: false + }, + addConfig: { + type: Object, + default: () => { + return {} + } } }, mixins: [pageMixin], @@ -68,11 +75,7 @@ DetailContacts: () => import("@/views/client/contacts/DetailContacts"), DetailClientManage: () => import("@/views/client/client/DetailClientManage") }, - computed: { - searchCommonHeight() { - return this.$refs.searchCommonView.offsetHeight - } - }, + computed: {}, data() { return { tableList: {}, @@ -111,12 +114,21 @@ infomation: {} }, selValueList: [], - search_map: {} + search_map: {}, + searchSel: { + value: "number", + label: "鎶ヤ环鍗曞彿" + } } }, created() { this.setTable() - this.getData() + if (!this.isDetail) { + this.search_map = {} + } else { + this.search_map = { ...this.addConfig } + } + this.getData(this.search_map) }, methods: { setTable() { @@ -126,19 +138,20 @@ { label: "鎶ヤ环鍗曞彿", prop: "number", min: 90, isCommonClick: true }, // 鎶ヤ环鍗曞彿 { label: "瀹㈡埛鍚嶇О", prop: "client_name", min: 120, isClientClick: true }, // 瀹㈡埛鍚嶇О { label: "鑱旂郴浜哄鍚�", prop: "contact_name", min: 90, isContactClick: true }, // 鑱旂郴浜哄鍚� - { label: "閿�鍞礋璐d汉", prop: "member_id" }, // 閿�鍞礋璐d汉 + { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉 { label: "鏈夋晥鏈�", prop: "validity_date", min: 100 }, // 淇敼鏃堕棿 { label: "灏忚", prop: "subTotal" }, // 灏忚 { label: "鍚堣", prop: "total" }, // 鍚堣 { label: "浜у搧鍚嶇О", prop: "productName" }, // 浜у搧鍚嶇О - { label: "鏁伴噺", prop: "number" }, // 鏁伴噺 + { label: "鏁伴噺", prop: "number1" }, // 鏁伴噺 { label: "浠风◣鍚堣", prop: "priceTax" } // 浠风◣鍚堣 ] } this.searchOptions = [] for (let i = 0; i < this.tableList.tableColumn.length; i++) { const label = this.tableList.tableColumn[i].label - this.searchOptions.push({ value: (i + 1).toString(), label: label }) + const value = this.tableList.tableColumn[i].prop + this.searchOptions.push({ value: value, label: label }) } }, // 璇锋眰鏁版嵁 @@ -158,6 +171,7 @@ ...item, client_name: item.client.name, contact_name: item.contact.name + // member_name: item.member.username } }) this.tableList.tableInfomation = list || [] @@ -192,7 +206,7 @@ addBtnClick() { this.editConfig.visible = true this.editConfig.title = "鏂板缓" - this.editConfig.infomation = {} + this.editConfig.infomation = { ...this.addConfig } }, // 缂栬緫 handleClick(row) { diff --git a/src/views/sales/salesDetails/index.vue b/src/views/sales/salesDetails/index.vue index 61f25db..cc02192 100644 --- a/src/views/sales/salesDetails/index.vue +++ b/src/views/sales/salesDetails/index.vue @@ -56,6 +56,12 @@ isDetail: { type: Boolean, default: false + }, + addConfig: { + type: Object, + default: () => { + return {} + } } }, mixins: [pageMixin], @@ -123,7 +129,12 @@ }, created() { this.setTable() - this.getData() + if (!this.isDetail) { + this.search_map = {} + } else { + this.search_map = { ...this.addConfig } + } + this.getData(this.search_map) }, methods: { setTable() { @@ -203,7 +214,7 @@ addBtnClick() { this.editConfig.visible = true this.editConfig.title = "鏂板缓" - this.editConfig.infomation = {} + this.editConfig.infomation = { ...this.addConfig } }, // 缂栬緫 handleClick(row) { diff --git a/src/views/sales/salesOpportunity/DetailOpportunity.vue b/src/views/sales/salesOpportunity/DetailOpportunity.vue index 5d2257f..52c94cd 100644 --- a/src/views/sales/salesOpportunity/DetailOpportunity.vue +++ b/src/views/sales/salesOpportunity/DetailOpportunity.vue @@ -67,11 +67,11 @@ <li v-for="(item, i) in basicInfoList" :key="i"> <div class="left"> <div class="content-title">{{ item.leftStr + "锛�" }}</div> - <div class="content-data">{{ item.leftValue }}</div> + <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> - <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> - <div class="content-data">{{ item.rightValue }}</div> + <div v-if="item.rightStr" class="right"> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> + <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> @@ -89,11 +89,11 @@ <li v-for="(item, i) in forecastList" :key="i"> <div class="left"> <div class="content-title">{{ item.leftStr + "锛�" }}</div> - <div class="content-data">{{ item.leftValue }}</div> + <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> - <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> - <div class="content-data">{{ item.rightValue }}</div> + <div v-if="item.rightStr" class="right"> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> + <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> @@ -111,11 +111,11 @@ <li v-for="(item, i) in dynamicInfoList" :key="i"> <div class="left"> <div class="content-title">{{ item.leftStr + "锛�" }}</div> - <div class="content-data">{{ item.leftValue }}</div> + <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> - <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> - <div class="content-data">{{ item.rightValue }}</div> + <div v-if="item.rightStr" class="right"> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> + <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> @@ -153,8 +153,8 @@ <div class="content-title">{{ item.leftStr + "锛�" }}</div> <div class="content-data">{{ item.leftValue }}</div> </div> - <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div v-if="item.rightStr" class="right"> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue }}</div> </div> </li> @@ -175,8 +175,8 @@ <div class="content-title">{{ item.leftStr + "锛�" }}</div> <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> - <div class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div v-if="item.rightStr" class="right"> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -195,14 +195,14 @@ <li> <div class="left remark"> <div class="content-title">{{ "澶囨敞锛�" }}</div> - <div class="content-data">{{ "澶囨敞鍐呭" }}</div> + <div class="content-data">{{ detailConfig.infomation.remark }}</div> </div> </li> </ul> </div> </div> <!-- 闄勪欢淇℃伅 --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('annex')"> <i v-if="isAnnexExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> @@ -218,7 +218,7 @@ </li> </ul> </div> - </div> + </div> --> <!-- 閿�鍞満浼氶樁娈垫帹杩涘巻鍙� --> <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('history')"> diff --git a/src/views/sales/salesOpportunity/index.vue b/src/views/sales/salesOpportunity/index.vue index 277db73..69511cd 100644 --- a/src/views/sales/salesOpportunity/index.vue +++ b/src/views/sales/salesOpportunity/index.vue @@ -64,6 +64,12 @@ isDetail: { type: Boolean, default: false + }, + addConfig: { + type: Object, + default: () => { + return {} + } } }, mixins: [pageMixin], @@ -73,11 +79,7 @@ DetailContacts: () => import("@/views/client/contacts/DetailContacts"), DetailClientManage: () => import("@/views/client/client/DetailClientManage") }, - computed: { - searchCommonHeight() { - return this.$refs.searchCommonView.offsetHeight - } - }, + computed: {}, data() { return { tableList: {}, @@ -130,7 +132,12 @@ }, created() { this.setTable() - this.getData() + if (!this.isDetail) { + this.search_map = {} + } else { + this.search_map = { ...this.addConfig } + } + this.getData(this.search_map) }, methods: { setTable() { @@ -208,7 +215,7 @@ addBtnClick() { this.editConfig.visible = true this.editConfig.title = "鏂板缓" - this.editConfig.infomation = { city_id: 0 } + this.editConfig.infomation = { city_id: 0, ...this.addConfig } }, // 缂栬緫 handleClick(row) { diff --git a/src/views/sales/subOrder/AddSubOrderDialog.vue b/src/views/sales/subOrder/AddSubOrderDialog.vue index e5e664c..3439df7 100644 --- a/src/views/sales/subOrder/AddSubOrderDialog.vue +++ b/src/views/sales/subOrder/AddSubOrderDialog.vue @@ -87,7 +87,7 @@ </el-row> </div> <!-- 闄勪欢淇℃伅 --> - <div class="basic-info-title">闄勪欢淇℃伅</div> + <!-- <div class="basic-info-title">闄勪欢淇℃伅</div> <div class="basic-info-view"> <el-row> <el-col :span="12"> @@ -112,7 +112,7 @@ </el-form-item> </el-col> </el-row> - </div> + </div> --> <!-- 浜у搧绠$悊 --> <div class="basic-info-title" style="display: flex"> 浜у搧绠$悊 diff --git a/src/views/sales/subOrder/index.vue b/src/views/sales/subOrder/index.vue index 6e647bd..726f005 100644 --- a/src/views/sales/subOrder/index.vue +++ b/src/views/sales/subOrder/index.vue @@ -11,6 +11,7 @@ :search-options="searchOptions" @searchClick="searchClick" @resetClick="resetClick" + :search-sel="searchSel" /> <div class="btn-pager"> <PublicFunctionBtnView :operates-list="operatesList" @batchDelete="delClick" /> @@ -59,6 +60,12 @@ isDetail: { type: Boolean, default: false + }, + addConfig: { + type: Object, + default: () => { + return {} + } } }, mixins: [pageMixin], @@ -102,8 +109,8 @@ }, showSummary: { show: true, - sumProp: ["number"], - mergeNumber: 7 + sumProp: ["number1"], + mergeNumber: 6 }, subOrderDeail: { visible: false, @@ -118,12 +125,21 @@ infomation: {} }, selValueList: [], - search_map: {} + search_map: {}, + searchSel: { + value: "number", + label: "鍗曟嵁缂栧彿" + } } }, created() { this.setTable() - this.getData() + if (!this.isDetail) { + this.search_map = {} + } else { + this.search_map = { ...this.addConfig } + } + this.getData(this.search_map) }, methods: { setTable() { @@ -132,9 +148,9 @@ tableColumn: [ { label: "鍗曟嵁缂栧彿", prop: "number", min: 120, isCommonClick: true }, // 鍗曟嵁缂栧彿 { label: "瀹㈡埛鍚嶇О", prop: "client_name", min: 120, isClientClick: true }, // 瀹㈡埛鍚嶇О - { label: "閿�鍞�诲崟", prop: "masterOrderId", min: 90, isMasterClick: true }, // 閿�鍞�诲崟 - { label: "璐熻矗浜�", prop: "memberId" }, // 璐熻矗浜� - { label: "瀹℃壒鐘舵��", prop: "approvalStatus" }, // 瀹℃壒鐘舵�� + { label: "閿�鍞�诲崟", prop: "master_order_number", min: 90, isMasterClick: true }, // 閿�鍞�诲崟 + { label: "璐熻矗浜�", prop: "member_name" }, // 璐熻矗浜� + // { label: "瀹℃壒鐘舵��", prop: "approvalStatus" }, // 瀹℃壒鐘舵�� { label: "浜у搧鍚嶇О", prop: "productName" }, // 浜у搧鍚嶇О { label: "鏁伴噺", prop: "number1", min: 100 } // 鏁伴噺 ] @@ -142,7 +158,8 @@ this.searchOptions = [] for (let i = 0; i < this.tableList.tableColumn.length; i++) { const label = this.tableList.tableColumn[i].label - this.searchOptions.push({ value: (i + 1).toString(), label: label }) + const value = this.tableList.tableColumn[i].prop + this.searchOptions.push({ value: value, label: label }) } }, // 璇锋眰鏁版嵁 @@ -160,7 +177,9 @@ const list = res.data.list.map((item) => { return { ...item, - client_name: item.client.name + client_name: item.client.name, + master_order_number: item.masterOrder.number, + member_name: item.member.username } }) this.tableList.tableInfomation = list || [] @@ -195,7 +214,7 @@ addBtnClick() { this.editConfig.visible = true this.editConfig.title = "鏂板缓" - this.editConfig.infomation = {} + this.editConfig.infomation = { ...this.addConfig } }, // 缂栬緫 handleClick(row) { diff --git a/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue b/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue index cf0fb8b..f11ef4d 100644 --- a/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue +++ b/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue @@ -41,7 +41,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -63,7 +63,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -85,7 +85,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -183,7 +183,7 @@ </div> </div> <!-- 闄勪欢淇℃伅 --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('annex')"> <i v-if="isAnnexExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> @@ -199,7 +199,7 @@ </li> </ul> </div> - </div> + </div> --> <!-- 绛惧瓧纭 --> <div class="basic-info"> <div class="basic-info-label" @click="expandClick('signConfim')"> diff --git a/src/views/service/serviceContract/DetailServiceContract.vue b/src/views/service/serviceContract/DetailServiceContract.vue index 02dbc24..b417634 100644 --- a/src/views/service/serviceContract/DetailServiceContract.vue +++ b/src/views/service/serviceContract/DetailServiceContract.vue @@ -43,7 +43,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -65,7 +65,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -110,7 +110,7 @@ </div> </div> <!-- 闄勪欢淇℃伅 --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('annex')"> <i v-if="isAnnexExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> @@ -126,7 +126,7 @@ </li> </ul> </div> - </div> + </div> --> <!-- 浜у搧绠$悊 --> <div class="basic-info"> <div class="basic-info-label" @click="expandClick('product')"> @@ -495,6 +495,7 @@ align-items: center; font-size: 14px; font-family: PingFangSC; + min-height: 40px; // padding: 5px 0; .content-title { width: 320px; diff --git a/src/views/service/serviceFollowup/DetailServiceFollowup.vue b/src/views/service/serviceFollowup/DetailServiceFollowup.vue index 9b53e73..84c8410 100644 --- a/src/views/service/serviceFollowup/DetailServiceFollowup.vue +++ b/src/views/service/serviceFollowup/DetailServiceFollowup.vue @@ -40,7 +40,7 @@ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div> </div> <div v-if="item.rightStr" class="right"> - <div class="content-title">{{ item.rightStr }}</div> + <div class="content-title">{{ item.rightStr + "锛�" }}</div> <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> @@ -66,7 +66,7 @@ </div> </div> <!-- 闄勪欢淇℃伅 --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('annex')"> <i v-if="isAnnexExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> @@ -82,7 +82,7 @@ </li> </ul> </div> - </div> + </div> --> </div> <div v-if="activeName === 'annex'" class="second"> <!-- <SubOrder :isDetail="true" /> --> -- Gitblit v1.8.0