From 0b9c144b5110a7e2a85b2e5581ef304bb81a3ebc Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 19 九月 2023 19:24:35 +0800
Subject: [PATCH] 修改
---
company_admin/src/views/business/goods.vue | 139 ++++++++++++++++++++++++++++++++--------------
1 files changed, 96 insertions(+), 43 deletions(-)
diff --git a/company_admin/src/views/business/goods.vue b/company_admin/src/views/business/goods.vue
index 16d2c4f..1b081e2 100644
--- a/company_admin/src/views/business/goods.vue
+++ b/company_admin/src/views/business/goods.vue
@@ -10,41 +10,51 @@
<el-input v-model="searchForm.id" placeholder="璇疯緭鍏ュ晢鍝両D" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="绫诲埆" prop="categoryId">
- <el-select v-model="searchForm.categoryId" clearable placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in categoryList"
- :key="item.id"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
+ <el-select v-model="searchForm.categoryId" clearable placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in categoryList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
<!-- <el-input v-model="searchForm.categoryId" placeholder="璇疯緭鍏ユ墍灞炲搧绫荤紪鐮�" @keypress.enter.native="search"></el-input> -->
</el-form-item>
<el-form-item label="鍝佺墝" prop="brandId">
- <el-select v-model="searchForm.brandId" clearable placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in brandList"
- :key="item.id"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
+ <el-select v-model="searchForm.brandId" clearable placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in brandList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
<!-- <el-input v-model="searchForm.brandId" placeholder="璇疯緭鍏ユ墍灞炲搧鐗岀紪鐮�" @keypress.enter.native="search"></el-input> -->
</el-form-item>
<el-form-item label="鐘舵��" prop="status">
- <el-select v-model="searchForm.status" clearable placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in statusList"
- :key="item.id"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
+ <el-select v-model="searchForm.status" clearable placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in statusList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ <!-- <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" @keypress.enter.native="search"></el-input> -->
+ </el-form-item>
+ <el-form-item label="绫诲瀷" prop="type">
+ <el-select v-model="searchForm.type" clearable placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in typeList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
<!-- <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" @keypress.enter.native="search"></el-input> -->
</el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
-
<el-button @click="reset">閲嶇疆</el-button>
</section>
</el-form>
@@ -52,8 +62,12 @@
<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>
+ <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>
+
+ <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> -->
</ul>
<el-table
@@ -63,7 +77,9 @@
border
:header-cell-style="rowStyle"
:cell-style="rowStyle"
+ @selection-change="handleSelectionChange"
>
+ <el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="id" label="鍟嗗搧ID" min-width="100px"></el-table-column>
<el-table-column prop="name" label="鍟嗗搧鍚嶇О/鍨嬪彿" min-width="200px">
<template slot-scope="{row}">
@@ -76,27 +92,37 @@
:preview-src-list="[row.prefixUrl + row.imgurl]"
fit="cover"></el-image>
</div>
- {{ row.name }}
+ {{ row.name }}
</div>
</template>
</el-table-column>
<el-table-column prop="brandName" label="鍝佺墝" min-width="100px"></el-table-column>
<el-table-column prop="categoryName" label="绫诲埆" min-width="100px"></el-table-column>
- <el-table-column prop="attrFirstNames" label="灞炴��1" min-width="100px"></el-table-column>
- <el-table-column prop="attrSecodNames" label="灞炴��2" min-width="100px"></el-table-column>
- <el-table-column prop="zdPrice" label="鎸囧浠凤紙鍏冿級" min-width="100px"></el-table-column>
+ <el-table-column prop="categoryName" label="绫诲瀷" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.type == 0">鑷缓</span>
+ <span v-else>鎷夊彇</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎸囧浠凤紙鍏冿級" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.type == 0">{{ row.zdPrice }}</span>
+ <span v-else>{{ row.baseZdPrice }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="basePrice" label="閲囪喘浠�(鍏�)" min-width="100px"></el-table-column>
<el-table-column prop="price" label="鍏ユ墜浠凤紙鍏冿級" min-width="100px"></el-table-column>
<el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
<el-table-column prop="status" label="鐘舵��" min-width="100px">
<template slot-scope="{row}">
- <el-switch
- v-model="row.status"
- @change="changeStatus(row)"
- active-color="#13ce66"
- inactive-color="#ff4949"
- :active-value="0"
- :inactive-value="1">
- </el-switch>
+ <el-switch
+ v-model="row.status"
+ @change="changeStatus(row)"
+ active-color="#13ce66"
+ inactive-color="#ff4949"
+ :active-value="0"
+ :inactive-value="1">
+ </el-switch>
</template>
</el-table-column>
<el-table-column
@@ -121,6 +147,8 @@
</template>
<!-- 鏂板缓/淇敼 -->
<OperaGoodsWindow ref="operaGoodsWindow" @success="handlePageChange"/>
+ <!-- 閫夋嫨骞冲彴鍟嗗搧 -->
+ <selectProduct ref="selectProduct" @success="handlePageChange" @result="search"/>
</TableLayout>
</template>
@@ -129,12 +157,13 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaGoodsWindow from '@/components/business/OperaGoodsWindow'
+ import selectProduct from '@/components/business/selectProduct'
import { brand, category, importExcel } from '@/api/system/common.js'
- import { updateDisableById, queryById, exportDoc } from '@/api/business/goods.js'
+ import { updateDisableById, queryById, exportDoc, batchUpdateDisableById } from '@/api/business/goods.js'
export default {
name: 'Goods',
extends: BaseTable,
- components: { TableLayout, Pagination, OperaGoodsWindow },
+ components: { TableLayout, Pagination, OperaGoodsWindow, selectProduct },
data () {
return {
// 鎼滅储
@@ -143,13 +172,19 @@
name: '',
status: '',
categoryId: '',
- brandId: ''
+ brandId: '',
+ type: ''
},
+ ids: '',
categoryList: [],
brandList: [],
statusList: [
- { name: '鍚敤', id: 0 },
- { name: '绂佺敤', id: 1 }
+ { name: '鍚敤', id: 0 },
+ { name: '绂佺敤', id: 1 }
+ ],
+ typeList: [
+ { name: '鑷缓', id: 0 },
+ { name: '鎷夊彇', id: 1 }
]
}
},
@@ -165,8 +200,26 @@
this.getcategory()
},
methods: {
+ handleSelectionChange(e) {
+ let arr = e.map(item => item.id)
+ this.ids = arr.join(',')
+ console.log(this.ids)
+ },
+ // 鎵归噺涓婁笅鏋�
+ bulkOperation(type) {
+ if (!this.ids) {
+ this.$message.warning({ message: '鑷冲皯閫夋嫨涓�椤瑰唴瀹�' })
+ return
+ }
+ batchUpdateDisableById({
+ ids: this.ids,
+ status: type
+ }).then(res => {
+ this.$message.success({ message: res })
+ this.search()
+ })
+ },
downloadFile() {
- // window.open(`${process.env.VUE_APP_API_PREFIX}/business/goods/export`)
exportDoc({})
.then(response => {
this.download(response)
--
Gitblit v1.9.3