Commit 0c38d936 by chenxin

fix: build

parent dc0f56d6
<!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/fonts/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link rel=stylesheet href=//web-1251519181.file.myqcloud.com/components/element.2.12.0.css><link href=/marketing/static/css/main.cfc983c10aec37a9d3355fc9d66947d7.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/components/element.2.12.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.36.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.12.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.2.22.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.18.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.42.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/input.2.0.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/selector.1.2.10.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js></script><script type=text/javascript src=/marketing/static/js/manifest.4d7b172b20b23ff46937.js></script><script type=text/javascript src=/marketing/static/js/vendor.b30a466c3b2d11195801.js></script><script type=text/javascript src=/marketing/static/js/main.639926e246003bf2a575.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/fonts/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link rel=stylesheet href=//web-1251519181.file.myqcloud.com/components/element.2.12.0.css><link href=/marketing/static/css/main.bb10561867aaf40be17396f3e8fae676.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/components/element.2.12.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.36.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.12.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.2.22.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.18.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.42.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/input.2.0.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/selector.1.2.10.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js></script><script type=text/javascript src=/marketing/static/js/manifest.936c4a0a94820155d4d4.js></script><script type=text/javascript src=/marketing/static/js/vendor.b30a466c3b2d11195801.js></script><script type=text/javascript src=/marketing/static/js/main.639926e246003bf2a575.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.
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var i,u,f,s=0,d=[];s<t.length;s++)u=t[s],n[u]&&d.push(n[u][0]),n[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(r&&r(t,c,a);d.length;)d.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var t={},n={14:0};function o(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.e=function(e){var r=n[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var t=new Promise(function(t,o){r=n[e]=[t,o]});r[2]=t;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"message",4:"ewash",5:"ecm",6:"evaluation",7:"activity",8:"cdKey",9:"recharge",10:"msg",11:"calllog"}[e]||e)+"."+{0:"eed2a78e47430fb6de1c",1:"82cd3927c4b3b635db4b",2:"2a8e523c0449ab3e20e1",3:"0897102abc0556d5f97d",4:"0f8f5a7e1a28450e55c7",5:"be1031b0bad70e075894",6:"a69c5c6513644d0f2537",7:"c9e4106934931698098b",8:"23007947764818259865",9:"e8e771469c2137096ce5",10:"08d7348811ff689c70ac",11:"07f9326e2a68fd201646"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var r=n[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),n[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),t},o.m=e,o.c=t,o.d=function(e,r,t){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},o.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(r,"a",r),r},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.p="/marketing/",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(t,a,c){for(var i,f,u,s=0,l=[];s<t.length;s++)f=t[s],n[f]&&l.push(n[f][0]),n[f]=0;for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);for(r&&r(t,a,c);l.length;)l.shift()();if(c)for(s=0;s<c.length;s++)u=o(o.s=c[s]);return u};var t={},n={14:0};function o(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.e=function(e){var r=n[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var t=new Promise(function(t,o){r=n[e]=[t,o]});r[2]=t;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"message",4:"ewash",5:"ecm",6:"evaluation",7:"activity",8:"cdKey",9:"recharge",10:"msg",11:"calllog"}[e]||e)+"."+{0:"8f5b7121286326833189",1:"3718a613133aa34b9424",2:"0927e95d3fe5b6f648da",3:"2d2ca8276e939c42e37e",4:"0f8f5a7e1a28450e55c7",5:"3f053d97d3e9aea26c10",6:"a69c5c6513644d0f2537",7:"c9e4106934931698098b",8:"f1f83085730306644d22",9:"e8e771469c2137096ce5",10:"08d7348811ff689c70ac",11:"07f9326e2a68fd201646"}[e]+".js";var i=setTimeout(f,12e4);function f(){c.onerror=c.onload=null,clearTimeout(i);var r=n[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),n[e]=void 0)}return c.onerror=c.onload=f,a.appendChild(c),t},o.m=e,o.c=t,o.d=function(e,r,t){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},o.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(r,"a",r),r},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.p="/marketing/",o.oe=function(e){throw console.error(e),e}}([]);
\ 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.
......@@ -116,7 +116,7 @@ export default {
getActivityInfo({ marketingActivityId: this.actId })
.then(res => {
this.loading = false;
this.info = res.result || {};
this.info = res.result.activityInfo || {};
})
.catch(() => {
this.loading = false;
......
......@@ -13,6 +13,12 @@ export const cdkeyPlanForbid = params => requests(PREFIX + 'cdkey-plan-forbid',
// 兑换码-- 删除
export const cdkeyPlanDelete = params => requests(PREFIX + 'cdkey-plan-delete', params);
// 兑换详情
export const cdkeyPlanEdit = params => requests(PREFIX + 'cdkey-plan-edit', params);
// 下载导入失败记录
export const cdkeyFailExport = params => requests(PREFIX + 'cdkey-fail-export', params);
// 兑换记录
export const cdkeyLogRecord = params => requests(PREFIX + 'cdkey-log-record', params);
......
......@@ -29,7 +29,7 @@
<div>
<file needAxiosDataBack @dataBack="dataBack" ref="fileUpload" class="inline-block" label="点击上传" @backImg="backImg" acceptType=".csv, .xlsx" tips="" :url="uploadUrl" iconClass="el-icon-upload2" /><!-- 上传 -->
<!-- <el-button type="primary" icon="iconfont icon-shangchuan fz14 mr5">上传</el-button> -->
<el-button class="ml20" type="text">下载模板</el-button>
<el-button class="ml20" type="text" @click="downloadMX">下载模板</el-button>
</div>
<div class="success-file" v-if="importRes.fileId">
<span class="fl" style="inline-block;max-width:500px;overflow:hidden;"><i class="iconfont mr5 icon-excel" style="color:#23B08D"></i>{{ importRes.fileName }}({{ importRes.size }}kb)</span>
......@@ -40,14 +40,14 @@
</div>
</div>
</el-form-item>
<el-form-item label="兑换码数量" v-if="ruleForm.cdkeyMode == 1" prop="cdkey_count">
<el-input-number style="width:140px;" v-model="ruleForm.cdkey_count" controls-position="right" :min="1" :max="1000"></el-input-number>
<span class="gray ml10">券码数量请控制在10000以内</span>
<el-form-item :label="`${ruleForm.cdkeyType == 2 ? '兑换次数上限' : '兑换码数量'}`" v-if="ruleForm.cdkeyMode == 1" prop="cdkeyCount" class="is-required">
<el-input-number style="width:140px;" v-model="ruleForm.cdkeyCount" controls-position="right" :min="1" :max="1000"></el-input-number>
<span class="gray ml10" v-if="ruleForm.cdkeyType != 2">券码数量请控制在10000以内</span>
</el-form-item>
<el-form-item label="兑换内容" prop="cardId">
<el-button v-show="!ruleForm.cardId" @click="showCardDialog = true">选择卡券</el-button>
<div v-show="ruleForm.cardId">
{{ ruleForm.cardName }}
<el-form-item label="兑换内容" prop="cdkeyContentRelated">
<el-button v-show="!ruleForm.cdkeyContentRelated" @click="showCardDialog = true">选择卡券</el-button>
<div v-show="ruleForm.cdkeyContentRelated">
{{ ruleForm.cdkeyContentDescribe }}
<el-button v-if="isAdd" type="text" @click="cleanCard" class="ml10">删除</el-button>
</div>
</el-form-item>
......@@ -64,7 +64,7 @@ import axios from 'axios';
import file from '@/components/upload/file';
import { formatDateTimeByType } from '@/utils/index.js';
import activitySelect from '@/components/activity-select';
import { cdkeyCheck, cdkeyPlanSave } from '@/service/api/cdKeyApi.js';
import { cdkeyCheck, cdkeyPlanSave, cdkeyPlanEdit } from '@/service/api/cdKeyApi.js';
import { _debounce } from '@/utils/index';
export default {
name: 'cdkey-form',
......@@ -94,6 +94,14 @@ export default {
callback();
};
const checkCdkeyCount = (rule, value, callback) => {
if (!value) {
const message = this.ruleForm.cdkeyType == 2 ? '兑换次数上限' : '兑换码数量';
return callback(new Error(`请输入${message}`));
}
callback();
};
// 验证码值
const validateCdkeyValue = (rule, value, callback) => {
if (this.ruleForm.cdkeyType == 2) {
......@@ -111,9 +119,11 @@ export default {
};
return {
loading: false,
cdkeyPlanId: this.$route.params.id,
ruleForm: {
cardId: '',
cardName: '',
cdkeyContentType: '', // 1卡券
cdkeyContentRelated: '', // 1是cardId
cdkeyContentDescribe: '', // 1是cardName
cdkeyMode: 2,
cdkeyType: 1,
cdkeyValue: '',
......@@ -135,8 +145,8 @@ export default {
},
rules: {
cdkeyName: [{ required: true, message: '请输入兑换码名称', trigger: 'change' }],
cdkey_count: [{ required: true, message: '请输入兑换码数量', trigger: 'change' }],
cardId: [{ required: true, message: '请选择卡券', trigger: 'change' }],
cdkeyCount: [{ validator: checkCdkeyCount, trigger: 'change' }],
cdkeyContentRelated: [{ required: true, message: '请选择卡券', trigger: 'change' }],
fileId: [{ validator: checkFileId, message: '请上传文件', trigger: 'change' }],
dateTime: [{ required: true, validator: validateDate, trigger: 'change' }],
cdkeyValue: [{ required: true, validator: validateCdkeyValue, trigger: 'change' }]
......@@ -159,6 +169,25 @@ export default {
file
},
methods: {
// 下载明细
downloadMX() {
const prev = process.env['NODE_ENV'] === 'development' ? '' : '/marketing'; // eslint-disable-line
window.open(`${prev}/static/file/兑换码模板示例.xlsx`, '_blank');
},
// 获取详情
getInfo() {
this.loading = true;
cdkeyPlanEdit({ cdkeyPlanId: this.cdkeyPlanId })
.then(res => {
Object.keys(this.ruleForm).map(v => {
this.ruleForm[v] = res.result[v];
});
this.dateTime = [res.result.cdkeyEffectTime, res.result.cdkeyLimitTime];
})
.finally(() => {
this.loading = false;
});
},
submit: _debounce(function() {
if (this.loading) {
return;
......@@ -203,16 +232,18 @@ export default {
}),
// *********卡券选择器******
cleanCard() {
this.ruleForm.cardId = '';
this.ruleForm.cardName = '';
this.$refs.ruleForm.validateField('cardId');
this.ruleForm.cdkeyContentRelated = '';
this.ruleForm.cdkeyContentDescribe = '';
this.ruleForm.cdkeyContentType = '';
this.$refs.ruleForm.validateField('cdkeyContentDescribe');
},
//选择卡券后置
selectCard(val) {
if (val) {
this.ruleForm.cardId = val.coupCardId;
this.ruleForm.cardName = val.cardName;
this.$refs.ruleForm.validateField('cardId');
this.ruleForm.cdkeyContentType = 1;
this.ruleForm.cdkeyContentRelated = val.coupCardId;
this.ruleForm.cdkeyContentDescribe = val.cardName;
this.$refs.ruleForm.validateField('cdkeyContentDescribe');
}
this.showCardDialog = false;
},
......@@ -229,6 +260,11 @@ export default {
this.$refs.ruleForm.validateField('fileId');
}
},
mounted() {
if (!this.isAdd) {
this.getInfo();
}
},
created() {
const name = this.isAdd ? '新建兑换码' : this.isInfo ? '编辑兑换码' : '兑换码详情';
this.$store.commit('mutations_breadcrumb', [{ name: '营销管理', path: '' }, { name: '兑换码', path: '' }, { name, path: '' }]); // eslint-disable-line
......
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