| | |
| | | # 任康 |
| | | # VUE_APP_API = 'http://192.168.0.15:10017/' |
| | | # ç¦æ¾ |
| | | VUE_APP_API = 'http://192.168.0.36:10011' |
| | | VUE_APP_API = 'http://localhost:10011' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '../../utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/business/baseData/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // 导åºExcel |
| | | export function exportExcel (data) { |
| | | return request.post('/business/baseData/exportExcel', data, { |
| | | trim: true, |
| | | download: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/business/baseData/create', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/business/baseData/updateById', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/business/baseData/delete/${id}`) |
| | | } |
| | | |
| | | // æ¹éå é¤ |
| | | export function deleteByIdInBatch (ids) { |
| | | return request.get('/business/baseData/delete/batch', { |
| | | params: { |
| | | ids |
| | | } |
| | | }) |
| | | } |
| | |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/business/goods/page', data, { |
| | | return request.post('/business/baseGoods/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // 导åºExcel |
| | | export function exportExcel (data) { |
| | | return request.post('/business/goods/exportExcel', data, { |
| | | return request.post('/business/baseGoods/exportExcel', data, { |
| | | trim: true, |
| | | download: true |
| | | }) |
| | |
| | | |
| | | // å¯¼åºæ¨¡æ¿ |
| | | export function exportDoc (params) { |
| | | return request.get('/business/goods/export', params, { |
| | | return request.get('/business/baseGoods/export', params, { |
| | | trim: true, |
| | | download: true |
| | | }) |
| | |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/business/goods/create', data) |
| | | return request.post('/business/baseGoods/create', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/business/goods/updateById', data) |
| | | return request.post('/business/baseGoods/updateById', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/business/goods/delete/${id}`) |
| | | return request.get(`/business/baseGoods/delete/${id}`) |
| | | } |
| | | |
| | | // æ¹éå é¤ |
| | | export function deleteByIdInBatch (ids) { |
| | | return request.get('/business/goods/delete/batch', { |
| | | return request.get('/business/baseGoods/delete/batch', { |
| | | params: { |
| | | ids |
| | | } |
| | |
| | | |
| | | // ä¿®æ¹ç¶æ |
| | | export function updateDisableById (data) { |
| | | return request.post('/business/goods/updateDisableById', data) |
| | | return request.post('/business/baseGoods/updateDisableById', data) |
| | | } |
| | | |
| | | // å表 - ååéæ© |
| | | export function findListForGoodsId (goodsId) { |
| | | export function findListForbaseGoodsId (goodsId) { |
| | | return request.get(`/business/category/findListForGoodsId?goodsId=${goodsId}`) |
| | | } |
| | | |
| | | // æ ¹æ®IDæ¥è¯¢ |
| | | export function queryById (id) { |
| | | return request.get(`business/goods/${id}`) |
| | | return request.get(`business/baseGoods/${id}`) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="å建人ç¼ç " prop="creator"> |
| | | <el-input v-model="form.creator" placeholder="请è¾å
¥å建人ç¼ç " v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="å建æ¶é´" prop="createDate"> |
| | | <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥å建æ¶é´"></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°äººç¼ç " prop="editor"> |
| | | <el-input v-model="form.editor" placeholder="请è¾å
¥æ´æ°äººç¼ç " v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°æ¶é´" prop="editDate"> |
| | | <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥æ´æ°æ¶é´"></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="æ¯å¦å é¤0å¦ 1æ¯" prop="isdeleted"> |
| | | <el-input v-model="form.isdeleted" placeholder="请è¾å
¥æ¯å¦å é¤0å¦ 1æ¯" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æ é¢" prop="title"> |
| | | <el-input v-model="form.title" placeholder="请è¾å
¥æ é¢" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="åååç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥åååç§°" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="京ä¸sku" prop="sku"> |
| | | <el-input v-model="form.sku" placeholder="请è¾å
¥äº¬ä¸sku" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="åç" prop="brand"> |
| | | <el-input v-model="form.brand" placeholder="请è¾å
¥åç" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ç±»å«" prop="category"> |
| | | <el-input v-model="form.category" placeholder="请è¾å
¥ç±»å«" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="å¤é¾å°å" prop="url"> |
| | | <el-input v-model="form.url" placeholder="请è¾å
¥å¤é¾å°å" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="å表å¾" prop="imgurl"> |
| | | <el-input v-model="form.imgurl" placeholder="请è¾å
¥å表å¾" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="大å¾1" prop="bgImg"> |
| | | <el-input v-model="form.bgImg" placeholder="请è¾å
¥å¤§å¾1" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="大å¾2" prop="bgImg2"> |
| | | <el-input v-model="form.bgImg2" placeholder="请è¾å
¥å¤§å¾2" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="大å¾3" prop="bgImg3"> |
| | | <el-input v-model="form.bgImg3" placeholder="请è¾å
¥å¤§å¾3" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ä»·æ ¼" prop="price"> |
| | | <el-input v-model="form.price" placeholder="请è¾å
¥ä»·æ ¼" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="éè´ä»·æ ¼" prop="saleprice"> |
| | | <el-input v-model="form.saleprice" placeholder="请è¾å
¥éè´ä»·æ ¼" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§1" prop="attr1"> |
| | | <el-input v-model="form.attr1" placeholder="请è¾å
¥å±æ§1" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§2" prop="attr2"> |
| | | <el-input v-model="form.attr2" placeholder="请è¾å
¥å±æ§2" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§3" prop="attr3"> |
| | | <el-input v-model="form.attr3" placeholder="请è¾å
¥å±æ§3" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§4" prop="attr4"> |
| | | <el-input v-model="form.attr4" placeholder="请è¾å
¥å±æ§4" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§5" prop="attr5"> |
| | | <el-input v-model="form.attr5" placeholder="请è¾å
¥å±æ§5" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§6" prop="attr6"> |
| | | <el-input v-model="form.attr6" placeholder="请è¾å
¥å±æ§6" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§7" prop="attr7"> |
| | | <el-input v-model="form.attr7" placeholder="请è¾å
¥å±æ§7" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§8" prop="attr8"> |
| | | <el-input v-model="form.attr8" placeholder="请è¾å
¥å±æ§8" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§9" prop="attr9"> |
| | | <el-input v-model="form.attr9" placeholder="请è¾å
¥å±æ§9" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§10" prop="attr10"> |
| | | <el-input v-model="form.attr10" placeholder="请è¾å
¥å±æ§10" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§11" prop="attr11"> |
| | | <el-input v-model="form.attr11" placeholder="请è¾å
¥å±æ§11" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§12" prop="attr12"> |
| | | <el-input v-model="form.attr12" placeholder="请è¾å
¥å±æ§12" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§13" prop="attr13"> |
| | | <el-input v-model="form.attr13" placeholder="请è¾å
¥å±æ§13" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§14" prop="attr14"> |
| | | <el-input v-model="form.attr14" placeholder="请è¾å
¥å±æ§14" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§15" prop="attr15"> |
| | | <el-input v-model="form.attr15" placeholder="请è¾å
¥å±æ§15" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§16" prop="attr16"> |
| | | <el-input v-model="form.attr16" placeholder="请è¾å
¥å±æ§16" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§17" prop="attr17"> |
| | | <el-input v-model="form.attr17" placeholder="请è¾å
¥å±æ§17" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§18" prop="attr18"> |
| | | <el-input v-model="form.attr18" placeholder="请è¾å
¥å±æ§18" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§19" prop="attr19"> |
| | | <el-input v-model="form.attr19" placeholder="请è¾å
¥å±æ§19" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§20" prop="attr20"> |
| | | <el-input v-model="form.attr20" placeholder="请è¾å
¥å±æ§20" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§21" prop="attr21"> |
| | | <el-input v-model="form.attr21" placeholder="请è¾å
¥å±æ§21" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§22" prop="attr22"> |
| | | <el-input v-model="form.attr22" placeholder="请è¾å
¥å±æ§22" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§23" prop="attr23"> |
| | | <el-input v-model="form.attr23" placeholder="请è¾å
¥å±æ§23" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§24" prop="attr24"> |
| | | <el-input v-model="form.attr24" placeholder="请è¾å
¥å±æ§24" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§25" prop="attr25"> |
| | | <el-input v-model="form.attr25" placeholder="请è¾å
¥å±æ§25" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§26" prop="attr26"> |
| | | <el-input v-model="form.attr26" placeholder="请è¾å
¥å±æ§26" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§27" prop="attr27"> |
| | | <el-input v-model="form.attr27" placeholder="请è¾å
¥å±æ§27" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§28" prop="attr28"> |
| | | <el-input v-model="form.attr28" placeholder="请è¾å
¥å±æ§28" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§29" prop="attr29"> |
| | | <el-input v-model="form.attr29" placeholder="请è¾å
¥å±æ§29" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§30" prop="attr30"> |
| | | <el-input v-model="form.attr30" placeholder="请è¾å
¥å±æ§30" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§31" prop="attr31"> |
| | | <el-input v-model="form.attr31" placeholder="请è¾å
¥å±æ§31" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§32" prop="attr32"> |
| | | <el-input v-model="form.attr32" placeholder="请è¾å
¥å±æ§32" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§33" prop="attr33"> |
| | | <el-input v-model="form.attr33" placeholder="请è¾å
¥å±æ§33" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="屿§34" prop="attr34"> |
| | | <el-input v-model="form.attr34" placeholder="请è¾å
¥å±æ§34" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="å¤çç¶æ 0å¾
å¤ç 1å·²å¤ç" prop="status"> |
| | | <el-input v-model="form.status" placeholder="请è¾å
¥å¤çç¶æ 0å¾
å¤ç 1å·²å¤ç" v-trim/> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | export default { |
| | | name: 'OperaBaseDataWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | creator: '', |
| | | createDate: '', |
| | | editor: '', |
| | | editDate: '', |
| | | isdeleted: '', |
| | | title: '', |
| | | name: '', |
| | | sku: '', |
| | | brand: '', |
| | | category: '', |
| | | url: '', |
| | | imgurl: '', |
| | | bgImg: '', |
| | | bgImg2: '', |
| | | bgImg3: '', |
| | | price: '', |
| | | saleprice: '', |
| | | attr1: '', |
| | | attr2: '', |
| | | attr3: '', |
| | | attr4: '', |
| | | attr5: '', |
| | | attr6: '', |
| | | attr7: '', |
| | | attr8: '', |
| | | attr9: '', |
| | | attr10: '', |
| | | attr11: '', |
| | | attr12: '', |
| | | attr13: '', |
| | | attr14: '', |
| | | attr15: '', |
| | | attr16: '', |
| | | attr17: '', |
| | | attr18: '', |
| | | attr19: '', |
| | | attr20: '', |
| | | attr21: '', |
| | | attr22: '', |
| | | attr23: '', |
| | | attr24: '', |
| | | attr25: '', |
| | | attr26: '', |
| | | attr27: '', |
| | | attr28: '', |
| | | attr29: '', |
| | | attr30: '', |
| | | attr31: '', |
| | | attr32: '', |
| | | attr33: '', |
| | | attr34: '', |
| | | status: '' |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/baseData', |
| | | 'field.id': 'id' |
| | | }) |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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 type="primary" :loading="isWorking.export" v-permissions="['business:basedata: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:basedata:create', 'business:basedata:delete']"> |
| | | <!-- |
| | | <li><el-button type="primary" @click="$refs.operaBaseDataWindow.open('æ°å»ºååæºæ°æ®ä¿¡æ¯è¡¨')" icon="el-icon-plus" v-permissions="['business:basedata:create']">æ°å»º</el-button></li> |
| | | --> |
| | | <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" |
| | | 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}"> |
| | | <a :href="`${row.url}`" target="_blank"> |
| | | <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> </a> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="åååç§°" min-width="100px"> |
| | | <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="100px"></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="bgImg" label="大å¾1" 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.bgImg" style="width: 70px; height: 70px" :src="row.bgImg" |
| | | :preview-src-list="[row.bgImg]" fit="cover"></el-image> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="bgImg2" label="大å¾2" 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.bgImg2" style="width: 70px; height: 70px" :src="row.bgImg2" |
| | | :preview-src-list="[row.bgImg2]" fit="cover"></el-image> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="bgImg3" label="大å¾3" 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.bgImg3" style="width: 70px; height: 70px" :src="row.bgImg3" |
| | | :preview-src-list="[row.bgImg3]" fit="cover"></el-image> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="attr1" label="屿§1" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr2" label="屿§2" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr3" label="屿§3" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr4" label="屿§4" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr5" label="屿§5" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr6" label="屿§6" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr7" label="屿§7" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr8" label="屿§8" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr9" label="屿§9" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr10" label="屿§10" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr11" label="屿§11" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr12" label="屿§12" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr13" label="屿§13" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr14" label="屿§14" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr15" label="屿§15" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr16" label="屿§16" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr17" label="屿§17" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr18" label="屿§18" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr19" label="屿§19" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr20" label="屿§20" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr21" label="屿§21" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr22" label="屿§22" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr23" label="屿§23" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr24" label="屿§24" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr25" label="屿§25" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr26" label="屿§26" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr27" label="屿§27" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr28" label="屿§28" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr29" label="屿§29" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr30" label="屿§30" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr31" label="屿§31" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr32" label="屿§32" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr33" label="屿§33" min-width="100px"></el-table-column> |
| | | <el-table-column prop="attr34" label="屿§34" min-width="100px"></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="120" |
| | | 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"/> |
| | | </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' |
| | | export default { |
| | | name: 'BaseData', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaBaseDataWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | 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() |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <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.prefixUrl + row.imgurl" |
| | | :preview-src-list="[row.prefixUrl + row.imgurl]" fit="cover"></el-image> |
| | | <el-image v-if="row.imgurl" style="width: 70px; height: 70px" :src="row.fullImgUrl" |
| | | :preview-src-list="[row.fullImgUrl]" fit="cover"></el-image> |
| | | </div> |
| | | {{ row.name }} |
| | | <span style="margin-left: 15px">{{ row.name }}</span> |
| | | </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="baseZdPrice" label="æå¯¼ä»·ï¼å
ï¼" min-width="100px"></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="zdPrice" 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}"> |
| | |
| | | * @param idList å®ä½å¯¹è±¡ |
| | | */ |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @PostMapping("/{status") |
| | | @PostMapping("/{status}") |
| | | @RequiresPermissions("business:basegoods:query") |
| | | public ApiResponse updateStatusByIds(@RequestBody List<Integer> idList, @PathVariable Integer status){ |
| | | baseGoodsService.updateStatusByIds(idList,status); |
| | |
| | | @ApiModelProperty(value = "æå±åç±»ç¼ç (base_category)", example = "1") |
| | | @ExcelColumn(name="æå±åç±»ç¼ç (base_category)") |
| | | @TableField(exist = false) |
| | | private Integer categoryName; |
| | | private String categoryName; |
| | | |
| | | @ApiModelProperty(value = "æå±åçç¼ç (base_brand)", example = "1") |
| | | @ExcelColumn(name="æå±åçç¼ç (base_brand)") |
| | |
| | | } |
| | | |
| | | private String getPreUrl(){ |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode() |
| | | + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.CATEGORY_IMG).getCode(); |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() |
| | | + systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_IMG).getCode(); |
| | | return prefixUrl; |
| | | } |
| | | } |
| | |
| | | |
| | | @Override |
| | | public PageData<BaseData> findPage(PageWrap<BaseData> pageWrap) { |
| | | pageWrap.getModel().setIsdeleted(Constants.ZERO); |
| | | IPage<BaseData> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<BaseData> queryWrapper = new QueryWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | |
| | | queryWrapper.lambda().eq(BaseData::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | } |
| | | if (pageWrap.getModel().getTitle() != null) { |
| | | queryWrapper.lambda().eq(BaseData::getTitle, pageWrap.getModel().getTitle()); |
| | | queryWrapper.lambda().like(BaseData::getTitle, pageWrap.getModel().getTitle()); |
| | | } |
| | | if (pageWrap.getModel().getName() != null) { |
| | | queryWrapper.lambda().eq(BaseData::getName, pageWrap.getModel().getName()); |
| | | queryWrapper.lambda().like(BaseData::getName, pageWrap.getModel().getName()); |
| | | } |
| | | if (pageWrap.getModel().getSku() != null) { |
| | | queryWrapper.lambda().eq(BaseData::getSku, pageWrap.getModel().getSku()); |
| | | queryWrapper.lambda().like(BaseData::getSku, pageWrap.getModel().getSku()); |
| | | } |
| | | if (pageWrap.getModel().getBrand() != null) { |
| | | queryWrapper.lambda().eq(BaseData::getBrand, pageWrap.getModel().getBrand()); |
| | | queryWrapper.lambda().like(BaseData::getBrand, pageWrap.getModel().getBrand()); |
| | | } |
| | | if (pageWrap.getModel().getCategory() != null) { |
| | | queryWrapper.lambda().eq(BaseData::getCategory, pageWrap.getModel().getCategory()); |
| | | queryWrapper.lambda().like(BaseData::getCategory, pageWrap.getModel().getCategory()); |
| | | } |
| | | if (pageWrap.getModel().getUrl() != null) { |
| | | queryWrapper.lambda().eq(BaseData::getUrl, pageWrap.getModel().getUrl()); |
| | |
| | | if(cModel!= null){ |
| | | goods.setCategoryId(cModel.getId()); |
| | | } |
| | | goods.setImgurl(getOssImgurl(ossModel, data.getImgurl())); |
| | | goods.setImgurl(getOssImgurl(ossModel,ossModel.getGoodsFolder(), data.getImgurl())); |
| | | goods.setPrice(Constants.formatBigdecimal(data.getSaleprice()).multiply(Constants.formatBigdecimal(cModel.getPriceRate()))); |
| | | //æå
¥æ°ååæ°æ® |
| | | baseGoodsMapper.insert(goods); |
| | |
| | | |
| | | private int addImg(int i,OssModel ossModel, Integer id,String bgImg) { |
| | | if(StringUtils.isNotBlank(bgImg)){ |
| | | String img =getOssImgurl(ossModel,bgImg); |
| | | String img =getOssImgurl(ossModel, ossModel.getGoodsFolder() ,bgImg); |
| | | if(StringUtils.isNotBlank(img)){ |
| | | Multifile f = new Multifile(); |
| | | f.setFileurl(img); |
| | |
| | | model.setIsdeleted(Constants.ZERO); |
| | | model.setPinyin(PinYinUtil.getFullSpell(model.getName())); |
| | | model.setShortPinyin(PinYinUtil.getFirstSpell(model.getName())); |
| | | model.setImgurl(getOssImgurl(ossModel,img)); |
| | | model.setImgurl(getOssImgurl(ossModel, ossModel.getCateFolder() ,img)); |
| | | //æå
¥æ°çåçä¿¡æ¯ |
| | | baseCategoryMapper.insert(model); |
| | | //å å
¥éåä¸ |
| | |
| | | return model; |
| | | } |
| | | |
| | | private String getOssImgurl(OssModel ossModel, String img) { |
| | | private String getOssImgurl(OssModel ossModel, String folder,String img) { |
| | | if(StringUtils.isBlank(img)){ |
| | | return null; |
| | | } |
| | |
| | | nfix = StringUtils.defaultString(nfix,".jpg"); |
| | | String fileName = UUID.randomUUID() + nfix; |
| | | String tempFileName = nowDate + "/" + fileName; |
| | | String key = ossModel.getCateFolder() + tempFileName;// æä»¶å |
| | | String key =folder+ tempFileName;// æä»¶å |
| | | |
| | | ALiYunUtil obs = new ALiYunUtil(ossModel.getEndpoint(), ossModel.getAccessId(), ossModel.getAccessKey()); |
| | | if (obs.uploadOnlineObject(img,ossModel.getBucket(), key,null)) { |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Lazy; |
| | |
| | | |
| | | @Override |
| | | public PageData<BaseGoods> findPage(PageWrap<BaseGoods> pageWrap) { |
| | | pageWrap.getModel().setIsdeleted(Constants.ZERO); |
| | | IPage<BaseGoods> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<BaseGoods> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.like(BaseGoods::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getName() != null) { |
| | | queryWrapper.eq(BaseGoods::getName, pageWrap.getModel().getName()); |
| | | } |
| | | if (pageWrap.getModel().getStatus() != null) { |
| | | queryWrapper.eq(BaseGoods::getStatus, pageWrap.getModel().getStatus()); |
| | | } |
| | | if (pageWrap.getModel().getCategoryId() != null) { |
| | | queryWrapper.eq(BaseGoods::getCategoryId, pageWrap.getModel().getCategoryId()); |
| | | } |
| | | if (pageWrap.getModel().getBrandId() != null) { |
| | | queryWrapper.eq(BaseGoods::getBrandId, pageWrap.getModel().getBrandId()); |
| | | } |
| | | queryWrapper.leftJoin(Brand.class,Brand::getId,BaseGoods::getBrandId) |
| | | .leftJoin(BaseCategory.class,BaseCategory::getId,BaseGoods::getBaseDataId) |
| | | .leftJoin(BaseCategory.class,BaseCategory::getId,BaseGoods::getCategoryId) |
| | | .selectAll(BaseGoods.class) |
| | | .selectAs(Brand::getName,BaseGoods::getBrandName) |
| | | .selectAs(BaseCategory::getSortnum,BaseGoods::getCategoryName); |
| | | .selectAs(BaseCategory::getName,BaseGoods::getCategoryName) |
| | | .eq(BaseGoods::getIsdeleted, Constants.ZERO) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getName()), BaseGoods::getName,pageWrap.getModel().getName()) |
| | | .eq(pageWrap.getModel().getId()!=null,BaseGoods::getId, pageWrap.getModel().getId()) |
| | | .eq(pageWrap.getModel().getCategoryId()!=null,BaseGoods::getCategoryId, pageWrap.getModel().getCategoryId()) |
| | | .eq(pageWrap.getModel().getBrandId()!=null,BaseGoods::getBrandId, pageWrap.getModel().getBrandId()) |
| | | .eq(pageWrap.getModel().getStatus()!=null,BaseGoods::getStatus, pageWrap.getModel().getStatus()); |
| | | |
| | | queryWrapper.orderByDesc(Goods::getId); |
| | | PageData<BaseGoods> pageData =PageData.from(baseGoodsJoinMapper.selectJoinPage(page,BaseGoods.class,queryWrapper)); |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() |