This commit is contained in:
dute7liang
2024-01-20 01:43:40 +08:00
parent 3e45791613
commit 4a7d83fb62
9 changed files with 113 additions and 47 deletions

View File

@@ -60,7 +60,9 @@
<el-table-column label="业务操作" align="center" prop="cateAdminName" />
<el-table-column label="说明" align="center" prop="cateAdminName" min-width="200">
<template v-slot="scope">
<span>{{scope.row.showMessage}}</span><image-preview v-if="scope.row.tarImg" :src="scope.row.tarImg" :width="30" :height="30"/>
<div class="context-avatar-center">
<span>{{scope.row.showMessage}}</span><image-preview v-if="scope.row.tarImg" :src="scope.row.tarImg" :width="32" :height="32"/>
</div>
</template>
</el-table-column>
<el-table-column label="变动" align="center" prop="changeValue" />
@@ -225,3 +227,11 @@ export default {
}
};
</script>
<style lang="scss" scoped>
.context-avatar-center {
display: flex;
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
}
</style>

View File

@@ -63,6 +63,15 @@
<el-descriptions-item label="最后登录时间">
{{info.userInfo.lastLoginTime}}
</el-descriptions-item>
<el-descriptions-item label="视频分成">
{{info.anchor.videoRate}}
</el-descriptions-item>
<el-descriptions-item label="守护分成">
{{info.anchor.guardRate}}
</el-descriptions-item>
<el-descriptions-item label="礼物分成">
{{info.anchor.giftRate}}
</el-descriptions-item>
<el-descriptions-item label="最后登录位置">
{{info.userInfo.lastLocation}}
</el-descriptions-item>

View File

@@ -90,9 +90,9 @@
</template>
</el-table-column>
<el-table-column label="评分" align="center" prop="giveScore" />
<el-table-column label="视频分成" align="center" prop="videoRate" />
<!-- <el-table-column label="视频分成" align="center" prop="videoRate" />
<el-table-column label="守护分成" align="center" prop="guardRate" />
<el-table-column label="礼物分成" align="center" prop="giftRate" />
<el-table-column label="礼物分成" align="center" prop="giftRate" />-->
<el-table-column label="服务总次数" align="center" prop="serviceCount" />
<el-table-column label="服务总时长" align="center" prop="serviceTime" />
<el-table-column label="状态" align="center" prop="status" >

View File

@@ -5,13 +5,13 @@
<el-input v-model="form.usercode" disabled />
</el-form-item>
<el-form-item label="守护分成" prop="guardRate">
<el-input v-model="form.guardRate" />
<el-input-number v-model="form.guardRate" :precision="2" :step="0.01" :min="0" :max="0.6" style="width: 90%"/>
</el-form-item>
<el-form-item label="礼物分成" prop="giftRate">
<el-input v-model="form.giftRate" />
<el-input-number v-model="form.giftRate" :precision="2" :step="0.01" :min="0" :max="0.6" style="width: 90%"/>
</el-form-item>
<el-form-item label="视频分成" prop="videoRate">
<el-input v-model="form.videoRate" />
<el-input-number v-model="form.videoRate" :precision="2" :step="0.01" :min="0" :max="0.6" style="width: 90%"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">

View File

@@ -57,9 +57,9 @@
</el-table-column>
<el-table-column label="拦截对象" align="center" prop="member">
<template v-slot="scope">
<span v-if="scope.row.type === 1">
<div class="context-avatar-center" v-if="scope.row.type === 1">
{{scope.row.memberNickname}}{{scope.row.member}}<image-avatar :src="scope.row.memberAvatar"/>
</span>
</div>
<span v-if="scope.row.type !== 1">
{{scope.row.member}}
</span>
@@ -161,3 +161,10 @@ export default {
}
};
</script>
<style lang="scss" scoped>
.context-avatar-center {
display: flex;
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
}
</style>

View File

