From 26c39cd359bc0d2edc88408ff51ef70554e32a90 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期四, 29 二月 2024 09:48:17 +0800
Subject: [PATCH] 跟进记录明细报价单没点击弹框下拉数据为空的问题选择机会或者报价单赋值客户名称
---
src/views/other/commonDialog/SelectCommonDialog.vue | 285 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 217 insertions(+), 68 deletions(-)
diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue
index 9682e35..3603f67 100644
--- a/src/views/other/commonDialog/SelectCommonDialog.vue
+++ b/src/views/other/commonDialog/SelectCommonDialog.vue
@@ -29,11 +29,14 @@
</div>
</div>
<TableCommonView
+ class="bg-list"
ref="tableListRef"
:table-list="tableList"
- :select-box="false"
+ :select-box="editCommonConfig.isSelectBox"
+ :selectBoxList="selectBoxList"
@selCommonClick="selNameClick"
@selTableCol="selTableCol"
+ @getSelectArray="getSelectArray"
>
</TableCommonView>
<div slot="footer" class="dialog-footer">
@@ -42,6 +45,10 @@
<PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
</div>
</div>
+ </div>
+ <div slot="footer" class="dialog-footer" v-if="editCommonConfig.isSelectBox">
+ <el-button type="primary" size="small" @click="saveClick()">纭畾</el-button>
+ <el-button size="small" @click="editConfig.editVisible = false">鍙栨秷</el-button>
</div>
</el-dialog>
</div>
@@ -55,6 +62,7 @@
import { getServiceOrderList } from "@/api/serviceManage/clientServiceOrder"
import { getProductList } from "@/api/common/other"
import { getSalesReturnList } from "@/api/sales/salesReturn"
+import { getSubOrderList } from "@/api/sales/subOrder"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
export default {
name: "EditSelCommonDialog",
@@ -65,10 +73,23 @@
default: () => {
return {
editVisible: false,
+ isSelectBox: false,
title: "",
+ clientId: 0,
+ isRequest: true,
+ client_name: "",
tableInfomation: []
}
}
+ },
+ // 鏍规嵁鎶ヤ环鍗曟煡璇骇鍝�
+ quotationNumber: {
+ type: [String, Number],
+ default: ""
+ },
+ selectBoxList: {
+ type: Array,
+ default: () => []
}
},
components: {},
@@ -89,10 +110,16 @@
keyword: "",
keywordType: "",
tableColumn: [],
- showCol: []
+ showCol: [],
+ selectArray: []
}
},
created() {
+ this.search_map = {
+ client_id: this.editConfig.clientId
+ }
+ this.keyword = this.editConfig.client_name
+ this.keywordType = "瀹㈡埛鍚嶇О"
this.setTable()
this.getData()
},
@@ -113,73 +140,127 @@
}
this.searchSel = { value: "number", label: "鍗曟嵁缂栧彿" }
} else if (this.editConfig.title === "鏈嶅姟鍚堝悓") {
+ this.tableColumn = [
+ { label: "瀹㈡埛鍚嶇О", prop: "client_name", default: true }, // 瀹㈡埛鍚嶇О
+ { label: "鏈嶅姟鍚堝悓缂栧彿", prop: "number", isClick: true }, // 鏈嶅姟鍚堝悓缂栧彿
+ { label: "璐熻矗浜�", prop: "member_name" }, // 璐熻矗浜�
+ { label: "鍚堣", prop: "total" }, // 鍚堣
+ { label: "绛剧害鏃ユ湡", prop: "signTime", isTime: true }, // 绛剧害鏃ユ湡
+ { label: "鍚堝悓鐘舵��", prop: "serviceContractStatus" } // 鍚堝悓鐘舵��
+ ]
+ this.showCol = ["瀹㈡埛鍚嶇О", "鏈嶅姟鍚堝悓缂栧彿", "璐熻矗浜�", "鍚堣", "绛剧害鏃ユ湡", "鍚堝悓鐘舵��"]
this.tableList = {
+ selectIndex: true,
tableInfomation: [],
- tableColumn: [
- { label: "瀹㈡埛鍚嶇О", prop: "client_name" }, // 瀹㈡埛鍚嶇О
- { label: "鏈嶅姟鍚堝悓缂栧彿", prop: "number", isClick: true }, // 鏈嶅姟鍚堝悓缂栧彿
- { label: "璐熻矗浜�", prop: "member_name" }, // 璐熻矗浜�
- { label: "鍚堣", prop: "total" }, // 鍚堣
- { label: "绛剧害鏃ユ湡", prop: "signTime", isTime: true }, // 绛剧害鏃ユ湡
- { label: "鍚堝悓鐘舵��", prop: "serviceContractStatus" } // 鍚堝悓鐘舵��
- ]
+ allcol: [],
+ showcol: this.showCol,
+ tableColumn: this.setColumnVisible(this.showCol)
}
this.searchSel = { value: "number", label: "鏈嶅姟鍚堝悓缂栧彿" }
} else if (this.editConfig.title === "閿�鍞槑缁嗗崟") {
+ this.tableColumn = [
+ { label: "瀹㈡埛鍚嶇О", prop: "client_name", default: true }, // 瀹㈡埛鍚嶇О
+ { label: "璁㈠崟缂栧彿", prop: "number", isClick: true }, // 璁㈠崟缂栧彿
+ { label: "绛剧害鏃ユ湡", prop: "signTime" }, // 绛剧害鏃ユ湡
+ { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉
+ { label: "鍚堣", prop: "tptal" } // 鍚堣
+ ]
+ this.showCol = ["瀹㈡埛鍚嶇О", "璁㈠崟缂栧彿", "绛剧害鏃ユ湡", "閿�鍞礋璐d汉", "鍚堣"]
this.tableList = {
+ selectIndex: true,
tableInfomation: [],
- tableColumn: [
- { label: "瀹㈡埛鍚嶇О", prop: "client_name" }, // 瀹㈡埛鍚嶇О
- { label: "璁㈠崟缂栧彿", prop: "number", isClick: true }, // 璁㈠崟缂栧彿
- { label: "绛剧害鏃ユ湡", prop: "signTime" }, // 绛剧害鏃ユ湡
- { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉
- { label: "鍚堣", prop: "tptal" } // 鍚堣
- ]
+ allcol: [],
+ showcol: this.showCol,
+ tableColumn: this.setColumnVisible(this.showCol)
}
this.searchSel = { value: "number", label: "璁㈠崟缂栧彿" }
} else if (this.editConfig.title === "鎶ヤ环鍗�") {
+ this.tableColumn = [
+ { label: "鎶ヤ环鍗曞彿", prop: "number", isClick: true, default: true }, // 鎶ヤ环鍗曞彿
+ { label: "鎶ヤ环鍚嶇О", prop: "quotationName" },
+ { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉
+ { label: "瀹㈡埛鍚嶇О", prop: "client_name" },
+ { label: "鎵�灞炰笟鍔℃満浼�", prop: "sale_chance_name" },
+ { label: "鎶ヤ环鍗曠姸鎬�", prop: "quotationStatus" },
+ { label: "鍚堣", prop: "amountTotal" }
+ ]
+ this.showCol = ["鎶ヤ环鍗曞彿", "鎶ヤ环鍚嶇О", "閿�鍞礋璐d汉", "瀹㈡埛鍚嶇О", "鎵�灞炰笟鍔℃満浼�", "鎶ヤ环鍗曠姸鎬�", "鍚堣"]
this.tableList = {
+ selectIndex: true,
+
tableInfomation: [],
- tableColumn: [
- { label: "鎶ヤ环鍗曞彿", prop: "number", isClick: true }, // 鎶ヤ环鍗曞彿
- { label: "閿�鍞礋璐d汉", prop: "member_name" } // 閿�鍞礋璐d汉
- ]
+ allcol: [],
+ showcol: this.showCol,
+ tableColumn: this.setColumnVisible(this.showCol)
}
this.searchSel = { value: "number", label: "鎶ヤ环鍗曞彿" }
} else if (this.editConfig.title === "瀹㈡埛鏈嶅姟鍗�") {
+ this.tableColumn = [
+ { label: "鏈嶅姟鍗曠紪鍙�", prop: "serviceNumber", isClick: true, default: true }, // 鏈嶅姟鍗曠紪鍙�
+ { label: "涓婚", prop: "subject" }, // 涓婚
+ { label: "鏈嶅姟鏂瑰紡", prop: "serviceType_name" }, // 鏈嶅姟鏂瑰紡
+ { label: "鏈嶅姟浜哄憳", prop: "serviceMan_name" }, // 鏈嶅姟浜哄憳
+ { label: "浼樺厛绾у埆", prop: "priorityLevel_name" }, // 浼樺厛绾у埆
+ { label: "澶勭悊鐘舵��", prop: "serviceOrderStatus_name" }, // 澶勭悊鐘舵��
+ { label: "瀹㈡埛绛惧悕", prop: "qianming" } // 瀹㈡埛绛惧悕
+ ]
+ this.showCol = ["鏈嶅姟鍗曠紪鍙�", "涓婚", "鏈嶅姟鏂瑰紡", "鏈嶅姟浜哄憳", "浼樺厛绾у埆", "澶勭悊鐘舵��", "瀹㈡埛绛惧悕"]
this.tableList = {
+ selectIndex: true,
tableInfomation: [],
- tableColumn: [
- { label: "鏈嶅姟鍗曠紪鍙�", prop: "serviceNumber", isClick: true }, // 鏈嶅姟鍗曠紪鍙�
- { label: "涓婚", prop: "subject" }, // 涓婚
- { label: "鏈嶅姟鏂瑰紡", prop: "serviceType_name" }, // 鏈嶅姟鏂瑰紡
- { label: "鏈嶅姟浜哄憳", prop: "serviceMan_name" }, // 鏈嶅姟浜哄憳
- { label: "浼樺厛绾у埆", prop: "priorityLevel_name" }, // 浼樺厛绾у埆
- { label: "澶勭悊鐘舵��", prop: "serviceOrderStatus_name" }, // 澶勭悊鐘舵��
- { label: "瀹㈡埛绛惧悕", prop: "qianming" } // 瀹㈡埛绛惧悕
- ]
+ allcol: [],
+ showcol: this.showCol,
+ tableColumn: this.setColumnVisible(this.showCol)
}
this.searchSel = { value: "serviceNumber", label: "鏈嶅姟鍗曠紪鍙�" }
} else if (this.editConfig.title === "浜у搧鍚嶇О") {
+ this.tableColumn = [
+ { label: "浜у搧鍚嶇О", prop: "name", isClick: this.editCommonConfig.isSelectBox ? false : true, default: true }, // 浜у搧鍚嶇О
+ { label: "浜у搧缂栧彿", prop: "number" },
+ { label: "閿�鍞崟浠�", prop: "price" },
+ { label: "鍗曚綅", prop: "unit" },
+ { label: "浜у搧瑙勬牸", prop: "specs" },
+ { label: "鍨嬪彿", prop: "type" }
+ ]
+ this.showCol = ["浜у搧鍚嶇О", "浜у搧缂栧彿", "閿�鍞崟浠�", "鍗曚綅", "浜у搧瑙勬牸", "鍨嬪彿"]
this.tableList = {
+ selectIndex: true,
tableInfomation: [],
- tableColumn: [
- { label: "浜у搧鍚嶇О", prop: "name", isClick: true },
- { label: "浜у搧缂栧彿", prop: "number" }
- ]
+ allcol: [],
+ showcol: this.showCol,
+ tableColumn: this.setColumnVisible(this.showCol)
}
this.searchSel = { value: "name", label: "浜у搧鍚嶇О" }
} else if (this.editConfig.title === "閿�鍞��璐у崟") {
+ this.tableColumn = [
+ { label: "閫�璐у崟缂栧彿", prop: "number", isClick: true, default: true }, // 閫�璐у崟缂栧彿
+ { label: "閫�璐ф棩鏈�", prop: "returnDate" },
+ { label: "鐘舵��", prop: "salesReturnStatus_name" },
+ { label: "閫�鍏ヤ粨搴�", prop: "repository" }
+ ]
+ this.showCol = ["閫�璐у崟缂栧彿", "閫�璐ф棩鏈�", "鐘舵��", "閫�鍏ヤ粨搴�"]
this.tableList = {
+ selectIndex: true,
tableInfomation: [],
- tableColumn: [
- { label: "閫�璐у崟缂栧彿", prop: "number", isClick: true },
- { label: "閫�璐ф棩鏈�", prop: "returnDate" },
- { label: "鐘舵��", prop: "salesReturnStatus_name" },
- { label: "閫�鍏ヤ粨搴�", prop: "repository" }
- ]
+ allcol: [],
+ showcol: this.showCol,
+ tableColumn: this.setColumnVisible(this.showCol)
}
this.searchSel = { value: "number", label: "閿�鍞��璐у崟缂栧彿" }
+ } else if (this.editConfig.title === "閿�鍞瓙鍗�") {
+ this.tableColumn = [
+ { label: "鍗曟嵁缂栧彿", prop: "number", isClick: true, default: true }, // 鍗曟嵁缂栧彿
+ { label: "璐熻矗浜�", prop: "member_name" } // 璐熻矗浜�
+ ]
+ this.showCol = ["鍗曟嵁缂栧彿", "璐熻矗浜�"]
+ this.tableList = {
+ selectIndex: true,
+ tableInfomation: [],
+ allcol: [],
+ showcol: this.showCol,
+ tableColumn: this.setColumnVisible(this.showCol)
+ }
+ this.searchSel = { value: "number", label: "鍗曟嵁缂栧彿" }
}
this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
this.searchOptions = []
@@ -201,6 +282,14 @@
this.showcol = val
this.tableList.tableColumn = this.setColumnVisible(val)
},
+ // 鍒楄〃澶氶��
+ getSelectArray(val) {
+ this.selectArray = val
+ },
+ saveClick() {
+ this.$emit("getSelectArray", this.selectArray)
+ this.editConfig.editVisible = false
+ },
// 璇锋眰鏁版嵁
async getData() {
this.loading = true
@@ -218,6 +307,8 @@
this.getProductList()
} else if (this.editConfig.title === "閿�鍞��璐у崟") {
this.getSalesReturnList()
+ } else if (this.editConfig.title === "閿�鍞瓙鍗�") {
+ this.getSubOrderList()
}
},
// 閿�鍞�诲崟
@@ -249,8 +340,8 @@
await getServiceContractList({
keyword: this.keyword,
keywordType: this.keywordType,
- page: 0,
- pageSize: 0
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
if (res.data.list && res.data.list.length > 0) {
@@ -262,7 +353,8 @@
serviceContractStatus: item.serviceContractStatus.name
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -272,20 +364,37 @@
},
// 鎶ヤ环鍗�
async getQuotationList() {
+ if (!this.editConfig.isRequest) {
+ this.tableList.tableInfomation = this.editConfig.tableInfomation.map((item) => {
+ return {
+ ...item,
+ client_name: item.client.name,
+ sale_chance_name: item.sale_chance.name,
+ member_name: item.member.username,
+ quotationStatus: item.quotation_status.name
+ }
+ })
+ this.pagerOptions.totalCount = this.editConfig.count ? this.editConfig.count : 0
+ return true
+ }
await getQuotationList({
search_map: this.search_map,
- page: 0,
- pageSize: 0
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
if (res.data.list && res.data.list.length > 0) {
const list = res.data.list.map((item) => {
return {
...item,
- member_name: item.member.username
+ client_name: item.client.name,
+ sale_chance_name: item.sale_chance.name,
+ member_name: item.member.username,
+ quotationStatus: item.quotation_status.name
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -296,10 +405,9 @@
// 閿�鍞槑缁嗗崟
async getSalesDetailsList() {
await getSalesDetailsList({
- keyword: this.keyword,
- keywordType: this.keywordType,
- page: 0,
- pageSize: 0
+ clientId: Number(this.editCommonConfig.clientId),
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
if (res.data.list && res.data.list.length > 0) {
@@ -310,7 +418,8 @@
member_name: item.Member.username
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -323,8 +432,8 @@
await getServiceOrderList({
keyword: this.keyword,
keywordType: this.keywordType,
- page: 0,
- pageSize: 0
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
if (res.data.data && res.data.data.length > 0) {
@@ -340,7 +449,8 @@
serviceOrderStatus_name: item.ServiceOrderStatus_name
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -350,21 +460,27 @@
},
// 浜у搧鍚嶇О
async getProductList() {
- await getProductList({
+ let params = {
productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "",
productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "",
- page: 1,
- pageSize: 5
- }).then((res) => {
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
+ }
+ // 鏍规嵁鎶ヤ环鍗曟煡璇骇鍝�
+ if (this.quotationNumber) {
+ params.quotationNumber = this.quotationNumber
+ }
+ await getProductList(params).then((res) => {
console.log(res.data)
- if (res.data.code === 200) {
- if (res.data.data.data && res.data.data.data.length > 0) {
- const list = res.data.data.data.map((item) => {
+ if (res.code === 200) {
+ if (res.data.data && res.data.data.length > 0) {
+ const list = res.data.data.map((item) => {
return {
...item
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -374,10 +490,9 @@
},
async getSalesReturnList() {
await getSalesReturnList({
- keyword: this.keyword,
- keywordType: this.keywordType,
- page: 0,
- pageSize: 0
+ clientId: Number(this.editCommonConfig.clientId),
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
if (res.data.list && res.data.list.length > 0) {
@@ -387,7 +502,32 @@
salesReturnStatus_name: item.SalesReturnStatus.name
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
+ } else {
+ this.tableList.tableInfomation = []
+ }
+ }
+ this.loading = false
+ })
+ },
+ // 閿�鍞瓙鍗�
+ async getSubOrderList() {
+ await getSubOrderList({
+ search_map: this.search_map,
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
+ }).then((res) => {
+ if (res.code === 200) {
+ if (res.data.list && res.data.list.length > 0) {
+ const list = res.data.list.map((item) => {
+ return {
+ ...item,
+ member_name: item.member.username
+ }
+ })
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -399,6 +539,9 @@
this.editConfig.editVisible = false
},
selNameClick(row) {
+ if (this.editCommonConfig.isSelectBox) {
+ return true
+ }
this.editConfig.editVisible = false
if (this.editConfig.title === "閿�鍞�诲崟") {
this.$emit("selClient", row, "master")
@@ -414,6 +557,8 @@
this.$emit("selClient", row, "productName")
} else if (this.editConfig.title === "閿�鍞��璐у崟") {
this.$emit("selClient", row, "salesReturn")
+ } else if (this.editConfig.title === "閿�鍞瓙鍗�") {
+ this.$emit("selClient", row, "subbill")
}
},
// 鎼滅储
@@ -440,6 +585,9 @@
<style lang="scss" scoped>
.bg-view {
margin: 10px;
+ .bg-list {
+ min-height: 370px;
+ }
.query-bg {
margin-left: -20px;
margin-bottom: 10px;
@@ -451,6 +599,7 @@
width: 100px;
}
}
+
.btn {
float: right;
}
--
Gitblit v1.8.0