| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:basedata:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="80px" inline> |
| | | <el-form-item label="åååç§°" prop="name"> |
| | | <el-input v-model="searchForm.name" placeholder="请è¾å
¥åååç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="京ä¸sku" prop="sku"> |
| | | <el-input v-model="searchForm.sku" placeholder="请è¾å
¥äº¬ä¸sku" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åç" prop="brand"> |
| | | <el-input v-model="searchForm.brand" placeholder="请è¾å
¥åç" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç±»å«" prop="category"> |
| | | <el-input v-model="searchForm.category" 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-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> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:basedata:create', 'business:basedata:delete']"> |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" |
| | | v-permissions="['business:basedata:delete']">æ¹éå é¤</el-button></li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" border stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="id" label="主é®" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="åå主å¾" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <div style="display: flex; align-items: center;"> |
| | | <div style="width: 70px; height: 70px; flex-shrink: 0;"> |
| | | <el-image v-if="row.imgurl" style="width: 70px; height: 70px" :src="row.imgurl" |
| | | :preview-src-list="[row.imgurl]" fit="cover"></el-image> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="åååç§°" min-width="150px"> |
| | | <template slot-scope="{row}"> |
| | | <a :href="`${row.url}`" target="_blank">{{ row.name }}</a> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="title" label="æ é¢" min-width="100px"></el-table-column>--> |
| | | <el-table-column prop="sku" label="京ä¸sku" min-width="100px"></el-table-column> |
| | | <el-table-column prop="brand" label="åç" min-width="120px"></el-table-column> |
| | | <el-table-column prop="category" label="ç±»å«" min-width="100px"></el-table-column> |
| | | <el-table-column prop="price" label="ä»·æ ¼ï¼å
ï¼" min-width="100px"></el-table-column> |
| | | <el-table-column prop="saleprice" label="éè´ä»·æ ¼ï¼å
ï¼" min-width="100px"></el-table-column> |
| | | <el-table-column prop="haveStock" label="åºåæ
åµ" min-width="100px"></el-table-column> |
| | | <el-table-column prop="bgImgs" label="大å¾" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="showImage(row.bgImgs)">æ¥ç大å¾</el-button> |
| | | <!-- <div style="display: flex; align-items: center;"> |
| | | <div style="width: 70px; height: 70px; flex-shrink: 0;"> |
| | | <el-image v-if="row.bgImgs" style="width: 70px; height: 70px" :src="row.bgImgs" |
| | | :preview-src-list="row.bgImgs" fit="cover"></el-image> |
| | | </div> |
| | | </div> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="status" label="å¤çç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.status == 1 ? "å·²å¤ç" : "æªå¤ç" }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="containPermissions(['business:basedata:update', 'business:basedata:delete'])" label="æä½" |
| | | min-width="80" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <!-- |
| | | <el-button type="text" @click="$refs.operaBaseDataWindow.open('ç¼è¾ååæºæ°æ®ä¿¡æ¯è¡¨', row)" icon="el-icon-edit" v-permissions="['business:basedata:update']">ç¼è¾</el-button> |
| | | --> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" |
| | | v-permissions="['business:basedata:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaBaseDataWindow ref="operaBaseDataWindow" @success="handlePageChange" /> |
| | | <el-image-viewer |
| | | v-if="showViewer" |
| | | :on-close="closeViewer" |
| | | :initialIndex="0" |
| | | :url-list="srcList" |
| | | :z-index="3000" |
| | | /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaBaseDataWindow from '@/components/business/OperaBaseDataWindow' |
| | | import ElImageViewer from 'element-ui/packages/image/src/image-viewer' |
| | | export default { |
| | | name: 'BaseData', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaBaseDataWindow, ElImageViewer }, |
| | | data() { |
| | | return { |
| | | showViewer: false, |
| | | srcList: [], |
| | | // æç´¢ |
| | | searchForm: { |
| | | name: '', |
| | | sku: '', |
| | | brand: '', |
| | | category: '', |
| | | status: null |
| | | }, |
| | | statusList: [ |
| | | { name: 'æªå¤ç', id: 0 }, |
| | | { name: 'å·²å¤ç', id: 1 } |
| | | ] |
| | | } |
| | | }, |
| | | created() { |
| | | this.config({ |
| | | module: 'ååæºæ°æ®ä¿¡æ¯è¡¨', |
| | | api: '/business/baseData', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | showImage(imgs) { |
| | | this.srcList = [] |
| | | this.srcList = imgs |
| | | this.showViewer = true |
| | | }, |
| | | closeViewer() { |
| | | this.showViewer = false |
| | | } |
| | | |
| | | }, |
| | | } |
| | | </script> |