From b136c0a80500d929897a8e24f920efad47e2e307 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 01 十一月 2023 19:03:01 +0800
Subject: [PATCH] 变更公海 的接口传参修改
---
src/views/other/commonDialog/SelectCommonDialog.vue | 476 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 441 insertions(+), 35 deletions(-)
diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue
index 8e42445..9f0f9e7 100644
--- a/src/views/other/commonDialog/SelectCommonDialog.vue
+++ b/src/views/other/commonDialog/SelectCommonDialog.vue
@@ -10,21 +10,37 @@
>
<div class="bg-view">
<div class="query-bg">
- <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="queryInput" size="mini" class="input-with-select">
+ <!-- <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="queryInput" size="mini" class="input-with-select">
<el-select v-model="select" slot="prepend" placeholder="璇烽�夋嫨">
<el-option v-for="item in commonOptions" :key="item.id" :label="item.name" :value="item.name">
</el-option>
</el-select>
- </el-input>
+ </el-input> -->
+ <SearchCommonView
+ ref="searchCommonView"
+ :search-options="searchOptions"
+ @searchClick="searchClick"
+ @resetClick="resetClick"
+ :search-sel="searchSel"
+ />
<div class="btn">
- <el-button type="primary" size="mini" disabled>璁剧疆瀛楁</el-button>
- <el-button type="primary" size="mini" disabled>蹇�熷垱寤�</el-button>
+ <!-- <el-button type="primary" size="mini" disabled>璁剧疆瀛楁</el-button>
+ <el-button type="primary" size="mini" disabled>蹇�熷垱寤�</el-button> -->
</div>
</div>
- <TableCommonView ref="tableListRef" :table-list="tableList" :select-box="false" @selCommonClick="selNameClick">
+ <TableCommonView
+ ref="tableListRef"
+ :table-list="tableList"
+ :select-box="false"
+ @selCommonClick="selNameClick"
+ @selTableCol="selTableCol"
+ >
</TableCommonView>
<div slot="footer" class="dialog-footer">
- <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div>
+ <!-- <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div> -->
+ <div class="btn-pager">
+ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+ </div>
</div>
</div>
</el-dialog>
@@ -32,8 +48,18 @@
</template>
<script>
+import { getMasterOrderList } from "@/api/sales/masterOrder"
+import { getQuotationList } from "@/api/sales/quotation"
+import { getSalesDetailsList } from "@/api/sales/salesDetails"
+import { getServiceContractList } from "@/api/serviceManage/serviceContract"
+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",
+ mixins: [pageMixin],
props: {
editCommonConfig: {
type: Object,
@@ -41,6 +67,8 @@
return {
editVisible: false,
title: "",
+ clientId: 0,
+ client_name: "",
tableInfomation: []
}
}
@@ -58,52 +86,396 @@
searchSelOptions: [],
loading: false,
tableList: {},
- commonOptions: []
+ searchOptions: [],
+ search_map: {},
+ searchSel: {},
+ keyword: "",
+ keywordType: "",
+ tableColumn: [],
+ showCol: []
}
},
created() {
+ this.search_map = {
+ client_id: this.editConfig.clientId
+ }
+ this.keyword = this.editConfig.client_name
+ this.keywordType = "瀹㈡埛鍚嶇О"
this.setTable()
+ this.getData()
},
methods: {
setTable() {
if (this.editConfig.title === "閿�鍞�诲崟") {
+ this.tableColumn = [
+ { label: "鍗曟嵁缂栧彿", prop: "number", isClick: true, default: true }, // 鍗曟嵁缂栧彿
+ { label: "璐熻矗浜�", prop: "member_name" } // 璐熻矗浜�
+ ]
+ this.showCol = ["鍗曟嵁缂栧彿", "璐熻矗浜�"]
this.tableList = {
- tableInfomation: this.editConfig.tableInfomation,
- tableColumn: [
- { label: "鍗曟嵁缂栧彿", prop: "number", isClick: true }, // 鍗曟嵁缂栧彿
- { label: "璐熻矗浜�", prop: "member_id" } // 璐熻矗浜�
- ]
+ selectIndex: true,
+ tableInfomation: [],
+ 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: "member_name" }, // 璐熻矗浜�
+ { label: "鍚堣", prop: "total" }, // 鍚堣
+ { label: "绛剧害鏃ユ湡", prop: "signTime", isTime: true }, // 绛剧害鏃ユ湡
+ { label: "鍚堝悓鐘舵��", prop: "serviceContractStatus" } // 鍚堝悓鐘舵��
+ ]
+ this.showCol = ["瀹㈡埛鍚嶇О", "鏈嶅姟鍚堝悓缂栧彿", "璐熻矗浜�", "鍚堣", "绛剧害鏃ユ湡", "鍚堝悓鐘舵��"]
this.tableList = {
- tableInfomation: this.editConfig.tableInfomation,
- tableColumn: [
- { label: "瀹㈡埛鍚嶇О", prop: "clientId" }, // 瀹㈡埛鍚嶇О
- { label: "鏈嶅姟鍚堝悓缂栧彿", prop: "number", isClick: true }, // 鏈嶅姟鍚堝悓缂栧彿
- { label: "璐熻矗浜�", prop: "memberId" }, // 璐熻矗浜�
- { label: "鍚堣", prop: "total" }, // 鍚堣
- { label: "绛剧害鏃ユ湡", prop: "signTime", isTime: true }, // 绛剧害鏃ユ湡
- { label: "鍚堝悓鐘舵��", prop: "serviceContractStatusId" } // 鍚堝悓鐘舵��
- ]
+ selectIndex: true,
+ tableInfomation: [],
+ 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 = {
- tableInfomation: this.editConfig.tableInfomation,
- tableColumn: [
- { label: "瀹㈡埛鍚嶇О", prop: "clientId" }, // 瀹㈡埛鍚嶇О
- { label: "璁㈠崟缂栧彿", prop: "number", isClick: true }, // 璁㈠崟缂栧彿
- { label: "绛剧害鏃ユ湡", prop: "signTime" }, // 绛剧害鏃ユ湡
- { label: "閿�鍞礋璐d汉", prop: "memberId" }, // 閿�鍞礋璐d汉
- { label: "鍚堣", prop: "tptal" } // 鍚堣
- ]
+ selectIndex: true,
+ tableInfomation: [],
+ 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: "閿�鍞礋璐d汉", prop: "member_name" } // 閿�鍞礋璐d汉
+ ]
+ this.showCol = ["鎶ヤ环鍗曞彿", "閿�鍞礋璐d汉"]
+ this.tableList = {
+ selectIndex: true,
+ tableInfomation: [],
+ 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: [],
+ 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: true, default: true }, // 浜у搧鍚嶇О
+ { label: "浜у搧缂栧彿", prop: "number" }
+ ]
+ this.showCol = ["浜у搧鍚嶇О", "浜у搧缂栧彿"]
+ this.tableList = {
+ selectIndex: true,
+ tableInfomation: [],
+ 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: [],
+ 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.commonOptions = [{ id: 1, name: "鍏ㄩ儴瀛楁" }]
- for (let i = 1; i < this.tableList.tableColumn.length; i++) {
+ this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
+ this.searchOptions = []
+ for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
- this.commonOptions.push({ id: (i + 1).toString(), name: label })
+ const value = this.tableList.tableColumn[i].prop
+ this.searchOptions.push({ value: value, label: label })
}
+ },
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
+ return {
+ ...ele,
+ isShowColumn: showCol.includes(ele.label)
+ }
+ })
+ },
+ selTableCol(val) {
+ this.showcol = val
+ this.tableList.tableColumn = this.setColumnVisible(val)
+ },
+ // 璇锋眰鏁版嵁
+ async getData() {
+ this.loading = true
+ if (this.editConfig.title === "閿�鍞�诲崟") {
+ this.getMasterOrderList()
+ } else if (this.editConfig.title === "鏈嶅姟鍚堝悓") {
+ this.getServiceContractList()
+ } else if (this.editConfig.title === "閿�鍞槑缁嗗崟") {
+ this.getSalesDetailsList()
+ } else if (this.editConfig.title === "鎶ヤ环鍗�") {
+ this.getQuotationList()
+ } else if (this.editConfig.title === "瀹㈡埛鏈嶅姟鍗�") {
+ this.getServiceOrderList()
+ } else if (this.editConfig.title === "浜у搧鍚嶇О") {
+ this.getProductList()
+ } else if (this.editConfig.title === "閿�鍞��璐у崟") {
+ this.getSalesReturnList()
+ } else if (this.editConfig.title === "閿�鍞瓙鍗�") {
+ this.getSubOrderList()
+ }
+ },
+ // 閿�鍞�诲崟
+ async getMasterOrderList() {
+ await getMasterOrderList({
+ 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 = []
+ }
+ }
+ this.loading = false
+ })
+ },
+ // 鏈嶅姟鍚堝悓
+ async getServiceContractList() {
+ await getServiceContractList({
+ keyword: this.keyword,
+ keywordType: this.keywordType,
+ 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,
+ client_name: item.client.name,
+ member_name: item.member.username,
+ serviceContractStatus: item.serviceContractStatus.name
+ }
+ })
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
+ } else {
+ this.tableList.tableInfomation = []
+ }
+ }
+ this.loading = false
+ })
+ },
+ // 鎶ヤ环鍗�
+ async getQuotationList() {
+ await getQuotationList({
+ 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 = []
+ }
+ }
+ this.loading = false
+ })
+ },
+ // 閿�鍞槑缁嗗崟
+ async getSalesDetailsList() {
+ await getSalesDetailsList({
+ 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) {
+ const list = res.data.list.map((item) => {
+ return {
+ ...item,
+ client_name: item.client.name,
+ member_name: item.Member.username
+ }
+ })
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
+ } else {
+ this.tableList.tableInfomation = []
+ }
+ }
+ this.loading = false
+ })
+ },
+ // 瀹㈡埛鏈嶅姟鍗�
+ async getServiceOrderList() {
+ await getServiceOrderList({
+ keyword: this.keyword,
+ keywordType: this.keywordType,
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
+ }).then((res) => {
+ if (res.code === 200) {
+ if (res.data.data && res.data.data.length > 0) {
+ const list = res.data.data.map((item) => {
+ return {
+ ...item,
+ client_name: item.Client.name,
+ serviceType_name: item.ServiceType.name,
+ faultType_name: item.FaultType.name,
+ serviceContract_Number: item.ServiceContract.number,
+ serviceMan_name: item.serviceMan.username,
+ priorityLevel_name: item.PriorityLevel.name,
+ serviceOrderStatus_name: item.ServiceOrderStatus_name
+ }
+ })
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
+ } else {
+ this.tableList.tableInfomation = []
+ }
+ }
+ this.loading = false
+ })
+ },
+ // 浜у搧鍚嶇О
+ async getProductList() {
+ await getProductList({
+ productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "",
+ productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "",
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
+ }).then((res) => {
+ console.log(res.data)
+ 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 || []
+ this.pagerOptions.totalCount = res.data.count
+ } else {
+ this.tableList.tableInfomation = []
+ }
+ }
+ this.loading = false
+ })
+ },
+ async getSalesReturnList() {
+ await getSalesReturnList({
+ 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) {
+ const list = res.data.list.map((item) => {
+ return {
+ ...item,
+ salesReturnStatus_name: item.SalesReturnStatus.name
+ }
+ })
+ 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 = []
+ }
+ }
+ this.loading = false
+ })
},
handleClose() {
this.editConfig.editVisible = false
@@ -116,7 +488,33 @@
this.$emit("selClient", row, "serviceContract")
} else if (this.editConfig.title === "閿�鍞槑缁嗗崟") {
this.$emit("selClient", row, "contract")
+ } else if (this.editConfig.title === "鎶ヤ环鍗�") {
+ this.$emit("selClient", row, "quotation")
+ } else if (this.editConfig.title === "瀹㈡埛鏈嶅姟鍗�") {
+ this.$emit("selClient", row, "customService")
+ } else if (this.editConfig.title === "浜у搧鍚嶇О") {
+ 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")
}
+ },
+ // 鎼滅储
+ searchClick(val, content) {
+ console.log(val, content)
+ this.search_map = {
+ [val.value]: content
+ }
+ this.keyword = content
+ this.keywordType = val.label
+ this.getData()
+ },
+ resetClick() {
+ this.search_map = {}
+ this.keyword = ""
+ this.keywordType = ""
+ this.getData()
}
}
}
@@ -127,6 +525,7 @@
.bg-view {
margin: 10px;
.query-bg {
+ margin-left: -20px;
margin-bottom: 10px;
display: flex;
justify-content: space-between;
@@ -146,9 +545,16 @@
cursor: pointer;
}
.dialog-footer {
- height: 40px;
- line-height: 40px;
+ height: 50px;
+ line-height: 50px;
color: red;
+ .btn-pager {
+ display: flex;
+ margin-top: 0px;
+ .page {
+ margin-left: auto;
+ }
+ }
}
::v-deep {
.input-with-select .el-input-group__prepend {
--
Gitblit v1.8.0