From 7d13bbe39257ab5231d062e431fbb920c60d8ed5 Mon Sep 17 00:00:00 2001 From: Mr.Shi <1878285526@qq.com> Date: 星期二, 19 九月 2023 14:29:01 +0800 Subject: [PATCH] 企业端 --- platform/src/views/business/goods.vue | 87 +++++++++++-------------------------------- 1 files changed, 23 insertions(+), 64 deletions(-) diff --git a/platform/src/views/business/goods.vue b/platform/src/views/business/goods.vue index 8992e61..b7f8046 100644 --- a/platform/src/views/business/goods.vue +++ b/platform/src/views/business/goods.vue @@ -1,6 +1,6 @@ <template> - <TableLayout :permissions="['business:goods:query']"> + <TableLayout :permissions="['business:basegoods:query']"> <!-- 鎼滅储琛ㄥ崟 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="鍟嗗搧鍚嶇О" prop="name"> @@ -37,15 +37,17 @@ </el-form> <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> - <ul class="toolbar" v-permissions="['business:goods:create', 'business:goods:delete']"> - <li><el-button type="primary" @click="$refs.operaGoodsWindow.open('鏂板缓鍟嗗搧')" icon="el-icon-plus" - v-permissions="['business:goods:create']">鏂板缓</el-button></li> + <ul class="toolbar" v-permissions="['business:basegoods:create', 'business:basegoods:delete']"> + <li v-permissions="['business:basegoods:create']"> + <el-button type="primary" @click="$refs.operaGoodsWindow.open('鏂板缓鍟嗗搧')" icon="el-icon-plus">鏂板缓</el-button> + </li> <!-- <el-button type="primary" :loading="isWorking.export" @click="$refs.selectProduct.open('閫夋嫨骞冲彴鍟嗗搧')">閫夋嫨骞冲彴鍟嗗搧</el-button> --> - <el-button type="primary" :loading="isWorking.export" v-permissions="['business:goods:exportExcel']" - @click="importFile">瀵煎叆</el-button> - <el-button type="primary" :loading="isWorking.export" @click="downloadFile">涓嬭浇妯℃澘</el-button> - + <li v-permissions="['business:basegoods:exportExcel']"> + <ImportButton text="瀵煎叆" template-name="goods_import_modle.xlsx" + template-path="/template/goods_import_modle.xlsx" action="/business/baseGoods/importExcel" + @success="search" /> + </li> <el-button type="primary" :loading="isWorking.export" @click="bulkOperation(0)">鎵归噺涓婃灦</el-button> <el-button type="primary" :loading="isWorking.export" @click="bulkOperation(1)">鎵归噺涓嬫灦</el-button> <!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:goods:delete']">鍒犻櫎</el-button></li> --> @@ -77,17 +79,16 @@ </el-switch> </template> </el-table-column> - <el-table-column v-if="containPermissions(['business:goods:update', 'business:goods:delete'])" label="鎿嶄綔" + <el-table-column v-if="containPermissions(['business:basegoods:update', 'business:basegoods:delete'])" label="鎿嶄綔" min-width="120" fixed="right"> <template slot-scope="{row}"> <el-button type="text" @click="edit(row.id)" icon="el-icon-edit" - v-permissions="['business:goods:update']">缂栬緫</el-button> + v-permissions="['business:basegoods:update']">缂栬緫</el-button> <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" - v-permissions="['business:goods:delete']">鍒犻櫎</el-button> + v-permissions="['business:basegoods:delete']">鍒犻櫎</el-button> </template> </el-table-column> </el-table> - <input type="file" ref="upload" style="display: none;" @change="uplaodFile" /> <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> </pagination> </template> @@ -104,12 +105,13 @@ import Pagination from '@/components/common/Pagination' import OperaGoodsWindow from '@/components/business/OperaGoodsWindow' import selectProduct from '@/components/business/selectProduct' +import ImportButton from '@/components/common/ImportButton' import { brand, baseCategory, importExcel } from '@/api/system/common.js' import { updateStatus, queryById, exportDoc } from '@/api/business/goods.js' export default { name: 'Goods', extends: BaseTable, - components: { TableLayout, Pagination, OperaGoodsWindow, selectProduct }, + components: { TableLayout, Pagination, OperaGoodsWindow, selectProduct, ImportButton }, data() { return { // 鎼滅储 @@ -130,6 +132,12 @@ ] } }, + provide() { + return { + brandList: () => this.brandList, + categoryList: () => this.categoryList + } + }, created() { this.config({ module: '鍟嗗搧', @@ -146,7 +154,6 @@ let arr = e.map(item => item.id) this.ids = arr.join(',') this.idList = arr; - console.log(this.ids) }, // 鎵归噺涓婁笅鏋� bulkOperation(type) { @@ -175,52 +182,10 @@ rowStyle() { return "text-align:center"; }, - importFile() { - this.$refs.upload.click() - }, - uplaodFile(e) { - const FORMDATE = new FormData() - FORMDATE.append('file', e.target.files[0]) - // 璇锋眰鎺ュ彛 - importExcel(FORMDATE) - .then(res => { - console.log(res) - this.search() - }) - .catch((err) => { - this.$message.error(err.message) - }) - this.$refs.upload.value = null - }, edit(id) { queryById(id) .then(res => { - let obj = { - id: res.id, - name: res.name, - categoryId: res.categoryId, - brandId: res.brandId, - zdPrice: res.zdPrice, - price: res.price, - attrFirstIds: res.attrFirstIds ? this.turnNum(res.attrFirstIds.split(',')) : [], - attrFirstNames: res.attrFirstNames, - attrSecodIds: res.attrSecodIds ? this.turnNum(res.attrSecodIds.split(',')) : [], - attrSecodNames: res.attrSecodNames, - imgurl: res.imgurl, - multifileList: [], - files: [], - ztList: res.imgurl ? [{ url: res.prefixUrl + res.imgurl }] : [], - pzList: [], - attrFirstList: [], - attrSecodList: [] - } - if (res.multifileList.length > 0) { - res.multifileList.forEach(item => { - obj.multifileList.push({ fileurl: item.fileurl, name: item.name, url: res.prefixUrl + item.fileurl }) - obj.files.push({ fileurl: item.fileurl, name: item.name, url: res.prefixUrl + item.fileurl }) - }) - } - this.$refs.operaGoodsWindow.open('缂栬緫鍟嗗搧', obj) + this.$refs.operaGoodsWindow.open('缂栬緫鍟嗗搧', res) }) }, changeStatus(item) { @@ -233,14 +198,8 @@ // this.search() }) }, - turnNum(nums) { - for (let i = 0; i < nums.length; i++) { - nums[i] = parseInt(nums[i]) - } - return nums; - }, getbrand() { - brand({type:1}) + brand({ type: 1 }) .then(res => { this.brandList = res }) -- Gitblit v1.9.3