|
|
@ -569,6 +569,53 @@ const cancelBatch = function () { |
|
|
|
}); |
|
|
|
}; |
|
|
|
// |
|
|
|
const changeActivity = function (row) { |
|
|
|
console.log("row===", row); |
|
|
|
let ratio = 0; |
|
|
|
for (let i = 0; i < activity.value.length; i++) { |
|
|
|
if (activity.value[i].activityId == row.activityId) { |
|
|
|
ratio = activity.value[i].rechargeRatio; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
console.log("ratio===", ratio); |
|
|
|
if (row.paidGold == null || row.paidGold == '') { |
|
|
|
row.freeGold = 0; |
|
|
|
} else { |
|
|
|
if (ratio == 0) { |
|
|
|
row.freeGold = 0; |
|
|
|
} else { |
|
|
|
row.freeGold = Math.ceil(row.paidGold / ratio); |
|
|
|
// for (let i = 0; i < batchData.value.length; i++) { |
|
|
|
// if (batchData.value[i].line == row.line) { |
|
|
|
// batchData.value[i].freeGold = Math.ceil(row.paidGold / ratio); |
|
|
|
// break; |
|
|
|
// } |
|
|
|
// }; |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
// |
|
|
|
const changePaidGold = function (row) { |
|
|
|
console.log("row===", row); |
|
|
|
let ratio = 0; |
|
|
|
if(row.activityId == null || row.activityId == ''){ |
|
|
|
row.freeGold = 0; |
|
|
|
}else{ |
|
|
|
for (let i = 0; i < activity.value.length; i++) { |
|
|
|
if (activity.value[i].activityId == row.activityId) { |
|
|
|
ratio = activity.value[i].rechargeRatio; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (ratio == 0) { |
|
|
|
row.freeGold = 0; |
|
|
|
} else { |
|
|
|
row.freeGold = Math.ceil(Number(row.paidGold) / ratio); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// |
|
|
|
const calculatedRowFreeGold = function (row) { |
|
|
|
console.log("row===", row); |
|
|
|
let ratio = 0; |
|
|
@ -593,7 +640,7 @@ const calculatedRowFreeGold = function (row) { |
|
|
|
}; |
|
|
|
|
|
|
|
const calculatedRowRechargeGold = computed(() => { |
|
|
|
if (!Rate.value == 0) { |
|
|
|
if (Rate.value != 0) { |
|
|
|
const paidGold = Number(addRecharge.value.paidGold) || 0; |
|
|
|
const rate = Number(Rate.value) || 1; // 避免乘以0 |
|
|
|
return Number(Math.ceil(paidGold * rate)); |
|
|
@ -656,39 +703,17 @@ const batchAdd = function () { |
|
|
|
<template> |
|
|
|
<div style="display: flex"> |
|
|
|
<div style="margin-right: 20px">新增充值</div> |
|
|
|
<!-- <el-button type="primary" plain @click="batchInit()">批量充值</el-button> --> |
|
|
|
<el-button type="primary" plain @click="batchInit()">批量充值</el-button> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-form |
|
|
|
:model="addRecharge" |
|
|
|
ref="Ref" |
|
|
|
:rules="rules" |
|
|
|
label-width="auto" |
|
|
|
style="max-width: 600px" |
|
|
|
class="add-form" |
|
|
|
> |
|
|
|
<el-form :model="addRecharge" ref="Ref" :rules="rules" label-width="auto" style="max-width: 600px" class="add-form"> |
|
|
|
<el-form-item prop="jwcode" label="精网号"> |
|
|
|
<el-input v-model="addRecharge.jwcode" style="width: 220px" /> |
|
|
|
<el-button |
|
|
|
type="primary" |
|
|
|
@click="getUser(addRecharge.jwcode)" |
|
|
|
style="margin-left: 20px" |
|
|
|
>查询</el-button |
|
|
|
> |
|
|
|
<el-button type="primary" @click="getUser(addRecharge.jwcode)" style="margin-left: 20px">查询</el-button> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="activityId" label="活动名称"> |
|
|
|
<el-select |
|
|
|
v-model="addRecharge.activityId" |
|
|
|
placeholder="请选择" |
|
|
|
style="width: 300px" |
|
|
|
@change="handleActivityChange" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in activity" |
|
|
|
:key="item.value" |
|
|
|
:label="item.activityName" |
|
|
|
:value="item.activityId" |
|
|
|
/> |
|
|
|
<el-select v-model="addRecharge.activityId" placeholder="请选择" style="width: 300px" @change="handleActivityChange"> |
|
|
|
<el-option v-for="item in activity" :key="item.value" :label="item.activityName" :value="item.activityId" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="paidGold" label="充值金币"> |
|
|
@ -699,70 +724,24 @@ const batchAdd = function () { |
|
|
|
<p>个</p> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="rechargeGold" label="充值金额"> |
|
|
|
<el-select |
|
|
|
prop="rechargeGold" |
|
|
|
v-model="Rate" |
|
|
|
placeholder="货币名称" |
|
|
|
style="width: 95px; margin-right: 5px" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in currency" |
|
|
|
:key="item.value" |
|
|
|
:label="item.currency" |
|
|
|
:value="item.exchangeRate" |
|
|
|
/> |
|
|
|
<el-select prop="rechargeGold" v-model="Rate" placeholder="货币名称" style="width: 95px; margin-right: 5px"> |
|
|
|
<el-option v-for="item in currency" :key="item.value" :label="item.currency" :value="item.exchangeRate" /> |
|
|
|
</el-select> |
|
|
|
<el-input |
|
|
|
disabled |
|
|
|
v-model="addRecharge.rechargeGold" |
|
|
|
style="width: 200px" |
|
|
|
/> |
|
|
|
<el-input disabled v-model="addRecharge.rechargeGold" style="width: 200px" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="payWay" label="收款方式"> |
|
|
|
<el-select |
|
|
|
v-model="addRecharge.payWay" |
|
|
|
placeholder="请选择" |
|
|
|
style="width: 300px" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in options" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
/> |
|
|
|
<el-select v-model="addRecharge.payWay" placeholder="请选择" style="width: 300px"> |
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="rechargeTime" label="交款时间"> |
|
|
|
<el-date-picker |
|
|
|
v-model="addRecharge.rechargeTime" |
|
|
|
type="date" |
|
|
|
style="width: 300px" |
|
|
|
/> |
|
|
|
<el-date-picker v-model="addRecharge.rechargeTime" type="date" style="width: 300px" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
prop="rechargeVoucher" |
|
|
|
label="交款凭证" |
|
|
|
style="margin-bottom: 5px" |
|
|
|
> |
|
|
|
<el-upload |
|
|
|
action="http://192.168.8.93:10010/upload" |
|
|
|
class="avatar-uploader" |
|
|
|
:show-file-list="false" |
|
|
|
:on-success="handleAvatarSuccess" |
|
|
|
:before-upload="beforeAvatarUpload" |
|
|
|
style="width: 100px; height: 115px" |
|
|
|
> |
|
|
|
<img |
|
|
|
v-if="imageUrl" |
|
|
|
:src="imageUrl" |
|
|
|
class="avatar" |
|
|
|
style="width: 100px; height: 115px" |
|
|
|
/> |
|
|
|
<el-icon |
|
|
|
v-else |
|
|
|
class="avatar-uploader-icon" |
|
|
|
style="width: 100px; height: 100px" |
|
|
|
> |
|
|
|
<el-form-item prop="rechargeVoucher" label="交款凭证" style="margin-bottom: 5px"> |
|
|
|
<el-upload action="http://192.168.8.93:10010/upload" class="avatar-uploader" :show-file-list="false" |
|
|
|
:on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload" style="width: 100px; height: 115px"> |
|
|
|
<img v-if="imageUrl" :src="imageUrl" class="avatar" style="width: 100px; height: 115px" /> |
|
|
|
<el-icon v-else class="avatar-uploader-icon" style="width: 100px; height: 100px"> |
|
|
|
<Plus /> |
|
|
|
</el-icon> |
|
|
|
</el-upload> |
|
|
@ -771,41 +750,19 @@ const batchAdd = function () { |
|
|
|
</p> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="remark" label="备注"> |
|
|
|
<el-input |
|
|
|
v-model="addRecharge.remark" |
|
|
|
style="width: 300px" |
|
|
|
:rows="2" |
|
|
|
maxlength="100" |
|
|
|
show-word-limit |
|
|
|
type="textarea" |
|
|
|
/> |
|
|
|
<el-input v-model="addRecharge.remark" style="width: 300px" :rows="2" maxlength="100" show-word-limit |
|
|
|
type="textarea" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="submitter" label="提交人"> |
|
|
|
<el-input |
|
|
|
style="width: 300px" |
|
|
|
:value="adminData.name" |
|
|
|
disabled |
|
|
|
placeholder="提交人姓名" |
|
|
|
/> |
|
|
|
<el-input style="width: 300px" :value="adminData.name" disabled placeholder="提交人姓名" /> |
|
|
|
</el-form-item> |
|
|
|
<el-button @click="deleteRecharge" style="margin-left: 280px" |
|
|
|
>重置</el-button |
|
|
|
> |
|
|
|
<el-button @click="deleteRecharge" style="margin-left: 280px">重置</el-button> |
|
|
|
<el-button type="primary" @click="addBefore"> 提交 </el-button> |
|
|
|
</el-form> |
|
|
|
|
|
|
|
<!-- 客户信息栏 --> |
|
|
|
<el-card |
|
|
|
style="width: 1200px; float: right" |
|
|
|
class="customer-info" |
|
|
|
width="3000px" |
|
|
|
> |
|
|
|
<el-form |
|
|
|
:model="user" |
|
|
|
label-width="auto" |
|
|
|
style="max-width: 1200px" |
|
|
|
label-position="left" |
|
|
|
> |
|
|
|
<el-card style="width: 1200px; float: right" class="customer-info" width="3000px"> |
|
|
|
<el-form :model="user" label-width="auto" style="max-width: 1200px" label-position="left"> |
|
|
|
<el-text size="large" style="margin-left: 20px">客户信息</el-text> |
|
|
|
<el-row style="margin-top: 20px"> |
|
|
|
<el-col :span="10"> |
|
|
@ -828,13 +785,10 @@ const batchAdd = function () { |
|
|
|
<span style="color: #2fa1ff; margin-right: 5px" v-if="user.buyJb">{{ |
|
|
|
user.buyJb + user.free6 + user.free12 + user.coreJb |
|
|
|
}}</span> |
|
|
|
<span |
|
|
|
style="display: inline; white-space: nowrap; color: #b1b1b1" |
|
|
|
v-if="user.buyJb" |
|
|
|
>(充值金币:{{ user.buyJb }};免费金币:{{ |
|
|
|
<span style="display: inline; white-space: nowrap; color: #b1b1b1" v-if="user.buyJb">(充值金币:{{ user.buyJb |
|
|
|
}};免费金币:{{ |
|
|
|
user.free6 + user.free12 |
|
|
|
}};任务金币:{{ user.coreJb }})</span |
|
|
|
> |
|
|
|
}};任务金币:{{ user.coreJb }})</span> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="10"> |
|
|
@ -875,32 +829,15 @@ const batchAdd = function () { |
|
|
|
</el-form> |
|
|
|
</el-card> |
|
|
|
|
|
|
|
<!-- <el-dialog |
|
|
|
v-model="batchRechargeVisible" |
|
|
|
title="批量充值" |
|
|
|
width="1800px" |
|
|
|
style="height: 700px" |
|
|
|
> |
|
|
|
<el-dialog v-model="batchRechargeVisible" title="批量充值" width="1800px" style="height: 700px" |
|
|
|
:close-on-click-modal="false"> |
|
|
|
<el-row style="margin-bottom: 10px"> |
|
|
|
<el-button type="primary" @click="addLine()" style="margin-right: auto" |
|
|
|
>新增一行</el-button |
|
|
|
> |
|
|
|
<el-button |
|
|
|
type="danger" |
|
|
|
plain |
|
|
|
@click="batchDel()" |
|
|
|
style="margin-right: 10px; width: 130px" |
|
|
|
>批量删除</el-button |
|
|
|
> |
|
|
|
<el-button type="primary" @click="addLine()" style="margin-right: auto">新增一行</el-button> |
|
|
|
<el-button type="danger" plain @click="batchDel()" style="margin-right: 10px; width: 130px">批量删除</el-button> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<el-table |
|
|
|
:data="batchData" |
|
|
|
border |
|
|
|
max-height="540px" |
|
|
|
style="height: 540px" |
|
|
|
@selection-change="handleSelectionChangebatch" |
|
|
|
> |
|
|
|
<el-table :data="batchData" border max-height="540px" style="height: 540px" |
|
|
|
@selection-change="handleSelectionChangebatch"> |
|
|
|
<el-table-column type="selection" width="50px" /> |
|
|
|
<el-table-column property="index" label="序号" width="55px"> |
|
|
|
<template #default="scope"> |
|
|
@ -909,32 +846,16 @@ const batchAdd = function () { |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="jwcode" label="精网号" width="150px"> |
|
|
|
<template #default="scope"> |
|
|
|
<input |
|
|
|
type="number" |
|
|
|
v-if="scope.row.showInput" |
|
|
|
v-model="scope.row.jwcode" |
|
|
|
style="width: 110px" |
|
|
|
/> |
|
|
|
<el-input v-if="scope.row.showInput" v-model="scope.row.jwcode" style="width: 110px" /> |
|
|
|
<span v-else>{{ scope.row.jwcode }}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="activityName" label="活动名称" width="150px"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-select |
|
|
|
v-if="scope.row.showInput" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
v-model="scope.row.activityId" |
|
|
|
placeholder="请选择活动名称" |
|
|
|
@change="handleSelectionChange" |
|
|
|
> |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in activity" |
|
|
|
:key="item.value" |
|
|
|
:label="item.activityName" |
|
|
|
:value="item.activityId" |
|
|
|
> |
|
|
|
<el-select v-if="scope.row.showInput" filterable clearable v-model="scope.row.activityId" |
|
|
|
placeholder="请选择活动名称" @change="changeActivity(scope.row)"> |
|
|
|
<el-option v-for="item in activity" :key="item.activityId" :label="item.activityName" |
|
|
|
:value="item.activityId"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<span v-else>{{ scope.row.activityName }}</span> |
|
|
@ -942,34 +863,21 @@ const batchAdd = function () { |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="paidGold" label="充值金币" width="110px"> |
|
|
|
<template #default="scope"> |
|
|
|
<input |
|
|
|
v-if="scope.row.showInput" |
|
|
|
v-model="scope.row.paidGold" |
|
|
|
style="width: 70px" |
|
|
|
/> |
|
|
|
<el-input v-if="scope.row.showInput" v-model="scope.row.paidGold" style="width: 70px" @change="changePaidGold(scope.row)"/> |
|
|
|
<span v-else>{{ scope.row.paidGold }}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="freeGold" label="免费金币" width="110px"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input disabled v-model="scope.row.freeGold"></el-input> |
|
|
|
<el-input v-if="scope.row.showInput" v-model="scope.row.freeGold" style="width: 70px" /> |
|
|
|
<span v-else>{{ scope.row.paidGold }}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="rechargeGold" label="充值金额"> |
|
|
|
<el-table-column property="rate" label="货币名称"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-select |
|
|
|
v-if="scope.row.showInput" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
v-model="scope.row.rate" |
|
|
|
placeholder="请选择币种" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in currency" |
|
|
|
:key="item.value" |
|
|
|
:label="item.currency" |
|
|
|
:value="item.exchangeRate" |
|
|
|
> |
|
|
|
<el-select v-if="scope.row.showInput" filterable clearable v-model="scope.row.rate" placeholder="请选择币种"> |
|
|
|
<el-option v-for="item in currency" :key="item.exchangeRate" :label="item.currency" |
|
|
|
:value="item.exchangeRate"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<span v-else>{{ scope.row.rate }}</span> |
|
|
@ -977,24 +885,13 @@ const batchAdd = function () { |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="rechargeGold" label="充值金额" width="110px"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input disabled v-model="scope.row.rechargeGold"></el-input> |
|
|
|
<el-input v-model="scope.row.rechargeGold"></el-input> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="payWay" label="收款方式" width="130px"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-select |
|
|
|
v-if="scope.row.showInput" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
v-model="scope.row.payWay" |
|
|
|
placeholder="请选择收款方式" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in options" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
<el-select v-if="scope.row.showInput" filterable clearable v-model="scope.row.payWay" placeholder="请选择收款方式"> |
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<span v-else>{{ scope.row.payWay }}</span> |
|
|
@ -1002,13 +899,8 @@ const batchAdd = function () { |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="rechargeTime" label="交款时间" width="150px"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-date-picker |
|
|
|
v-if="scope.row.showInput" |
|
|
|
type="date" |
|
|
|
v-model="scope.row.rechargeTime" |
|
|
|
style="width: 120px" |
|
|
|
placeholder="请选择交款时间" |
|
|
|
> |
|
|
|
<el-date-picker v-if="scope.row.showInput" type="date" v-model="scope.row.rechargeTime" style="width: 120px" |
|
|
|
placeholder="请选择交款时间"> |
|
|
|
</el-date-picker> |
|
|
|
<span v-else>{{ |
|
|
|
moment(scope.row.rechargeTime).format("YYYY-MM-DD HH:mm:ss") |
|
|
@ -1016,43 +908,30 @@ const batchAdd = function () { |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="rechargeVoucher" label="充值凭证"> |
|
|
|
<span> X </span> |
|
|
|
<template #default="scope"> |
|
|
|
|
|
|
|
<template #default="scope"> |
|
|
|
<el-upload class="avatar-uploader" :show-file-list="true" :on-success="handleAvatarSuccess" |
|
|
|
:before-upload="beforeAvatarUpload" v-if="scope.row.showInput"> |
|
|
|
<img v-if="scope.row.imageUrl" :src="scope.row.imageUrl" class="avatar" /> |
|
|
|
<el-icon v-else class="avatar-uploader-icon"></el-icon> |
|
|
|
</el-upload> |
|
|
|
</el-upload> |
|
|
|
<span v-else>{{ scope.row.rechargeVoucher }}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="remark" label="备注" width="130px"> |
|
|
|
<template #default="scope"> |
|
|
|
<textarea |
|
|
|
v-if="scope.row.showInput" |
|
|
|
v-model="scope.row.remark" |
|
|
|
style="max-width: 90px" |
|
|
|
rows="1" |
|
|
|
cols="12" |
|
|
|
></textarea> |
|
|
|
<el-input type="textarea" v-if="scope.row.showInput" v-model="scope.row.remark" style="max-width: 90px" |
|
|
|
rows="1" cols="12"></el-input> |
|
|
|
<span v-else>{{ scope.row.remark }}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column property="submitter" label="提交人"> |
|
|
|
<el-input :value="adminData.name" disabled /> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
fixed="right" |
|
|
|
prop="operation" |
|
|
|
label="操作" |
|
|
|
width="150px" |
|
|
|
> |
|
|
|
<el-table-column fixed="right" prop="operation" label="操作" width="150px"> |
|
|
|
<template #default="scope"> |
|
|
|
<div style="display: flex"> |
|
|
|
<el-popconfirm |
|
|
|
title="确定将此条信息删除吗?" |
|
|
|
@confirm="delConfirm" |
|
|
|
> |
|
|
|
<el-popconfirm title="确定将此条信息删除吗?" @confirm="delConfirm"> |
|
|
|
<template #reference> |
|
|
|
<el-button type="danger" text @click="del(scope.row)"> |
|
|
|
删除 |
|
|
@ -1065,10 +944,7 @@ const batchAdd = function () { |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
</el-popconfirm> |
|
|
|
<el-popconfirm |
|
|
|
title="确定将此条信息重置吗?" |
|
|
|
@confirm="resetConfirm" |
|
|
|
> |
|
|
|
<el-popconfirm title="确定将此条信息重置吗?" @confirm="resetConfirm"> |
|
|
|
<template #reference> |
|
|
|
<el-button type="primary" text @click="reset(scope.row)"> |
|
|
|
重置 |
|
|
@ -1092,7 +968,7 @@ const batchAdd = function () { |
|
|
|
<el-button type="primary" @click="batchAdd()"> 提交 </el-button> |
|
|
|
</div> |
|
|
|
</el-row> |
|
|
|
</el-dialog> --> |
|
|
|
</el-dialog> |
|
|
|
</template> |
|
|
|
|
|
|
|
<style scoped> |
|
|
|