Commit 3dfe1372 by damodmg

新需求上线

parent ec6f9155
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel=stylesheet type=text/css href=./static/css/iconfont.css><link rel=stylesheet type=text/css href=./static/css/common.css><link rel="shortcut icon" type=image/x-icon href=./static/img/favicon.ico><title>积分商城</title><link href=./static/css/app.813938dffbf2f53e2b399deefc5e6b2e.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.33.js></script><script src=//web-1251519181.file.myqcloud.com/components/aside-menu.2.0.12.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-linkage.2.0.41.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-new.2.0.11.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.06.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.26.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.96fa59f11d5159dc5b81.js></script><script type=text/javascript src=./static/js/app.af7277898d128cd5a03f.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=stylesheet type=text/css href=./static/css/iconfont.css><link rel=stylesheet type=text/css href=./static/css/common.css><link rel="shortcut icon" type=image/x-icon href=./static/img/favicon.ico><title>积分商城</title><link href=./static/css/app.bda8c36aa287886779310e02c6641e88.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.33.js></script><script src=//web-1251519181.file.myqcloud.com/components/aside-menu.2.0.12.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-linkage.2.0.41.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-new.2.0.11.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.06.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.26.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.3c5834cc437c7b2d524e.js></script><script type=text/javascript src=./static/js/app.46cd9280d6d959951b4e.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.
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.
......@@ -34,7 +34,9 @@
</template>
</el-table-column>
<el-table-column label="领取限制">
<template slot-scope="scope"> {{ scope.row.cardLimit }}张/人 </template>
<template slot-scope="scope">
{{ scope.row.cardLimit }}张/人
</template>
</el-table-column>
<el-table-column label="适用门店">
<template slot-scope="scope">
......@@ -108,8 +110,14 @@
<div class="section-content">
<h3>兑换设置</h3>
<span style="display:none">{{ refash }}</span>
<el-form-item label="适用会员" prop="memberGrade">
<el-select v-model="couponForm.memberGrade" multiple placeholder="请选择" size="small" class="w-350">
<el-form-item label="适用会员" prop="gradeType" v-if="cliqueStatus">
<el-radio-group v-model="couponForm.gradeType" @change="handleChange">
<el-radio :label="1">品牌卡</el-radio>
<el-radio :label="2">集团卡</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="memberGrade" :label="cliqueStatus ? '' : '适用会员'">
<el-select v-model="couponForm.memberGrade" multiple placeholder="请选择" size="small" class="w-600">
<el-option v-for="item in memberGradeList" :key="item.gradeId" :label="item.gradeName" :value="item.gradeId"> </el-option>
</el-select>
</el-form-item>
......@@ -145,6 +153,8 @@
<el-radio v-model="couponForm.exchangeDateType" :label="2">固定日期</el-radio>
<el-radio v-model="couponForm.exchangeDateType" :label="3">每月</el-radio>
<el-radio v-model="couponForm.exchangeDateType" :label="4">每周</el-radio>
<el-radio v-model="couponForm.exchangeDateType" :label="6">生日当日</el-radio>
<el-radio v-model="couponForm.exchangeDateType" :label="5">生日当月</el-radio>
</template>
</el-form-item>
<!-- 兑换日期 -->
......@@ -258,6 +268,7 @@ export default {
cashCost: '',
virtualStock: '',
memberLabelType: 1,
gradeType: 1,
memberGrade: [], //适用会员
limitTimesStatus: false, //限兑
limitTimes: '', //限兑次数
......@@ -287,16 +298,15 @@ export default {
storeGroupIds: '',
storeIds: []
},
cliqueStatus: true, //是否有集团卡
openFlag: false,
monthOptions: Array.from(Array(31), (v, k) => (k + 1).toString()),
weekOptions: ['1', '2', '3', '4', '5', '6', '7'],
couponRules: {
integralCost: [{ required: true, message: '请输入积分费用', trigger: 'blur' }],
cashCost: [{ required: true, message: '请输入现金费用', trigger: 'blur' }],
virtualStock: [
{ required: true, message: '请输入库存', trigger: 'blur' },
{ validator: stockValidator, trigger: 'blur' }
],
virtualStock: [{ required: true, message: '请输入库存', trigger: 'blur' }, { validator: stockValidator, trigger: 'blur' }],
gradeType: [{ required: true, message: '请选择适用会员', trigger: 'change' }],
memberGrade: [{ required: true, message: '请选择适用会员', trigger: 'change' }],
exchangeFixDate: [{ required: true, message: '请选择时间', trigger: 'change' }],
exchangeDateDayArr: [{ required: true, message: '请选择时间', trigger: 'change' }],
......@@ -351,9 +361,10 @@ export default {
// this.getDisGroupList();
// }
this.getMemberGradeList(); //会员等级列表\
if (this.mallProId !== '-1') {
this.getInfo();
} else {
this.getMemberGradeList(); //会员等级列表
}
},
methods: {
......@@ -378,14 +389,20 @@ export default {
// this.getInfo();
// }
},
handleChange() {
this.couponForm.memberGrade = [];
this.getMemberGradeList();
},
// 获取会员等级
getMemberGradeList() {
request.post('/api-integral-mall/load-grade').then(res => {
if (res.data.errorCode === 0) {
if (res.data.result) {
this.memberGradeList = res.data.result;
} else {
this.memberGradeList = [];
this.cliqueStatus = res.data.result.cliqueGrade ? true : false;
if (this.couponForm.gradeType === 1) {
//品牌卡
this.memberGradeList = res.data.result.enterpriseGrade || [];
} else if (this.couponForm.gradeType === 2) {
this.memberGradeList = res.data.result.cliqueGrade || [];
}
} else {
this.$message.error(res.data.message);
......@@ -429,6 +446,8 @@ export default {
// this.useId = res.data.result.integralMallProId;
this.hasSearchData = res.data.result.searchParams;
//适用会员
this.couponForm.gradeType = res.data.result.gradeType;
this.getMemberGradeList(); //会员等级列表\
if (res.data.result.memberGrade) {
this.couponForm.memberGrade = res.data.result.memberGrade.split(',');
} else {
......@@ -864,6 +883,7 @@ export default {
costValue: this.costValue, //礼品成本
cashCost: this.couponForm.cashCost, //现金
virtualStock: this.couponForm.virtualStock, //库存
gradeType: this.couponForm.gradeType,
memberGrade: this.couponForm.memberGrade.join(','), //适用会员
showStore: this.sendChildData.storeType, // 显示门店 0所有 1部分分类 2部分门店
storeIds: '', //展现门店id
......
......@@ -72,11 +72,24 @@ export default {
//上传之前
uploadFileBefore(file) {
const isXlsx = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
if (file.type !== isXlsx) {
this.$message.error('文件格式错误,请导入.xlsx格式的文件');
return false;
/*eslint-disable*/
console.log(file);
console.log(file.type);
if(file.type) {
if (file.type !== isXlsx) {
this.$message.error('文件格式错误,请导入.xlsx格式的文件');
return false;
}
}else{ //兼容默写电脑获取file.type为空的情况
let fileName = file.name
let arr = fileName.split(".");
let fileType = arr[arr.length - 1];
if(fileType!=='xlsx') {
this.$message.error('文件格式错误,请导入.xlsx格式的文件');
return false;
}
}
if (file.size > 2 * 1024 * 1024) {
this.$message.error('请上传小于2MB的文件');
return false;
......@@ -155,7 +168,7 @@ export default {
color: #c0c4cc;
}
.upload-ele .el-button--small {
padding: 7px 15px;
padding: 0;
}
.upload-btn .el-icon-upload2 {
font-size: 16px;
......@@ -177,8 +190,11 @@ export default {
line-height: 18px;
margin-top: 30px;
}
</style>
<style>
.upload-ele .el-upload {
width: 120px !important;
display: inline !important;
width: 100%;
}
</style>
......@@ -112,7 +112,13 @@
</div>
<div class="section-content">
<h3>兑换设置</h3>
<el-form-item label="适用会员" prop="memberGrade">
<el-form-item label="适用会员" prop="gradeType" v-if="cliqueStatus">
<el-radio-group v-model="giftForm.gradeType" @change="handleChange">
<el-radio :label="1">品牌卡</el-radio>
<el-radio :label="2">集团卡</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="memberGrade" :label="cliqueStatus ? '' : '适用会员'">
<el-select v-model="giftForm.memberGrade" multiple placeholder="请选择" size="small" class="w-600">
<el-option v-for="item in memberGradeList" :key="item.gradeId" :label="item.gradeName" :value="item.gradeId"> </el-option>
</el-select>
......@@ -145,6 +151,8 @@
<el-radio v-model="giftForm.exchangeDateType" :label="2">固定日期</el-radio>
<el-radio v-model="giftForm.exchangeDateType" :label="3">每月</el-radio>
<el-radio v-model="giftForm.exchangeDateType" :label="4">每周</el-radio>
<el-radio v-model="giftForm.exchangeDateType" :label="6">生日当日</el-radio>
<el-radio v-model="giftForm.exchangeDateType" :label="5">生日当月</el-radio>
</template>
</el-form-item>
<!-- 兑换日期 -->
......@@ -177,8 +185,8 @@
<el-time-picker is-range v-model="v.timeRange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" value-format="HH:mm" format="HH:mm" placeholder="选择时间范围"> </el-time-picker>
<el-button v-if="i" type="text" @click="delTimeRange(i)">删除</el-button>
</el-form-item>
<p style="font-size:12px;color:#909399;line-height:12px;margin-left:170px;">请使用24小时制输入时间,格式如11:00至14:30</p>
<p><el-button type="text" style="margin:8px 0 10px 170px" @click="addTimeRange">添加时间段</el-button></p>
<p style="font-size:12px;color:#909399;line-height:12px;margin-left:180px;">请使用24小时制输入时间,格式如11:00至14:30</p>
<p><el-button type="text" style="margin:8px 0 10px 180px" @click="addTimeRange">添加时间段</el-button></p>
</div>
<el-form-item label="显示状态" required>
<el-radio-group v-model="giftForm.proShowStatus">
......@@ -240,7 +248,9 @@
</template>
</el-table-column>
<el-table-column label="领取限制">
<template slot-scope="scope"> {{ scope.row.cardLimit }}张/人 </template>
<template slot-scope="scope">
{{ scope.row.cardLimit }}张/人
</template>
</el-table-column>
<el-table-column label="适用门店">
<template slot-scope="scope">
......@@ -337,6 +347,7 @@ export default {
proName: '',
proCategoryId: '', //分类id
images: [],
gradeType: 1,
memberGrade: [], //适用会员
limitTimesStatus: false,
limitTimes: '', //限制兑换的次数
......@@ -364,11 +375,13 @@ export default {
limitTimes: 0,
limitTimesNum: 0,
validateTime,
cliqueStatus: true, //是否有集团卡
memberGradeList: [], //会员等级列表
submitLoading: false, //按钮加载中
giftRules: {
proName: [{ validator: proNameValidator, trigger: 'blur' }],
costValue: [{ required: true, message: '请输入礼品成本', trigger: 'blur' }],
gradeType: [{ required: true, message: '请选择适用会员', trigger: 'change' }],
memberGrade: [{ required: true, message: '请选择适用会员', trigger: 'change' }],
proCategoryId: [{ required: true, message: '请选择礼品分类', trigger: 'blur' }],
exchangeFixDate: [{ required: true, message: '请选择时间', trigger: 'change' }],
......@@ -473,10 +486,11 @@ export default {
} else {
//新增
this.giftForm.proReferId = '';
this.getMemberGradeList(); //会员等级列表
}
this.getCategoryOptions(); //分类数据
this.getMemberGradeList(); //会员等级列表
if (this.giftType === 1) {
//实物
this.giftForm.changeType = 2;
......@@ -676,6 +690,8 @@ export default {
// }
// this.useId = res.data.result.integralMallProId;
this.hasSearchData = res.data.result.searchParams;
this.giftForm.gradeType = res.data.result.gradeType;
this.getMemberGradeList(); //会员等级列表
if (res.data.result.memberGrade) {
this.giftForm.memberGrade = res.data.result.memberGrade.split(','); //适用会员
} else {
......@@ -1002,12 +1018,22 @@ export default {
createCategory() {
this.addCateModal.dialogVisible = true;
},
handleChange() {
this.giftForm.memberGrade = [];
this.getMemberGradeList();
},
// 获取会员等级
getMemberGradeList() {
request.post('/api-integral-mall/load-grade').then(res => {
if (res.data.errorCode === 0) {
if (res.data.result) {
this.memberGradeList = res.data.result;
this.cliqueStatus = res.data.result.cliqueGrade ? true : false;
if (this.giftForm.gradeType === 1) {
//品牌卡
this.memberGradeList = res.data.result.enterpriseGrade || [];
} else if (this.giftForm.gradeType === 2) {
this.memberGradeList = res.data.result.cliqueGrade || [];
}
} else {
this.memberGradeList = [];
}
......@@ -1038,6 +1064,9 @@ export default {
this.$message.error('请上传小于2MB的图片');
return false;
}
/*eslint-disable*/
console.log(file);
console.log(file.type);
if (file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/jpg' && file.type !== 'image/gif') {
this.$message.error('请上传jpg,png,gif格式的图片');
return false;
......@@ -1474,6 +1503,7 @@ export default {
cardType: this.giftForm.changeType === 1 ? this.giftForm.cardType : '', //卡券类型
proCategoryId: this.giftForm.proCategoryId, //礼品分类
detailDescription: this.giftForm.detailDescription, //图文详情
gradeType: this.giftForm.gradeType,
memberGrade: this.giftForm.memberGrade.join(','), //适用会员
showStore: this.sendChildData.storeType, // 显示门店 0所有 1部分分类 2部分门店
storeIds: '', //展现门店id
......
......@@ -59,14 +59,8 @@ export default {
refundPoint: '',
refundMoney: '',
modalRules: {
refundPoint: [
{ required: true, message: '请输入积分', trigger: 'blur' },
{ validator: refundPointValidator, trigger: 'blur' }
],
refundMoney: [
{ required: true, message: '请输入金额', trigger: 'blur' },
{ validator: refundMoneyValidator, trigger: 'blur' }
]
refundPoint: [{ required: true, message: '请输入积分', trigger: 'blur' }, { validator: refundPointValidator, trigger: 'blur' }],
refundMoney: [{ required: true, message: '请输入金额', trigger: 'blur' }, { validator: refundMoneyValidator, trigger: 'blur' }]
},
submitLoading: false //按钮禁止重复提交
};
......
......@@ -69,11 +69,21 @@ export default {
//上传之前
uploadFileBefore(file) {
const isXlsx = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
if (file.type !== isXlsx) {
this.$message.error('文件格式错误,请导入.xlsx格式的文件');
return false;
if (file.type) {
if (file.type !== isXlsx) {
this.$message.error('文件格式错误,请导入.xlsx格式的文件');
return false;
}
} else {
let fileName = file.name;
let arr = fileName.split('.');
let fileType = arr[arr.length - 1];
if (fileType !== 'xlsx') {
this.$message.error('文件格式错误,请导入.xlsx格式的文件');
return false;
}
}
if (file.size > 2 * 1024 * 1024) {
this.$message.error('请上传小于2MB的文件');
return false;
......
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