| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | <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> | 
|---|