From 7f97968e2f94ac53532a60f08c134c74a3a24847 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 27 三月 2024 17:35:59 +0800
Subject: [PATCH] 采购数量的产品信息请求接口修改+数量是0的时候没有显示的问题修改
---
src/views/other/commonDialog/SelectCommonDialog.vue | 336 +++++++++++++++++--------------------------------------
1 files changed, 104 insertions(+), 232 deletions(-)
diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue
index afab011..74d664a 100644
--- a/src/views/other/commonDialog/SelectCommonDialog.vue
+++ b/src/views/other/commonDialog/SelectCommonDialog.vue
@@ -28,42 +28,68 @@
<el-button type="primary" size="mini" disabled>蹇�熷垱寤�</el-button> -->
</div>
</div>
- <TableCommonView ref="tableListRef" :table-list="tableList" :select-box="false" @selCommonClick="selNameClick">
+ <TableCommonView
+ class="bg-list"
+ ref="tableListRef"
+ :table-list="tableList"
+ :select-box="editCommonConfig.isSelectBox"
+ :selectBoxList="selectBoxList"
+ @selCommonClick="selNameClick"
+ @selTableCol="selTableCol"
+ @getSelectArray="getSelectArray"
+ >
</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>
+ <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>
</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 { getProductListFromGrpc, getProductList } from "@/api/productManage/product"
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+
export default {
name: "EditSelCommonDialog",
+ mixins: [pageMixin],
props: {
editCommonConfig: {
type: Object,
default: () => {
return {
editVisible: false,
+ isSelectBox: false,
title: "",
+ clientId: 0,
+ isRequest: true,
+ client_name: "",
tableInfomation: []
}
}
+ },
+ sign: {
+ type: String,
+ default: ""
+ },
+ selectBoxList: {
+ type: Array,
+ default: () => []
}
},
components: {},
computed: {},
data() {
return {
- dialogWidth: "50%",
+ dialogWidth: "40%",
editConfig: this.editCommonConfig,
queryInput: "",
select: "鍏ㄩ儴瀛楁",
@@ -75,7 +101,19 @@
search_map: {},
searchSel: {},
keyword: "",
- keywordType: ""
+ keywordType: "",
+ showProductCol: ["浜у搧鍚嶇О", "浜у搧缂栧彿", "閿�鍞崟浠�", "鍗曚綅", "浜у搧瑙勬牸", "鍨嬪彿"],
+ tableProductColumn: [
+ { label: "浜у搧鍚嶇О", prop: "name", isClick: true },
+ { label: "浜у搧缂栧彿", prop: "number" },
+ { label: "閿�鍞崟浠�", prop: "purchasePrice" },
+ { label: "鍗曚綅", prop: "unit" },
+ { label: "浜у搧瑙勬牸", prop: "specifications" },
+ { label: "鍨嬪彿", prop: "modelNumber" }
+ ],
+ showCol: [],
+ tableColumn: [],
+ selectArray: []
}
},
created() {
@@ -83,74 +121,30 @@
this.getData()
},
methods: {
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
+ return {
+ ...ele,
+ isShowColumn: showCol.includes(ele.label)
+ }
+ })
+ },
setTable() {
- if (this.editConfig.title === "閿�鍞�诲崟") {
- this.tableList = {
- tableInfomation: [],
- tableColumn: [
- { label: "鍗曟嵁缂栧彿", prop: "number", isClick: true }, // 鍗曟嵁缂栧彿
- { label: "璐熻矗浜�", prop: "member_name" } // 璐熻矗浜�
- ]
- }
- this.searchSel = { value: "number", label: "鍗曟嵁缂栧彿" }
- } else if (this.editConfig.title === "鏈嶅姟鍚堝悓") {
- this.tableList = {
- 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" } // 鍚堝悓鐘舵��
- ]
- }
- this.searchSel = { value: "number", label: "鏈嶅姟鍚堝悓缂栧彿" }
- } else if (this.editConfig.title === "閿�鍞槑缁嗗崟") {
- this.tableList = {
- tableInfomation: [],
- tableColumn: [
- { label: "瀹㈡埛鍚嶇О", prop: "client_name" }, // 瀹㈡埛鍚嶇О
- { label: "璁㈠崟缂栧彿", prop: "number", isClick: true }, // 璁㈠崟缂栧彿
- { label: "绛剧害鏃ユ湡", prop: "signTime" }, // 绛剧害鏃ユ湡
- { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉
- { label: "鍚堣", prop: "tptal" } // 鍚堣
- ]
- }
- this.searchSel = { value: "number", label: "璁㈠崟缂栧彿" }
- } else if (this.editConfig.title === "鎶ヤ环鍗�") {
- this.tableList = {
- tableInfomation: [],
- tableColumn: [
- { label: "鎶ヤ环鍗曞彿", prop: "number", isClick: true }, // 鎶ヤ环鍗曞彿
- { label: "閿�鍞礋璐d汉", prop: "member_name" } // 閿�鍞礋璐d汉
- ]
- }
- this.searchSel = { value: "number", label: "鎶ヤ环鍗曞彿" }
- } else if (this.editConfig.title === "瀹㈡埛鏈嶅姟鍗�") {
- this.tableList = {
- 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" } // 瀹㈡埛绛惧悕
- ]
- }
- this.searchSel = { value: "serviceNumber", label: "鏈嶅姟鍗曠紪鍙�" }
- } else if (this.editConfig.title === "浜у搧鍚嶇О") {
- this.tableList = {
- tableInfomation: [],
- tableColumn: [
- { label: "浜у搧鍚嶇О", prop: "name", isClick: true },
- { label: "浜у搧缂栧彿", prop: "number" }
- ]
- }
- this.searchSel = { value: "name", label: "浜у搧鍚嶇О" }
+ if (this.editConfig.title === "浜у搧鍚嶇О") {
+ this.showCol = this.showProductCol
+ this.tableColumn = this.tableProductColumn
}
+ this.tableList = {
+ tableInfomation: [],
+ selectIndex: true,
+ highlight: true,
+ ref: "tableListRef",
+ showcol: this.showCol,
+ allcol: [],
+ tableColumn: this.setColumnVisible(this.showCol)
+ }
+ 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
@@ -158,167 +152,42 @@
this.searchOptions.push({ value: value, label: label })
}
},
+ selTableCol(val) {
+ 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
- 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 === "浜у搧鍚嶇О") {
+ if (this.editConfig.title === "浜у搧鍚嶇О") {
this.getProductList()
}
},
- // 閿�鍞�诲崟
- async getMasterOrderList() {
- await getMasterOrderList({
- search_map: this.search_map,
- page: 0,
- pageSize: 0
- }).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.slice(0, 5) || []
- } else {
- this.tableList.tableInfomation = []
- }
- }
- this.loading = false
- })
- },
- // 鏈嶅姟鍚堝悓
- async getServiceContractList() {
- await getServiceContractList({
- keyword: this.keyword,
- keywordType: this.keywordType,
- page: 0,
- pageSize: 0
- }).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.slice(0, 5) || []
- } else {
- this.tableList.tableInfomation = []
- }
- }
- this.loading = false
- })
- },
- // 鎶ヤ环鍗�
- async getQuotationList() {
- await getQuotationList({
- search_map: this.search_map,
- page: 0,
- pageSize: 0
- }).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.slice(0, 5) || []
- } else {
- this.tableList.tableInfomation = []
- }
- }
- this.loading = false
- })
- },
- // 閿�鍞槑缁嗗崟
- async getSalesDetailsList() {
- await getSalesDetailsList({
- keyword: this.keyword,
- keywordType: this.keywordType,
- page: 0,
- pageSize: 0
- }).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.slice(0, 5) || []
- } else {
- this.tableList.tableInfomation = []
- }
- }
- this.loading = false
- })
- },
- // 瀹㈡埛鏈嶅姟鍗�
- async getServiceOrderList() {
- await getServiceOrderList({
- keyword: this.keyword,
- keywordType: this.keywordType,
- page: 0,
- pageSize: 0
- }).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.slice(0, 5) || []
- } else {
- this.tableList.tableInfomation = []
- }
- }
- this.loading = false
- })
- },
// 浜у搧鍚嶇О
async getProductList() {
- await getProductList({
- productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "",
- productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "",
- page: 1,
- pageSize: 5
+ let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc
+ await fn({
+ keyword: this.keyword,
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).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.list && res.data.list.length > 0) {
+ const list = res.data.list.map((item) => {
return {
...item
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list
+ this.pagerOptions.totalCount = res.data.total
} else {
this.tableList.tableInfomation = []
}
@@ -336,13 +205,9 @@
}
},
// 鎼滅储
- searchClick(val, content) {
- console.log(val, content)
- this.search_map = {
- [val.value]: content
- }
+ searchClick(content) {
+ console.log(content)
this.keyword = content
- this.keywordType = val.label
this.getData()
},
resetClick() {
@@ -380,9 +245,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