@@ -2,10 +2,18 @@
<el-dialog title="封禁" :close-on-click-modal="false" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="封禁用户" prop="">
{{ info.nickname }} {{ info.usercode }} <image-avatar :src="info.avatar"/>
<div class="context-avatar-center">
{{ info.nickname }} {{ info.usercode }} <image-avatar :src="info.avatar"/>
</div>
</el-form-item>
<el-form-item label="封禁IP确认" v-if="ipShow">
<el-input v-model="info.lastLoginIp" disabled />
</el-form-item>
<el-form-item label="封禁设备确认" v-if="uuidShow">
<el-input v-model="info.mic" disabled />
</el-form-item>
<el-form-item label="封禁类型" prop="type">
<el-checkbox-group v-model="form.type">
<el-checkbox-group v-model="form.type" @change="typeChange">
<el-checkbox :label="1">用户</el-checkbox>
<el-checkbox :label="2">设备</el-checkbox>
<el-checkbox :label="3">登录IP</el-checkbox>
@@ -21,7 +29,7 @@
</el-radio-group>
</el-form-item>
<el-form-item label="理由" prop="reason">
<el-input v-model="form.reason" placeholder="请输入理由" />
<el-input v-model="form.reason" placeholder="请输入理由" type="textarea" :rows="2"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -68,6 +76,8 @@ export default {
]
},
buttonLoading: false,
ipShow: false,
uuidShow: false
}
},
created() {
@@ -79,8 +89,14 @@ export default {
this.form.type = []
this.form.forbidTime = undefined
this.form.reason = undefined
this.ipShow = false
this.uuidShow = false
this.open = true;
},
typeChange(value){
this.ipShow = value.includes(3)
this.uuidShow = value.includes(2)
},
// 表单提交
submitForm () {
this.$refs['form'].validate((valid) => {
@@ -100,3 +116,10 @@ export default {
}
}
</script>
<style lang="scss" scoped>
.context-avatar-center {
display: flex;
align-items: center; /* 垂直居中 */
//justify-content: center; /* 水平居中 */
}
</style>

View File

@@ -26,57 +26,60 @@
</el-form>
<el-table v-loading="loading" :data="userForbidList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="类型" align="center" prop="type" >
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="类型" align="center" prop="type">
<template v-slot="scope">
<cai-dict-tag :options="forbidTypeList" :value="scope.row.type" />
<cai-dict-tag :options="forbidTypeList" :value="scope.row.type"/>
</template>
</el-table-column>
<el-table-column label="封号对象" align="center" prop="member">
<template v-slot="scope">
<span v-if="scope.row.type === 1">
{{scope.row.nickname}}{{scope.row.member}}<image-avatar :src="scope.row.avatar"/>
</span>
<div class="context-avatar-center" v-if="scope.row.type === 1">
{{ scope.row.nickname }}{{ scope.row.member }}
<image-avatar :src="scope.row.avatar"/>
</div>
<span v-if="scope.row.type !== 1">
{{scope.row.member}}
{{ scope.row.member }}
</span>
</template>
</el-table-column>
<el-table-column label="开始时间" align="center" prop="beginTime" />
<el-table-column label="结束时间" align="center" prop="endTime" />
<el-table-column label="最后封禁理由" align="center" prop="reason" />
<el-table-column label="状态" align="center" prop="forbidStatus" >
<el-table-column label="开始时间" align="center" prop="beginTime"/>
<el-table-column label="结束时间" align="center" prop="endTime"/>
<el-table-column label="最后封禁理由" align="center" prop="reason"/>
<el-table-column label="状态" align="center" prop="forbidStatus">
<template v-slot="scope">
<cai-dict-tag :options="forbidStatusList" :value="scope.row.forbidStatus" />
<cai-dict-tag :options="forbidStatusList" :value="scope.row.forbidStatus"/>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="120">
<template v-slot="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
v-if="scope.row.forbidStatus === 1"
@click="handleForbid(scope.row)"
>解封</el-button>
size="mini"
type="text"
icon="el-icon-delete"
v-if="scope.row.forbidStatus === 1"
@click="handleForbid(scope.row)"
>解封
</el-button>
<el-button
size="mini"
type="text"
@click="handleForbidLogInfo(scope.row)"
>封禁记录</el-button>
>封禁记录
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<user-forbid-log-list v-if="userForbidLogListVisible" ref="userForbidLogList" />
<user-forbid-log-list v-if="userForbidLogListVisible" ref="userForbidLogList"/>
</div>
</template>
@@ -87,12 +90,12 @@ import UserForbidLogList from "@/views/cai/userForbid/user-forbid-log-list";
export default {
name: "UserForbid",
components:{
components: {
UserForbidLogList
},
data() {
return {
forbidTimeList,forbidTypeList,forbidStatusList,
forbidTimeList, forbidTypeList, forbidStatusList,
userForbidLogListVisible: false,
// 遮罩层
loading: true,
@@ -145,10 +148,10 @@ export default {
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.single = selection.length !== 1
this.multiple = !selection.length
},
handleForbid(row){
handleForbid(row) {
this.$modal.confirm('是否确认解封对象:"' + row.member + '"的数据项?').then(() => {
this.loading = true;
return unForbid(row.id);
@@ -161,7 +164,7 @@ export default {
this.loading = false;
});
},
handleForbidLogInfo(row){
handleForbidLogInfo(row) {
this.userForbidLogListVisible = true
this.$nextTick(() => {
this.$refs.userForbidLogList.init(row.member)
@@ -170,3 +173,10 @@ export default {
}
};
</script>
<style lang="scss" scoped>
.context-avatar-center {
display: flex;
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
}
</style>

View File

@@ -45,9 +45,9 @@
</el-table-column>
<el-table-column label="封号对象" align="center" prop="member" >
<template v-slot="scope">
<span v-if="scope.row.type === 1">
<div class="context-avatar-center" v-if="scope.row.type === 1">
{{scope.row.nickname}}{{scope.row.member}}<image-avatar :src="scope.row.avatar"/>
</span>
</div>
<span v-if="scope.row.type !== 1">
{{scope.row.member}}
</span>
@@ -137,3 +137,10 @@ export default {
}
};
</script>
<style lang="scss" scoped>
.context-avatar-center {
display: flex;
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
}
</style>

View File

@@ -5,16 +5,16 @@
<el-input v-model="form.usercode" disabled />
</el-form-item>
<el-form-item label="好友守护分成" prop="guardIncomeRate">
<el-input v-model="form.guardIncomeRate" />
<el-input-number v-model="form.guardIncomeRate" :precision="2" :step="0.01" :min="0" :max="0.6" style="width: 90%"/>
</el-form-item>
<el-form-item label="好友礼物分成" prop="giftIncomeRate">
<el-input v-model="form.giftIncomeRate" />
<el-input-number v-model="form.giftIncomeRate" :precision="2" :step="0.01" :min="0" :max="0.6" style="width: 90%"/>
</el-form-item>
<el-form-item label="好友视频分成" prop="videoIncomeRate">
<el-input v-model="form.videoIncomeRate" />
<el-input-number v-model="form.videoIncomeRate" :precision="2" :step="0.01" :min="0" :max="0.6" style="width: 90%"/>
</el-form-item>
<el-form-item label="好友充值分成" prop="payIncomeRate">
<el-input v-model="form.payIncomeRate" />
<el-input-number v-model="form.payIncomeRate" :precision="2" :step="0.01" :min="0" :max="0.6" style="width: 90%"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">