1、修改部分功能提示文字

2、天网中心:只保留投诉列表(单个技师只有一条,统计次数等);点击投诉详情展示次技师历史记录;调整状态为是否停牌
This commit is contained in:
1378012178@qq.com 2025-02-11 14:10:06 +08:00
parent 4c6fa6106c
commit 5f0ddb739e
3 changed files with 530 additions and 416 deletions

View File

@ -237,7 +237,7 @@
},
//
classdelete(row) {
this.$confirm(`确定处理该投诉?`, '提示', {
this.$confirm(`确定处理该请求?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'

View File

@ -15,6 +15,9 @@
<el-badge class="item" v-if="menu.menuId==195&&chatNumLts!=0" is-dot>
<span> </span>
</el-badge>
<el-badge class="item" v-if="menu.menuId==323&&havaMsg(323)" is-dot>
<span> </span>
</el-badge>
</template>
<sub-menu v-for="item in menu.list" :key="item.menuId" :menu="item" :dynamicMenuRoutes="dynamicMenuRoutes">
</sub-menu>
@ -110,6 +113,9 @@ export default {
if(index == 311){
return this.chatNumDrz != 0 || this.chatNumDts != 0 || this.chatNumJjqz != 0 || this.chatNumDsm != 0 || this.chatNumFwz != 0 || this.chatNumLts != 0 || this.chatNumSpq != 0 || this.chatNumXxzx != 0 || this.chatNumXyhzc != 0
}
if(index == 323){
return this.chatNumXxzx != 0 || this.chatNumXyhzc != 0
}
return false
}
},

View File

@ -1,107 +1,7 @@
<template>
<div>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="风险记录" name="first">
<div style="margin:2% 0;display: inline-block;">
<span>用户昵称:</span>
<el-input style="width: 150px;" @keydown.enter.native="select" clearable placeholder="请输入用户昵称"
v-model="userName"></el-input>
</div>&emsp;&emsp;
<div style="margin:2% 0;display: inline-block;">
<span>手机号:</span>
<el-input style="width: 150px;" @keydown.enter.native="select" clearable placeholder="请输入手机号"
v-model="phone"></el-input>
</div>&emsp;&emsp;
<div style="margin:2% 0;display: inline-block;">
<span>风险类型</span>
<el-select filterable v-model="riskType" style="width:150px;margin-left: 10px;" @change="select">
<el-option v-for="item in platforms" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>&nbsp;&nbsp;&nbsp;
</div>&emsp;&emsp;
<div style="display: inline-block;">
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="select">查询
</el-button>
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="cleans">重置
</el-button>
</div>
<el-table v-loading="tableDataLoading" :data="tableData.list">
<el-table-column fixed prop="riskId" label="编号" width="80"></el-table-column>
<el-table-column fixed prop="userName" label="昵称" width="150">
<template slot-scope="scope">
<el-button size="mini" v-if="scope.row.user " style="color: #4f9dec;background: #fff;border: none;cursor: pointer;" type="primary" @click="updates(scope.row)">
{{scope.row.user.userName}}
</el-button>
<span v-else>未绑定</span>
</template>
</el-table-column>
<el-table-column label="图像" width="100">
<template slot-scope="scope">
<img v-if="!scope.row.user" src="~@/assets/img/avatar.png" alt="" width="40" height="40">
<img v-else :src="scope.row.user.avatar" alt="" width="40" height="40">
</template>
</el-table-column>
<el-table-column prop="phone" label="手机号" width="150">
<template slot-scope="scope">
<el-button size="mini" v-if="scope.row.user " style="color: #4f9dec;background: #fff;border: none;" type="primary"
@click="updates(scope.row)">
{{scope.row.user.phone}}
</el-button>
<span v-else>未绑定</span>
</template>
</el-table-column>
<el-table-column prop="riskType" label="风险类型" width="100">
<template slot-scope="scope">
<span v-if="scope.row.riskType==1">ip属地风险</span>
<!-- <span v-if="scope.row.riskType==2">动态</span>
<span v-if="scope.row.riskType==3">动态评价</span> -->
<span v-if="scope.row.riskType==4">项目评价</span>
<!-- <span v-if="scope.row.riskType==5">聊天</span> -->
<span v-if="scope.row.riskType==6">举报</span>
</template>
</el-table-column>
<el-table-column prop="content" label="触犯原因"></el-table-column>
<el-table-column prop="createTime" label="创建时间" width="160"></el-table-column>
<el-table-column prop="risk" label="是否标记为风险用户" width="80">
<template slot-scope="scope">
<el-switch v-if="scope.row.user" v-model="scope.row.user.risk" @change="changeRist(scope.row.user.risk,scope.row.user.userId)"
:active-value="openValue" :disabled="!isAuth('skynetCenter:fxyh')"
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
<span v-if="scope.row.user&&scope.row.user.risk == 1" style="color: #13ce66;"></span>
<span v-else style="color: #ff4949;"></span>
</template>
</el-table-column>
<el-table-column prop="state" label="状态" width="100">
<template slot-scope="scope">
<el-switch v-if="scope.row.user" v-model="scope.row.user.status" @change="changeStatus(scope.row.user.status,scope.row.user.userId)"
:active-value="openValue" :disabled="!isAuth('skynetCenter:fxyh')"
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
<span v-if="scope.row.user&&scope.row.user.status == 1 " style="color: #13ce66;">正常</span>
<span v-if="scope.row.user&&scope.row.user.status == 2 " style="color: #f56c6c;">禁用</span>
</template>
</el-table-column>
<!-- <el-table-column prop="risk" label="是否是风险用户" width="80">
<template slot-scope="scope">
<el-switch v-model="scope.row.risk" @change="changeRist(scope.row.risk,scope.row.userId)"
:active-value="openValue" :disabled="!isAuth('userList:delete')"
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
</template>
</el-table-column> -->
</el-table>
<div style="text-align: center;margin-top: 10px;">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:page-sizes="[5, 10, 15, 20]" :page-size="limit" :current-page="page"
layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount">
</el-pagination>
</div>
</el-tab-pane>
<el-tab-pane label="用户风险列表" name="scond">
<el-tab-pane label="投诉列表" name="fxjl">
<div style="margin:2% 0;display: inline-block;">
<span>用户昵称:</span>
<el-input style="width: 150px;" @keydown.enter.native="selectF" clearable placeholder="请输入用户昵称"
@ -131,8 +31,10 @@
<el-table-column fixed prop="userId" label="编号" width="80"></el-table-column>
<el-table-column fixed prop="userName" label="昵称" width="150">
<template slot-scope="scope">
<el-button size="mini" v-if="scope.row.user" style="color: #4f9dec;background: #fff;border: none;" type="primary" @click="updates(scope.row)">
{{scope.row.user.userName}}
<el-button size="mini" v-if="scope.row.user"
style="color: #4f9dec;background: #fff;border: none;" type="primary"
@click="updates(scope.row)">
{{ scope.row.user.userName }}
</el-button>
<span v-else>未绑定</span>
<!-- <span style="color: #f56c6c;">{{ scope.row.user ? scope.row.user.userName : '未绑定' }}</span> -->
@ -146,8 +48,10 @@
</el-table-column>
<el-table-column prop="phone" label="手机号" width="150">
<template slot-scope="scope">
<el-button v-if="scope.row.user" size="mini" style="color: #4f9dec;background: #fff;border: none;" type="primary" @click="updates(scope.row)">
{{scope.row.user ? scope.row.user.phone : '未绑定'}}
<el-button v-if="scope.row.user" size="mini"
style="color: #4f9dec;background: #fff;border: none;" type="primary"
@click="updates(scope.row)">
{{ scope.row.user ? scope.row.user.phone : '未绑定' }}
</el-button>
</template>
</el-table-column>
@ -158,7 +62,7 @@
<el-table-column prop="serviceCommentCount" label="项目评价次数"></el-table-column>
<!-- <el-table-column prop="chatCount" label="聊天次数"></el-table-column> -->
<el-table-column prop="messageCount" label="举报次数"></el-table-column>
<el-table-column prop="risk" label="是否标记为风险用户" width="80">
<!-- <el-table-column prop="risk" label="是否标记为风险用户" width="80">
<template slot-scope="scope">
<el-switch v-if="scope.row.user " v-model="scope.row.user.risk" @change="changeRist(scope.row.user.risk,scope.row.user.userId)"
:active-value="openValue" :disabled="!isAuth('skynetCenter:fxyh')"
@ -167,15 +71,23 @@
<span v-if="scope.row.user &&scope.row.user.risk == 1" style="color: #13ce66;"></span>
<span v-else style="color: #ff4949;"></span>
</template>
</el-table-column>
<el-table-column prop="state" label="状态" width="100">
</el-table-column> -->
<el-table-column prop="state" label="是否停牌" width="100">
<template slot-scope="scope">
<el-switch v-if="scope.row.user " v-model="scope.row.user.status" @change="changeStatus(scope.row.user.status,scope.row.user.userId)"
<el-switch v-if="scope.row.user" v-model="scope.row.user.status"
@change="changeStatus(scope.row.user.status, scope.row.user.userId)"
:active-value="openValue" :disabled="!isAuth('skynetCenter:fxyh')"
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
<span v-if="scope.row.user &&scope.row.user.status == 1 " style="color: #13ce66;">正常</span>
<span v-if="scope.row.user &&scope.row.user.status == 2 " style="color: #f56c6c;">禁用</span>
<span v-if="scope.row.user && scope.row.user.status == 2" style="color: #f56c6c;"></span>
<span v-if="scope.row.user && scope.row.user.status == 1" style="color: #13ce66;"></span>
</template>
</el-table-column>
<el-table-column label="操作" width="100">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="fxjlFunc(scope.row)">
投诉详情
</el-button>
</template>
</el-table-column>
</el-table>
@ -186,14 +98,189 @@
</el-pagination>
</div>
</el-tab-pane>
<!-- 如需重新显示风险记录tab将div删掉即可不要保留div -->
<div v-show="false">
<el-tab-pane label="风险记录" name="tslb">
<div style="margin:2% 0;display: inline-block;">
<span>用户昵称:</span>
<el-input style="width: 150px;" @keydown.enter.native="select" clearable placeholder="请输入用户昵称"
v-model="userName"></el-input>
</div>&emsp;&emsp;
<div style="margin:2% 0;display: inline-block;">
<span>手机号:</span>
<el-input style="width: 150px;" @keydown.enter.native="select" clearable placeholder="请输入手机号"
v-model="phone"></el-input>
</div>&emsp;&emsp;
<div style="margin:2% 0;display: inline-block;">
<span>风险类型</span>
<el-select filterable v-model="riskType" style="width:150px;margin-left: 10px;"
@change="select">
<el-option v-for="item in platforms" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>&nbsp;&nbsp;&nbsp;
</div>&emsp;&emsp;
<div style="display: inline-block;">
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document"
@click="select">查询
</el-button>
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document"
@click="cleans">重置
</el-button>
</div>
<el-table v-loading="tableDataLoading" :data="tableData.list">
<el-table-column fixed prop="riskId" label="编号" width="80"></el-table-column>
<el-table-column fixed prop="userName" label="昵称" width="150">
<template slot-scope="scope">
<el-button size="mini" v-if="scope.row.user"
style="color: #4f9dec;background: #fff;border: none;cursor: pointer;" type="primary"
@click="updates(scope.row)">
{{ scope.row.user.userName }}
</el-button>
<span v-else>未绑定</span>
</template>
</el-table-column>
<el-table-column label="图像" width="100">
<template slot-scope="scope">
<img v-if="!scope.row.user" src="~@/assets/img/avatar.png" alt="" width="40"
height="40">
<img v-else :src="scope.row.user.avatar" alt="" width="40" height="40">
</template>
</el-table-column>
<el-table-column prop="phone" label="手机号" width="150">
<template slot-scope="scope">
<el-button size="mini" v-if="scope.row.user"
style="color: #4f9dec;background: #fff;border: none;" type="primary"
@click="updates(scope.row)">
{{ scope.row.user.phone }}
</el-button>
<span v-else>未绑定</span>
</template>
</el-table-column>
<el-table-column prop="riskType" label="风险类型" width="100">
<template slot-scope="scope">
<span v-if="scope.row.riskType == 1">ip属地风险</span>
<!-- <span v-if="scope.row.riskType==2">动态</span>
<span v-if="scope.row.riskType==3">动态评价</span> -->
<span v-if="scope.row.riskType == 4">项目评价</span>
<!-- <span v-if="scope.row.riskType==5">聊天</span> -->
<span v-if="scope.row.riskType == 6">举报</span>
</template>
</el-table-column>
<el-table-column prop="content" label="触犯原因"></el-table-column>
<el-table-column prop="createTime" label="创建时间" width="160"></el-table-column>
<!-- <el-table-column prop="risk" label="是否标记为风险用户" width="80">
<template slot-scope="scope">
<el-switch v-if="scope.row.user" v-model="scope.row.user.risk" @change="changeRist(scope.row.user.risk,scope.row.user.userId)"
:active-value="openValue" :disabled="!isAuth('skynetCenter:fxyh')"
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
<span v-if="scope.row.user&&scope.row.user.risk == 1" style="color: #13ce66;"></span>
<span v-else style="color: #ff4949;"></span>
</template>
</el-table-column> -->
<el-table-column prop="state" label="是否停牌" width="100">
<template slot-scope="scope">
<el-switch v-if="scope.row.user" v-model="scope.row.user.status"
@change="changeStatus(scope.row.user.status, scope.row.user.userId)"
:active-value="openValue" :disabled="!isAuth('skynetCenter:fxyh')"
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
<span v-if="scope.row.user && scope.row.user.status == 2"
style="color: #f56c6c;"></span>
<span v-if="scope.row.user && scope.row.user.status == 1"
style="color: #13ce66;"></span>
</template>
</el-table-column>
<!-- <el-table-column prop="risk" label="是否是风险用户" width="80">
<template slot-scope="scope">
<el-switch v-model="scope.row.risk" @change="changeRist(scope.row.risk,scope.row.userId)"
:active-value="openValue" :disabled="!isAuth('userList:delete')"
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
</template>
</el-table-column> -->
</el-table>
<div style="text-align: center;margin-top: 10px;">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:page-sizes="[5, 10, 15, 20]" :page-size="limit" :current-page="page"
layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount">
</el-pagination>
</div>
</el-tab-pane>
</div>
</el-tabs>
<el-dialog title="风险记录" :visible.sync="fxjlShow" width="80%">
<el-table v-loading="fxjlTableDataLoading" :data="tableData.list">
<el-table-column fixed prop="riskId" label="编号" width="80"></el-table-column>
<el-table-column fixed prop="userName" label="昵称" width="150">
<template slot-scope="scope">
<el-button size="mini" v-if="scope.row.user"
style="color: #4f9dec;background: #fff;border: none;cursor: pointer;" type="primary"
@click="updates(scope.row)">
{{ scope.row.user.userName }}
</el-button>
<span v-else>未绑定</span>
</template>
</el-table-column>
<el-table-column label="图像" width="100">
<template slot-scope="scope">
<img v-if="!scope.row.user" src="~@/assets/img/avatar.png" alt="" width="40" height="40">
<img v-else :src="scope.row.user.avatar" alt="" width="40" height="40">
</template>
</el-table-column>
<el-table-column prop="phone" label="手机号" width="150">
<template slot-scope="scope">
<el-button size="mini" v-if="scope.row.user"
style="color: #4f9dec;background: #fff;border: none;" type="primary"
@click="updates(scope.row)">
{{ scope.row.user.phone }}
</el-button>
<span v-else>未绑定</span>
</template>
</el-table-column>
<el-table-column prop="riskType" label="风险类型" width="100">
<template slot-scope="scope">
<span v-if="scope.row.riskType == 1">ip属地风险</span>
<!-- <span v-if="scope.row.riskType==2">动态</span>
<span v-if="scope.row.riskType==3">动态评价</span> -->
<span v-if="scope.row.riskType == 4">项目评价</span>
<!-- <span v-if="scope.row.riskType==5">聊天</span> -->
<span v-if="scope.row.riskType == 6">举报</span>
</template>
</el-table-column>
<el-table-column prop="content" label="触犯原因"></el-table-column>
<el-table-column prop="createTime" label="创建时间" width="160"></el-table-column>
<!-- <el-table-column prop="state" label="是否停牌" width="100">
<template slot-scope="scope">
<el-switch v-if="scope.row.user" v-model="scope.row.user.status"
@change="changeStatus(scope.row.user.status, scope.row.user.userId)"
:active-value="openValue" :disabled="!isAuth('skynetCenter:fxyh')"
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
<span v-if="scope.row.user && scope.row.user.status == 2" style="color: #f56c6c;"></span>
<span v-if="scope.row.user && scope.row.user.status == 1" style="color: #13ce66;"></span>
</template>
</el-table-column> -->
</el-table>
<span slot="footer" class="dialog-footer">
<el-button @click="fxjlShow = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
export default {
data() {
return {
fxjlTableDataLoading: false,
fxjlShow: false,//dialog
openValue: 1,
closeValue: 2,
state: 'false',
@ -204,7 +291,7 @@
phone: '',
payData: [],
nickName: '',
activeName: 'first',
activeName: 'fxjl',
tableDataLoading: true,
tableData: {},
tableDataUser: {},
@ -220,7 +307,7 @@
// }, {
// value: 3,
// label: ''
},{
}, {
value: 4,
label: '项目评价'
// }, {
@ -250,7 +337,7 @@
// }, {
// value: 3,
// label: ''
},{
}, {
value: 4,
label: '项目评价'
// }, {
@ -265,7 +352,14 @@
}
},
methods: {
//
fxjlFunc(row) {
this.fxjlTableDataLoading = true
console.log(row)
this.fxjlShow = true
this.dataSelectByUser(row)
},
//
change(val, userId) {
this.$http({
@ -323,7 +417,7 @@
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => {}
onClose: () => { }
})
}
})
@ -354,7 +448,7 @@
if (tab._props.label == '风险记录') {
this.dataSelect()
}
if (tab._props.label == '用户风险列表') {
if (tab._props.label == '投诉列表') {
this.dataSelectUser()
}
@ -419,7 +513,7 @@
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => {}
onClose: () => { }
})
}
})
@ -447,8 +541,22 @@
this.tableData = returnData
})
},
//
//
dataSelectByUser(row) {
this.$http({
url: this.$http.adornUrl('risk/selectRiskListByUserId'),
method: 'get',
params: this.$http.adornParams({
'userId': row.userId
})
}).then(({
data
}) => {
this.tableData = data.data
this.fxjlTableDataLoading = false
})
},
//
dataSelectUser() {
this.tableDataLoading = true
this.$http({
@ -509,14 +617,14 @@
},
},
mounted() {
this.dataSelect()
}
this.dataSelectUser()
}
}
</script>
<style scoped="scoped">
.el-button+.el-button {
.el-button+.el-button {
margin-left: 0 !important;
margin-top: 5px !important;
}
}
</style>