复数图片上传bug
This commit is contained in:
parent
2f84db9e31
commit
e19b458211
@ -8,6 +8,7 @@ import java.util.Arrays;
|
||||
|
||||
import com.itextpdf.styledxmlparser.jsoup.nodes.Document;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.winery.domain.goods.GoodsMain;
|
||||
import com.ruoyi.winery.utils.RichTextUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@ -63,6 +64,7 @@ public class AppMerchantController extends BaseController {
|
||||
if (StringUtils.isNotBlank(appMerchant.getMchDesc())){
|
||||
lqw.eq(AppMerchant::getMchDesc ,appMerchant.getMchDesc());
|
||||
}
|
||||
lqw.orderByAsc(AppMerchant::getSort);
|
||||
List<AppMerchant> list = iAppMerchantService.list(lqw);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
@ -86,6 +86,8 @@ public class GoodsMainController extends BaseController {
|
||||
if (StringUtils.isNotBlank(goodsMain.getGoodsImg())) {
|
||||
lqw.eq(GoodsMain::getGoodsImg, goodsMain.getGoodsImg());
|
||||
}
|
||||
lqw.orderByAsc(GoodsMain::getSort);
|
||||
|
||||
List<GoodsMain> list = iWineryGoodsService.list(lqw);
|
||||
return getDataTable(list);
|
||||
}
|
||||
@ -119,7 +121,7 @@ public class GoodsMainController extends BaseController {
|
||||
@Log(title = "商品信息", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(UsernamePasswordAuthenticationToken token, @RequestBody GoodsMain goodsMain) {
|
||||
goodsMain.setDeptId(getDeptId());
|
||||
// goodsMain.setDeptId(getDeptId());
|
||||
goodsMain.setCreateBy(getUsername());
|
||||
String richText = goodsMain.getGoodsDesc();
|
||||
if (richText != null && StringUtils.isNotEmpty(richText)) {
|
||||
|
@ -52,6 +52,10 @@ private static final long serialVersionUID=1L;
|
||||
@Excel(name = "封面图")
|
||||
private String faceImage;
|
||||
|
||||
/** 置顶图 */
|
||||
@Excel(name = "置顶图")
|
||||
private String topImage;
|
||||
|
||||
/** 奖项信息 */
|
||||
@Excel(name = "奖项信息")
|
||||
private String award;
|
||||
@ -71,4 +75,9 @@ private static final long serialVersionUID=1L;
|
||||
|
||||
/** 更新时间 */
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
}
|
||||
|
@ -95,4 +95,10 @@ private static final long serialVersionUID=1L;
|
||||
* 状态
|
||||
*/
|
||||
private Integer state;
|
||||
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
.header-image {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
height: 273px;
|
||||
z-index: -1;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@ -61,7 +61,7 @@
|
||||
</style>
|
||||
<template>
|
||||
|
||||
<image class="header-image" :src="imageDefine.HOME_TITLE_IMAGE" />
|
||||
<image class="header-image" :src="imageDefine.MY_HEADER" />
|
||||
|
||||
|
||||
<div class="container" style="margin: 10px 10px 80px 10px;">
|
||||
@ -69,19 +69,30 @@
|
||||
<div class="user-info">
|
||||
<van-image round width="90rpx" height="90rpx" :src="user.userInfo.avatarUrl" />
|
||||
<div class="user-info-msg">
|
||||
<span style="font-size: 18px;">{{user.mobile}}</span>
|
||||
<span style="font-size: 12px;">{{user.userInfo.nickName}}</span>
|
||||
<span style="font-size: 18px;font-weight: bold;">{{user.userInfo.nickName}}</span>
|
||||
<span style="font-size: 12px;">{{user.mobile}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header-grid-body-top">
|
||||
<div style="display: flex;">
|
||||
<span>{{user.userInfo.nickName}} </span>
|
||||
<van-tag round type="primary">标签</van-tag>
|
||||
<!-- <div class="header-grid-body-top">-->
|
||||
<!-- <div style="display: flex;">-->
|
||||
<!-- <span>{{user.userInfo.nickName}} </span>-->
|
||||
<!-- <van-tag round type="primary">标签</van-tag>-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="header-grid-body-bottom">
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="header-grid-body-bottom">-->
|
||||
<!-- <van-grid column-num="3" border="{{ false }}" style="margin-top: 15px;">-->
|
||||
<!-- <van-grid-item use-slot v-for=" (item, index) in navDefine.MY_MENU1" @tap="onNavItem(item)">-->
|
||||
<!-- <van-image round width="90rpx" height="90rpx" :src="item.icon" />-->
|
||||
<!-- <span style="margin-top: 10px;">{{item.name}} </span>-->
|
||||
<!-- </van-grid-item>-->
|
||||
<!-- </van-grid>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div class="grid-body">
|
||||
<span style="margin:25px 10px 15px 10px;font-weight: bold;">我的订单</span>
|
||||
<van-divider />
|
||||
<van-grid column-num="3" border="{{ false }}" style="margin-top: 15px;">
|
||||
<van-grid-item use-slot v-for=" (item, index) in navDefine.MY_MENU1" @tap="onNavItem(item)">
|
||||
<van-image round width="90rpx" height="90rpx" :src="item.icon" />
|
||||
@ -92,6 +103,7 @@
|
||||
|
||||
<div class="grid-body">
|
||||
<span style="margin:25px 10px 15px 10px;font-weight: bold;">常用功能</span>
|
||||
<van-divider />
|
||||
<van-grid column-num="3" border="{{ false }}" style="margin-top: 15px;">
|
||||
<van-grid-item use-slot v-for=" (item, index) in navDefine.MY_MENU2" @tap="onNavItem(item)">
|
||||
<van-image round width="90rpx" height="90rpx" :src="item.icon" />
|
||||
@ -100,15 +112,15 @@
|
||||
</van-grid>
|
||||
</div>
|
||||
|
||||
<div class="grid-body">
|
||||
<span style="margin:25px 10px 15px 10px;font-weight: bold;">更多推荐</span>
|
||||
<van-grid column-num="3" border="{{ false }}" style="margin-top: 15px;">
|
||||
<van-grid-item use-slot v-for=" (item, index) in navDefine.MY_MENU3" @tap="onNavItem(item)">
|
||||
<van-image round width="90rpx" height="90rpx" :src="item.icon" />
|
||||
<span style="margin-top: 10px;">{{item.name}} </span>
|
||||
</van-grid-item>
|
||||
</van-grid>
|
||||
</div>
|
||||
<!-- <div class="grid-body">-->
|
||||
<!-- <span style="margin:25px 10px 15px 10px;font-weight: bold;">更多推荐</span>-->
|
||||
<!-- <van-grid column-num="3" border="{{ false }}" style="margin-top: 15px;">-->
|
||||
<!-- <van-grid-item use-slot v-for=" (item, index) in navDefine.MY_MENU3" @tap="onNavItem(item)">-->
|
||||
<!-- <van-image round width="90rpx" height="90rpx" :src="item.icon" />-->
|
||||
<!-- <span style="margin-top: 10px;">{{item.name}} </span>-->
|
||||
<!-- </van-grid-item>-->
|
||||
<!-- </van-grid>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div style="margin-top: 100px;" />
|
||||
|
||||
|
@ -11,43 +11,50 @@ module.exports.parseImage = parseImage;
|
||||
<van-nav-bar
|
||||
title="福利购"
|
||||
/>
|
||||
<view style="margin: 10px 10px 80px 10px;">
|
||||
<view class="contianer" style="margin: 10px 16px 80px 16px;">
|
||||
|
||||
|
||||
<van-image class="banner" :src="navDefine.HOME_BANNER.image" />
|
||||
<van-image class="banner" :src="imageDefine.SHOPPING_BANNER" width="686rpx"
|
||||
height="96px" />
|
||||
|
||||
<van-row gutter="20">
|
||||
<van-col span="8" style="font-weight: bold;font-size: 20px;">精选推荐</van-col>
|
||||
<van-col offset="10" span="6">
|
||||
<div>
|
||||
<van-icon name="shopping-cart-o" color="#1989fa" />
|
||||
<span style="margin-left: 5px;">购物车</span>
|
||||
</div>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<div style="margin-top: 20px;">
|
||||
|
||||
<van-row gutter="20">
|
||||
<van-col span="8" style="font-weight: bold;font-size: 20px;">精选推荐</van-col>
|
||||
<van-col offset="10" span="6">
|
||||
<div @tap="onShppingCar">
|
||||
<van-icon name="shopping-cart-o" color="#940D46" />
|
||||
<span style="margin-left: 5px;">购物车</span>
|
||||
</div>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
|
||||
<div style="display: flex;flex-wrap: wrap;">
|
||||
<div style="display: flex;flex-wrap: wrap;margin-bottom: 10px;">
|
||||
<div class="filter-button" v-for="(item,index) in filterButtons">
|
||||
<van-button round size="small" :color="currentFilter.dictLabel === item.dictLabel ? '#7232dd' : '#7232dd' "
|
||||
:plain="currentFilter.dictLabel === item.dictLabel ? false : true" @tap="onFilterBtn(item)">{{item.dictLabel}}
|
||||
<van-button round size="small" :color="currentFilter.dictLabel === item.dictLabel ? '#940D46' : '#940D46' "
|
||||
:plain="currentFilter.dictLabel === item.dictLabel ? false : true" @tap="onFilterBtn(item)">
|
||||
{{item.dictLabel}}
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<view v-for="(item, index) in records" :key="index"
|
||||
style="margin-top: 10px;border: #fafafa 1px solid; border-radius: 10px;">
|
||||
style="margin-top: 10px;border: #fafafa 1px solid; border-radius: 10px;background-color: white;">
|
||||
<van-card
|
||||
:title="item.goodsName"
|
||||
:desc="item.goodsAlias"
|
||||
|
||||
:price="item.goodsPrice"
|
||||
:thumb="filters.parseImage(item.goodsFaceImg)"
|
||||
@tap="onItem(item)"
|
||||
>
|
||||
<!-- <view slot="num" style="float:right;">-->
|
||||
<!-- <div>{{'已优惠¥xx元'}}</div>-->
|
||||
<!-- </view>-->
|
||||
<view slot="num" style="display: flex; justify-content: space-between;align-items: center;">
|
||||
|
||||
<span style="color: #999;">{{item.goodsAlias}}</span>
|
||||
<van-image :src="imageDefine.LIST_BAG" width="30px" height="30px" />
|
||||
</view>
|
||||
|
||||
</van-card>
|
||||
|
||||
@ -68,6 +75,7 @@ import mallApis from '../../../apis/mallApis'
|
||||
import defaultMix from '../../../mixins/defaultMix'
|
||||
import { goodsDetailPage } from '../../../store/constant/nav/pages'
|
||||
import xiao4rApis from '../../../apis/xiao4rApis'
|
||||
import { navDefine } from '../../../store/constant/navDefine'
|
||||
|
||||
wepy.component({
|
||||
store,
|
||||
@ -97,17 +105,30 @@ wepy.component({
|
||||
appManager.navigateTo(goodsDetailPage + `?id=${item.id}`)
|
||||
},
|
||||
|
||||
onShppingCar() {
|
||||
appManager.navigateTo(navDefine.SHOPPING_CAR_LIST)
|
||||
},
|
||||
|
||||
onFilterBtn(item) {
|
||||
this.currentFilter = item
|
||||
this.init(false)
|
||||
},
|
||||
async init() {
|
||||
async init(isFirst = true) {
|
||||
this.isInit = false
|
||||
|
||||
const dict = await xiao4rApis.getDicts('goods_type')
|
||||
if (isFirst) {
|
||||
const dict = await xiao4rApis.getDicts('goods_type')
|
||||
|
||||
this.filterButtons = dict.data
|
||||
this.filterButtons = dict.data
|
||||
}
|
||||
|
||||
const req = await mallApis.getGoodsList()
|
||||
let body = {}
|
||||
|
||||
if (this.currentFilter.dictLabel !== '全部') {
|
||||
body.goodsType = this.currentFilter.dictValue
|
||||
}
|
||||
|
||||
const req = await mallApis.getGoodsList(body)
|
||||
|
||||
this.records = req.rows
|
||||
|
||||
@ -136,8 +157,7 @@ wepy.component({
|
||||
border: #eeeeee 1px solid;
|
||||
border-radius: 25px;
|
||||
margin-top: 15px;
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
|
||||
}
|
||||
|
||||
.filter-button {
|
||||
|
@ -36,7 +36,7 @@ module.exports.parseImage = parseImage;
|
||||
|
||||
<van-cell :title="goodsItems.goodsName" value="内容能显示多长" label="描述信息描述信息描述信息描述信息描述信息描述信息描述信息描述信息"
|
||||
border="{{ false }}" />
|
||||
<van-cell title="选择下单" is-link @tap="onShowSpec" />
|
||||
<van-cell title="立即下单" is-link @tap="onShowSpec" />
|
||||
|
||||
<div style="margin: 10px 15px;">
|
||||
<span>商品详情</span>
|
||||
@ -72,7 +72,7 @@ module.exports.parseImage = parseImage;
|
||||
<van-col offset="1" span="8">
|
||||
<div style="display: flex; flex-direction: column;">
|
||||
<span>购买数量</span>
|
||||
<span style="font-size: 12px; color: #cccccc;">剩余:xx</span>
|
||||
<span style="font-size: 12px; color: #cccccc;">剩余:{{goodsItem.goodsStock}}</span>
|
||||
</div>
|
||||
</van-col>
|
||||
<van-col offset="7" span="8">
|
||||
|
@ -40,12 +40,6 @@
|
||||
<van-loading wx:if="{{ !isInit }}" style="margin-top: 20px;"></van-loading>
|
||||
<view wx:else>
|
||||
|
||||
<div style="display: flex;align-items: center;justify-content: start;width: 100%;margin-left: 10px;">
|
||||
|
||||
<van-image :src="imageDefine.ADDRESS_ADD_IMAGE" width="60rpx" height="60rpx" @tap="onAdd" />
|
||||
<span style="margin-left: 10px;">添加收货地址</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="records.length < 1" style="display: flex;flex-direction: column;align-items: center;width: 100%;">
|
||||
<van-empty description="您还没有添加收货地址" />
|
||||
@ -91,6 +85,11 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<van-button round type="info" size="large" @tap="onAdd" style="margin-top: 20px;">+ 新建收获地址</van-button>
|
||||
|
||||
</view>
|
||||
</div>
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
import { imgbaseUrl, sysImgBaseUrl } from '../../baseDefine'
|
||||
|
||||
|
||||
export const imageDefine = {
|
||||
SYS_IMG_BASE_URL: sysImgBaseUrl,
|
||||
TAP_BAR_ICON1_OFF: imgbaseUrl + 'nav/1.png',
|
||||
@ -16,6 +15,10 @@ export const imageDefine = {
|
||||
HOME_WINE_LAB: imgbaseUrl + 'icon/home_wine_lab.png',
|
||||
HOME_NOTICE_ICON: imgbaseUrl + 'icon/home_wine.png',
|
||||
ADDRESS_ADD_IMAGE: imgbaseUrl + 'add.png',
|
||||
WINERY_HEADER: imgbaseUrl + 'winery/winery-header.png'
|
||||
WINERY_HEADER: imgbaseUrl + 'winery/winery-header.png',
|
||||
SHOPPING_BANNER: imgbaseUrl + 'shopping/list-banner.png',
|
||||
LIST_BAG: imgbaseUrl + 'shopping/list-bag.png',
|
||||
MY_HEADER: imgbaseUrl + 'my/header.png',
|
||||
BBS_BG: imgbaseUrl + 'bbs/bg.gif'
|
||||
|
||||
}
|
||||
|
@ -90,8 +90,8 @@
|
||||
.van-card__price {
|
||||
display: inline-block;
|
||||
font-weight: 700;
|
||||
color: #ee0a24;
|
||||
color: var(--card-price-color, #ee0a24);
|
||||
color: #98002E;
|
||||
color: var(--card-price-color, #98002E);
|
||||
font-size: 12px;
|
||||
font-size: var(--card-price-font-size, 12px)
|
||||
}
|
||||
|
@ -2,4 +2,5 @@
|
||||
ENV = 'production'
|
||||
|
||||
# 若依管理系统/生产环境
|
||||
# VUE_APP_BASE_API = 'https://mall.xiao4r.com/api'
|
||||
VUE_APP_BASE_API = '/prod-api'
|
||||
|
@ -17,6 +17,7 @@
|
||||
:limit="5"
|
||||
:file-list="fileList"
|
||||
:on-exceed="handleExceed"
|
||||
:on-change="handleChange"
|
||||
list-type="picture">
|
||||
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
@ -46,10 +47,8 @@ export default {
|
||||
default: "",
|
||||
},
|
||||
},
|
||||
filters: {
|
||||
image(value) {
|
||||
return process.env.VUE_APP_BASE_API + "/common/file?fileName=" + value
|
||||
}
|
||||
watch: {
|
||||
|
||||
},
|
||||
computed: {
|
||||
|
||||
@ -87,6 +86,7 @@ export default {
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
let temp = fileList.map(x => {
|
||||
console.log(x)
|
||||
return x.response.fileName
|
||||
})
|
||||
|
||||
@ -101,11 +101,14 @@ export default {
|
||||
message: "超出上传数量限制",
|
||||
type: 'error'
|
||||
})
|
||||
|
||||
},
|
||||
handleChange(file, fileList) {
|
||||
},
|
||||
setFileList(list) {
|
||||
this.fileList = list
|
||||
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
@ -1,12 +1,13 @@
|
||||
import Vue from 'vue'
|
||||
import {imageBaseUrl} from "@/settings";
|
||||
|
||||
|
||||
Vue.filter('getImageForKey', val => {
|
||||
return "https://winery-1257413599.cos.ap-beijing.myqcloud.com/" + val
|
||||
return imageBaseUrl + val
|
||||
})
|
||||
|
||||
Vue.filter('getImage200', val => {
|
||||
return "https://winery-1257413599.cos.ap-beijing.myqcloud.com/" + val + "?imageMogr2/thumbnail/!200x200r/|imageMogr2/gravity/center/crop/200x200/interlace/0"
|
||||
return imageBaseUrl + val + "?imageMogr2/thumbnail/!200x200r/|imageMogr2/gravity/center/crop/200x200/interlace/0"
|
||||
})
|
||||
|
||||
|
||||
|
@ -1,4 +1,7 @@
|
||||
module.exports = {
|
||||
|
||||
imageBaseUrl: 'https://winery-1257413599.cos.ap-beijing.myqcloud.com/',
|
||||
|
||||
title: '酒庄管理系统',
|
||||
|
||||
/**
|
||||
|
@ -105,8 +105,9 @@
|
||||
<el-table v-loading="loading" :data="goodsList" @selection-change="handleSelectionChange">
|
||||
<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="商户名称" align="center" prop="deptId" :formatter="deptFormat" width="100px"/>
|
||||
<el-table-column label="商品名称" align="center" prop="goodsName"/>
|
||||
<el-table-column label="商户名称" align="center" prop="deptId" :formatter="deptFormat" width="100px"/>
|
||||
<el-table-column label="排序" align="center" prop="sort"/>
|
||||
<el-table-column label="商品简称" align="center" prop="goodsAlias"/>
|
||||
<el-table-column label="商品价格" align="center" prop="goodsPrice"/>
|
||||
<el-table-column label="商品库存" align="center" prop="goodsStock"/>
|
||||
@ -179,6 +180,10 @@
|
||||
<el-form-item label="商品简称" prop="goodsAlias">
|
||||
<el-input v-model="form.goodsAlias" placeholder="请输入商品简称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<el-input type="number" v-model="form.sort" placeholder="请输入排序(升序)"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="商品价格" prop="goodsPrice">
|
||||
<el-input type="number" v-model="form.goodsPrice" placeholder="请输入商品价格"/>
|
||||
</el-form-item>
|
||||
@ -191,7 +196,7 @@
|
||||
<!-- <el-input v-model="form.goodsFaceImg" placeholder="请输入商品封面" />-->
|
||||
</el-form-item>
|
||||
<el-form-item label="商品图片" prop="goodsImg">
|
||||
<upload-image-multiple :value="form.goodsImg" @input="inputGoodsImg"/>
|
||||
<upload-image-multiple id="multipleImg" ref="multipleImg" :value="form.goodsImg" @input="inputGoodsImg"/>
|
||||
<!-- <el-input v-model="form.goodsImg" placeholder="请输入商品图片"/>-->
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="state">
|
||||
@ -254,6 +259,8 @@ import Editor from '@/components/Editor/index';
|
||||
import {listSpec} from "@/api/goods/goods_spec";
|
||||
import {getDept, listDept} from "@/api/system/dept";
|
||||
import {selectDictLabel} from "@/utils/ruoyi";
|
||||
import * as settings from "@/settings";
|
||||
import {imageBaseUrl} from "@/settings";
|
||||
|
||||
export default {
|
||||
name: "GoodsMain",
|
||||
@ -304,7 +311,8 @@ export default {
|
||||
goodsPrice: undefined,
|
||||
goodsStock: undefined,
|
||||
deptId: undefined,
|
||||
state: 0
|
||||
state: undefined,
|
||||
sort: undefined
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
@ -359,10 +367,15 @@ export default {
|
||||
|
||||
// 商户类型字典翻译
|
||||
deptFormat(row, column) {
|
||||
|
||||
if (this.deptOptions.length < 1) {
|
||||
return ''
|
||||
}
|
||||
return this.deptOptions.filter(x => x.deptId === row.deptId)[0].deptName
|
||||
|
||||
const dept = this.deptOptions.filter(x => x.deptId === row.deptId)[0]
|
||||
|
||||
|
||||
return dept.deptName
|
||||
},
|
||||
/** 查询商品信息列表 */
|
||||
getList() {
|
||||
@ -397,7 +410,8 @@ export default {
|
||||
updateBy: undefined,
|
||||
updateTime: undefined,
|
||||
state: 0,
|
||||
remark: undefined
|
||||
remark: undefined,
|
||||
sort: 10
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
@ -432,6 +446,33 @@ export default {
|
||||
this.open = true;
|
||||
this.title = "修改商品信息";
|
||||
|
||||
|
||||
this.$nextTick(() => {
|
||||
|
||||
const imageList = this.form.goodsImg.split(',')
|
||||
|
||||
const fileList = []
|
||||
this.$refs.multipleImg.setFileList(fileList)
|
||||
|
||||
imageList.forEach(x => {
|
||||
fileList.push({
|
||||
name: x,
|
||||
url: imageBaseUrl + x,
|
||||
response: {
|
||||
msg: "操作成功",
|
||||
fileName: x,
|
||||
code: 200,
|
||||
url: imageBaseUrl + x,
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
this.$refs.multipleImg.setFileList(fileList)
|
||||
|
||||
})
|
||||
|
||||
|
||||
listSpec({
|
||||
pageNum: 1,
|
||||
pageSize: 999
|
||||
|
@ -51,7 +51,8 @@
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['winery:merchant:add']"
|
||||
>新增</el-button>
|
||||
>新增
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
@ -61,7 +62,8 @@
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['winery:merchant:edit']"
|
||||
>修改</el-button>
|
||||
>修改
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
@ -71,7 +73,8 @@
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['winery:merchant:remove']"
|
||||
>删除</el-button>
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
@ -80,21 +83,24 @@
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['winery:merchant:export']"
|
||||
>导出</el-button>
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="merchantList" @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="商户名称" align="center" prop="mchName" />
|
||||
<el-table-column label="副标题" align="center" prop="subtitle" />
|
||||
<el-table-column label="图标" align="center" prop="avatar">
|
||||
<template slot-scope="scope">
|
||||
<el-image :src="'https://winery-1257413599.cos.ap-beijing.myqcloud.com/' + scope.row.avatar" style="width: 60px; height: 60px"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商户名称" align="center" prop="mchName"/>
|
||||
<el-table-column label="排序" align="center" prop="sort"/>
|
||||
<el-table-column label="副标题" align="center" prop="subtitle"/>
|
||||
<el-table-column label="图标" align="center" prop="avatar">
|
||||
<template slot-scope="scope">
|
||||
<el-image :src="scope.row.avatar | getImageForKey"
|
||||
style="width: 60px; height: 60px"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!--<el-table-column label="介绍" align="center" prop="mchDesc" />-->
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
@ -104,14 +110,16 @@
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['winery:merchant:edit']"
|
||||
>修改</el-button>
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['winery:merchant:remove']"
|
||||
>删除</el-button>
|
||||
>删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -128,25 +136,31 @@
|
||||
<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-item label="商户名称" prop="mchName">
|
||||
<el-input v-model="form.mchName" placeholder="请输入商户名称" />
|
||||
<el-input v-model="form.mchName" placeholder="请输入商户名称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<el-input type="number" v-model="form.sort" placeholder="请输入排序(升序)"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="副标题" prop="subtitle">
|
||||
<el-input v-model="form.subtitle" placeholder="请输入副标题" />
|
||||
<el-input v-model="form.subtitle" placeholder="请输入副标题"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="图标" prop="avatar">
|
||||
<uploadImage v-model="form.avatar"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="封面大图" prop="faceImage">
|
||||
<el-form-item label="封面横图" prop="faceImage">
|
||||
<uploadImage v-model="form.faceImage"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="内容置顶图" prop="topImage">
|
||||
<uploadImage v-model="form.topImage"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="获奖信息" prop="award">
|
||||
<el-input v-model="form.award" placeholder="获奖信息(多条使用英文逗号分割)" />
|
||||
<el-input v-model="form.award" placeholder="获奖信息(多条使用英文逗号分割)"/>
|
||||
</el-form-item>
|
||||
|
||||
<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>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
@ -158,15 +172,27 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listMerchant, getMerchant, delMerchant, addMerchant, updateMerchant, exportMerchant } from "@/api/winery/merchant";
|
||||
import {
|
||||
listMerchant,
|
||||
getMerchant,
|
||||
delMerchant,
|
||||
addMerchant,
|
||||
updateMerchant,
|
||||
exportMerchant
|
||||
} from "@/api/winery/merchant";
|
||||
import UploadImage from '@/components/UploadImage';
|
||||
import Editor from '@/components/Editor';
|
||||
import CommonMixin from "@/mixin/common";
|
||||
|
||||
export default {
|
||||
name: "Merchant",
|
||||
components: {
|
||||
Editor,
|
||||
UploadImage
|
||||
},
|
||||
mixins: {
|
||||
CommonMixin
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
@ -196,13 +222,14 @@ export default {
|
||||
avatar: undefined,
|
||||
mchDesc: undefined,
|
||||
award: undefined,
|
||||
faceImage:undefined
|
||||
faceImage: undefined,
|
||||
topImage: undefined,
|
||||
sort: undefined
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
}
|
||||
rules: {}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@ -234,7 +261,7 @@ export default {
|
||||
createTime: undefined,
|
||||
updateTime: undefined,
|
||||
award: undefined,
|
||||
faceImage:undefined
|
||||
faceImage: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
@ -251,7 +278,7 @@ export default {
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.single = selection.length !== 1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
@ -294,32 +321,32 @@ export default {
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$confirm('是否确认删除商户编号为"' + ids + '"的数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return delMerchant(ids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
})
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function () {
|
||||
return delMerchant(ids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
const queryParams = this.queryParams;
|
||||
this.$confirm('是否确认导出所有商户数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return exportMerchant(queryParams);
|
||||
}).then(response => {
|
||||
this.download(response.msg);
|
||||
})
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function () {
|
||||
return exportMerchant(queryParams);
|
||||
}).then(response => {
|
||||
this.download(response.msg);
|
||||
})
|
||||
},
|
||||
onChangeNewsBody(value) {
|
||||
this.form.mchDesc = value.html
|
||||
}
|
||||
this.form.mchDesc = value.html
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
Loading…
x
Reference in New Issue
Block a user