Commit efe197e1 by huaying

fix: 积分购现金权限

parent b9c7e3d5
......@@ -23,6 +23,11 @@ export default {
request.get('/api-auth/get-login-user-info').then(res => {
if (res.data.errorCode === 0) {
this.userId = res.data.result.userId;
const limitCodeType = res.data.result.limitCodeList;
if (limitCodeType) {
const jifenquanxian = limitCodeType.indexOf('integralCashPurchase') != -1;
localStorage.setItem('limitCodeType', jifenquanxian);
}
} else {
this.$message.error(res.data.message);
}
......
......@@ -47126,7 +47126,8 @@
.el-popover {
position: absolute;
background: #fff;
min-width: 150px;
/* min-width: 150px; */
min-width: auto;
border-radius: 4px;
border: 1px solid #ebeef5;
padding: 12px;
......@@ -28,7 +28,23 @@
<td :key="index3" v-for="(item3, index3) in item2" v-if="intergralModal.type === 'cash'">
<span v-if="item2.length - index3 > 2" style="width:120px;display:inline-block">{{ item3.valueName }}</span>
<p v-else>
<el-input v-model="item3.valueName" placeholder="请输入内容" @blur="inputLimit(item3, index3, item2)" />
<el-popover
popper-class="noClass"
v-if="jifenquanxian"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input slot="reference"
v-model="item3.valueName"
placeholder="请输入内容"
:disabled="jifenquanxian && intergralModal.headerList[index3].proName == '现金'"
@blur="inputLimit(item3, index3, item2)" />
</el-popover>
<el-input
v-else
v-model="item3.valueName"
placeholder="请输入内容"
@blur="inputLimit(item3, index3, item2)" />
</p>
</td>
</tr>
......@@ -50,7 +66,23 @@
/>
</p>
<p><el-input v-model="giftProSkuIntegral" placeholder="请输入内容" @blur="limitSkuIntegral" /></p>
<p><el-input v-model="giftProSkuCash" placeholder="请输入内容" @blur="limitSkuCash" /></p>
<p >
<el-popover
placement="bottom"
trigger="hover"
v-if="jifenquanxian"
content="无积分购现金权限">
<el-input slot="reference"
v-model="giftProSkuCash"
placeholder="请输入内容"
@blur="limitSkuCash"
:disabled="jifenquanxian" />
</el-popover>
<el-input v-else
v-model="giftProSkuCash"
placeholder="请输入内容"
@blur="limitSkuCash" />
</p>
</div>
</div>
<div class="gift-spu" v-if="intergralModal.type === 'stock' && intergralModal.tableSkuData.length === 0">
......@@ -80,6 +112,7 @@ export default {
},
data () {
return {
jifenquanxian: '',
payload: [],
giftProSkuCode: '',
giftProSkuIntegral: '',
......@@ -89,6 +122,7 @@ export default {
};
},
created () {
this.jifenquanxian = localStorage.getItem('limitCodeType') == 'true';
if (this.intergralModal.type === 'cash') {
this.title = '编辑积分费用或现金费用';
} else if (this.intergralModal.type === 'stock') {
......@@ -101,6 +135,12 @@ export default {
this.virtualStock = this.intergralModal.virtualStock; // 库存
this.currentStock = this.intergralModal.virtualStock;
},
// mounted () {
// setTimeout(_ => {
// this.jifenquanxian = localStorage.getItem('limitCodeType') == 'true';
// console.log(typeof this.jifenquanxian, ((!this.jifenquanxian) == false), 'this.jifenquanxian');
// }, 500);
// },
methods: {
limitSkuCode () {
const reg = /^[0-9a-zA-Z\-]+?$/;
......@@ -132,6 +172,7 @@ export default {
}
},
limitSkuCash () {
if (this.jifenquanxian) return;
if (Number(this.giftProSkuCash) < 0) {
this.$message.error('请输入大于0的数字');
this.giftProSkuCash = '';
......@@ -197,7 +238,7 @@ export default {
} else {
item2.valueName = Number(item2.valueName).toFixed(0);
}
} else if (item1.length - index2 === 1) {
} else if (item1.length - index2 === 1 && !this.jifenquanxian) {
// 现金
// 现金
if (Number(item2.valueName < 0)) {
......@@ -367,7 +408,7 @@ export default {
},
};
</script>
<style scoped>
<style lang="less" scoped>
.spu-table {
width: 580px;
font-size: 14px;
......
......@@ -22,7 +22,25 @@
</el-table-column>
<el-table-column prop="cashCost" label="现金">
<template slot-scope="scope">
<el-popover
popper-class="noClass"
v-if="jifenquanxian == true"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input-number
slot="reference"
:disabled="jifenquanxian"
v-model="scope.row.cashCost"
:precision="2"
:min="0"
controls-position="right"
@blur="handleIntegralCostTotal"
@change="handleIntegralCostTotal"
/>
</el-popover>
<el-input-number
v-else
v-model="scope.row.cashCost"
:precision="2"
:min="0"
......@@ -48,7 +66,23 @@
</el-table-column>
<el-table-column prop="cashCost" label="现金">
<template slot-scope="scope">
<el-popover
popper-class="noClass"
v-if="jifenquanxian == true"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input-number
slot="reference"
:disabled="jifenquanxian"
v-model="scope.row.cashCost"
:precision="2"
:min="0"
controls-position="right"
/>
</el-popover>
<el-input-number
v-else
:disabled="cardCostList.length > 1"
v-model="scope.row.cashCost"
:precision="2"
......@@ -84,12 +118,14 @@ export default {
},
data () {
return {
jifenquanxian: '',
dialogVisible: true,
cardCostList: [],
tableData: [],
};
},
created () {
this.jifenquanxian = localStorage.getItem('limitCodeType') == 'true';
this.getList();
},
methods: {
......
......@@ -276,7 +276,23 @@
/>
</div>
<div v-if="!(row.giftType && row.children && row.children.length) && !isEdit" class="mt10">
<el-popover
popper-class="noClass"
v-if="jifenquanxian"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input
slot="reference"
v-model.trim="row.activityPrice"
:disabled="jifenquanxian"
placeholder="输入现金"
size="small"
class="w-110"
/>
</el-popover>
<el-input
v-else
v-model.trim="row.activityPrice"
:disabled="!row.activityProStatus"
placeholder="输入现金"
......@@ -533,6 +549,7 @@ export default {
},
data () {
return {
jifenquanxian: '',
pickerOptions: {
disabledDate (time) {
// disabledDate 文档上:设置禁用状态,参数为当前日期,要求返回 Boolean
......@@ -625,6 +642,7 @@ export default {
},
},
created () {
this.jifenquanxian = localStorage.getItem('limitCodeType') == 'true';
// this.isEdit = this.$route.query.edit;
this.isEdit = !!this.$route.query.activityId;
this.activityId = this.$route.query.activityId;
......
......@@ -193,7 +193,25 @@
</el-table-column>
<el-table-column label="现金费用">
<template slot-scope="scope">
<el-popover
popper-class="noClass"
v-if="jifenquanxian == true"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input-number
slot="reference"
:disabled="jifenquanxian"
v-model="scope.row.cashCost"
:precision="2"
:min="0"
controls-position="right"
@blur="handleIntegralCostTotal"
@change="handleIntegralCostTotal"
/>
</el-popover>
<el-input-number
v-else
v-model="scope.row.cashCost"
:precision="2"
:min="0"
......@@ -215,7 +233,23 @@
/>
</el-form-item>
<el-form-item label="现金费用" prop="cashCost">
<el-popover
popper-class="noClass"
v-if="jifenquanxian == true"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input-number
slot="reference"
class="w-350"
:disabled="jifenquanxian"
:precision="2"
:min="0"
v-model="couponForm.cashCost"
/>
</el-popover>
<el-input-number
v-else
class="w-350"
:disabled="cardCouponList.length > 1"
:precision="2"
......@@ -331,7 +365,24 @@
<el-input size="small" v-model.trim="list3[index].skuList[0].giftProSkuIntegral" style="width:180px" />
</el-form-item>
<el-form-item label="现金">
<el-input size="small" v-model.trim="list3[index].skuList[0].giftProSkuCash" style="width:180px" />&nbsp;&nbsp;
<el-popover
popper-class="noClass"
v-if="jifenquanxian == true"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input
slot="reference"
:disabled="jifenquanxian"
size="small"
v-model.trim="list3[index].skuList[0].giftProSkuCash"
style="width:180px" />
</el-popover>
<el-input
v-else
size="small"
v-model.trim="list3[index].skuList[0].giftProSkuCash"
style="width:180px" />&nbsp;&nbsp;
</el-form-item>
</el-form>
</el-tab-pane>
......@@ -582,6 +633,7 @@ export default {
}
};
return {
jifenquanxian: '',
addCardMax: 15, // 添加卡券的上限数量
ladder: [],
isDifferentialPricing: '',
......@@ -719,6 +771,7 @@ export default {
},
},
mounted () {
this.jifenquanxian = localStorage.getItem('limitCodeType') == 'true';
this.getOpenStatus();
this.getUserId();
window.onbeforeunload = function (e) {
......@@ -845,6 +898,10 @@ export default {
break;
}
if ((skuList[j].giftProSkuCash === '' || skuList[j].giftProSkuCash === null) && skuList[j].giftProSkuIntegral) {
if (this.jifenquanxian) {
skuList[j].giftProSkuCash = 0.00;
return;
}
this.isCorrect = false;
this.$message.error('已填入积分,则必填现金');
break;
......@@ -1385,7 +1442,11 @@ export default {
}
if (this.cardCouponList.length > 1) {
for (const item of this.cardCouponList) {
if (item.cashCost === undefined || item.integralCost === undefined) {
if (item.integralCost === undefined) {
this.$message.error('卡券积分不能为空');
return false;
}
if (item.cashCost === undefined && !this.jifenquanxian) {
this.$message.error('卡券积分或现金不能为空');
return false;
}
......
......@@ -110,7 +110,24 @@
class="w-100 margin-right10 vertical-top"
@blur="limitIntergral(intergral)"
/>
<el-popover
popper-class="noClass"
v-if="jifenquanxian"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input
slot="reference"
:disabled="jifenquanxian"
v-model="cash"
placeholder="现金"
size="small"
class="w-100 margin-right10 vertical-top"
@blur="limitCash"
/>
</el-popover>
<el-input
v-else
v-model="cash"
placeholder="现金"
size="small"
......@@ -176,11 +193,27 @@
<td :key="index2" style="width:120px" v-if="item1.length - index2 > 1">
<!-- {{ item1[7] }} -->
<span v-if="item1.length - index2 < 7">
<el-popover
popper-class="noClass"
v-if="jifenquanxian"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input
slot="reference"
size="small"
v-model.trim="item2.valueName"
@blur="skuInput(item1, item2, index1, index2)"
@input="setSkuValueName"
:disabled="jifenquanxian && index2 == 2"
/>
</el-popover>
<el-input
size="small"
v-model.trim="item2.valueName"
@blur="skuInput(item1, item2, index1, index2)"
@input="setSkuValueName"
v-else
/>
</span>
......@@ -232,6 +265,7 @@ export default {
},
data () {
return {
jifenquanxian: '',
// skuJson: [],
standardList: [], // 规格列表
standardValueList: [], // 规格值列表
......@@ -240,7 +274,7 @@ export default {
uploadAction: window.location.origin + '/api-plug/upload-img?requestProject=intergral-mall',
// uploadAction: 'http://www.gicdev.com/api-plug/upload-img?requestProject=intergral-mall',
intergral: '',
cash: '',
cash: 0.00,
stock: '',
code: '',
barCode: '',
......@@ -256,6 +290,7 @@ export default {
};
},
created () {
this.jifenquanxian = localStorage.getItem('limitCodeType') == 'true';
// this.skuList = copy(this.combine(copy(this.skuJson)));
},
methods: {
......@@ -598,17 +633,18 @@ export default {
// 现金
limitCash () {
if (this.jifenquanxian) return;
if (Number(this.cash) === 0) {
return false;
} else if (!Number(this.cash)) {
this.$message.error('请输入数字类型');
this.cash = '';
this.cash = 0.00;
} else if (Number(this.cash) < 0) {
this.$message.error('请输入大于0的数字');
this.cash = '';
this.cash = 0.00;
} else if (Number(this.cash) > 9999999) {
this.$message.error('现金最大9999999');
this.cash = '';
this.cash = 0.00;
} else {
this.cash = Number(this.cash).toFixed(2);
}
......@@ -748,6 +784,7 @@ export default {
item2.valueName = Number(item2.valueName).toFixed(0);
}
} else if (item1.length - index2 === 5) {
if (this.jifenquanxian) return;
// 现金
if (Number(item2.valueName < 0)) {
this.$message.error('请输入大于0的数字');
......
......@@ -166,7 +166,23 @@
</td>
<td style="width:120px">
<!-- 现金 -->
<el-popover
popper-class="noClass"
v-if="jifenquanxian == true"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input
slot="reference"
:disabled="jifenquanxian"
size="small"
v-model.trim="giftForm.cashCost"
placeholder="请输入内容"
@blur="limitCash"
/>
</el-popover>
<el-input
v-else
size="small"
v-model.trim="giftForm.cashCost"
placeholder="请输入内容"
......@@ -318,7 +334,23 @@
v-model="integral"
size="small"
/>
<el-popover
popper-class="noClass"
v-if="jifenquanxian == true"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input
slot="reference"
:disabled="jifenquanxian"
class="w-100"
placeholder="请输入金额"
v-model="cash"
size="small"
/>
</el-popover>
<el-input
v-else
class="w-100"
placeholder="请输入金额"
v-model="cash"
......@@ -342,7 +374,18 @@
</el-table-column>
<el-table-column label="现金(元)">
<template slot-scope="{ row }">
<el-input size="small" v-model.trim="row.giftProSkuCash" />
<el-popover
popper-class="noClass"
v-if="jifenquanxian == true"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input slot="reference"
size="small"
v-model.trim="row.giftProSkuCash"
:disabled="jifenquanxian"/>
</el-popover>
<el-input size="small" v-model.trim="row.giftProSkuCash" v-else/>
</template>
</el-table-column>
</el-table>
......@@ -352,7 +395,22 @@
<el-input size="small" v-model.trim="list3[index].skuList[0].giftProSkuIntegral" style="width:180px" />
</el-form-item>
<el-form-item label="现金">
<el-input size="small" v-model.trim="list3[index].skuList[0].giftProSkuCash" style="width:180px" />&nbsp;&nbsp;
<el-popover
popper-class="noClass"
v-if="jifenquanxian == true"
placement="bottom"
trigger="hover"
content="无积分购现金权限">
<el-input slot="reference"
size="small"
:disabled="jifenquanxian"
v-model.trim="list3[index].skuList[0].giftProSkuCash"
style="width:180px" />
</el-popover>
<el-input v-else
size="small"
v-model.trim="list3[index].skuList[0].giftProSkuCash"
style="width:180px" />&nbsp;&nbsp;
</el-form-item>
</el-form>
</el-tab-pane>
......@@ -735,6 +793,7 @@ export default {
}
};
return {
jifenquanxian: '',
ladder: [],
isDifferentialPricing: '',
ladderPriceList: [],
......@@ -750,7 +809,7 @@ export default {
combineList: [],
isTable: true, // 判断有无sku
integral: '',
cash: '',
cash: 0.00,
list2: [],
ladderMemberGradeChange: [],
getTime: getInputVal.getTime,
......@@ -786,7 +845,7 @@ export default {
marketPrice: '', // 市场价
proCode: '', // 编码
integralCost: '', // 积分
cashCost: '', // 现金
cashCost: 0.00, // 现金
virtualStock: '', // 库存
proCodeQuery: '', // 条形码
ladder: [],
......@@ -916,6 +975,7 @@ export default {
},
},
mounted () {
this.jifenquanxian = localStorage.getItem('limitCodeType') == 'true';
this.getOpenStatus();
this.getUserId();
this.getErpGoodsFlag();
......@@ -1032,7 +1092,7 @@ export default {
submitSkuJsonTwo.push({
giftProSkuId: '',
giftProSkuIntegral: '', // 积分
giftProSkuCash: '', // 现金
giftProSkuCash: 0.00, // 现金
stock: '', // 库存
giftProSkuStandCode: '', // 规格编码
giftProGiftCode: '', // 条形码
......@@ -1044,7 +1104,7 @@ export default {
// 目前
this.ladderSkuList.forEach(item => {
item.giftProSkuIntegral = '';
item.giftProSkuCash = '';
item.giftProSkuCash = 0.00;
});
for (let i = 0; i < this.list2.length; i++) {
this.list2[i].skuList = this.ladderSkuList;
......@@ -1093,12 +1153,16 @@ export default {
const skuList = this.list3[i].skuList;
if (this.isCorrect) {
for (let j = 0; j < skuList.length; j++) {
if (skuList[j].giftProSkuCash && (skuList[j].giftProSkuIntegral === '' || skuList[j].giftProSkuIntegral === null)) {
if (skuList[j].giftProSkuCash && (skuList[j].giftProSkuIntegral === 0 || skuList[j].giftProSkuIntegral === null)) {
this.isCorrect = false;
this.$message.error('已填入现金,则必填积分');
break;
}
if ((skuList[j].giftProSkuCash === '' || skuList[j].giftProSkuCash === null) && skuList[j].giftProSkuIntegral) {
if (this.jifenquanxian) {
skuList[j].giftProSkuCash = 0.00;
return;
}
this.isCorrect = false;
this.$message.error('已填入积分,则必填现金');
break;
......@@ -1128,7 +1192,7 @@ export default {
item.giftProSkuCash = this.cash;
});
this.integral = '';
this.cash = '';
this.cash = 0.00;
},
getOpenStatus () {
request.post('/api-integral-mall/is-show-self').then(res => {
......@@ -1611,18 +1675,19 @@ export default {
}
},
limitCash () {
if (this.jifenquanxian) return;
// 现金
if (Number(this.giftForm.cashCost) < 0) {
this.$message.error('请输入大于等于0的数字');
this.giftForm.cashCost = '';
} else if (Number(this.giftForm.cashCost) === 0) {
return false;
this.giftForm.cashCost = 0.00;
// } else if (Number(this.giftForm.cashCost) === 0) {
// return false;
} else if (!Number(this.giftForm.cashCost)) {
this.$message.error('请输入数字类型');
this.giftForm.cashCost = '';
this.giftForm.cashCost = 0.00;
} else if (Number(this.giftForm.cashCost) > 9999999) {
this.$message.error('现金最大9999999');
this.giftForm.cashCost = '';
this.giftForm.cashCost = 0.00;
} else {
this.giftForm.cashCost = Number(this.giftForm.cashCost).toFixed(2);
}
......@@ -1997,7 +2062,7 @@ export default {
},
changeMinIntegral(val) {
this.giftForm.integralCost = val.integralCost || '';
this.giftForm.cashCost = val.cashCost || '';
this.giftForm.cashCost = val.cashCost || 0.00;
},
//处理sku
handleSku() {
......@@ -2035,7 +2100,7 @@ export default {
this.submitSkuJson.push({
giftProSkuId: skuPrice[j][5] ? skuPrice[j][5].valueName : '',
giftProSkuIntegral: skuPrice[j][0] ? skuPrice[j][0].valueName : '', //积分
giftProSkuCash: skuPrice[j][1] ? skuPrice[j][1].valueName : '', //现金
giftProSkuCash: skuPrice[j][1] ? skuPrice[j][1].valueName : 0.00, //现金
stock: this.isEdit ? (skuPrice[j][2] ? skuPrice[j][2].valueName - (skuPrice[j][2].currentStock || 0) : '') : skuPrice[j][2] ? skuPrice[j][2].valueName : '', //库存
giftProSkuStandCode: skuPrice[j][3] ? skuPrice[j][3].valueName : '', //规格编码
giftProGiftCode: skuPrice[j][4] ? skuPrice[j][4].valueName : '', //条形码
......@@ -2167,7 +2232,7 @@ export default {
this.$message.error('请填写库存');
return false;
}
if (item.giftProSkuCash === '') {
if ((item.giftProSkuCash == '0.00' || item.giftProSkuCash === 0) && !this.jifenquanxian) {
this.$message.error('请填写现金');
return false;
}
......@@ -2196,6 +2261,9 @@ export default {
this.$message.error('请填写礼品积分');
return false;
} else if (this.giftForm.cashCost === '') {
if(this.jifenquanxian) {
return this.giftForm.cashCost = '0.00';
}
this.$message.error('请填写礼品现金');
return false;
} else if (this.giftForm.virtualStock === '') {
......@@ -2257,6 +2325,23 @@ export default {
if(!data) return false;
this.$refs[form].validate(valid => {
if (valid) {
if(this.submitLadderList.skuList) {
this.submitLadderList.skuList.map(item=>{
item.giftProSkuCash == 0 ? '0.00' : item.giftProSkuCash
})
}
if(this.submitSkuJson) {
this.submitSkuJson.map(item=>{
console.log(item.giftProSkuCash, 'giftProSkuCash');
if(item.giftProSkuCash){
console.log(item.giftProSkuCash, 'iiii');
}else{
console.log(item.giftProSkuCash, 'ooo');
item.giftProSkuCash = '0.00'
}
})
}
console.log(this.submitSkuJson, 'dfsdfd');
let params = {
integralMallProId: this.isCopy? (this.giftType == 1? '' : this.mallProId):this.mallProId === '-1' ? '' : this.mallProId, //礼品id 复制时 虚拟礼品拿到新id 实物礼品不传id
proType: this.giftForm.changeType === 1 ? 2 : 3, //发货方式是微信兑换券传2其他传3
......
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