|
@@ -14,52 +14,52 @@
|
|
|
<div class="info adfacjb">
|
|
<div class="info adfacjb">
|
|
|
<div class="info-left adffcac">
|
|
<div class="info-left adffcac">
|
|
|
<img src="@/assets/img/member_avatar.png">
|
|
<img src="@/assets/img/member_avatar.png">
|
|
|
- <el-button type="primary" @click="handleEdit">编辑资料</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" @click="handleEdit" v-if="$hasPermission('core:appuser:update')">编辑资料</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="info-right adf">
|
|
|
|
|
|
|
+ <div class="info-right adf" v-if="userInfo">
|
|
|
<div class="info-right-pre adf" style="margin-top: 0;">
|
|
<div class="info-right-pre adf" style="margin-top: 0;">
|
|
|
<div class="info-right-pre-title">会员姓名:</div>
|
|
<div class="info-right-pre-title">会员姓名:</div>
|
|
|
- <div class="info-right-pre-content">{{ '周飒然' }}</div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.realName||'' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="info-right-pre adf" style="margin-top: 0;">
|
|
<div class="info-right-pre adf" style="margin-top: 0;">
|
|
|
<div class="info-right-pre-title">会员手机:</div>
|
|
<div class="info-right-pre-title">会员手机:</div>
|
|
|
- <div class="info-right-pre-content">{{ '187 **** 9876' }}</div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.phoneCopy||'' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="info-right-pre adf" style="margin-top: 0;">
|
|
<div class="info-right-pre adf" style="margin-top: 0;">
|
|
|
<div class="info-right-pre-title">善行少年编号:</div>
|
|
<div class="info-right-pre-title">善行少年编号:</div>
|
|
|
- <div class="info-right-pre-content">{{ 'SXSN-PAB-20250001' }}</div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.uniqueNo||'' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="info-right-pre adf">
|
|
<div class="info-right-pre adf">
|
|
|
<div class="info-right-pre-title">会员性别:</div>
|
|
<div class="info-right-pre-title">会员性别:</div>
|
|
|
- <div class="info-right-pre-content">{{ '女' }}</div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.genderText||'' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="info-right-pre adf">
|
|
|
|
|
|
|
+ <!-- <div class="info-right-pre adf">
|
|
|
<div class="info-right-pre-title">会员年龄:</div>
|
|
<div class="info-right-pre-title">会员年龄:</div>
|
|
|
- <div class="info-right-pre-content">{{ '46' }}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.age||'' }}</div>
|
|
|
|
|
+ </div> -->
|
|
|
<div class="info-right-pre adf">
|
|
<div class="info-right-pre adf">
|
|
|
<div class="info-right-pre-title">微信昵称:</div>
|
|
<div class="info-right-pre-title">微信昵称:</div>
|
|
|
- <div class="info-right-pre-content">{{ '妮可妮可' }}</div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.nickName||'' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="info-right-pre adf">
|
|
<div class="info-right-pre adf">
|
|
|
<div class="info-right-pre-title">渠道方:</div>
|
|
<div class="info-right-pre-title">渠道方:</div>
|
|
|
- <div class="info-right-pre-content">{{ '平安银行' }}</div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.channelName||'' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="info-right-pre adf">
|
|
<div class="info-right-pre adf">
|
|
|
<div class="info-right-pre-title">成为会员时间:</div>
|
|
<div class="info-right-pre-title">成为会员时间:</div>
|
|
|
- <div class="info-right-pre-content">{{ '2025-06-30 13:00:08' }}</div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.createDate||'' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="info-right-pre adf">
|
|
<div class="info-right-pre adf">
|
|
|
<div class="info-right-pre-title">家庭公益口号:</div>
|
|
<div class="info-right-pre-title">家庭公益口号:</div>
|
|
|
- <div class="info-right-pre-content">{{ '心中有爱,温暖你我他' }}</div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.welfareSlogan||'' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="info-right-pre adf">
|
|
<div class="info-right-pre adf">
|
|
|
<div class="info-right-pre-title">家庭公益名称:</div>
|
|
<div class="info-right-pre-title">家庭公益名称:</div>
|
|
|
- <div class="info-right-pre-content">{{ '善意行' }}</div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.welfareName||'' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="info-right-pre adf">
|
|
<div class="info-right-pre adf">
|
|
|
<div class="info-right-pre-title">身份证号:</div>
|
|
<div class="info-right-pre-title">身份证号:</div>
|
|
|
- <div class="info-right-pre-content">{{ '342221 ******** 9898' }}</div>
|
|
|
|
|
|
|
+ <div class="info-right-pre-content">{{ userInfo.idCardCopy||'' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -68,22 +68,22 @@
|
|
|
<el-card shadow="never" class="aui-card--fill">
|
|
<el-card shadow="never" class="aui-card--fill">
|
|
|
<div class="mod-home">
|
|
<div class="mod-home">
|
|
|
<div class="title" style="margin-top: 0;">会员资产</div>
|
|
<div class="title" style="margin-top: 0;">会员资产</div>
|
|
|
- <div class="nums adf">
|
|
|
|
|
|
|
+ <div class="nums adf" v-if="assetInfo">
|
|
|
<div class="nums-pre adffcac">
|
|
<div class="nums-pre adffcac">
|
|
|
<p>累计捐献爱心值</p>
|
|
<p>累计捐献爱心值</p>
|
|
|
- <p class="num">{{ 8000 }}</p>
|
|
|
|
|
|
|
+ <p class="num">{{ assetInfo.totalDonationValue||0 }}</p>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="nums-pre adffcac">
|
|
<div class="nums-pre adffcac">
|
|
|
<p>家庭累计义工时长</p>
|
|
<p>家庭累计义工时长</p>
|
|
|
- <p class="num">{{ 180 }}h</p>
|
|
|
|
|
|
|
+ <p class="num">{{ assetInfo.totalVolunteerHours||0 }}h</p>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="nums-pre adffcac">
|
|
<div class="nums-pre adffcac">
|
|
|
<p>会员等级</p>
|
|
<p>会员等级</p>
|
|
|
- <p class="num">Lv.{{ 3 }}</p>
|
|
|
|
|
|
|
+ <p class="num">Lv.{{ assetInfo.userLevel||1 }}</p>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="nums-pre adffcac">
|
|
<div class="nums-pre adffcac">
|
|
|
<p>剩余爱心值</p>
|
|
<p>剩余爱心值</p>
|
|
|
- <p class="num">{{ 10000 }}</p>
|
|
|
|
|
|
|
+ <p class="num">{{ assetInfo.loveValue||0 }}</p>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -110,10 +110,12 @@
|
|
|
<el-input v-model="form.uniqueNo" placeholder="请输入"></el-input>
|
|
<el-input v-model="form.uniqueNo" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="渠道方" prop="channelId">
|
|
<el-form-item label="渠道方" prop="channelId">
|
|
|
- <el-select v-model="form.channelId" placeholder="请选择" style="width: 100%;"></el-select>
|
|
|
|
|
|
|
+ <el-select v-model="form.channelId" placeholder="请选择" style="width: 100%;">
|
|
|
|
|
+ <el-option v-for="item in channelOptions" :key="item.id" :label="item.channelName" :value="item.id"></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="姓名" prop="xxx">
|
|
|
|
|
- <el-input v-model="form.xxx" placeholder="请输入"></el-input>
|
|
|
|
|
|
|
+ <el-form-item label="姓名" prop="realName">
|
|
|
|
|
+ <el-input v-model="form.realName" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="家庭公益名称" prop="welfareName">
|
|
<el-form-item label="家庭公益名称" prop="welfareName">
|
|
|
<el-input v-model="form.welfareName" placeholder="请输入"></el-input>
|
|
<el-input v-model="form.welfareName" placeholder="请输入"></el-input>
|
|
@@ -122,13 +124,13 @@
|
|
|
<el-input v-model="form.welfareSlogan" placeholder="请输入"></el-input>
|
|
<el-input v-model="form.welfareSlogan" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="累计捐献爱心值" prop="totalInvoicedAmount">
|
|
<el-form-item label="累计捐献爱心值" prop="totalInvoicedAmount">
|
|
|
- <el-input type="number" v-model="form.totalInvoicedAmount" placeholder="请输入"></el-input>
|
|
|
|
|
|
|
+ <el-input type="number" v-model="form.totalInvoicedAmount" disabled placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="剩余爱心值" prop="loveValue">
|
|
<el-form-item label="剩余爱心值" prop="loveValue">
|
|
|
<el-input type="number" v-model="form.loveValue" placeholder="请输入"></el-input>
|
|
<el-input type="number" v-model="form.loveValue" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="参与公益次数" prop="welfareCount">
|
|
<el-form-item label="参与公益次数" prop="welfareCount">
|
|
|
- <el-input type="number" v-model="form.welfareCount" placeholder="请输入"></el-input>
|
|
|
|
|
|
|
+ <el-input type="number" v-model="form.welfareCount" disabled placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="会员等级" prop="userLevel">
|
|
<el-form-item label="会员等级" prop="userLevel">
|
|
|
<el-input type="number" v-model="form.userLevel" placeholder="请输入"></el-input>
|
|
<el-input type="number" v-model="form.userLevel" placeholder="请输入"></el-input>
|
|
@@ -160,12 +162,14 @@ export default {
|
|
|
tabList: ['活动记录', '爱心值记录', '专享券', '家庭成员'],
|
|
tabList: ['活动记录', '爱心值记录', '专享券', '家庭成员'],
|
|
|
show: false,
|
|
show: false,
|
|
|
buttonLoading: false,
|
|
buttonLoading: false,
|
|
|
|
|
+ userInfo: null,
|
|
|
|
|
+ assetInfo: null,
|
|
|
form: {
|
|
form: {
|
|
|
id: '',
|
|
id: '',
|
|
|
nickName: '',
|
|
nickName: '',
|
|
|
uniqueNo: '',
|
|
uniqueNo: '',
|
|
|
channelId: '',
|
|
channelId: '',
|
|
|
- xxx: '',
|
|
|
|
|
|
|
+ realName: '',
|
|
|
welfareName: '',
|
|
welfareName: '',
|
|
|
welfareSlogan: '',
|
|
welfareSlogan: '',
|
|
|
totalInvoicedAmount: 0,
|
|
totalInvoicedAmount: 0,
|
|
@@ -183,7 +187,7 @@ export default {
|
|
|
channelId: [
|
|
channelId: [
|
|
|
{ required: true, message: '请选择渠道方', trigger: 'change' }
|
|
{ required: true, message: '请选择渠道方', trigger: 'change' }
|
|
|
],
|
|
],
|
|
|
- xxx: [
|
|
|
|
|
|
|
+ realName: [
|
|
|
{ required: true, message: '请输入姓名', trigger: 'blur' }
|
|
{ required: true, message: '请输入姓名', trigger: 'blur' }
|
|
|
],
|
|
],
|
|
|
welfareName: [
|
|
welfareName: [
|
|
@@ -193,21 +197,59 @@ export default {
|
|
|
{ required: true, message: '请输入家庭公益口号', trigger: 'blur' }
|
|
{ required: true, message: '请输入家庭公益口号', trigger: 'blur' }
|
|
|
],
|
|
],
|
|
|
totalInvoicedAmount: [
|
|
totalInvoicedAmount: [
|
|
|
- { required: true, type: 'number', message: '请输入累计捐献爱心值', trigger: 'change' }
|
|
|
|
|
|
|
+ { required: true, message: '请输入累计捐献爱心值', trigger: 'blur' }
|
|
|
],
|
|
],
|
|
|
loveValue: [
|
|
loveValue: [
|
|
|
- { required: true, type: 'number', message: '请输入剩余爱心值', trigger: 'change' }
|
|
|
|
|
|
|
+ { required: true, message: '请输入剩余爱心值', trigger: 'blur' }
|
|
|
],
|
|
],
|
|
|
welfareCount: [
|
|
welfareCount: [
|
|
|
- { required: true, type: 'number', message: '请输入参与公益次数', trigger: 'change' }
|
|
|
|
|
|
|
+ { required: true, message: '请输入参与公益次数', trigger: 'blur' }
|
|
|
],
|
|
],
|
|
|
userLevel: [
|
|
userLevel: [
|
|
|
- { required: true, type: 'number', message: '请输入会员等级', trigger: 'change' }
|
|
|
|
|
|
|
+ { required: true, message: '请输入会员等级', trigger: 'blur' }
|
|
|
]
|
|
]
|
|
|
- }
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ genderCfg: {
|
|
|
|
|
+ '0': '男',
|
|
|
|
|
+ '1': '女',
|
|
|
|
|
+ '2': '保密'
|
|
|
|
|
+ },
|
|
|
|
|
+ channelOptions: []
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
+ created () {
|
|
|
|
|
+ this.getSupplierOptions()
|
|
|
|
|
+ },
|
|
|
|
|
+ mounted () {
|
|
|
|
|
+ this.getDetail()
|
|
|
|
|
+ this.getUserAsset()
|
|
|
|
|
+ },
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ getSupplierOptions () {
|
|
|
|
|
+ this.$http.get('/core/channel/page', { params: { page: 1, limit: -1 } }).then(res => {
|
|
|
|
|
+ this.channelOptions = res.data.data.list.filter(item => item.type === 1) || []
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getDetail () {
|
|
|
|
|
+ this.$http.get('/core/app/user/' + this.$route.query.id).then(({ data: res }) => {
|
|
|
|
|
+ if (res.code !== 0) return this.$message.error(res.msg)
|
|
|
|
|
+ this.form = res.data
|
|
|
|
|
+ this.form.totalInvoicedAmount = res.data.totalInvoicedAmount || 0
|
|
|
|
|
+ this.form.welfareCount = res.data.welfareCount || 0
|
|
|
|
|
+ this.form.userLevel = res.data.userLevel || 1
|
|
|
|
|
+
|
|
|
|
|
+ this.userInfo = res.data
|
|
|
|
|
+ this.userInfo.phoneCopy = this.userInfo.phone.replace(/(\d{3})\d*(\d{4})/, '$1****$2')
|
|
|
|
|
+ this.userInfo.idCardCopy = this.userInfo.idCard.replace(/^(\d{6})\d{8}(\w{4})$/, '$1********$2')
|
|
|
|
|
+ this.userInfo.genderText = this.genderCfg[this.userInfo.gender]
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getUserAsset () {
|
|
|
|
|
+ this.$http.get('/core/app/user/getUserAsset/' + this.$route.query.id).then(({ data: res }) => {
|
|
|
|
|
+ if (res.code !== 0) return this.$message.error(res.msg)
|
|
|
|
|
+ this.assetInfo = res.data
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
handleBack () {
|
|
handleBack () {
|
|
|
this.$router.push({ name: 'member-query' })
|
|
this.$router.push({ name: 'member-query' })
|
|
|
},
|
|
},
|
|
@@ -216,11 +258,21 @@ export default {
|
|
|
},
|
|
},
|
|
|
handleEdit () {
|
|
handleEdit () {
|
|
|
this.show = true
|
|
this.show = true
|
|
|
|
|
+ this.getDetail()
|
|
|
},
|
|
},
|
|
|
submitForm () {
|
|
submitForm () {
|
|
|
this.$refs['memberRef'].validate((valid) => {
|
|
this.$refs['memberRef'].validate((valid) => {
|
|
|
if (valid) {
|
|
if (valid) {
|
|
|
- console.log('submit!')
|
|
|
|
|
|
|
+ this.$http.put('/core/app/user', this.form).then(({ data: res }) => {
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ this.$message.success('保存成功!')
|
|
|
|
|
+ this.show = false
|
|
|
|
|
+ this.getDetail()
|
|
|
|
|
+ this.getUserAsset()
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg || '保存失败!')
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
} else {
|
|
} else {
|
|
|
return false
|
|
return false
|
|
|
}
|
|
}
|