| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:category:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="ç±»å«åç§°" prop="name"> |
| | | <el-input v-model="searchForm.name" placeholder="请è¾å
¥ç±»å«åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:category:exportExcel']" @click="exportExcel">导åº</el-button> --> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:category:create']"> |
| | | <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('æ°å»ºç±»å«')" icon="el-icon-plus" |
| | | v-permissions="['business:category:create']">æ°å»º</el-button></li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe border :header-cell-style="rowStyle" |
| | | :cell-style="rowStyle"> |
| | | <el-table-column prop="imgurl" label="徿 " min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.imgurl" style="width: 70px; height: 70px" :src="row.imgfullurl" |
| | | :preview-src-list="[row.imgfullurl]" fit="cover"></el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="ç±»å«åç§°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="priceRate" label="å ä»·ç³»æ°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="æåºç (ååº)" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column v-if="containPermissions(['business:category:update'])" prop="status" label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch v-model="row.status" @change="changeStatus(row)" :active-value="0" :inactive-value="1"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="containPermissions(['business:category:update', 'business:category:delete'])" label="æä½" |
| | | min-width="120" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="edit(row.id)" v-permissions="['business:category:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" v-permissions="['business:category:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaCategoryWindow ref="operaCategoryWindow" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaCategoryWindow from '@/components/business/OperaCategoryWindow' |
| | | import { queryById, updateDisableById } from '@/api/business/category.js' |
| | | export default { |
| | | name: 'Category', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCategoryWindow }, |
| | | data() { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | name: '' |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | this.config({ |
| | | module: 'ç±»å«', |
| | | api: '/business/category', |
| | | 'field.id': 'id', |
| | | 'field.main': 'name' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | rowStyle() { |
| | | return "text-align:center"; |
| | | }, |
| | | changeStatus(item) { |
| | | updateDisableById({ |
| | | id: item.id, |
| | | status: item.status |
| | | }).then(res => { |
| | | this.$tip.apiSuccess('æ´æ°æå') |
| | | }).catch (err => { |
| | | this.$message.error(err) |
| | | }) |
| | | .finally(() => { |
| | | this.handlePageChange() |
| | | }) |
| | | }, |
| | | edit(id) { |
| | | queryById(id) |
| | | .then(res => { |
| | | let obj = { |
| | | id, |
| | | name: res.name, |
| | | attrFirst: res.attrFirst, |
| | | attrFirstList: res.attrFirstList, |
| | | attrSecond: res.attrSecond, |
| | | attrSecondList: res.attrSecondList, |
| | | sortnum: res.sortnum, |
| | | paramList: res.paramList, |
| | | imgurl: res.imgurl, |
| | | budgetList: res.budgetList, |
| | | fileList: res.imgurl ? [{ url: res.prefixUrl + res.imgurl }] : [] |
| | | } |
| | | this.$refs.operaCategoryWindow.open('ç¼è¾ç±»å«', res) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |