|
@ -659,167 +659,170 @@ onMounted(() => { |
|
|
|
|
|
|
|
|
<template> |
|
|
<template> |
|
|
<div> |
|
|
<div> |
|
|
<el-form :model="recharge" ref="Ref" :rules="rules" label-width="auto" label-position="right" |
|
|
|
|
|
style="max-width: 600px" class="add-form"> |
|
|
|
|
|
<el-form-item prop="jwcode" label="精网号"> |
|
|
|
|
|
<el-input v-model="recharge.jwcode" style="width: 220px" /> |
|
|
|
|
|
<el-button type="primary" @click="getUser(recharge.jwcode)" style="margin-left: 20px">查询</el-button> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="activity" label="活动名称"> |
|
|
|
|
|
<el-input v-model="recharge.activity" placeholder="请输入活动名称" style="width: 300px" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="permanentGold" label="永久金币"> |
|
|
|
|
|
<el-input v-model="recharge.permanentGold" placeholder="0" style="width: 100px" /> |
|
|
|
|
|
<p> 个</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="freeGold" label="免费金币"> |
|
|
|
|
|
<el-input v-model="recharge.freeGold" placeholder="0" style="width: 100px" /> |
|
|
|
|
|
<p> 个</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="充值金额" required> |
|
|
|
|
|
<el-form-item prop="rateName" style="display: inline-block; margin-left:0;"> |
|
|
|
|
|
<el-select v-model="recharge.rateName" placeholder="货币名称" style="width: 100px"> |
|
|
|
|
|
<el-option v-for="item in rateName" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
|
|
|
|
|
|
<div class="userAndForm"> |
|
|
|
|
|
<el-form :model="recharge" ref="Ref" :rules="rules" label-width="auto" label-position="right" |
|
|
|
|
|
style="max-width: 600px" class="add-form"> |
|
|
|
|
|
<el-form-item prop="jwcode" label="精网号"> |
|
|
|
|
|
<el-input v-model="recharge.jwcode" style="width: 220px" /> |
|
|
|
|
|
<el-button type="primary" @click="getUser(recharge.jwcode)" style="margin-left: 20px">查询</el-button> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="activity" label="活动名称"> |
|
|
|
|
|
<el-input v-model="recharge.activity" placeholder="请输入活动名称" style="width: 300px" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="permanentGold" label="永久金币"> |
|
|
|
|
|
<el-input v-model="recharge.permanentGold" placeholder="0" style="width: 100px" /> |
|
|
|
|
|
<p> 个</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="freeGold" label="免费金币"> |
|
|
|
|
|
<el-input v-model="recharge.freeGold" placeholder="0" style="width: 100px" /> |
|
|
|
|
|
<p> 个</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="充值金额" required> |
|
|
|
|
|
<el-form-item prop="rateName" style="display: inline-block; margin-left:0;"> |
|
|
|
|
|
<el-select v-model="recharge.rateName" placeholder="货币名称" style="width: 100px"> |
|
|
|
|
|
<el-option v-for="item in rateName" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="money" style="display: inline-block; margin-left:10px;"> |
|
|
|
|
|
<el-input v-model="recharge.money" style="width: 190px" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
<el-form-item prop="payModel" label="收款方式"> |
|
|
|
|
|
<el-select v-model="recharge.payModel" placeholder="请选择" style="width: 300px"> |
|
|
|
|
|
<el-option v-for="item in payModel" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="money" style="display: inline-block; margin-left:10px;"> |
|
|
|
|
|
<el-input v-model="recharge.money" style="width: 190px" /> |
|
|
|
|
|
|
|
|
<el-form-item prop="payTime" label="交款时间"> |
|
|
|
|
|
<!-- 修改 type 属性为 datetime 以支持时分秒选择 --> |
|
|
|
|
|
<el-date-picker v-model="recharge.payTime" type="datetime" style="width: 300px" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
<el-form-item prop="payModel" label="收款方式"> |
|
|
|
|
|
<el-select v-model="recharge.payModel" placeholder="请选择" style="width: 300px"> |
|
|
|
|
|
<el-option v-for="item in payModel" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="payTime" label="交款时间"> |
|
|
|
|
|
<!-- 修改 type 属性为 datetime 以支持时分秒选择 --> |
|
|
|
|
|
<el-date-picker v-model="recharge.payTime" type="datetime" style="width: 300px" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="voucher" label="交款凭证" style="margin-bottom: 5px"> |
|
|
|
|
|
<el-upload :http-request="customUpload" class="avatar-uploader" :show-file-list="false" |
|
|
|
|
|
: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> |
|
|
|
|
|
<p style="margin-left: 10px; color: rgb(177, 176, 176)"> |
|
|
|
|
|
仅支持.jpg .png格式,文件≤1MB |
|
|
|
|
|
</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="remark" label="备注"> |
|
|
|
|
|
<el-input v-model="recharge.remark" style="width: 300px" :rows="4" maxlength="100" show-word-limit |
|
|
|
|
|
type="textarea" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
<el-button @click="deleteRecharge" style="margin-left: 220px;margin-top:20px" type="success">重置</el-button> |
|
|
|
|
|
<el-button type="primary" style="margin-top:20px" :disabled="addDisabled" @click="addBefore"> 提交</el-button> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 客户信息栏 --> |
|
|
|
|
|
<el-card v-if="user.jwcode" style="width: 800px" class="beautiful"> |
|
|
|
|
|
<el-form :model="user" label-width="auto" style="max-width: 1000px" label-position="left"> |
|
|
|
|
|
<el-text size="large" style="margin-left: 20px">客户信息</el-text> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 第一行:姓名 + 历史金币 --> |
|
|
|
|
|
<el-row style="margin-top: 20px"> |
|
|
|
|
|
<el-col :span="9"> |
|
|
|
|
|
<el-form-item label="姓名"> |
|
|
|
|
|
<p>{{ user.name }}</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="14"> |
|
|
|
|
|
<el-form-item label="当前金币总数" style="width: 500px"> |
|
|
|
|
|
<span style="color: #2fa1ff; margin-right: 5px" v-if="user.nowSumGold !== undefined">{{ |
|
|
|
|
|
|
|
|
<el-form-item prop="voucher" label="交款凭证" style="margin-bottom: 5px"> |
|
|
|
|
|
<el-upload :http-request="customUpload" class="avatar-uploader" :show-file-list="false" |
|
|
|
|
|
: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> |
|
|
|
|
|
<p style="margin-left: 10px; color: rgb(177, 176, 176)"> |
|
|
|
|
|
仅支持.jpg .png格式,文件≤1MB |
|
|
|
|
|
</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="remark" label="备注"> |
|
|
|
|
|
<el-input v-model="recharge.remark" style="width: 300px" :rows="4" maxlength="100" show-word-limit |
|
|
|
|
|
type="textarea" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
<el-button @click="deleteRecharge" style="margin-left: 220px;margin-top:20px" type="success">重置</el-button> |
|
|
|
|
|
<el-button type="primary" style="margin-top:20px" :disabled="addDisabled" @click="addBefore"> 提交</el-button> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 客户信息栏 --> |
|
|
|
|
|
<el-card v-if="user.jwcode" style="max-width: 800px" class="beautiful"> |
|
|
|
|
|
<el-form :model="user" label-width="auto" style="max-width: 800px" label-position="left"> |
|
|
|
|
|
<el-text size="large" style="margin-left: 20px">客户信息</el-text> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 第一行:姓名 + 历史金币 --> |
|
|
|
|
|
<el-row style="margin-top: 20px"> |
|
|
|
|
|
<el-col :span="9"> |
|
|
|
|
|
<el-form-item label="姓名"> |
|
|
|
|
|
<p>{{ user.name }}</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="14"> |
|
|
|
|
|
<el-form-item label="当前金币总数" style="width: 500px"> |
|
|
|
|
|
<span style="color: #2fa1ff; margin-right: 5px" v-if="user.nowSumGold !== undefined">{{ |
|
|
user.nowSumGold |
|
|
user.nowSumGold |
|
|
}}</span> |
|
|
}}</span> |
|
|
</el-form-item> |
|
|
|
|
|
<!-- 金币详情独立显示 --> |
|
|
|
|
|
<el-form-item style="margin-top: -23px"> <!-- 负边距减少间距 --> |
|
|
|
|
|
<span style="color: #b1b1b1; margin-left: 0px" v-if="user.nowPermanentGold !== undefined">(永久金币:{{ |
|
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<!-- 金币详情独立显示 --> |
|
|
|
|
|
<el-form-item style="margin-top: -23px"> <!-- 负边距减少间距 --> |
|
|
|
|
|
<span style="color: #b1b1b1; margin-left: 0px" v-if="user.nowPermanentGold !== undefined">(永久金币:{{ |
|
|
user.nowPermanentGold |
|
|
user.nowPermanentGold |
|
|
}}; |
|
|
}}; |
|
|
免费金币:{{ user.nowFreeGold }}; |
|
|
|
|
|
任务金币:{{ user.nowTaskGold }})</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 第二行:精网号 + 当前金币(独立行) --> |
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-col :span="9"> |
|
|
|
|
|
<el-form-item label="精网号"> |
|
|
|
|
|
<p>{{ user.jwcode }}</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="14"> |
|
|
|
|
|
<el-form-item label="充值次数"> |
|
|
|
|
|
<p style="color: #2fa1ff">{{ user.rechargeNum }}</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
免费金币:{{ user.nowFreeGold }}; |
|
|
|
|
|
任务金币:{{ user.nowTaskGold }})</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 第二行:精网号 + 当前金币(独立行) --> |
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-col :span="9"> |
|
|
|
|
|
<el-form-item label="精网号"> |
|
|
|
|
|
<p>{{ user.jwcode }}</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="14"> |
|
|
|
|
|
<el-form-item label="充值次数"> |
|
|
|
|
|
<p style="color: #2fa1ff">{{ user.rechargeNum }}</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 第三行:首次充值日期 + 充值次数 --> |
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-col :span="9"> |
|
|
|
|
|
<el-form-item label="首次充值日期" > |
|
|
|
|
|
<p v-if="user.firstRecharge"> |
|
|
|
|
|
{{ moment(user.firstRecharge).format('YYYY-MM-DD HH:mm:ss') }} |
|
|
|
|
|
</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="14"> |
|
|
|
|
|
<el-form-item label="消费次数"> |
|
|
|
|
|
<p style="color: #2fa1ff">{{ user.consumeNum }}</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 第四行:消费次数 + 所属门店 --> |
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-col :span="9"> |
|
|
|
|
|
<el-form-item label="所属门店"> |
|
|
|
|
|
<p>{{ user.market }}</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
</el-card> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
<!-- 第三行:首次充值日期 + 充值次数 --> |
|
|
|
|
|
<el-row > |
|
|
|
|
|
<el-col :span="9"> |
|
|
|
|
|
<el-form-item label="首次充值日期"> |
|
|
|
|
|
<p v-if="user.firstRecharge"> |
|
|
|
|
|
{{ moment(user.firstRecharge).format('YYYY-MM-DD HH:mm:ss') }} |
|
|
|
|
|
</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="14"> |
|
|
|
|
|
<el-form-item label="消费次数"> |
|
|
|
|
|
<p style="color: #2fa1ff">{{ user.consumeNum }}</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 第四行:消费次数 + 所属门店 --> |
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-col :span="9"> |
|
|
|
|
|
<el-form-item label="所属门店"> |
|
|
|
|
|
<p>{{ user.market }}</p> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
|
|
<el-dialog v-model="FirstRechargeDialogVisible" title="操作确认" :before-close="FirstRechargeDialogVisiblehandleClose" |
|
|
<el-dialog v-model="FirstRechargeDialogVisible" title="操作确认" :before-close="FirstRechargeDialogVisiblehandleClose" |
|
|
:close-on-click-modal="false" width="400px"> |
|
|
|
|
|
|
|
|
:close-on-click-modal="false" width="400px"> |
|
|
<!-- 内容整体居中且收窄 --> |
|
|
<!-- 内容整体居中且收窄 --> |
|
|
<div class="confirm-body"> |
|
|
<div class="confirm-body"> |
|
|
<!-- 用户信息 --> |
|
|
<!-- 用户信息 --> |
|
|
<div> |
|
|
<div> |
|
|
<div class="field-label">用户信息</div> |
|
|
<div class="field-label">用户信息</div> |
|
|
<el-input :model-value="user.jwcode + (user.name ? '【' + user.name + '】' : '')" disabled/> |
|
|
|
|
|
|
|
|
<el-input :model-value="user.jwcode + (user.name ? '【' + user.name + '】' : '')" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
<!-- 活动名称 --> |
|
|
<!-- 活动名称 --> |
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">活动名称</div> |
|
|
<div class="field-label">活动名称</div> |
|
|
<el-input v-model="recharge.activity" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.activity" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
<!-- 金币信息(同一行左右排列) --> |
|
|
<!-- 金币信息(同一行左右排列) --> |
|
|
<el-row :gutter="20" class="coins-row"> |
|
|
<el-row :gutter="20" class="coins-row"> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">永久金币</div> |
|
|
<div class="field-label">永久金币</div> |
|
|
<el-input v-model="recharge.permanentGold" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.permanentGold" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">免费金币</div> |
|
|
<div class="field-label">免费金币</div> |
|
|
<el-input v-model="recharge.freeGold" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.freeGold" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
|
|
|
|
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">备注</div> |
|
|
<div class="field-label">备注</div> |
|
|
<el-input v-model="recharge.remark" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.remark" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -899,6 +902,12 @@ onMounted(() => { |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<style scoped> |
|
|
<style scoped> |
|
|
|
|
|
.userAndForm { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
p { |
|
|
p { |
|
|
margin: 0px; |
|
|
margin: 0px; |
|
|
} |
|
|
} |
|
@ -919,10 +928,9 @@ p { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.beautiful { |
|
|
.beautiful { |
|
|
width: 700px; |
|
|
|
|
|
|
|
|
flex: 1; |
|
|
float: right; |
|
|
float: right; |
|
|
margin-right: 300px; |
|
|
|
|
|
margin-top: 150px; |
|
|
|
|
|
|
|
|
margin-left: 150px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.field-label { |
|
|
.field-label { |
|
@ -942,15 +950,13 @@ p { |
|
|
justify-content: center; |
|
|
justify-content: center; |
|
|
gap: 12px; |
|
|
gap: 12px; |
|
|
} |
|
|
} |
|
|
</style> |
|
|
|
|
|
|
|
|
|
|
|
<style> |
|
|
|
|
|
/* 上传图片的格式 */ |
|
|
/* 上传图片的格式 */ |
|
|
.avatar-uploader .avatar { |
|
|
.avatar-uploader .avatar { |
|
|
width: 50px; |
|
|
width: 50px; |
|
|
height: 50px; |
|
|
height: 50px; |
|
|
display: block; |
|
|
display: block; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.avatar-uploader .el-upload { |
|
|
.avatar-uploader .el-upload { |
|
|
border: 1px dashed var(--el-border-color); |
|
|
border: 1px dashed var(--el-border-color); |
|
|
border-radius: 6px; |
|
|
border-radius: 6px; |
|
|