From 28e0aa1d40bff8985ac3e662d3a7726594d919c3 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期一, 14 八月 2023 19:45:26 +0800 Subject: [PATCH] 销售机会联调及bug修复 --- src/components/layout/components/appsidebar/index.scss | 2 src/views/service/serviceContract/AddServiceContractDialog.vue | 8 src/views/client/client/index.vue | 9 src/views/service/serviceFollowup/AddServiceFollowupDialog.vue | 12 src/views/service/clientServiceOrder/DetailClientServiceOrder.vue | 4 src/views/client/salesLead/AddSalesLeadDialog.vue | 46 +++ src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue | 28 + src/api/common/address.js | 84 ------ src/views/client/client/AddClientManageDialog.vue | 69 ++++- src/views/client/salesLead/DetailSalesLead.vue | 14 src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue | 156 +++++++----- src/views/sales/salesOpportunity/DetailAdvanceDialog.vue | 55 +++- src/views/sales/salesOpportunity/DetailOpportunity.vue | 129 ++++++---- src/views/client/salesLead/index.vue | 2 src/views/sales/salesOpportunity/index.vue | 25 - src/api/sales/salesOpportunity.js | 17 + src/views/service/clientServiceOrder/index.vue | 7 src/components/layout/components/AppMain.vue | 8 18 files changed, 377 insertions(+), 298 deletions(-) diff --git a/src/api/common/address.js b/src/api/common/address.js index 12ecb36..1a22d46 100644 --- a/src/api/common/address.js +++ b/src/api/common/address.js @@ -1,81 +1,9 @@ -import request from "@/common/untils/request.js" +// import request from "@/common/untils/request.js" +import axios from "axios" -// 鑾峰彇鍥藉鍒楄〃 -export function getCountryList() { - return request({ - url: "/api/country/list", - method: "get" - }) -} -// 娣诲姞鍥藉 -export function getAddCountry(data) { - return request({ - url: "/api/country/add", - method: "post", - data - }) -} -// 鍒犻櫎鍥藉 -export function getDeleteCountry(data) { - return request({ - url: "/api/country/delete", - method: "delete", - data - }) -} -// 璁剧疆鍥藉 -export function getSetCountry(data) { - return request({ - url: "/api/country/set", - method: "put", - data - }) -} -// 鏇存柊鍥藉 -export function getUpdateCountry(data) { - return request({ - url: "/api/country/update", - method: "put", - data - }) -} - -// 鑾峰彇鐪佷唤鍒楄〃 -export function getProvinceList() { - return request({ - url: "/api/province/list", - method: "get" - }) -} -// 娣诲姞鐪佷唤 -export function getAddProvince(data) { - return request({ - url: "/api/province/add", - method: "post", - data - }) -} -// 鍒犻櫎鐪佷唤 -export function getDeleteProvince(data) { - return request({ - url: "/api/province/delete", - method: "delete", - data - }) -} -// 璁剧疆鐪佷唤 -export function getSetProvince(data) { - return request({ - url: "/api/province/set", - method: "put", - data - }) -} -// 鏇存柊鐪佷唤 -export function getUpdateProvince(data) { - return request({ - url: "/api/province/update", - method: "put", - data +// 鑾峰彇鍩庡競鍒楄〃 +export const getCityList = async (data) => { + return await axios.get(`/api/city/list`, { + params: data }) } diff --git a/src/api/sales/salesOpportunity.js b/src/api/sales/salesOpportunity.js index eb5d7a5..9fd8d0a 100644 --- a/src/api/sales/salesOpportunity.js +++ b/src/api/sales/salesOpportunity.js @@ -32,3 +32,20 @@ data }) } + +// 鑾峰彇閿�鍞樁娈� +export function getSaleStageList() { + return request({ + url: "/api/saleStage/list", + method: "get" + }) +} + +// 鎺ㄨ繘閿�鍞満浼� +export function pushSaleChance(data) { + return request({ + url: "/api/saleChance/push", + method: "put", + data + }) +} diff --git a/src/components/layout/components/AppMain.vue b/src/components/layout/components/AppMain.vue index 7223e79..7cdbb3d 100644 --- a/src/components/layout/components/AppMain.vue +++ b/src/components/layout/components/AppMain.vue @@ -1,7 +1,9 @@ <template> <div class="app-main"> <AppHeader :headerTitle="$route.meta.title" /> - <router-view :key="key" /> + <div class="app-main-content"> + <router-view :key="key" /> + </div> </div> </template> @@ -29,5 +31,9 @@ flex-direction: column; // height: 100%; width: 100%; + .app-main-content { + width: 100%; + overflow-y: auto; + } } </style> diff --git a/src/components/layout/components/appsidebar/index.scss b/src/components/layout/components/appsidebar/index.scss index dfd1db6..a5d60a4 100644 --- a/src/components/layout/components/appsidebar/index.scss +++ b/src/components/layout/components/appsidebar/index.scss @@ -1,6 +1,6 @@ .app-sidebar { position: relative; - height: 100%; + // height: 100%; background-color: #314255; .box { width: 200px; diff --git a/src/views/client/client/AddClientManageDialog.vue b/src/views/client/client/AddClientManageDialog.vue index 7200b7d..25552c5 100644 --- a/src/views/client/client/AddClientManageDialog.vue +++ b/src/views/client/client/AddClientManageDialog.vue @@ -49,7 +49,7 @@ <el-option v-for="item in clientStatusOptions" :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> @@ -78,7 +78,7 @@ <el-option v-for="item in clientTypeOptions" :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> @@ -94,9 +94,9 @@ <el-option v-for="item in clientSourceOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> - <div class="common-select-btn" @click="editDropdownBox"> + <!-- <div class="common-select-btn" @click="editDropdownBox"> <i class="el-icon-setting"></i> - </div> + </div> --> </div> </el-form-item> </el-col> @@ -130,7 +130,8 @@ <el-form-item label="涓嬫鍥炶鏃ユ湡" prop="next_visit_time"> <el-date-picker v-model="editConfig.infomation.next_visit_time" - type="datetime" + value-format="yyyy-MM-dd" + type="date" placeholder="閫夋嫨鏃ユ湡" > </el-date-picker> @@ -140,7 +141,8 @@ <el-form-item label="鏈�鏅氭湇鍔″埌鏈熸棩" prop="latest_service_time"> <el-date-picker v-model="editConfig.infomation.latest_service_time" - type="datetime" + value-format="yyyy-MM-dd" + type="date" placeholder="閫夋嫨鏃ユ湡" > </el-date-picker> @@ -200,7 +202,7 @@ <el-option v-for="item in industryOptions" :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> @@ -213,6 +215,7 @@ <el-form-item label="娉ㄥ唽鏃堕棿" prop="registration_time"> <el-date-picker v-model="editConfig.infomation.registration_time" + value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" > @@ -236,7 +239,7 @@ > </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> @@ -257,7 +260,7 @@ > </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> @@ -278,7 +281,7 @@ > </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> @@ -316,11 +319,12 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + disabled > <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> @@ -332,11 +336,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> @@ -348,15 +353,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 @@ -371,7 +377,7 @@ <div class="common-select-btn"><i class="el-icon-setting"></i></div> </div> </el-form-item> - </el-col> + </el-col> --> <el-col :span="24"> <el-form-item label="璇︾粏鍦板潃" prop="detail_address"> <el-input @@ -485,6 +491,7 @@ <script> import { getAllData, getAddClient, getUpdateClient } from "@/api/client/client" +import { getCityList } from "@/api/common/address" export default { name: "AddClientManageDialog", props: { @@ -535,7 +542,7 @@ registerCapitalOptions: [], // 娉ㄥ唽璧勯噾 enterpriseNatureOptions: [], // 鍏徃鎬ц川 enterpriseScaleOptions: [], // 瀹㈡埛瑙勬ā - countryOptions: [], // 鍥藉 + countryOptions: [{ id: 1, name: "涓浗" }], // 鍥藉 provinceOptions: [], // 鐪佷唤 cityOptions: [], // 鍩庡競 regionOptions: [], // 鍖哄煙 @@ -543,10 +550,18 @@ } }, created() { + 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) => { this.memberOptions = res.data.member @@ -558,9 +573,8 @@ this.registerCapitalOptions = res.data.registered_capital this.enterpriseNatureOptions = res.data.enterprise_nature this.enterpriseScaleOptions = res.data.enterprise_scale - 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 }) .catch((err) => { @@ -630,7 +644,7 @@ let params = { id: this.editConfig.title === "鏂板缓" ? 0 : data.id, business_scope: data.business_scope, - city_id: 0, + city_id: data.city_id || 0, client_level_id: data.client_level_id || 0, client_origin_id: data.client_origin_id || 0, client_status_id: data.client_status_id || 0, @@ -662,7 +676,7 @@ name: data.name || "", next_visit_time: data.next_visit_time || "", number: data.number || "", - province_id: 0, + province_id: data.province_id || 0, region_id: 0, registered_capital_id: data.registered_capital_id || 0, registration_time: data.registration_time || "", @@ -682,6 +696,21 @@ console.log("aaa") this.editDropdownConfig.editVisible = true this.editDropdownConfig.title = "瀹㈡埛鏉ユ簮" + }, + // 閫夋嫨鐪佷唤 + 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/client/index.vue b/src/views/client/client/index.vue index cdadd62..dfc5187 100644 --- a/src/views/client/client/index.vue +++ b/src/views/client/client/index.vue @@ -145,11 +145,11 @@ { label: "瀹㈡埛鍚嶇О", prop: "name", min: 100, isClientClick: true }, // 瀹㈡埛鍚嶇О { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉 { label: "閲嶈绾у埆", prop: "client_level" }, // 閲嶈绾у埆 - { label: "涓嬫鍥炶鏃ユ湡", prop: "next_visit_time", isTime: true, min: 90 }, // 涓嬫鍥炶鏃ユ湡 + { label: "涓嬫鍥炶鏃ユ湡", prop: "next_visit_time", min: 90 }, // 涓嬫鍥炶鏃ユ湡 { label: "璇︾粏鍦板潃", prop: "detail_address", min: 200 }, // 璇︾粏鍦板潃 { label: "瀹㈡埛鐘舵��", prop: "client_status" }, // 瀹㈡埛鐘舵�� { label: "鑱旂郴浜哄鍚�", prop: "contact_name", isContactClick: true }, // 鑱旂郴浜哄鍚� - { label: "鎵嬫満鍙风爜", prop: "contact_phone" } // 鎵嬫満鍙风爜 + { label: "鑱旂郴浜烘墜鏈哄彿鐮�", prop: "contact_phone" } // 鎵嬫満鍙风爜 ] } this.searchOptions = [] @@ -190,7 +190,8 @@ contact_phone: contact_phone, client_level: item.client_level.name, client_status: item.client_status.name, - contact_id: contact_id + contact_id: contact_id, + member_name: item.member.username } }) this.tableList.tableInfomation = list || [] @@ -228,7 +229,7 @@ addBtnClick() { this.editConfig.visible = true this.editConfig.title = "鏂板缓" - this.editConfig.infomation = {} + this.editConfig.infomation = { city_id: 0 } }, // 缂栬緫 handleClick(row) { diff --git a/src/views/client/salesLead/AddSalesLeadDialog.vue b/src/views/client/salesLead/AddSalesLeadDialog.vue index 4c9ec58..83da223 100644 --- a/src/views/client/salesLead/AddSalesLeadDialog.vue +++ b/src/views/client/salesLead/AddSalesLeadDialog.vue @@ -78,9 +78,9 @@ > </el-option> </el-select> - <div class="common-select-btn" @click="editDropdownBox"> + <!-- <div class="common-select-btn" @click="editDropdownBox"> <i class="el-icon-setting"></i> - </div> + </div> --> </div> </el-form-item> </el-col> @@ -120,11 +120,12 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + disabled > <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> @@ -136,11 +137,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> @@ -152,15 +154,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 @@ -175,7 +178,7 @@ <div class="common-select-btn"><i class="el-icon-setting"></i></div> </div> </el-form-item> - </el-col> + </el-col> --> </el-row> <!-- <el-row> <el-col :span="24"> @@ -228,6 +231,7 @@ import EditDropdownDialog from "@/views/other/commonDialog/EditDropdownDialog" import { getAddSalesLeads, getUpdateSalesLeads } from "@/api/client/salesLead" import { getAllData } from "@/api/client/client" +import { getCityList } from "@/api/common/address" export default { name: "AddSalesLeadDialog", @@ -266,7 +270,7 @@ }, businessSourceOptions: [], memberOptions: [], - countryOptions: [], // 鍥藉 + countryOptions: [{ id: 1, name: "涓浗" }], // 鍥藉 provinceOptions: [], // 鐪佷唤 cityOptions: [], // 鍩庡競 regionOptions: [], // 鍖哄煙 @@ -280,18 +284,25 @@ } }, created() { + if (this.editConfig.title !== "鏂板缓" && this.editConfig.infomation.province_id !== 0) { + this.getCityList(this.editConfig.infomation.province_id, "edit") + } this.getCommonData() }, mounted() {}, 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.businessSourceOptions = res.data.sales_source - 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.memberOptions = res.data.member }) @@ -381,6 +392,21 @@ confirmPhone(value) { const inputValue = value.replace(/[^\d*]/g, "") this.editConfig.infomation.contact_phone = inputValue + }, + // 閫夋嫨鐪佷唤 + 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/salesLead/DetailSalesLead.vue b/src/views/client/salesLead/DetailSalesLead.vue index 4df0d87..2e3988c 100644 --- a/src/views/client/salesLead/DetailSalesLead.vue +++ b/src/views/client/salesLead/DetailSalesLead.vue @@ -221,19 +221,13 @@ this.addressInfoList = [ { leftStr: "鍥藉", - leftValue: "", + leftValue: "涓浗", rightStr: "鐪佷唤", - rightValue: "" + rightValue: this.detailConfig.infomation.Province.name }, { leftStr: "鍩庡競", - leftValue: "", - rightStr: "鍖哄煙", - rightValue: "" - }, - { - leftStr: "鍦板潃", - leftValue: "", + leftValue: this.detailConfig.infomation.City.name, rightStr: "", rightValue: "" } @@ -255,6 +249,8 @@ this.isDynamicExpand = !this.isDynamicExpand } else if (value === "address") { this.isAddressExpand = !this.isAddressExpand + } else if (value === "remark") { + this.isRemarkExpand = !this.isRemarkExpand } } } diff --git a/src/views/client/salesLead/index.vue b/src/views/client/salesLead/index.vue index 73e5bee..78a2656 100644 --- a/src/views/client/salesLead/index.vue +++ b/src/views/client/salesLead/index.vue @@ -187,7 +187,7 @@ addBtnClick() { this.editSalesLeadConfig.visible = true this.editSalesLeadConfig.title = "鏂板缓" - this.editSalesLeadConfig.infomation = { businessStatus: "鏂板缓" } + this.editSalesLeadConfig.infomation = { businessStatus: "鏂板缓", city_id: 0 } }, // 缂栬緫 handleClick(row) { diff --git a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue index 61fd54a..2db4a3e 100644 --- a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue +++ b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue @@ -99,7 +99,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> @@ -116,7 +116,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> @@ -133,7 +133,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> @@ -168,7 +168,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> @@ -196,7 +196,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> @@ -220,13 +220,24 @@ </el-col> <el-col :span="12"> <el-form-item label="棰勮鎴愪氦鏃ユ湡" prop="expected_time"> - <el-date-picker v-model="editConfig.infomation.expected_time" type="date" placeholder="閫夋嫨鏃ユ湡"> + <el-date-picker + v-model="editConfig.infomation.expected_time" + value-format="yyyy-MM-dd" + type="date" + placeholder="閫夋嫨鏃ユ湡" + > </el-date-picker> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="棰勮鍚堝悓閲戦" prop="projected_amount"> - <el-input v-model="editConfig.infomation.projected_amount"></el-input> + <el-input-number + v-model="editConfig.infomation.projected_amount" + placeholder="璇疯緭鍏�" + :min="0" + :controls="false" + style="width: 100%; margin-right: 5px" + ></el-input-number> </el-form-item> </el-col> <el-col :span="12"> @@ -242,7 +253,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> @@ -381,11 +392,12 @@ placeholder="璇烽�夋嫨" class="common-select-sel" size="mini" + disabled > <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> @@ -397,11 +409,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> @@ -413,15 +426,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 @@ -436,7 +450,7 @@ <div class="common-select-btn"><i class="el-icon-setting"></i></div> </div> </el-form-item> - </el-col> + </el-col> --> <el-col :span="20"> <el-form-item label="璇︾粏鍦板潃" prop="detail_address"> <el-input @@ -520,6 +534,7 @@ import { getAddSaleChance, getUpdateSaleChance } from "@/api/sales/salesOpportunity" import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog" +import { getCityList } from "@/api/common/address" export default { name: "AddSalesOpportunityDialog", props: { @@ -551,13 +566,13 @@ dialogWidth: "80%", editConfig: this.editCommonConfig, rules: { - number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - name: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - member_id: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - sale_stage_id: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - currency: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - expected_time: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - projected_amount: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }] + number: [{ required: true, message: "璇疯緭鍏ラ攢鍞満浼氱紪鍙�", trigger: "blur" }], + name: [{ required: true, message: "璇疯緭鍏ユ満浼氬悕绉�", trigger: "blur" }], + member_id: [{ required: true, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: "change" }], + sale_stage_id: [{ required: true, message: "璇烽�夋嫨閿�鍞樁娈�", trigger: "change" }], + currency: [{ required: true, message: "璇烽�夋嫨甯佺", trigger: "change" }], + expected_time: [{ required: true, message: "璇烽�夋嫨棰勮鎴愪氦鏃ユ湡", trigger: "change" }], + projected_amount: [{ required: true, message: "璇疯緭鍏ラ璁″悎鍚岄噾棰�", trigger: "blur" }] }, businessSourceOptions: [], memberOptions: [], @@ -565,9 +580,9 @@ saleStageOptions: [], // 閿�鍞樁娈� oldCustomerMarketOptions: [], // 鑰佸鎴疯惀閿� possibleOptions: [], // 鍙兘鎬� - currencyOptions: [], // 甯佺 + currencyOptions: [{ id: 1, name: "浜烘皯甯�" }], // 甯佺 currentStateOptions: [], // 褰撳墠鐘舵�� - countryOptions: [], // 鍥藉 + countryOptions: [{ id: 1, name: "涓浗" }], // 鍥藉 provinceOptions: [], // 鐪佷唤 cityOptions: [], // 鍩庡競 regionOptions: [], // 鍖哄煙 @@ -589,24 +604,29 @@ created() { this.$store.dispatch("geClient") this.$store.dispatch("geContact") + 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) => { - // 缂� 鍙兘鎬� 甯佺 褰撳墠鐘舵�� this.memberOptions = res.data.member this.businessSourceOptions = res.data.sales_source this.businessTypeOptions = res.data.sale_type this.oldCustomerMarketOptions = res.data.regular_customers this.saleStageOptions = res.data.sale_stage - this.countryOptions = res.data.country this.provinceOptions = res.data.province - this.cityOptions = res.data.city this.regionOptions = res.data.region this.possibleOptions = res.data.possibility - this.currencyOptions = res.data.currency + // this.currencyOptions = res.data.currency this.currentStateOptions = res.data.status }) .catch((err) => { @@ -628,41 +648,33 @@ const params = this.saveParams() console.log(params) if (this.editConfig.title === "鏂板缓") { - getAddSaleChance(params) - .then((res) => { - console.log(res) - this.editConfig.visible = false - if (res.code === 200) { - this.$message({ - message: "娣诲姞鎴愬姛", - type: "success" - }) - if (this.editConfig.title === "鏂板缓" && this.editConfig.infomation.client_name) { - this.$parent.handleClose() - } else { - this.$parent.getData() - } - } - }) - .catch((err) => { - console.log(err) - }) - } else { - getUpdateSaleChance(params) - .then((res) => { - console.log(res) - this.editConfig.visible = false - if (res.code === 200) { - this.$message({ - message: "缂栬緫鎴愬姛", - type: "success" - }) + getAddSaleChance(params).then((res) => { + console.log(res) + this.editConfig.visible = false + if (res.code === 200) { + this.$message({ + message: "娣诲姞鎴愬姛", + type: "success" + }) + if (this.editConfig.title === "鏂板缓" && this.editConfig.infomation.client_name) { + this.$parent.handleClose() + } else { this.$parent.getData() } - }) - .catch((err) => { - console.log(err) - }) + } + }) + } else { + getUpdateSaleChance(params).then((res) => { + console.log(res) + this.editConfig.visible = false + if (res.code === 200) { + this.$message({ + message: "缂栬緫鎴愬姛", + type: "success" + }) + this.$parent.getData() + } + }) } } else { console.log("error submit") @@ -678,9 +690,9 @@ budget: data.budget || 0, capital_budget: data.capital_budget || "", city_id: data.city_id || 0, - client_id: parseInt(this.clientId), + client_id: this.clientId || 0, competitors: data.competitors || "", - contact_id: parseInt(this.contactId), + contact_id: this.contactId || 0, country_id: data.country_id || 0, currency: data.currency || 0, disadvantages: data.disadvantages || "", @@ -694,7 +706,7 @@ pain_points: data.pain_points || "", possibilities: data.possibilities || 0, process: data.process || "", - projected_amount: parseInt(data.projected_amount) || 0, + projected_amount: data.projected_amount || 0, province_id: data.province_id || 0, region_id: data.region_id || 0, regular_customers_id: data.regular_customers_id || 0, @@ -763,7 +775,22 @@ // 娣诲姞闄勪欢 addAnnexClick() {}, // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡 - setFormatClick() {} + setFormatClick() {}, + // 閫夋嫨鐪佷唤 + 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 = "" + } + } + }) + } } } </script> @@ -820,6 +847,9 @@ height: 55px; line-height: 55px; } + .el-input__inner { + text-align: left; + } } } </style> diff --git a/src/views/sales/salesOpportunity/DetailAdvanceDialog.vue b/src/views/sales/salesOpportunity/DetailAdvanceDialog.vue index c4aa32d..eb8fcde 100644 --- a/src/views/sales/salesOpportunity/DetailAdvanceDialog.vue +++ b/src/views/sales/salesOpportunity/DetailAdvanceDialog.vue @@ -13,23 +13,25 @@ <div class="one"> <el-radio :label="1"> <span>鎺ㄨ繘鍒颁笅涓�闃舵</span> - <el-select v-model="value" size="mini" disabled> - <el-option v-for="(item, index) in options" :key="index" :label="item" :value="item"> </el-option> + <el-select v-model="value1" size="mini" disabled> + <el-option v-for="(item, index) in options" :key="index" :label="item.name" :value="item.id"> + </el-option> </el-select> </el-radio> </div> <div class="two"> <el-radio :label="2"> <span>鎺ㄨ繘鍒版寚瀹氶樁娈�</span> - <el-select v-model="value" size="mini"> - <el-option v-for="(item, index) in options" :key="index" :label="item" :value="item"> </el-option> + <el-select v-model="value" size="mini" @change="designatedStageClick"> + <el-option v-for="(item, index) in options" :key="index" :label="item.name" :value="item.id"> + </el-option> </el-select> </el-radio> </div> </el-radio-group> </div> <div slot="footer" class="dialog-footer"> - <el-button type="primary" size="small" @click="saveClick('form')">鎺ㄨ繘</el-button> + <el-button type="primary" size="small" @click="saveClick()">鎺ㄨ繘</el-button> <el-button size="small" @click="commonConfig.visible = false">鍙栨秷</el-button> </div> </el-dialog> @@ -37,6 +39,7 @@ </template> <script> +import { pushSaleChance } from "@/api/sales/salesOpportunity" export default { name: "DetailAdvanceDialog", props: { @@ -45,7 +48,10 @@ default: () => { return { visible: false, - active: "闇�姹傚垎鏋�" + active: "闇�姹傚垎鏋�", + allOptions: [], + options: [], + id: 0 } } } @@ -54,12 +60,13 @@ computed: {}, data() { return { - allOptions: ["鍒濇湡娌熼��", "闇�姹傚垎鏋�", "鏂规鎶ヤ环", "鍟嗗姟璋堝垽", "鎴愬姛缁撴", "澶辫触缁撴"], + allOptions: this.advanceConfig.allOptions, dialogWidth: "25%", radio: 1, commonConfig: this.advanceConfig, + value1: "", value: "", - options: ["鍒濇湡娌熼��", "闇�姹傚垎鏋�", "鏂规鎶ヤ环", "鍟嗗姟璋堝垽", "鎴愬姛缁撴", "澶辫触缁撴"] + options: this.advanceConfig.options } }, watch: {}, @@ -68,17 +75,41 @@ }, methods: { setData() { - console.log(this.commonConfig.active) this.allOptions.map((item, index) => { - if (item === this.commonConfig.active) { - console.log(index) - this.value = this.allOptions[index + 1] + if (item.id === this.commonConfig.active) { + if (index + 1 === this.allOptions.length) { + this.value = this.allOptions[0].id + this.value1 = this.allOptions[0].id + } else { + this.value = this.allOptions[index + 1].id + this.value1 = this.allOptions[index + 1].id + } + this.options.splice(index, 1) } }) }, handleClose() { this.commonConfig.visible = false + }, + designatedStageClick() { + this.radio = 2 + }, + async saveClick() { + let stepId = 0 + if (this.radio === 2) { + stepId = this.value + } else { + stepId = this.value1 + } + await pushSaleChance({ + id: this.commonConfig.id, + step: stepId + }).then((res) => { + if (res.code === 200) { + this.handleClose() + } + }) } } } diff --git a/src/views/sales/salesOpportunity/DetailOpportunity.vue b/src/views/sales/salesOpportunity/DetailOpportunity.vue index cd2476c..5d2257f 100644 --- a/src/views/sales/salesOpportunity/DetailOpportunity.vue +++ b/src/views/sales/salesOpportunity/DetailOpportunity.vue @@ -38,13 +38,16 @@ </div> <div v-show="isSchduleExpand" class="basic-info-content"> <div class="step-view"> - <el-steps :active="active" align-center> - <el-step :active-color="'#fff'" :title="item.title" :key="index" v-for="(item, index) in stepsList"> + <el-steps :active="sale_active" align-center> + <el-step :active-color="'#fff'" :title="item.name" :key="item.id" v-for="(item, index) in stepsList"> <template slot="title"> <div class="step-title-view"> - <div class="step-label">{{ item.title }}</div> - <div v-show="index === active" class="step-btn" @click="advanceClick(item)">鎺ㄨ繘</div> - <div class="step-desc">{{ item.desc }}</div> + <div class="step-label">{{ item.name }}</div> + <div v-show="sale_active === index" class="step-btn" @click="advanceClick(item)"> + <!-- && sale_stage_id !== stepsList.length --> + 鎺ㄨ繘 + </div> + <!-- <div class="step-desc">{{ item.desc }}</div> --> </div> </template> </el-step> @@ -170,11 +173,11 @@ <li v-for="(item, i) in addressInfoList" :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-data">{{ item.rightValue ? item.rightValue : "--" }}</div> </div> </li> </ul> @@ -217,7 +220,7 @@ </div> </div> <!-- 閿�鍞満浼氶樁娈垫帹杩涘巻鍙� --> - <div class="basic-info"> + <!-- <div class="basic-info"> <div class="basic-info-label" @click="expandClick('history')"> <i v-if="isHistoryExpand" class="el-icon-arrow-down"></i> <i v-else class="el-icon-arrow-up"></i> @@ -234,7 +237,7 @@ </li> </ul> </div> - </div> + </div> --> </div> <div v-if="activeName === 'second'" class="second"> <FollowupRecords :isDetail="true" /> @@ -264,6 +267,7 @@ import SalesDetails from "@/views/sales/salesDetails" import ServiceContract from "@/views/service/serviceContract" import DetailAdvanceDialog from "@/views/sales/salesOpportunity/DetailAdvanceDialog" +import { getSaleStageList } from "@/api/sales/salesOpportunity" export default { name: "DetailClientManage", props: { @@ -284,14 +288,7 @@ detailConfig: this.opportunityDetail, activeName: "first", isSchduleExpand: true, // 杩涘害杩借釜 - stepsList: [ - { title: "鍒濇湡娌熼��", desc: "鍋滅暀: 1鏈�8澶�20灏忔椂" }, - { title: "闇�姹傚垎鏋�", desc: "" }, - { title: "鏂规鎶ヤ环", desc: "" }, - { title: "鍟嗗姟璋堝垽", desc: "" }, - { title: "鎴愬姛缁撴", desc: "" }, - { title: "澶辫触缁撴", desc: "" } - ], + stepsList: [], isBasicExpand: true, // 鍩烘湰淇℃伅灞曞紑 basicInfoList: [], isForecastExpand: true, // 閿�鍞娴� @@ -308,47 +305,60 @@ isAnnexExpand: true, // 闄勪欢淇℃伅 isHistoryExpand: true, // 鎺ㄨ繘鍘嗗彶 historyList: [], - active: 2, + sale_active: 0, advanceConfig: { visible: false, - active: "" + active: "", + allOptions: [], + options: [] } } }, created() { - this.setData() + this.getSaleStageList() + this.setData(this.detailConfig.infomation) }, mounted() {}, methods: { - setData() { + async getSaleStageList() { + await getSaleStageList().then((res) => { + this.stepsList = res.data.list + res.data.list.map((item, index) => { + if (item.id === this.detailConfig.infomation.sale_stage_id) { + this.sale_active = index + } + }) + }) + }, + setData(item) { this.basicInfoList = [ { leftStr: "瀹㈡埛鍚嶇О", - leftValue: "", + leftValue: item.client_name, rightStr: "閿�鍞満浼氱紪鍙�", - rightValue: "" + rightValue: item.id }, { leftStr: "鏈轰細鍚嶇О", - leftValue: "", + leftValue: item.name, rightStr: "鑱旂郴浜哄鍚�", - rightValue: "" + rightValue: item.contact_name }, { leftStr: "鍟嗘満鏉ユ簮", - leftValue: "", + leftValue: item.SalesSources.name, rightStr: "鍟嗘満绫诲瀷", - rightValue: "" + rightValue: "" // item.SaleType.name }, { leftStr: "閿�鍞樁娈�", - leftValue: "", + leftValue: item.sale_stage_name, rightStr: "閿�鍞礋璐d汉", - rightValue: "" + rightValue: item.member.username }, { leftStr: "鑰佸鎴疯惀閿�", - leftValue: "", + leftValue: item.regular_customers_id, rightStr: "绛惧埌", rightValue: "" }, @@ -368,21 +378,21 @@ this.forecastList = [ { leftStr: "鍙兘鎬�(%)", - leftValue: "", + leftValue: item.possibility.name, rightStr: "甯佺", - rightValue: "" + rightValue: "浜烘皯甯�" }, { leftStr: "棰勭畻缁濆鍊�", - leftValue: "", + leftValue: item.capital_budget, rightStr: "棰勮鎴愪氦鏃ユ湡", - rightValue: "" + rightValue: item.expected_time }, { leftStr: "棰勮鍚堝悓閲戦", - leftValue: "", + leftValue: item.projected_amount, rightStr: "褰撳墠鐘舵��", - rightValue: "" + rightValue: item.status_id } ] this.dynamicInfoList = [ @@ -408,58 +418,58 @@ this.businessInfoList = [ { leftStr: "瀹㈡埛闇�姹傛垨鐥涚偣锛坵hy锛�", - leftValue: "" + leftValue: item.pain_points }, { leftStr: "鏄惁宸茬粡绔嬮」锛坧lan锛�", - leftValue: "" + leftValue: item.whether_established }, { leftStr: "璧勯噾棰勭畻鏄灏戯紙plan锛�", - leftValue: "" + leftValue: item.capital_budget }, { leftStr: "鍏抽敭鍐崇瓥浜烘槸璋侊紙who锛�", - leftValue: "" + leftValue: item.key_maker }, { leftStr: "鍏抽敭鍐崇瓥鍥犵礌鏈夊摢浜涳紙what锛�", - leftValue: "" + leftValue: item.key_factors }, { leftStr: "鍐崇瓥娴佺▼鏄�庢牱鐨勶紙what锛�", - leftValue: "" + leftValue: item.process }, { leftStr: "绔炰簤瀵规墜鎻愪緵鐨勬柟妗堬紙what锛�", - leftValue: "" + leftValue: item.solutions } ] this.swotInfoList = [ { leftStr: "浼樺娍(S)", - leftValue: "", + leftValue: item.advantages, rightStr: "鍔e娍(W)", - rightValue: "" + rightValue: item.disadvantages }, { leftStr: "鏈轰細(O)", - leftValue: "", + leftValue: item.opportunities, rightStr: "濞佽儊(T)", - rightValue: "" + rightValue: item.threats } ] this.addressInfoList = [ { leftStr: "鍥藉", - leftValue: "", + leftValue: "涓浗", rightStr: "鐪佷唤", - rightValue: "" + rightValue: item.Province.name }, { leftStr: "鍩庡競", - leftValue: "", - rightStr: "鍖哄煙", + leftValue: item.City.name, + rightStr: "", rightValue: "" }, { @@ -484,6 +494,7 @@ }, handleClose() { this.detailConfig.visible = false + this.$parent.getData() }, // tab鍒囨崲 tabsClick(tab, event) { @@ -516,9 +527,17 @@ }, // 鎺ㄨ繘 advanceClick(item) { - console.log(item) - this.advanceConfig.visible = true - this.advanceConfig.active = item.title + let options = [] + for (let i = 0; i < this.stepsList.length; i++) { + options.push(this.stepsList[i]) + } + this.advanceConfig = { + visible: true, + active: item.id, + allOptions: this.stepsList, + options: options, + id: this.detailConfig.infomation.id + } } } } @@ -629,7 +648,7 @@ } .step-view { padding: 30px 60px 5px; - height: 100px; + height: 80px; .step-title-view { margin-top: 10px; font-size: 12px; diff --git a/src/views/sales/salesOpportunity/index.vue b/src/views/sales/salesOpportunity/index.vue index 6a1ded9..277db73 100644 --- a/src/views/sales/salesOpportunity/index.vue +++ b/src/views/sales/salesOpportunity/index.vue @@ -141,7 +141,7 @@ { label: "瀹㈡埛鍚嶇О", prop: "client_name", min: 90, isClientClick: true }, // 瀹㈡埛鍚嶇О { label: "閿�鍞満浼氱紪鍙�", prop: "number" }, // 閿�鍞満浼氱紪鍙� { label: "鑱旂郴浜哄鍚�", prop: "contact_name", min: 100, isContactClick: true }, // 鑱旂郴浜哄鍚� - { label: "閿�鍞樁娈�", prop: "sale_stage" }, // 閿�鍞樁娈� + { label: "閿�鍞樁娈�", prop: "sale_stage_name" }, // 閿�鍞樁娈� { label: "鍙兘鎬�(%)", prop: "possibilities" }, // 鍙兘鎬� { label: "棰勮鎴愪氦鏃ユ湡", prop: "expected_time", isTime: true, min: 130 }, // 棰勮鎴愪氦鏃ユ湡 { label: "棰勮鍚堝悓閲戦", prop: "projected_amount" }, // 棰勮鍚堝悓閲戦 @@ -172,7 +172,8 @@ return { ...item, client_name: item.client.name, - contact_name: item.contact.name + contact_name: item.contact.name, + sale_stage_name: item.sale_stage.name } }) this.tableList.tableInfomation = list || [] @@ -207,7 +208,7 @@ addBtnClick() { this.editConfig.visible = true this.editConfig.title = "鏂板缓" - this.editConfig.infomation = {} + this.editConfig.infomation = { city_id: 0 } }, // 缂栬緫 handleClick(row) { @@ -218,24 +219,6 @@ }, // 鍒犻櫎 delClick() { - // this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", { - // confirmButtonText: "纭畾", - // cancelButtonText: "鍙栨秷", - // type: "warning" - // }) - // .then(function () { - // return getDelSaleChance({ id: id }) - // }) - // .then((response) => { - // if (response.code === 200) { - // this.$message.success("鍒犻櫎鎴愬姛") - // this.getData() - // } else { - // this.$message.warning("鍒犻櫎澶辫触") - // } - // }) - // .catch(function () {}) - if (this.selValueList && this.selValueList.length > 0) { this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", { confirmButtonText: "纭畾", diff --git a/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue b/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue index e308dae..eda11e6 100644 --- a/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue +++ b/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue @@ -54,7 +54,7 @@ <el-form-item label="鏈嶅姟鍚堝悓"> <div class="custom-name"> <el-autocomplete - v-model="editConfig.infomation.service_number" + v-model="editConfig.infomation.serviceContract_Number" :fetch-suggestions=" (queryString, callback) => { querySearchAsync(queryString, callback, 'serviceContract') @@ -85,7 +85,7 @@ <el-option v-for="item in faultTypeOptions" :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> @@ -171,7 +171,7 @@ <el-option v-for="item in serviceTypeOptions" :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> @@ -229,7 +229,7 @@ <el-option v-for="item in severityOptions" :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> @@ -260,7 +260,7 @@ > </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> @@ -314,7 +314,7 @@ <el-option v-for="item in statusOptions" :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> @@ -326,13 +326,23 @@ <el-row> <el-col :span="12"> <el-form-item label="甯屾湜澶勭悊鏃堕棿" prop="expectTime"> - <el-date-picker v-model="editConfig.infomation.expectTime" type="datetime" placeholder="閫夋嫨鏃堕棿"> + <el-date-picker + v-model="editConfig.infomation.expectTime" + 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="realTime"> - <el-date-picker v-model="editConfig.infomation.startTime" type="realTime" placeholder="閫夋嫨鏃堕棿"> + <el-date-picker + v-model="editConfig.infomation.startTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="realTime" + placeholder="閫夋嫨鏃堕棿" + > </el-date-picker> </el-form-item> </el-col> @@ -370,7 +380,7 @@ <el-option v-for="item in timeSpentOptions" :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> diff --git a/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue b/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue index 88ccd46..cf0fb8b 100644 --- a/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue +++ b/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue @@ -357,7 +357,7 @@ }, { leftStr: "鏈嶅姟鍚堝悓", - leftValue: data.Contract.number, + leftValue: data.ServiceContract.number, rightStr: "鏁呴殰绫诲埆", rightValue: data.FaultType.name }, @@ -365,7 +365,7 @@ leftStr: "涓婚", leftValue: data.subject, rightStr: "鍚堝悓璁㈠崟", - rightValue: data.OrderManage.number + rightValue: data.SalesDetails.number }, { leftStr: "浜у搧绫诲埆", diff --git a/src/views/service/clientServiceOrder/index.vue b/src/views/service/clientServiceOrder/index.vue index b091743..c2d952d 100644 --- a/src/views/service/clientServiceOrder/index.vue +++ b/src/views/service/clientServiceOrder/index.vue @@ -143,7 +143,9 @@ keyword: keyword, keywordType: keywordType, page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize + pageSize: this.pagerOptions.pageSize, + salesDetailsId: 0, + serviceContractId: 0 }) .then((res) => { console.log(res) @@ -154,7 +156,8 @@ ...item, client_name: item.Client.name, serviceType_name: item.ServiceType.name, - faultType_name: item.FaultType.name + faultType_name: item.FaultType.name, + serviceContract_Number: item.ServiceContract.number } }) this.tableList.tableInfomation = list || [] diff --git a/src/views/service/serviceContract/AddServiceContractDialog.vue b/src/views/service/serviceContract/AddServiceContractDialog.vue index fe2da95..cebf667 100644 --- a/src/views/service/serviceContract/AddServiceContractDialog.vue +++ b/src/views/service/serviceContract/AddServiceContractDialog.vue @@ -163,7 +163,7 @@ <el-option v-for="item in contractTypeOptions" :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> @@ -223,7 +223,7 @@ > </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> @@ -267,7 +267,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"> @@ -292,7 +292,7 @@ </el-form-item> </el-col> </el-row> - </div> + </div> --> <!-- 浜у搧绠$悊 --> <div class="basic-info-title" style="display: flex"> 浜у搧绠$悊 diff --git a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue index a4071bb..8c98d07 100644 --- a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue +++ b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue @@ -123,7 +123,7 @@ <el-option v-for="item in satisfactionOptions" :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> @@ -139,7 +139,7 @@ <el-option v-for="item in timelyRateOptions" :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> @@ -155,7 +155,7 @@ <el-option v-for="item in solveRateOptions" :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> @@ -179,7 +179,7 @@ <el-option v-for="item in isVisitOptions" :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> @@ -202,7 +202,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"> @@ -227,7 +227,7 @@ </el-form-item> </el-col> </el-row> - </div> + </div> --> </div> </el-form> <div slot="footer" class="dialog-footer"> -- Gitblit v1.8.0