Commit 7258a66b by chenxin

fix:大转盘 刮刮卡游戏 编辑 库存调整

parent 2d3f1e12
<!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.e842845cf47d5c391b53a88808a7f031.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.35.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.10.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.12.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.00.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.02.js></script><script type=text/javascript src=/marketing/static/js/manifest.6804eca78a43db4cecbf.js></script><script type=text/javascript src=/marketing/static/js/vendor.cbb380c2053ab598e892.js></script><script type=text/javascript src=/marketing/static/js/main.009190893fcb12e9c083.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.2c0fdab17b0cd78024750805f2bbfc7c.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.35.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.10.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.12.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.00.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.02.js></script><script type=text/javascript src=/marketing/static/js/manifest.f3a490dcabf4b5fad668.js></script><script type=text/javascript src=/marketing/static/js/vendor.cbb380c2053ab598e892.js></script><script type=text/javascript src=/marketing/static/js/main.009190893fcb12e9c083.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.
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(t,o,a){for(var i,u,d,f=0,s=[];f<t.length;f++)u=t[f],n[u]&&s.push(n[u][0]),n[u]=0;for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i]);for(r&&r(t,o,a);s.length;)s.shift()();if(a)for(f=0;f<a.length;f++)d=c(c.s=a[f]);return d};var t={},n={13:0};function c(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,c),n.l=!0,n.exports}c.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,c){r=n[e]=[t,c]});r[2]=t;var o=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,c.nc&&a.setAttribute("nonce",c.nc),a.src=c.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"message",4:"ewash",5:"evaluation",6:"ecm",7:"activity",8:"recharge",9:"msg",10:"calllog"}[e]||e)+"."+{0:"597ccd4266a3a6e9d0fb",1:"869d812fe1ab82d55e87",2:"f7ed37cce062dc989937",3:"3e8593d41cf8ca4b96ec",4:"9e42654bdc43f38a3646",5:"dae31f13dcb87d6e487e",6:"70b2498b0cc7a1f48ddd",7:"d84777d528b9196017cc",8:"983ea8707decbcaf3c7f",9:"0d2b5d488c714e66ec93",10:"2e28c020a9f9c0e96471"}[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,o.appendChild(a),t},c.m=e,c.c=t,c.d=function(e,r,t){c.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},c.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(r,"a",r),r},c.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},c.p="/marketing/",c.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(t,o,a){for(var i,d,f,u=0,s=[];u<t.length;u++)d=t[u],n[d]&&s.push(n[d][0]),n[d]=0;for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i]);for(r&&r(t,o,a);s.length;)s.shift()();if(a)for(u=0;u<a.length;u++)f=c(c.s=a[u]);return f};var t={},n={13:0};function c(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,c),n.l=!0,n.exports}c.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,c){r=n[e]=[t,c]});r[2]=t;var o=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,c.nc&&a.setAttribute("nonce",c.nc),a.src=c.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"message",4:"ewash",5:"evaluation",6:"ecm",7:"activity",8:"recharge",9:"msg",10:"calllog"}[e]||e)+"."+{0:"597ccd4266a3a6e9d0fb",1:"ad1c4c931f1af5cd75a1",2:"f7ed37cce062dc989937",3:"3e8593d41cf8ca4b96ec",4:"9e42654bdc43f38a3646",5:"dae31f13dcb87d6e487e",6:"cad2dae7f8603d6ddbf7",7:"d84777d528b9196017cc",8:"983ea8707decbcaf3c7f",9:"0d2b5d488c714e66ec93",10:"2e28c020a9f9c0e96471"}[e]+".js";var i=setTimeout(d,12e4);function d(){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=d,o.appendChild(a),t},c.m=e,c.c=t,c.d=function(e,r,t){c.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},c.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(r,"a",r),r},c.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},c.p="/marketing/",c.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
......@@ -144,3 +144,15 @@ export const downloadPtyxSkinPsd = config.api + PREFIX + 'download-tempskin-psd?
// 游戏营销--大转盘/刮刮卡下载psd
export const downloadWheelSkinPsd = config.api + PREFIX + 'download_wheel_skin_psd?requestProject=marketing';
// 游戏营销-- 库存 - 编辑奖品
export const updateGamePrize = params => requests(PREFIX + 'update-game-prize', params);
// 游戏营销-- 奖品 - 查询游戏奖品列表
export const listGamePrize = params => requests(PREFIX + 'list-game-prize', params);
// 游戏营销-- 奖品 - 删除游戏奖品
export const deleteGamePrize = params => requests(PREFIX + 'delete-game-prize', params);
// 游戏营销-- 库存 - 获取卡券库存
export const getCouponStock = params => requests(PREFIX + 'get-coupon-stock', params);
<template>
<el-dialog title="修改库存" :visible.sync="show" width="500px" :before-close="close" append-to-body>
<div v-loading="loading">
<span class="mr20">库存数量</span><el-radio v-model="calculate" :label="true">增加</el-radio>
<el-radio v-model="calculate" :label="false">减少</el-radio>
<div class="pt20 ml76">
<el-input-number controls-position="right" :min="0" v-model="count" class="w200 block-center" size="small" :max="max"></el-input-number>
</div>
<div class="pt20 ml76">
<span class="fz14">卡券可用库存:{{ maxStock }}</span>
</div>
<div class="pt20 ml76 pb10">
<span class="fz14">原库存:{{ totalCount }}</span>
<span style="color:#c0c4cc;margin: 0 3px;">--></span>
<span class="fz14">目标库存:{{ after }}</span>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="close">取 消</el-button>
<el-button type="primary" @click="submit">确 定</el-button>
</span>
</el-dialog>
</template>
<script>
import { getCouponStock } from '@/service/api/gameApi.js';
export default {
props: {
totalCount: {
type: Number,
default: 0
},
show: {
type: Boolean,
default: false
},
coupCardId: {
type: String,
default: ''
}
},
data() {
return {
count: 0,
calculate: true,
loading: false,
maxStock: 0 // 可操作库存
};
},
watch: {
calculate(val) {
this.count = 0;
},
show(val) {
if (val) {
this.getCouponStock();
}
}
},
computed: {
max() {
return this.calculate ? this.maxStock : this.totalCount;
},
after() {
return (this.calculate ? parseInt(this.totalCount) + parseInt(this.count) : parseInt(this.totalCount) - parseInt(this.count)) || 0;
}
},
methods: {
getCouponStock() {
this.loading = true;
getCouponStock({ cardId: this.coupCardId })
.then(res => {
this.maxStock = res.result || 0;
this.loading = false;
})
.catch(() => {
this.loading = false;
});
},
close() {
this.calculate = true;
this.count = 0;
this.$emit('update:show', false);
},
submit() {
if (!this.calculate) {
if (this.count > this.totalCount) {
this.$tips({ type: 'warning', message: '操作后目标库存值不能小于0' });
return;
}
} else {
if (this.count > this.maxStock) {
this.$tips({ type: 'warning', message: '增加值不能超过可用库存' });
return;
}
}
this.$emit('backStock', this.after);
this.close();
}
}
};
</script>
<style lang="scss" scoped>
.ml76 {
margin-left: 76px;
}
</style>
export default {
filters: {
prizeNameByType(val) {
// // 1积分 2卡券 3谢谢参与
const prizeReferTypeOptions = [
{ value: 1, label: '积分' },
{ value: 2, label: '卡券' },
{ value: 3, label: '谢谢参与' }
];
const current = prizeReferTypeOptions.find(v => v.value == val) || {};
return current.label;
}
}
};
......@@ -320,7 +320,6 @@ export default {
count,
integral: current.prizeType == 1 ? current.prizeIntegral : '' // 目标值
};
// return;
this.prizeLoading = true;
updateGamePrize(params)
.then(res => {
......@@ -345,8 +344,8 @@ export default {
// 当奖品为类型3 谢谢参与时 数量置为0
resetCount(index) {
this.tableList[index].prizeCount = 0;
this.tableList[this.prizeIndex].prizeCardId = '';
this.tableList[this.prizeIndex].cardName = '';
this.tableList[index].prizeCardId = '';
this.tableList[index].cardName = '';
},
// 添加规则
addRule(i) {
......
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