From b459b874c062b1124200f8a591b86d0558c3ffce Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 15 九月 2023 22:47:16 +0800
Subject: [PATCH] 新增源数据惨淡
---
server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java | 4
server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java | 21 +-
platform/src/views/business/baseData.vue | 201 ++++++++++++++++++++
platform/src/api/business/baseData.js | 40 ++++
server/platform/src/main/java/com/doumee/api/business/BaseGoodsController.java | 2
server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java | 29 +-
platform/src/components/business/OperaBaseDataWindow.vue | 246 ++++++++++++++++++++++++
platform/src/api/business/goods.js | 20 +-
server/service/src/main/java/com/doumee/dao/business/model/BaseGoods.java | 2
platform/.env.development | 2
platform/src/views/business/goods.vue | 11
11 files changed, 529 insertions(+), 49 deletions(-)
diff --git a/platform/.env.development b/platform/.env.development
index 6a5ee4e..fd388dc 100644
--- a/platform/.env.development
+++ b/platform/.env.development
@@ -6,4 +6,4 @@
# 浠诲悍
# VUE_APP_API = 'http://192.168.0.15:10017/'
# 鐒︽澗
-VUE_APP_API = 'http://192.168.0.36:10011'
+VUE_APP_API = 'http://localhost:10011'
diff --git a/platform/src/api/business/baseData.js b/platform/src/api/business/baseData.js
new file mode 100644
index 0000000..197c405
--- /dev/null
+++ b/platform/src/api/business/baseData.js
@@ -0,0 +1,40 @@
+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
+ }
+ })
+}
diff --git a/platform/src/api/business/goods.js b/platform/src/api/business/goods.js
index 4bb3c85..50f61c8 100644
--- a/platform/src/api/business/goods.js
+++ b/platform/src/api/business/goods.js
@@ -2,14 +2,14 @@
// 鏌ヨ
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
})
@@ -17,7 +17,7 @@
// 瀵煎嚭妯℃澘
export function exportDoc (params) {
- return request.get('/business/goods/export', params, {
+ return request.get('/business/baseGoods/export', params, {
trim: true,
download: true
})
@@ -25,22 +25,22 @@
// 鍒涘缓
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
}
@@ -49,15 +49,15 @@
// 淇敼鐘舵��
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}`)
}
\ No newline at end of file
diff --git a/platform/src/components/business/OperaBaseDataWindow.vue b/platform/src/components/business/OperaBaseDataWindow.vue
new file mode 100644
index 0000000..ff0a5d8
--- /dev/null
+++ b/platform/src/components/business/OperaBaseDataWindow.vue
@@ -0,0 +1,246 @@
+<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="璇疯緭鍏ヤ含涓渟ku" 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>
diff --git a/platform/src/views/business/baseData.vue b/platform/src/views/business/baseData.vue
new file mode 100644
index 0000000..4ac6e19
--- /dev/null
+++ b/platform/src/views/business/baseData.vue
@@ -0,0 +1,201 @@
+<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="璇疯緭鍏ヤ含涓渟ku" @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>
diff --git a/platform/src/views/business/goods.vue b/platform/src/views/business/goods.vue
index c7e81df..6a97d57 100644
--- a/platform/src/views/business/goods.vue
+++ b/platform/src/views/business/goods.vue
@@ -58,18 +58,17 @@
<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}">
diff --git a/server/platform/src/main/java/com/doumee/api/business/BaseGoodsController.java b/server/platform/src/main/java/com/doumee/api/business/BaseGoodsController.java
index 02b4907..cc6b9c8 100644
--- a/server/platform/src/main/java/com/doumee/api/business/BaseGoodsController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/BaseGoodsController.java
@@ -96,7 +96,7 @@
* @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);
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/BaseGoods.java b/server/service/src/main/java/com/doumee/dao/business/model/BaseGoods.java
index 8f22628..eef13be 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/BaseGoods.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/BaseGoods.java
@@ -74,7 +74,7 @@
@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)")
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java
index 0cb6e60..761a78d 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java
@@ -288,8 +288,8 @@
}
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;
}
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java
index 1fe955e..69a36fc 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java
@@ -117,6 +117,7 @@
@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());
@@ -141,19 +142,19 @@
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());
@@ -363,7 +364,7 @@
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);
@@ -397,7 +398,7 @@
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);
@@ -585,7 +586,7 @@
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);
//鍔犲叆闆嗗悎涓�
@@ -593,7 +594,7 @@
return model;
}
- private String getOssImgurl(OssModel ossModel, String img) {
+ private String getOssImgurl(OssModel ossModel, String folder,String img) {
if(StringUtils.isBlank(img)){
return null;
}
@@ -603,7 +604,7 @@
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)) {
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
index f5c34f2..726f894 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
@@ -21,6 +21,7 @@
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;
@@ -321,30 +322,22 @@
@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()
--
Gitblit v1.9.3