| <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> |