From 6d5a9b68644735008e5fe5a70b2aa483ba3d9a7c Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期一, 22 四月 2024 10:50:37 +0800
Subject: [PATCH] 库存调整模块 添加点击自身报错位置id的问题修改
---
src/views/productManage/product/index.vue | 156 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 118 insertions(+), 38 deletions(-)
diff --git a/src/views/productManage/product/index.vue b/src/views/productManage/product/index.vue
index 7120876..c6919d0 100644
--- a/src/views/productManage/product/index.vue
+++ b/src/views/productManage/product/index.vue
@@ -5,8 +5,10 @@
:add-title="'鏂板缓'"
:placeholder="'璇疯緭鍏ヤ骇鍝佸悕绉�'"
:amount-view="false"
+ :search-task-map="searchTaskMap"
@addCommonClick="addBtnClick"
@searchClick="searchClick"
+ @delSelectClick="delSelectClick"
/>
</div>
<div class="list-view">
@@ -14,24 +16,34 @@
<div class="icon-view">
<span
class="icon-label"
- @click="selIconSwitchClick('1')"
- :class="{ blueBackgroud: isIconIndex === '1', whiteBackgroud: isIconIndex === '2' }"
- ><i class="el-icon-menu"></i
- ></span>
- <span
- class="icon-label"
@click="selIconSwitchClick('2')"
:class="{ whiteBackgroud: isIconIndex === '1', blueBackgroud: isIconIndex === '2' }"
style="margin-left: 5px"
><i class="el-icon-s-unfold"></i
></span>
+ <span
+ class="icon-label"
+ @click="selIconSwitchClick('1')"
+ :class="{ blueBackgroud: isIconIndex === '1', whiteBackgroud: isIconIndex === '2' }"
+ ><i class="el-icon-menu"></i
+ ></span>
</div>
</div>
<!-- 鍥捐〃褰㈠紡 -->
<div v-if="isIconIndex === '1'" class="product-view">
- <div class="product-box" v-for="item in tableList.tableInfomation" :key="item.id" @click="tableRowClick(item)">
+ <div class="product-box" v-for="item in tableList.tableInfomation" :key="item.id" @click="showDetail(item)">
<div class="left">
- <el-image style="width: 60px; height: 80px" :src="url"></el-image>
+ <el-image
+ v-if="item.attachmentList?.length > 0"
+ style="width: 60px; height: 80px"
+ :src="item.attachmentList[0].FileUrl"
+ :preview-src-list="item.srcList"
+ :z-index="9999"
+ @click.stop="imgClick"
+ ></el-image>
+ <div v-else class="img-view">
+ <i class="el-icon-picture-outline"></i>
+ </div>
</div>
<div class="right">
<div class="label">
@@ -51,16 +63,20 @@
</div>
<!-- 鍒楄〃褰㈠紡 -->
<div v-if="isIconIndex === '2'" class="product-list">
- <TableCommonView
- ref="tableListRef"
- :table-list="tableList"
- @selTableCol="selTableCol"
- @tableRowClick="tableRowClick"
- >
+ <TableCommonView ref="tableListRef" :table-list="tableList" @selTableCol="selTableCol">
+ <template slot="tableButton">
+ <el-table-column label="鎿嶄綔" width="90" align="center">
+ <template slot-scope="scope">
+ <span @click.stop="showDetail(scope.row)" class="cursor_pointer" style="margin-right: 10px">
+ <span style="color: #2a78fb">鏌ョ湅</span>
+ </span>
+ <span @click.stop="editRow(scope.row)" class="cursor_pointer">
+ <span style="color: #2a78fb">缂栬緫</span>
+ </span>
+ </template>
+ </el-table-column>
+ </template>
</TableCommonView>
- <!-- <div class="btn-pager">
- <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
- </div> -->
</div>
<div class="btn-pager">
<PagerView class="page" :pager-options="pagerOptions" :page-size="pageSizes" v-on="pagerEvents" />
@@ -86,7 +102,7 @@
data() {
return {
tableList: {},
- showcol: ["鍐呴儴鍙傝��", "璐熻矗浜�", "浜у搧鏍囩", "閿�鍞环鏍�", "鎴愭湰", "鍦ㄥ簱鏁伴噺", "棰勬祴鏁伴噺", "璁¢噺鍗曚綅"],
+ showcol: ["鍐呴儴缂栫爜",'浜у搧瑙勬牸', "璐熻矗浜�", "浜у搧鏍囩", "鎴愭湰", "鍦ㄥ簱鏁伴噺", "棰勬祴鏁伴噺", "璁¢噺鍗曚綅"],
searchOptions: [],
commonDetail: {
visible: false,
@@ -96,15 +112,26 @@
editConfig: {
visible: false,
title: "鏂板缓",
- infomation: {}
+ infomation: {},
+ autoEdit: false
},
- isIconIndex: "1", // 1 鍥炬爣 2 鍒楄〃
+ isIconIndex: "2", // 1 鍥炬爣 2 鍒楄〃
url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
- pageSizes: [15, 30]
+ pageSizes: [15, 30],
+ keyWord: "",
+ categoryId: null,
+ searchTaskMap: []
}
},
created() {
this.setTable()
+ let query = this.$route.query
+ if (query) {
+ console.log("ssssss")
+ this.categoryId = query.id ? Number(query.id) : null
+ this.pagerOptions.currPage = 1
+ this.searchTaskMap = query.id ? [{ categoryId: this.categoryId, title: query.categoryName }] : []
+ }
this.getData()
},
methods: {
@@ -115,7 +142,8 @@
}
this.tableList = {
tableInfomation: [],
- selectBox: true,
+ selectBox: false,
+ selectIndex: true,
showcol: this.showcol,
allcol: [],
tableColumn: this.setTableColumn(this.showcol)
@@ -132,15 +160,27 @@
setTableColumn(showcol) {
let tableColumn = [
{
+ label: "浜у搧缂栫爜",
+ prop: "id",
+ isShowColumn: true,
+ default: true
+ },
+ {
label: "浜у搧鍚嶇О",
prop: "name",
isShowColumn: true,
default: true
},
{
- label: "鍐呴儴鍙傝��",
+ label: "浜у搧瑙勬牸",
+ prop: "specs",
+ isShowColumn: showcol.includes("浜у搧瑙勬牸"),
+ default: false
+ },
+ {
+ label: "鍐呴儴缂栫爜",
prop: "internalReference",
- isShowColumn: showcol.includes("鍐呴儴鍙傝��"),
+ isShowColumn: showcol.includes("鍐呴儴缂栫爜"),
default: false
},
{
@@ -181,7 +221,7 @@
},
{
label: "浜у搧绫诲瀷",
- prop: "productType",
+ prop: "model",
isShowColumn: showcol.includes("浜у搧绫诲瀷"),
default: false
},
@@ -212,16 +252,29 @@
this.tableList.tableColumn = this.setTableColumn(val)
},
// 璇锋眰鏁版嵁
- async getData(val) {
+ async getData() {
await getProductList({
- keyWord: val,
+ keyWord: this.keyWord,
+ categoryId: this.categoryId ? this.categoryId : null,
page: this.pagerOptions.currPage,
pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
const list = res.data.map((item) => {
+ let srcList = []
+ if (item.attachmentList?.length > 0) {
+ item.attachmentList.forEach((ele) => {
+ if (ele.fileType === "picture") {
+ srcList.push(ele.FileUrl)
+ }
+ })
+ } else {
+ srcList = []
+ }
+
return {
- ...item
+ ...item,
+ srcList
}
})
this.tableList.tableInfomation = list || []
@@ -232,21 +285,34 @@
// 鎼滅储
searchClick(val) {
console.log(val)
+ this.keyWord = val
this.pagerOptions.currPage = 1
- this.getData(val)
+ this.getData()
},
// 鏂板缓
addBtnClick() {
- this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {}
- },
- // 琛岀偣鍑�
- tableRowClick(row) {
- console.log(row)
+ this.editConfig.infomation = {
+ purchaseTypeList:[]
+ }
this.editConfig.visible = true
+ },
+ // 璇︽儏
+ showDetail(row) {
+ console.log(row)
+ this.editConfig.autoEdit = false
this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = { ...row }
+ let imageSrc = row.attachmentList?.length > 0 ? row.attachmentList[0].FileUrl : ""
+ this.editConfig.infomation = { ...row, imageSrc: imageSrc }
+ this.editConfig.visible = true
+ },
+ // 缂栬緫
+ editRow(row) {
+ this.editConfig.autoEdit = true
+ this.editConfig.title = "缂栬緫"
+ let imageSrc = row.attachmentList?.length > 0 ? row.attachmentList[0].FileUrl : ""
+ this.editConfig.infomation = { ...row, imageSrc: imageSrc,moreUnitList:row.moreUnitList?row.moreUnitList:[] }
+ this.editConfig.visible = true
},
// 鍒囨崲鍒楄〃灞曠幇褰㈠紡
selIconSwitchClick(value) {
@@ -260,7 +326,13 @@
this.pagerOptions.pageSize = 15
}
this.getData()
- }
+ },
+ // 鍒犻櫎浜у搧绫诲瀷
+ delSelectClick() {
+ this.categoryId = 0
+ this.getData()
+ },
+ imgClick() {}
}
}
</script>
@@ -318,6 +390,14 @@
.left {
width: 60px;
text-align: center;
+ .img-view {
+ width: 60px;
+ height: 80px;
+ line-height: 80px;
+ border: 1px solid #dee2e6;
+ font-size: 22px;
+ color: #b8babb;
+ }
}
.right {
flex: 1;
@@ -345,7 +425,7 @@
}
}
.product-list {
- height: calc(100% - 65px);
+ height: calc(100% - 70px);
}
::v-deep {
.el-table {
--
Gitblit v1.8.0