From 1888b426ff2b6a529f5fdef0f0453dadef71824b Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 17 四月 2024 10:17:38 +0800 Subject: [PATCH] 隐藏多单位的问题 --- 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..dc395f6 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 } + 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