From 1be1b02ce28638c92076e4d40afec70a3f4c2249 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期二, 07 五月 2024 14:37:02 +0800
Subject: [PATCH] 产品模块 启用多单位点击取消关闭复选框+点击确定的时候增加至少填写一项的校验
---
src/views/warehouseManage/listingRules/index.vue | 238 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 137 insertions(+), 101 deletions(-)
diff --git a/src/views/warehouseManage/listingRules/index.vue b/src/views/warehouseManage/listingRules/index.vue
index b7be896..32b3b4c 100644
--- a/src/views/warehouseManage/listingRules/index.vue
+++ b/src/views/warehouseManage/listingRules/index.vue
@@ -4,25 +4,32 @@
<SearchCommonView
:add-title="addTitle"
:show-discard="showDiscard"
- :placeholder="'璇疯緭鍏ヤ綅缃�/浜у搧'"
+ :placeholder="'璇疯緭鍏ヤ骇鍝�/浜у搧绫诲埆'"
:amount-view="false"
+ :search-task-map="searchTaskMap"
@addCommonClick="addProductClick"
@searchClick="getList"
@discardBtnClick="discardBtnClick"
@applyBtnClick="applyBtnClick"
+ @delSelectClick="delSelectClick"
/>
</div>
<div class="list-view">
<div class="table">
<CommonFormTableView
+ ref="tableRef"
:islistingrules="true"
:product-table-list="tableList"
@inputContent="inputContent"
@tableRowClick="tableRowClick"
@selLocationClick="selLocationClick"
+ @selSonLocationClick="selSonLocationClick"
+ @querySearchData="querySearchData"
@selProductClick="selProductClick"
- @selProductTypeClick="selProductTypeClick"
>
+ <!--
+ @selProductTypeClick="selProductTypeClick"
+ -->
<template slot="tableButton">
<el-table-column label="鎿嶄綔" width="90" align="center">
<template slot-scope="scope">
@@ -61,43 +68,39 @@
addTitle: "鏂板缓",
showDiscard: false,
tableList: {},
- tableData: [
- {
- location: "HC/閿�鍞尯",
- productName: "澶忓鐪熶笣鍚婂甫瑁�",
- amount: "0.00",
- unit: "浠�",
- count: "0.00",
- date: "2023-12-31",
- user: "绠$悊鍛�",
- isSet: true,
- isEdit: true
- },
- {
- location: "HM/閿�鍞尯",
- productName: "澶忓鐪熶笣鍚婂甫瑁�",
- productCategory: "",
- subLocation: "A鍖�",
- companyName: "璐濇�濈",
- isSet: true,
- isEdit: true
- }
- ],
searchOptions: [],
countId: 0,
isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨
isRowClick: false,
areaId: 0,
productId: 0,
- productCategoryId:0,
+ productCategoryId: 0,
subLocationId: 0,
currentRowId: 0,
- rowIndex:-1,
- RuleType:0,
+ rowIndex: -1,
+ RuleType: 0,
+ queryProductId: null,
+ categoryId: null,
+ searchTaskMap: [],
+ isCreate: false,
+ thatRow: {}
}
},
created() {
this.setTable()
+ let query = this.$route.query
+ if (query) {
+ this.queryProductId = query.productId?.length ? query.productId : null
+ this.categoryId = query.id ? Number(query.id) : null
+ this.pagerOptions.currPage = 1
+ this.searchTaskMap =
+ query?.id > 0
+ ? [{ categoryId: this.categoryId, title: query.categoryName }]
+ : query.productId?.length > 0
+ ? [{ productId: this.queryProductId, title: query.productName }]
+ : []
+ console.log(this.searchTaskMap)
+ }
this.getData()
},
methods: {
@@ -107,18 +110,20 @@
selectBox: false,
selectIndex: true,
tableColumn: [
- { label: "褰撲骇鍝佸埌杈�", prop: "areaName", location: true },
+ { label: "褰撲骇鍝佸埌杈�", prop: "areaName", toLocation: true },
{ label: "浜у搧", prop: "productName", product: true },
- { label: "浜у搧绫诲埆", prop: "productCategory",productType: true },
- { label: "瀛樺偍鍒板瓙浣嶇疆", prop: "subLocation", location: true }
+ { label: "浜у搧绫诲埆", prop: "productCategory", productType: true },
+ { label: "瀛樺偍鍒板瓙浣嶇疆", prop: "subLocation", sonLocation: true }
// { label: "鍏徃", prop: "companyName", company: true }
- ]
+ ],
+ rowClickIndex: -1
}
},
// 璇锋眰鏁版嵁
async getData() {
await getListingRulesList({
- // keyword: this.keyword,
+ productId: this.queryProductId ? this.queryProductId : null,
+ productCategoryId: this.categoryId ? this.categoryId : null,
page: this.pagerOptions.currPage,
pageSize: this.pagerOptions.pageSize
}).then((res) => {
@@ -151,8 +156,9 @@
},
// 鏂板
addProductClick() {
- this.tableList.tableColumn[1].product=true
- this.tableList.tableColumn[2].productType=true
+ this.isCreate = true
+ this.tableList.tableColumn[1].product = true
+ this.tableList.tableColumn[2].productType = true
console.log(this.tableData)
this.isSel()
if (this.isNoProduct && this.addTitle === "鏂板缓") {
@@ -170,6 +176,7 @@
subLocation: "",
productName: "",
companyName: "",
+ productCategory: "",
isSet: true,
isEdit: false,
isOrder: true
@@ -181,7 +188,7 @@
} else {
if (this.areaId === 0) {
this.$message.error("璇烽�夋嫨褰撳墠浜у搧鍒拌揪浣嶇疆")
- } else if (this.productId === 0 && this.productCategoryId==='') {
+ } else if (this.productId === 0 && this.productCategoryId === 0) {
this.$message.error("璇烽�夋嫨浜у搧鎴栦骇鍝佺被鍒�")
} else if (this.subLocationId === 0) {
this.$message.error("璇烽�夋嫨瀛樺偍鍒板瓙浣嶇疆")
@@ -200,18 +207,19 @@
})
let requestUrl = this.currentRowId === 0 ? addListingRules : updateListingRules
requestUrl({
- RuleType:this.RuleType,
- id: this.currentRowId,
- areaId: this.areaId,
- locationId: this.subLocationId,
- productCategoryId: this.productCategoryId||'',
- productId: this.productId||''
+ RuleType: this.RuleType,
+ id: this.currentRowId,
+ areaId: this.areaId,
+ locationId: this.subLocationId,
+ productCategoryId: this.productCategoryId,
+ productId: this.productId
}).then((res) => {
console.log(res)
if (res.code === 200) {
this.getData()
let tipStr = this.currentRowId === 0 ? "娣诲姞鎴愬姛" : "淇敼鎴愬姛"
this.$message.success(tipStr)
+ this.isCreate = false
}
})
}
@@ -221,7 +229,7 @@
isSel() {
for (let i = 0; i < this.tableData.length; i++) {
if (this.tableData[i].productName.length === 0) {
- this.isNoProduct = true
+ this.isNoProduct = true // 鏆傛椂淇敼涓簍rue锛屽鏋滀骇鍝佷互鍚庢槸蹇呭~锛屾敼涓篺alse灏辫
break
} else {
this.isNoProduct = true
@@ -230,15 +238,10 @@
},
// 鍙栨秷
discardBtnClick() {
- this.tableList.tableColumn[1].product=true
- this.tableList.tableColumn[2].productType=true
- if (this.isRowClick) {
- this.tableData.map((item) => {
- item.isEdit = true
- })
- } else {
- this.tableData.splice(0, 1)
- }
+ this.getData()
+ this.isCreate = false
+ this.tableList.tableColumn[1].product = true
+ this.tableList.tableColumn[2].productType = true
this.addTitle = "鏂板缓"
this.showDiscard = false
},
@@ -275,39 +278,57 @@
},
// 琛岀偣鍑�
tableRowClick(row, rowIndex) {
- this.rowIndex=rowIndex
+ this.thatRow = row
+ this.tableList.rowClickIndex = rowIndex
+ this.rowIndex = rowIndex
this.isSel()
if (!this.isNoProduct && this.currentRowId === 0) {
this.$message.error("璇峰畬鎴愬綋鍓嶆柊寤烘垨鍙栨秷鏂板缓")
} else {
- this.tableList.tableColumn[2].productType=true
- this.currentRowId = row.id
+ this.currentRowId = row.id || 0
this.addTitle = "淇濆瓨"
this.showDiscard = true
this.isRowClick = true
- if (!this.isNoProduct) {
- this.tableData.splice(this.tableData.length - 1, 1)
+ if (this.isNoProduct) {
+ // this.tableData.splice(this.tableData.length - 1, 1)
+ this.tableData.map((item, index) => {
+ if (index === rowIndex) {
+ item.isEdit = false
+ item.isOrder = true
+ } else {
+ item.isEdit = true
+ }
+ })
+ this.areaId = row.areaId
+ this.subLocationId = row.locationId
+ this.productCategoryId = row.productCategoryId
+ this.productId = row.productId
}
- this.tableData.map((item, index) => {
- if (index === rowIndex) {
- item.isEdit = false
- item.isOrder = true
- } else {
- item.isEdit = true
+ }
+ },
+ querySearchData(queryString, results, value) {
+ if (this.isCreate) {
+ if (queryString === "") {
+ this.tableList.tableColumn[1].product = true
+ this.tableList.tableColumn[2].productType = true
+ } else {
+ if (value === "product") {
+ this.tableList.tableColumn[2].productType = false
+ if (results.length !== 0) {
+ this.productId = results[0].id
+ } else {
+ this.productId = 0
+ }
+ } else if (value === "productType") {
+ this.tableList.tableColumn[1].product = false
+ if (results.length !== 0) {
+ this.productCategoryId = results[0].id
+ } else {
+ this.productCategoryId = 0
+ }
}
- })
- this.areaId = row.areaId
- this.subLocationId = row.locationId
- this.productCategoryId = row.productCategoryId
- this.productId = row.productId
- if(this.tableList.tableData[rowIndex].productName===""||this.tableList.tableData[rowIndex].productName===" "){
- this.tableList.tableColumn[1].product=false
- this.tableList.tableColumn[2].productType=true
- }else{
- this.tableList.tableColumn[1].product=true
- this.tableList.tableColumn[2].productType=false
}
- }
+ }
},
// 鎼滅储
getList(val) {
@@ -332,33 +353,30 @@
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
},
- // 閫夋嫨浣嶇疆鏂规硶
+ // 閫夋嫨璧峰浣嶇疆鏂规硶
selLocationClick(item, prop) {
- console.log(item, prop)
if (prop === "areaName") {
this.areaId = item.value
} else if (prop === "subLocation") {
this.subLocationId = item.value
}
},
- // 閫変腑浜у搧鏂规硶
- selProductClick(item) {
- console.log(item,"浜у搧")
- this.RuleType=1
- this.tableList.tableColumn[2].productType=false
- this.productId = item.value
- this.productCategoryId = item.categoryId
+ // 閫夋嫨瀛愪綅缃柟娉�
+ selSonLocationClick(item) {
+ this.subLocationId = item.value
},
- // 閫変腑浜у搧绫诲瀷鏂规硶
- selProductTypeClick(item) {
- this.RuleType=2
- if(this.currentRowId===0){
- this.productCategoryId=item.value
- }else{
- this.tableList.tableColumn[1].product=false
- this.tableList.tableData[this.rowIndex].productName=' '
- this.productId=''
- this.productCategoryId=this.tableList.tableData[this.rowIndex].productCategoryId
+ // 閫変腑浜у搧鏂规硶
+ selProductClick(value, item) {
+ console.log(value, item)
+ if (value === "product") {
+ this.RuleType = 1
+ this.tableList.tableColumn[2].productType = false
+ this.productId = item.productId
+ this.productCategoryId = item.categoryId
+ } else if (value === "productType") {
+ this.productCategoryId = item.id
+ this.RuleType = 2
+ this.tableList.tableColumn[1].product = false
}
},
// 鍒犻櫎
@@ -370,17 +388,35 @@
this.getData()
}
})
+ },
+ // 鍒犻櫎浜у搧绫诲瀷
+ delSelectClick() {
+ this.categoryId = 0
+ this.queryProductId = ""
+ this.getData()
}
},
- watch:{
- rowIndex(newVal){
- if(this.tableList.tableData[newVal].productName===" "){
- this.tableList.tableColumn[1].product=false
- this.tableList.tableColumn[2].productType=true
- }else{
- this.tableList.tableColumn[1].product=true
- this.tableList.tableColumn[2].productType=false
+ watch: {
+ rowIndex(newVal) {
+ if (this.isCreate) {
+ if (newVal === 0) {
+ this.tableList.tableColumn[1].product = true
+ this.tableList.tableColumn[2].productType = true
+ } else {
+ this.$message.error("璇峰畬鎴愬綋鍓嶆柊寤烘垨鍙栨秷鏂板缓")
+ this.tableList.tableColumn[1].product = false
+ this.tableList.tableColumn[2].productType = false
+ }
+ } else {
+ if (this.tableList.tableData[newVal].productName === "") {
+ this.tableList.tableColumn[1].product = false
+ this.tableList.tableColumn[2].productType = true
+ } else {
+ this.tableList.tableColumn[1].product = true
+ this.tableList.tableColumn[2].productType = false
+ }
}
+ this.$refs.tableRef.getProductCategoryList()
}
}
}
--
Gitblit v1.8.0