一些修改
This commit is contained in:
parent
51d6220271
commit
2e09cd299b
@ -116,6 +116,7 @@ public class GoodsMainController extends BaseController {
|
|||||||
@PostMapping
|
@PostMapping
|
||||||
public AjaxResult add(UsernamePasswordAuthenticationToken token, @RequestBody GoodsMain goodsMain) {
|
public AjaxResult add(UsernamePasswordAuthenticationToken token, @RequestBody GoodsMain goodsMain) {
|
||||||
goodsMain.setDeptId(getDeptId());
|
goodsMain.setDeptId(getDeptId());
|
||||||
|
goodsMain.setCreateBy(getUsername());
|
||||||
String richText = goodsMain.getGoodsDesc();
|
String richText = goodsMain.getGoodsDesc();
|
||||||
if (richText != null && StringUtils.isNotEmpty(richText)) {
|
if (richText != null && StringUtils.isNotEmpty(richText)) {
|
||||||
Document doc = RichTextUtil.setImgStyle(richText, "width: 100%");
|
Document doc = RichTextUtil.setImgStyle(richText, "width: 100%");
|
||||||
|
@ -48,6 +48,14 @@ private static final long serialVersionUID=1L;
|
|||||||
@Excel(name = "图标")
|
@Excel(name = "图标")
|
||||||
private String avatar;
|
private String avatar;
|
||||||
|
|
||||||
|
/** 封面图 */
|
||||||
|
@Excel(name = "封面图")
|
||||||
|
private String faceImage;
|
||||||
|
|
||||||
|
/** 奖项信息 */
|
||||||
|
@Excel(name = "奖项信息")
|
||||||
|
private String award;
|
||||||
|
|
||||||
/** 介绍 */
|
/** 介绍 */
|
||||||
@Excel(name = "介绍")
|
@Excel(name = "介绍")
|
||||||
private String mchDesc;
|
private String mchDesc;
|
||||||
|
@ -56,6 +56,9 @@ private static final long serialVersionUID=1L;
|
|||||||
@Excel(name = "关联规格")
|
@Excel(name = "关联规格")
|
||||||
private String goodsSpec;
|
private String goodsSpec;
|
||||||
|
|
||||||
|
@Excel(name = "库存")
|
||||||
|
private String goodsStock;
|
||||||
|
|
||||||
/** 商品说明 */
|
/** 商品说明 */
|
||||||
@Excel(name = "商品说明")
|
@Excel(name = "商品说明")
|
||||||
private String goodsDesc;
|
private String goodsDesc;
|
||||||
|
@ -69,38 +69,21 @@ module.exports.parseImage = parseImage;
|
|||||||
</wxs>
|
</wxs>
|
||||||
<template>
|
<template>
|
||||||
|
|
||||||
<van-nav-bar
|
|
||||||
bind:click-left="onBack"
|
|
||||||
border="{{false}}"
|
|
||||||
fixed
|
|
||||||
z-index="100"
|
|
||||||
custom-style="background:#AC1630;color:#FFF;"
|
|
||||||
>
|
|
||||||
<van-icon name="arrow-left" slot="left" color="#fff" />
|
|
||||||
<span style="color: #fff;" slot="title">了解酒庄</span>
|
|
||||||
</van-nav-bar>
|
|
||||||
<div class="bg" />
|
|
||||||
<div class="container" style="margin-top: 66px;">
|
|
||||||
|
|
||||||
|
<nav-bar title="酒庄信息" />
|
||||||
|
<van-loading v-if="!wineryItem" style="margin-top: 20px;" />
|
||||||
|
<div v-else style="margin-bottom: 80px;">
|
||||||
|
<image :src="filters.parseImage(wineryItem.avatar)" style="width: 100%;height: 750rpx;" mode="aspectFit" />
|
||||||
|
<div style="margin: 10px 15px;display: flex;flex-direction: column;">
|
||||||
|
<div style="font-size: 20px;font-weight: bold;">{{wineryItem.mchName}}</div>
|
||||||
|
<div style="font-size: 14px;color: #999999;">{{wineryItem.subtitle}}</div>
|
||||||
|
|
||||||
<div style="display: flex;" v-for="(item,index) in wineryDefine.WINERY_LIST" @tap="onTap(item)">
|
<span style="margin-top: 20px;font-weight: bold;">酒庄简介</span>
|
||||||
<div class="winery-item-icon">
|
<div style="margin-top: 10px;width:100%;">
|
||||||
<van-image style="margin-top: 5px;" round width="50px" height="50px" :src="userInfo.avatarUrl" />
|
<rich-text :nodes="wineryItem.mchDesc" />
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="winery-item">
|
|
||||||
<div class="fxc" style="margin-left: 20px;">
|
|
||||||
<span style="font-size: 20px;font-weight: bold;">{{item.name}}</span>
|
|
||||||
<span style="color: #999;">{{item.desc}}</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="winery-item-arrow">
|
|
||||||
<van-icon name="arrow" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
@ -110,6 +93,7 @@ import wepy from '@wepy/core'
|
|||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
import { mapActions, mapState } from '@wepy/x'
|
import { mapActions, mapState } from '@wepy/x'
|
||||||
import defaultMix from '../../mixins/defaultMix'
|
import defaultMix from '../../mixins/defaultMix'
|
||||||
|
import merchanApis from '../../apis/merchanApis'
|
||||||
|
|
||||||
wepy.page({
|
wepy.page({
|
||||||
store,
|
store,
|
||||||
@ -117,34 +101,21 @@ wepy.page({
|
|||||||
|
|
||||||
mixins: [defaultMix],
|
mixins: [defaultMix],
|
||||||
data: {
|
data: {
|
||||||
pageIndex: 0
|
wineryItem: null
|
||||||
},
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
...mapState({
|
...mapState({
|
||||||
'imageDefine': state => state.imageDefine,
|
'imageDefine': state => state.imageDefine
|
||||||
'userInfo': state => state.user.userInfo,
|
|
||||||
'wineryDefine': state => state.wineryDefine
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions([
|
...mapActions([]),
|
||||||
'setUserAction'
|
|
||||||
]),
|
|
||||||
handleViewTap() {
|
|
||||||
console.log('handleVieTap clicked')
|
|
||||||
},
|
|
||||||
onTap(item) {
|
|
||||||
console.log(item)
|
|
||||||
|
|
||||||
},
|
|
||||||
onBack() {
|
|
||||||
wx.navigateBack()
|
|
||||||
},
|
|
||||||
|
|
||||||
async init(id) {
|
async init(id) {
|
||||||
|
merchanApis.getMerchantInfo(id).then(r => {
|
||||||
|
this.wineryItem = r.data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -153,6 +153,8 @@ import store from '@/store'
|
|||||||
import { mapActions, mapState } from '@wepy/x'
|
import { mapActions, mapState } from '@wepy/x'
|
||||||
import defaultMix from '../../mixins/defaultMix'
|
import defaultMix from '../../mixins/defaultMix'
|
||||||
import merchanApis from '../../apis/merchanApis'
|
import merchanApis from '../../apis/merchanApis'
|
||||||
|
import appManager from '../../appManager'
|
||||||
|
import { wineryDetailPage } from '../../store/constant/nav/pages'
|
||||||
|
|
||||||
wepy.page({
|
wepy.page({
|
||||||
store,
|
store,
|
||||||
@ -180,7 +182,7 @@ wepy.page({
|
|||||||
console.log('handleVieTap clicked')
|
console.log('handleVieTap clicked')
|
||||||
},
|
},
|
||||||
onTap(item) {
|
onTap(item) {
|
||||||
console.log(item)
|
appManager.navigateTo(wineryDetailPage + '?id=' + item.id)
|
||||||
},
|
},
|
||||||
onBack() {
|
onBack() {
|
||||||
wx.navigateBack()
|
wx.navigateBack()
|
||||||
|
@ -1,6 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
|
||||||
|
<el-form-item label="商品类型" prop="goodsType">
|
||||||
|
<el-select v-model="queryParams.deptId" placeholder="请选择商品商户" clearable size="small">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in goodsTypeOptions"
|
||||||
|
:key="dict.dictValue"
|
||||||
|
:label="dict.dictLabel"
|
||||||
|
:value="dict.dictValue"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="商品名称" prop="goodsName">
|
<el-form-item label="商品名称" prop="goodsName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.goodsName"
|
v-model="queryParams.goodsName"
|
||||||
@ -93,9 +105,13 @@
|
|||||||
<el-table v-loading="loading" :data="goodsList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="goodsList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center"/>
|
<el-table-column type="selection" width="55" align="center"/>
|
||||||
<el-table-column label="商品ID" align="center" prop="id" v-if="false"/>
|
<el-table-column label="商品ID" align="center" prop="id" v-if="false"/>
|
||||||
|
<el-table-column label="商户名称" align="center" prop="deptId" :formatter="mchFormat" width="100px"/>
|
||||||
<el-table-column label="商品名称" align="center" prop="goodsName"/>
|
<el-table-column label="商品名称" align="center" prop="goodsName"/>
|
||||||
<el-table-column label="商品简称" align="center" prop="goodsAlias"/>
|
<el-table-column label="商品简称" align="center" prop="goodsAlias"/>
|
||||||
|
<el-table-column label="商品价格" align="center" prop="goodsPrice"/>
|
||||||
|
<el-table-column label="商品库存" align="center" prop="goodsStock"/>
|
||||||
<el-table-column label="商品类型" align="center" prop="goodsType" :formatter="goodsTypeFormat" width="100px"/>
|
<el-table-column label="商品类型" align="center" prop="goodsType" :formatter="goodsTypeFormat" width="100px"/>
|
||||||
|
|
||||||
<!-- <el-table-column label="关联规格" align="center" prop="goodsSpec"/>-->
|
<!-- <el-table-column label="关联规格" align="center" prop="goodsSpec"/>-->
|
||||||
<!-- <el-table-column label="商品说明" align="center" prop="goodsDesc"/>-->
|
<!-- <el-table-column label="商品说明" align="center" prop="goodsDesc"/>-->
|
||||||
<el-table-column label="商品封面" align="center" prop="goodsFaceImg">
|
<el-table-column label="商品封面" align="center" prop="goodsFaceImg">
|
||||||
@ -146,6 +162,17 @@
|
|||||||
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
|
||||||
|
<el-form-item label="商户" prop="deptId">
|
||||||
|
<el-select v-model="form.deptId" placeholder="请选择商户">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in mchOptions"
|
||||||
|
:key="dict.dictValue"
|
||||||
|
:label="dict.dictLabel"
|
||||||
|
:value="dict.dictValue"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="商品名称" prop="goodsName">
|
<el-form-item label="商品名称" prop="goodsName">
|
||||||
<el-input v-model="form.goodsName" placeholder="请输入商品名称"/>
|
<el-input v-model="form.goodsName" placeholder="请输入商品名称"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -155,6 +182,10 @@
|
|||||||
<el-form-item label="商品价格" prop="goodsPrice">
|
<el-form-item label="商品价格" prop="goodsPrice">
|
||||||
<el-input type="number" v-model="form.goodsPrice" placeholder="请输入商品价格"/>
|
<el-input type="number" v-model="form.goodsPrice" placeholder="请输入商品价格"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="库存" prop="goodsStock">
|
||||||
|
<el-input type="number" v-model="form.goodsStock" placeholder="请输入商品库存"/>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="商品封面" prop="goodsFaceImg">
|
<el-form-item label="商品封面" prop="goodsFaceImg">
|
||||||
<upload-image :value="form.goodsFaceImg" @input="inputGoodsFaceImg"/>
|
<upload-image :value="form.goodsFaceImg" @input="inputGoodsFaceImg"/>
|
||||||
<!-- <el-input v-model="form.goodsFaceImg" placeholder="请输入商品封面" />-->
|
<!-- <el-input v-model="form.goodsFaceImg" placeholder="请输入商品封面" />-->
|
||||||
@ -166,22 +197,29 @@
|
|||||||
<el-form-item label="状态" prop="state">
|
<el-form-item label="状态" prop="state">
|
||||||
|
|
||||||
<el-radio-group v-model="form.state">
|
<el-radio-group v-model="form.state">
|
||||||
<el-radio v-for="(dict, index) in stateOptions" :key="index" :label="parseInt(dict.dictValue)">{{dict.dictLabel}}</el-radio>
|
<el-radio v-for="(dict, index) in stateOptions" :key="index" :label="parseInt(dict.dictValue)">
|
||||||
|
{{dict.dictLabel}}
|
||||||
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="商品类型" prop="goodsType">
|
<el-form-item label="商品类型" prop="goodsType">
|
||||||
<el-select v-model="form.goodsType" placeholder="请选择商品类型">
|
<el-select v-model="form.goodsType" placeholder="请选择商品类型">
|
||||||
<el-option label="请选择字典生成" value=""/>
|
<el-option
|
||||||
|
v-for="dict in goodsTypeOptions"
|
||||||
|
:key="dict.dictValue"
|
||||||
|
:label="dict.dictLabel"
|
||||||
|
:value="dict.dictValue"
|
||||||
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="关联规格" prop="goodsSpec">
|
<!-- <el-form-item label="关联规格" prop="goodsSpec">-->
|
||||||
<!-- <el-input v-model="form.goodsSpec" type="textarea" placeholder="请输入内容"/>-->
|
<!-- <!– <el-input v-model="form.goodsSpec" type="textarea" placeholder="请输入内容"/>–>-->
|
||||||
<el-transfer v-model="selectedSpecData" :data="specData" filterable
|
<!-- <el-transfer v-model="selectedSpecData" :data="specData" filterable-->
|
||||||
:titles="['商品列表','已关联商品']"
|
<!-- :titles="['商品列表','已关联商品']"-->
|
||||||
:button-texts="['取消关联', '关联商品']"
|
<!-- :button-texts="['取消关联', '关联商品']"-->
|
||||||
@change="handleChangeSpec"
|
<!-- @change="handleChangeSpec"-->
|
||||||
></el-transfer>
|
<!-- ></el-transfer>-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="商品说明" prop="goodsDesc">
|
<el-form-item label="商品说明" prop="goodsDesc">
|
||||||
<!-- <el-input v-model="form.goodsDesc" placeholder="请输入商品说明"/>-->
|
<!-- <el-input v-model="form.goodsDesc" placeholder="请输入商品说明"/>-->
|
||||||
<editor :value="form.goodsDesc" :height="400" :min-height="400" @on-change="onChangeGoodsDesc"/>
|
<editor :value="form.goodsDesc" :height="400" :min-height="400" @on-change="onChangeGoodsDesc"/>
|
||||||
@ -249,6 +287,8 @@ export default {
|
|||||||
stateOptions: [],
|
stateOptions: [],
|
||||||
// 商品类型字典
|
// 商品类型字典
|
||||||
goodsTypeOptions: [],
|
goodsTypeOptions: [],
|
||||||
|
// 商户类型字典
|
||||||
|
mchOptions: [],
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@ -261,7 +301,8 @@ export default {
|
|||||||
goodsFaceImg: undefined,
|
goodsFaceImg: undefined,
|
||||||
goodsImg: undefined,
|
goodsImg: undefined,
|
||||||
goodsPrice: undefined,
|
goodsPrice: undefined,
|
||||||
state: undefined
|
goodsStock: undefined,
|
||||||
|
state: 0
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
@ -289,6 +330,10 @@ export default {
|
|||||||
this.getDicts("goods_type").then(response => {
|
this.getDicts("goods_type").then(response => {
|
||||||
this.goodsTypeOptions = response.data;
|
this.goodsTypeOptions = response.data;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.getDicts("merchant_dept").then(response => {
|
||||||
|
this.mchOptions = response.data;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
inputGoodsFaceImg(fileName) {
|
inputGoodsFaceImg(fileName) {
|
||||||
@ -307,6 +352,11 @@ export default {
|
|||||||
goodsTypeFormat(row, column) {
|
goodsTypeFormat(row, column) {
|
||||||
return this.selectDictLabel(this.goodsTypeOptions, row.goodsType);
|
return this.selectDictLabel(this.goodsTypeOptions, row.goodsType);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 商户类型字典翻译
|
||||||
|
mchFormat(row, column) {
|
||||||
|
return this.selectDictLabel(this.mchOptions, row.deptId);
|
||||||
|
},
|
||||||
/** 查询商品信息列表 */
|
/** 查询商品信息列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
@ -329,6 +379,7 @@ export default {
|
|||||||
goodsAlias: undefined,
|
goodsAlias: undefined,
|
||||||
goodsType: undefined,
|
goodsType: undefined,
|
||||||
goodsSpec: undefined,
|
goodsSpec: undefined,
|
||||||
|
goodsStock: undefined,
|
||||||
goodsDesc: undefined,
|
goodsDesc: undefined,
|
||||||
goodsFaceImg: undefined,
|
goodsFaceImg: undefined,
|
||||||
goodsImg: undefined,
|
goodsImg: undefined,
|
||||||
@ -337,6 +388,7 @@ export default {
|
|||||||
createTime: undefined,
|
createTime: undefined,
|
||||||
updateBy: undefined,
|
updateBy: undefined,
|
||||||
updateTime: undefined,
|
updateTime: undefined,
|
||||||
|
state: 0,
|
||||||
remark: undefined
|
remark: undefined
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
|
@ -136,6 +136,15 @@
|
|||||||
<el-form-item label="图标" prop="avatar">
|
<el-form-item label="图标" prop="avatar">
|
||||||
<uploadImage v-model="form.avatar"/>
|
<uploadImage v-model="form.avatar"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="封面大图" prop="faceImage">
|
||||||
|
<uploadImage v-model="form.faceImage"/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="获奖信息" prop="award">
|
||||||
|
<el-input v-model="form.award" placeholder="获奖信息(多条使用英文逗号分割)" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="介绍" prop="mchDesc">
|
<el-form-item label="介绍" prop="mchDesc">
|
||||||
<editor :value="form.mchDesc" :height="400" :min-height="400" @on-change="onChangeNewsBody"/>
|
<editor :value="form.mchDesc" :height="400" :min-height="400" @on-change="onChangeNewsBody"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -186,6 +195,8 @@ export default {
|
|||||||
subtitle: undefined,
|
subtitle: undefined,
|
||||||
avatar: undefined,
|
avatar: undefined,
|
||||||
mchDesc: undefined,
|
mchDesc: undefined,
|
||||||
|
award: undefined,
|
||||||
|
faceImage:undefined
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
@ -221,7 +232,9 @@ export default {
|
|||||||
avatar: undefined,
|
avatar: undefined,
|
||||||
mchDesc: undefined,
|
mchDesc: undefined,
|
||||||
createTime: undefined,
|
createTime: undefined,
|
||||||
updateTime: undefined
|
updateTime: undefined,
|
||||||
|
award: undefined,
|
||||||
|
faceImage:undefined
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user