Commit 0832a1f3 by zhangmeng

修改图片墙

parent fc44ac6e
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/integral-mall/static/css/app.6554034df9a9582066d44fa1471ffddc.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/integral-mall/static/js/manifest.003beacb9c9ae622c7f2.js></script><script type=text/javascript src=/integral-mall/static/js/vendor.a4629049cbe245fbe935.js></script><script type=text/javascript src=/integral-mall/static/js/app.f00cf930270a45e8a2d3.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/integral-mall/static/css/app.b8dab552e8f82147adf86b0b7ffcbe61.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/integral-mall/static/js/manifest.003beacb9c9ae622c7f2.js></script><script type=text/javascript src=/integral-mall/static/js/vendor.8c76da9bb476bff35558.js></script><script type=text/javascript src=/integral-mall/static/js/app.05d8b952c8526f2b3e14.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -12,6 +12,7 @@ import vueGicStoreLinkage from '@gic-test/vue-gic-store-linkage/src/lib'
import install from 'packele'
import dmConfirm from './components/dm-confirm'
import vueGicAsideMenu from '@/components/aside-menu'
import vueGicUploadImage from '@gic-test/vue-gic-upload-image/src/lib'
//删除组件 这个组件常用,放到这不用在组件里引入
Vue.component(dmConfirm.name,dmConfirm)
......@@ -24,6 +25,7 @@ Vue.use(vueGicFooter)
Vue.use(vueGicAsideMenu)
Vue.use(vueGicStoreLinkage)
Vue.use(vueGicImgPreview)
Vue.use(vueGicUploadImage)
Vue.prototype.axios = axios;
Vue.prototype.axios.withCredentials = true
Object.keys(directives).map(item => Vue.directive(item, directives[item]));
......
......@@ -147,6 +147,10 @@ export default {
},
addTimeRange() {
let length = this.timeRangeList.length;
if(length >= 5) {
this.$tips({type:'warning',message:'最多五个时间段'});
return;
}
this.$set(this.timeRangeList,length,{timeRange:['','']})
},
delTimeRange(index) {
......@@ -169,6 +173,7 @@ export default {
return;
}
console.log(this.timeRangeList)
let params = {
integralMallProId:this.form.integralMallProId || '',
......@@ -221,10 +226,12 @@ export default {
if (params.exchangeTimeType === 2) {
let list = [];
let flag = false;
let arr = [];
this.timeRangeList.forEach(v => {
if (!v.timeRange || !v.timeRange[0]) {
flag = true;
} else {
arr.push(v.timeRange);
list.push(v.timeRange[0]+'-'+v.timeRange[1]);
}
})
......@@ -238,6 +245,26 @@ export default {
} else {
params.timeZones = list.length?list.join('#'):'';
}
let breakFlag = false;
for(var i=0;i<arr.length;i++) {
if(breakFlag) {
break ;
}
var p1 = arr[i] ;
for(var j=i+1;j<arr.length;j++) {
var p2 = arr[j] ;
console.log(p1,p2);
if((p2[0]>p1[0] && p2[0] < p1[1]) || (p2[1]>p1[0] && p2[1]<p1[1]) || (p1[0]>p2[0] && p1[0] < p2[1]) || (p1[1]>p2[0] && p1[1]<p2[1])) {
breakFlag = true ;
break ;
}
}
}
if(breakFlag) {
this.$tips({type:'warning',message:"兑换时段之间不允许出现时间交叠"});
return ;
}
}
// 判断发送时间
......
......@@ -58,6 +58,16 @@ export default {
isAdd: this.$route.meta.type === 'add',
isEdit: this.$route.meta.type === 'edit',
isInfo: this.$route.meta.type === 'info',
projectName: 'gic-web', // 当前项目名(必传参数)
wxFlag: '1', // '1': 表示需要返回微信图片地址(可选参数),插件内已默认 '1'
imgRate: '1:1', // 限制图片上传比例 如 '1:1' (可选参数),各个调用地方可能不同,(比例和限制宽高是二选一的,如果都不传参数,表示不限制)
limitW: 750, // 上传图片的限制宽度(数字),(可选参数),各个调用地方可能不同
limitH: 750, // 上传图片的限制高度(数字),(可选参数),各个调用地方可能不同
actionUrl: '/api-plug/upload-img', // 必选参数,上传的相对地址 String 类型,切勿硬编码写死地址
maxlength: 5, // 图片数量 默认 5
imgSize: 1, // 图片大小限制 MB
imageList: [] // 是否显示已上传文件列表
}
},
watch:{
......@@ -131,10 +141,10 @@ export default {
this.form.integralMallProId = result.integralMallProId || '';
this.form.proReferId = result.proReferId || '';
this.form.proName = result.proName || '';
this.form.giftImg = {
imgUrl: result.giftImageUrls || '',
code: result.giftImageFiledCodes || '',
};
this.imageList = result.images && result.images.map(v => ({
url:v.imageUrl,
code:v.imageFieldCode
}));
this.form.proCategoryId = result.proCategoryId || '';
this.form.integralCost = result.integralCost || 0;
this.form.cashCost = result.cashCost || 0;
......@@ -211,6 +221,10 @@ export default {
// 新增兑换时段-部分时段
addTimeRange() {
let length = this.timeRangeList.length;
if(length >= 5) {
this.$tips({type:'warning',message:'最多五个时间段'});
return;
}
this.$set(this.timeRangeList,length,{timeRange:['','']})
},
// 删除兑换时段-部分时段
......@@ -234,13 +248,11 @@ export default {
this.$tips({type:'warning',message:'礼品成本要大于等于现金费用'});
return;
}
if (!this.form.giftImg.code) {
if (!this.imageList.length) {
this.$tips({type:'warning',message:'礼品主图不能为空'});
return;
}
let params = {
integralMallProId:this.form.integralMallProId || '',
proType:2, // 商品类型 1 优惠券,2礼品,3实物
......@@ -261,13 +273,15 @@ export default {
changeType:this.form.changeType, // 兑换方式 1:微信兑换 2:快递发货 3:在线发货
showStore:this.sendChildData.storeType, // 显示门店 0所有 1部分分组 2部分门店
giftImageUrls:this.imageList.map(v => v.url).filter(v => v).join(','), // 礼品图片
giftImageFiledCodes:this.imageList.map(v => v.code).filter(v => v).join(','), // 礼品图片编码
storeIds:'', // 选中的门店信息,多个逗号拼接
giftImageUrls:this.form.giftImg.imgUrl, // 礼品图片
giftImageFiledCodes:this.form.giftImg.code, // 礼品图片编码
virtualStock:this.form.changeType === 1 ? this.form.weChatVirtualStock : this.form.virtualStock, //库存
}
// 判断 兑换日期
if (params.exchangeDateType === 2) {
if (this.form.exchangeFixDate) {
......@@ -297,15 +311,17 @@ export default {
if (params.exchangeTimeType === 2) {
let list = [];
let flag = false;
let arr = [];
this.timeRangeList.forEach(v => {
if (!v.timeRange || !v.timeRange[0]) {
flag = true;
} else {
arr.push(v.timeRange);
list.push(v.timeRange[0]+'-'+v.timeRange[1]);
}
})
if (flag) {
this.$tips({type:'warning',message:'部分时段未填写完整'});
this.$tips({message:'部分时段未填写完整'});
return;
}
// 如果数组为1的话也要传 #分割
......@@ -314,6 +330,26 @@ export default {
} else {
params.timeZones = list.length?list.join('#'):'';
}
let breakFlag = false;
for(var i=0;i<arr.length;i++) {
if(breakFlag) {
break ;
}
var p1 = arr[i] ;
for(var j=i+1;j<arr.length;j++) {
var p2 = arr[j] ;
console.log(p1,p2);
if((p2[0]>p1[0] && p2[0] < p1[1]) || (p2[1]>p1[0] && p2[1]<p1[1]) || (p1[0]>p2[0] && p1[0] < p2[1]) || (p1[1]>p2[0] && p1[1]<p2[1])) {
breakFlag = true ;
break ;
}
}
}
if(breakFlag) {
this.$tips({type:'warning',message:"兑换时段之间不允许出现时间交叠"});
return ;
}
}
......@@ -352,6 +388,21 @@ export default {
}).catch(err => {
this.$tips({type:'error',message:'操作失败'});
})
},
// 上传成功 返回的图片对象 里面有图片 大小 类型 等相关信息
uploadOnSuccess(obj) {
// 目前返回两个参数 {res:res,file:file}
obj.file.url = obj.res.result[0] && obj.res.result[0].qcloudImageUrl;
obj.file.code = obj.res.result[0] && obj.res.result[0].imageFiledCode;
this.imageList.push(obj.file);
},
// 删除图片 返回图片列表的索引 你可以根据这个索引去找对应图片的id
deleteImage(i) {
this.imageList.splice(i, 1);
},
// 排序图片
sortImg(val) {
this.imageList = val;
}
}
};
......@@ -4,7 +4,23 @@
<el-input controls-position="right" placeholder="请输入礼品标题" :disabled="isInfo" v-model="form.proName" class="w300"></el-input>
</el-form-item>
<el-form-item label="礼品主图" class="is-required">
<dm-upload-avatar :model.sync="form.giftImg" label="上传图片" tips="规格750*750,大小≤1M"></dm-upload-avatar>
<div class="member-upload-image">
<p class="gray fz13">规格750*750,大小≤1M</p>
<vue-gic-upload-image
:projectName="projectName"
:wxFlag="wxFlag"
:actionUrl="actionUrl"
:imageList="imageList"
:limitW="limitW"
:limitH="limitH"
:imgSize="imgSize"
:maxImageLength="maxlength"
@uploadOnSuccess="uploadOnSuccess"
@sortImg="sortImg"
@deleteImage="deleteImage">
</vue-gic-upload-image>
</div>
<!-- <dm-upload-avatar :model.sync="form.giftImg" label="上传图片" tips="规格750*750,大小≤1M"></dm-upload-avatar> -->
</el-form-item>
<el-form-item prop="proCategoryId" label="礼品分组">
<el-select v-model="form.proCategoryId" placeholder="请选择" class="w300">
......@@ -87,17 +103,17 @@
</el-form-item>
<el-form-item prop="changeType" label="兑换方式" class="is-required">
<el-radio-group v-model="form.changeType">
<div class="mb10">
<div class="mb10" v-if="form.changeType !== 1 && (isEdit || isInfo)">
<el-radio :label="2">快递发货,库存
<el-input-number controls-position="right" v-show="form.changeType === 2" v-model="form.virtualStock" class="w150 vertical-middle" :precison="0" :min="0"></el-input-number>
</el-radio>
</div>
<div class="mb10">
<div class="mb10" v-if="form.changeType !== 1 && (isEdit || isInfo)">
<el-radio :label="3">在线发货,库存
<el-input-number controls-position="right" v-show="form.changeType === 3" v-model="form.virtualStock" class="w150 vertical-middle" :precison="0" :min="0"></el-input-number>
</el-radio>
</div>
<div class="mb10">
<div class="mb10" v-if="form.changeType === 1 && (isEdit || isInfo)">
<el-radio :label="1" class="vertical-middle">微信兑换券</el-radio>
<span class="gray ml20 fz13 vertical-top">礼品成本金额以选择兑换券的成本金额为准</span>
</div>
......
<template>
<div class="dm-tabs el-tabs">
<div class="el-tabs__header">
<div class="overflow-hidden">
<div id="tab-first" @click="$router.push('/'+v.value)" class="el-tabs__item" v-for="(v,i) in tabs" :key="i" :class="{'is-active':v.value === $route.meta.menu}">
{{v.name === '待发货'?(v.name+'('+total+')'):v.name}}
</div>
</div>
</div>
<div class="el-tabs__content">
<div>
<router-view></router-view>
</div>
</div>
</template>
<script>
......@@ -20,14 +11,12 @@ export default {
data() {
const vm = this;
return {
activeMenu:'',
tabs:[{name:'优惠券',value:'coupon'},{name:'礼品',value:'gift'},{name:'待发货',value:'goods'}],
total:0,
};
},
created() {
this.$store.commit("mutations_breadcrumb", [{ name: "积分商城" }]);
this.$store.commit("aside_handler", false);
this.$store.commit("aside_handler", true);
this.getNotSendCount();
$bus.$on('refresh-not-send-count',() => {
this.getNotSendCount();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment