Commit 89af0d8a by chenxin

fix:klfl回滚,原调整库存的caculate.vue 加maxStock

parent 13d38d1c
<!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.5a2c6f8c728743c9ebba34784e4213bb.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.16.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.10.js></script><script type=text/javascript src=/marketing/static/js/manifest.59dba93599ccbecfd5f9.js></script><script type=text/javascript src=/marketing/static/js/vendor.cbb380c2053ab598e892.js></script><script type=text/javascript src=/marketing/static/js/main.5175384b277b5fe3450d.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.9adb80c0cb936aa5070be598c236e42e.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.16.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.10.js></script><script type=text/javascript src=/marketing/static/js/manifest.1aa640e76be4818a8a49.js></script><script type=text/javascript src=/marketing/static/js/vendor.cbb380c2053ab598e892.js></script><script type=text/javascript src=/marketing/static/js/main.5175384b277b5fe3450d.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,c){for(var i,f,u,d=0,s=[];d<t.length;d++)f=t[d],n[f]&&s.push(n[f][0]),n[f]=0;for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i]);for(r&&r(t,o,c);s.length;)s.shift()();if(c)for(d=0;d<c.length;d++)u=a(a.s=c[d]);return u};var t={},n={13:0};function a(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,a),n.l=!0,n.exports}a.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,a){r=n[e]=[t,a]});r[2]=t;var o=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,a.nc&&c.setAttribute("nonce",a.nc),c.src=a.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:"2a0085d4eb42375a5ef8",1:"a5a349ed6ef3d1a2faa0",2:"c287f3dba66f64618009",3:"3e8593d41cf8ca4b96ec",4:"9e42654bdc43f38a3646",5:"dae31f13dcb87d6e487e",6:"3bb70a3570fa92aaebb0",7:"d84777d528b9196017cc",8:"983ea8707decbcaf3c7f",9:"0d2b5d488c714e66ec93",10:"2e28c020a9f9c0e96471"}[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,o.appendChild(c),t},a.m=e,a.c=t,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="/marketing/",a.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,u,f,d=0,s=[];d<t.length;d++)u=t[d],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(d=0;d<a.length;d++)f=c(c.s=a[d]);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:"2a0085d4eb42375a5ef8",1:"3148e7565b378c3c2ce6",2:"c287f3dba66f64618009",3:"3e8593d41cf8ca4b96ec",4:"9e42654bdc43f38a3646",5:"dae31f13dcb87d6e487e",6:"f8289deb774a5c5852a0",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
<template>
<el-dialog title="修改数量" :visible.sync="show" width="30%" :before-close="close" :closed="closed" append-to-body>
奖品数量 <el-radio v-model="calculate" :label="true">增加</el-radio>
<el-radio v-model="calculate" :label="false">减少</el-radio>
<div class="text-center pt10">
<el-input-number controls-position="right" :min="0" v-model="count" class="w200 block-center" @blur="checkCalc"></el-input-number>
<span class="fz14 pl20">结果:</span>
<span>{{ resNum }}</span>
<el-dialog title="修改数量" :visible.sync="show" width="435px" :before-close="close" append-to-body>
<div v-loading="loading">
奖品数量 <el-radio class="ml10" v-model="calculate" :label="true">增加</el-radio>
<el-radio v-model="calculate" :label="false">减少</el-radio>
<div class="vl">
<el-input-number controls-position="right" :min="0" :max="max" v-model="count" class="w200 block-center" @blur="checkCalc"></el-input-number>
</div>
<div class="fz14 vl" v-if="needCheck && calculate">可用库存:{{ maxStock }}</div>
<div class="fz14 vl" v-if="!calculate">当前库存:{{ totalCount }}</div>
<div class="fz14 vl mb10">结果:{{ resNum }}</div>
</div>
<div class="text-center pt10"></div>
<span slot="footer" class="dialog-footer">
<el-button @click="close">取 消</el-button>
<el-button type="primary" @click="submit">确 定</el-button>
......@@ -46,26 +48,37 @@ export default {
gameId: {
type: [String, Number],
default: ''
},
needChange: {
// 是否在该dialog中更新库存
type: Boolean,
default: true
}
},
data() {
return {
count: 0,
calculate: true
calculate: true,
loading: false,
maxStock: 0, // 库存最大值
needCheck: false // 是否需要进行库存最大值校验
};
},
watch: {
calculate() {
this.count = 0;
}
},
computed: {
resNum() {
const num = this.calculate ? parseInt(this.totalCount) + parseInt(this.count) : parseInt(this.totalCount) - parseInt(this.count);
return isNaN(num) ? 0 : num;
},
max() {
return this.needCheck ? this.maxStock - this.totalCount : 1000000;
}
},
methods: {
// 父组件传入更改是否需要校验库存最大值
needCheckFn(maxStock) {
this.needCheck = true;
this.maxStock = maxStock;
},
checkCalc() {
if (!this.calculate) {
if (this.count > this.totalCount) {
......@@ -76,9 +89,10 @@ export default {
},
close() {
this.$emit('update:show', false);
},
closed() {
this.count = 0;
this.loading = false;
this.needCheck = false;
this.maxStock = 0;
},
submit() {
if (!this.calculate) {
......@@ -98,16 +112,19 @@ export default {
prizeId: this.prizeId,
gameId: this.gameId
};
if (this.needChange) {
updatePrizeStock(params).then(res => {
this.$emit('countRefresh', { calc: this.calculate, num: this.count });
});
} else {
updatePrizeStock(params).then(res => {
this.$emit('countRefresh', { calc: this.calculate, num: this.count });
}
});
this.close();
}
}
};
</script>
<style lang="scss" scoped>
.vl {
margin-left: 70px;
margin-top: 15px;
}
</style>
......@@ -148,17 +148,8 @@ export const downloadWheelSkinPsd = config.api + PREFIX + 'download_wheel_skin_p
// 游戏营销-- 库存 - 编辑奖品
export const updateGamePrize = params => requests(PREFIX + 'update-game-prize', params);
// 游戏营销-- 奖品 - ggk dzp 查询游戏奖品列表
export const listGamePrize = params => requests(PREFIX + 'list-game-prize', params);
// 游戏营销-- 奖品 - ggk dzp 删除游戏奖品
export const deleteGamePrize = params => requests(PREFIX + 'delete-game-prize', params);
// 游戏营销-- 库存 - 获取奖品库存
export const getCouponStock = params => requests(PREFIX + 'get-coupon-stock', params);
// 游戏营销-- 库存 - 编辑奖品
export const updateGamePrizeKlfl = params => requests(PREFIX + 'save-update-game-prize-klfl', params);
// 游戏营销-- 奖品 - klfl 删除游戏奖品
export const deleteGamePrizeKlfl = params => requests(PREFIX + 'delete-game-prize-klfl', params);
<template>
<el-dialog title="修改库存" :visible.sync="show" width="500px" :before-close="close" append-to-body>
<el-dialog title="修改库存" :visible.sync="show" width="500px" :before-close="close" :closed="closed" 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 class="pt20 ml76" v-if="calculate">
<span class="fz14">可用库存:{{ maxStock }}</span>
</div>
<div class="pt20 ml76" v-else>
<span class="fz14">当前库存:{{ totalCount }}</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>
<span class="fz14">结果:{{ after }}</span>
</div>
</div>
......
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