feat(system): 新增审批白名单功能并优化用户列表
This commit is contained in:
@@ -233,3 +233,19 @@ export const editAgentInfo=(data)=>{
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const addWhiteUser=(data)=>{
|
||||||
|
return request({
|
||||||
|
url:'/admin/approve/white',
|
||||||
|
method:'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const delWhiteUser=(data)=>{
|
||||||
|
return request({
|
||||||
|
url:'/admin/approve/white',
|
||||||
|
method:'delete',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
142
src/views/system/approvalWhitelist/index.vue
Normal file
142
src/views/system/approvalWhitelist/index.vue
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
<template>
|
||||||
|
<fvSearchForm :searchConfig="searchConfig" @search="search" style="margin-left: 16px" ></fvSearchForm>
|
||||||
|
<fvTable ref="tableIns" :tableConfig="tableConfig" @headBtnClick="headBtnClick"
|
||||||
|
@selectionChange="selectionChange"></fvTable>
|
||||||
|
<user-picker :multiple="true" ref="whiteUserRef" title="请选择人员"
|
||||||
|
v-model:value="whiteUserList" @ok="whiteUserPickerOk" @cancelOrClear="whiteUserPickerOk"/>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="jsx">
|
||||||
|
import UserPicker from "@/views/workflow/process/common/UserPicker.vue";
|
||||||
|
import {addWhiteUser, delWhiteUser} from "@/api/user/user";
|
||||||
|
const tableIns = ref()
|
||||||
|
const router = useRouter()
|
||||||
|
const whiteUserRef = ref()
|
||||||
|
const whiteUserList = ref([])
|
||||||
|
const selectUser = ref([])
|
||||||
|
const searchConfig = ref([
|
||||||
|
{
|
||||||
|
label: '名称',
|
||||||
|
prop: 'name',
|
||||||
|
component:'el-input',
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入名称',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '电话',
|
||||||
|
prop: 'phone',
|
||||||
|
component:'el-input',
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入电话',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
])
|
||||||
|
const tableConfig = reactive({
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
type: 'selection',
|
||||||
|
prop: 'selection',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'index',
|
||||||
|
type: 'index',
|
||||||
|
label: '序号',
|
||||||
|
align: 'center',
|
||||||
|
width:60,
|
||||||
|
index: index => {
|
||||||
|
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'name',
|
||||||
|
label: '名称',
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'phone',
|
||||||
|
label: '手机号码',
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'companyName',
|
||||||
|
label: '公司名称',
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'accountType',
|
||||||
|
label: '主次账号',
|
||||||
|
align: 'center',
|
||||||
|
showOverflowTooltip: false,
|
||||||
|
currentRender: ({row, index}) => (<Tag dictType={'account_type'} value={row.accountType}/>)
|
||||||
|
},
|
||||||
|
],
|
||||||
|
api: '/admin/approve/white/list',
|
||||||
|
params: {},
|
||||||
|
btns: [
|
||||||
|
{name: '新增', key: 'add', color: '#DED0B2'},
|
||||||
|
{name: '删除', key: 'del', type:'danger'},
|
||||||
|
]
|
||||||
|
})
|
||||||
|
const whiteUserPickerOk = (userList) => {
|
||||||
|
whiteUserList.value = userList.map(item => item.id)
|
||||||
|
addUser()
|
||||||
|
}
|
||||||
|
const addUser=async () => {
|
||||||
|
const res = await addWhiteUser({
|
||||||
|
userIds: whiteUserList.value
|
||||||
|
})
|
||||||
|
console.log('res',res)
|
||||||
|
if (res.code === 1000) {
|
||||||
|
ElMessage.success('新增成功')
|
||||||
|
tableIns.value.refresh()
|
||||||
|
} else {
|
||||||
|
ElMessage.error(res.msg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const search = (val) => {
|
||||||
|
tableConfig.params = val
|
||||||
|
tableIns.value.refresh()
|
||||||
|
}
|
||||||
|
const selectionChange = (data) => {
|
||||||
|
selectUser.value=data.map(item=>item.id)
|
||||||
|
}
|
||||||
|
const headBtnClick = (key) => {
|
||||||
|
switch (key) {
|
||||||
|
case 'add':
|
||||||
|
handleAddWhiteUser()
|
||||||
|
break;
|
||||||
|
case 'del':
|
||||||
|
handleDeleteWhiteUser()
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const handleAddWhiteUser = () => {
|
||||||
|
whiteUserRef.value.showUserPicker()
|
||||||
|
}
|
||||||
|
const handleDeleteWhiteUser = async () => {
|
||||||
|
// if (selectUser.value.length === 0) {
|
||||||
|
// ElMessage.warning('请选择要删除的用户')
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
const res = await delWhiteUser({
|
||||||
|
userIds: selectUser.value
|
||||||
|
})
|
||||||
|
console.log('res',res)
|
||||||
|
if (res.code === 1000) {
|
||||||
|
ElMessage.success('删除成功')
|
||||||
|
tableIns.value.refresh()
|
||||||
|
} else {
|
||||||
|
ElMessage.error(res.msg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
<el-table-column prop="jobActivityDesc" label="岗位名称" align="center"/>
|
<el-table-column prop="jobActivityDesc" label="岗位名称" align="center"/>
|
||||||
<el-table-column prop="departmentName" label="部门" align="center"/>
|
<el-table-column prop="departmentName" label="部门" align="center"/>
|
||||||
<el-table-column prop="mobile" label="手机号码" align="center"/>
|
<el-table-column prop="mobile" label="手机号码" align="center"/>
|
||||||
<el-table-column prop="accountType" label="主子账号" align="center" width="100">
|
<el-table-column prop="accountType" label="主次账号" align="center" width="100">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<Tag dictType="account_type" :value="scope.row.accountType"/>
|
<Tag dictType="account_type" :value="scope.row.accountType"/>
|
||||||
</template>
|
</template>
|
||||||
@@ -200,7 +200,7 @@ const tableConfig = reactive({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'accountType',
|
prop: 'accountType',
|
||||||
label: '主子账号',
|
label: '主次账号',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 100,
|
width: 100,
|
||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ export default defineConfig({
|
|||||||
open: true,
|
open: true,
|
||||||
proxy: {
|
proxy: {
|
||||||
// '/api/workflow': {
|
// '/api/workflow': {
|
||||||
// target: 'http://frp.feashow.cn:31800/',
|
// // target: 'http://frp.feashow.cn:31800/',
|
||||||
// // target: 'http://clay.frp.feashow.cn/',
|
// target: 'http://clay.frp.feashow.cn/',
|
||||||
// // target: 'http://192.168.31.175:8000',
|
// // target: 'http://192.168.31.175:8000',
|
||||||
// changeOrigin: true,
|
// changeOrigin: true,
|
||||||
// rewrite: (path) => path.replace(/^\/api/, '')
|
// rewrite: (path) => path.replace(/^\/api/, '')
|
||||||
@@ -82,14 +82,20 @@ export default defineConfig({
|
|||||||
// changeOrigin: true,
|
// changeOrigin: true,
|
||||||
// rewrite: (path) => path.replace(/^\/api/, '')
|
// rewrite: (path) => path.replace(/^\/api/, '')
|
||||||
// },
|
// },
|
||||||
'/api': {
|
// '/api/auth': {
|
||||||
// target: 'http://kyglweb.scgzjy.com:8080/',
|
|
||||||
target: 'http://mosr.feashow.cn',
|
|
||||||
changeOrigin: true,
|
|
||||||
// target: 'http://clay.frp.feashow.cn',
|
|
||||||
// // target: 'http://frp.feashow.cn:31800/',
|
// // target: 'http://frp.feashow.cn:31800/',
|
||||||
|
// target: 'http://clay.frp.feashow.cn/',
|
||||||
|
// // target: 'http://192.168.31.175:8000',
|
||||||
// changeOrigin: true,
|
// changeOrigin: true,
|
||||||
// rewrite: (path) => path.replace(/^\/api/, '')
|
// rewrite: (path) => path.replace(/^\/api/, '')
|
||||||
|
// },
|
||||||
|
'/api': {
|
||||||
|
target: 'http://mosr.feashow.cn',
|
||||||
|
// target: 'http://kyglweb.scgzjy.com:8080/',
|
||||||
|
// target: 'http://clay.frp.feashow.cn/',
|
||||||
|
// target: 'http://10.7.127.57:8000',
|
||||||
|
changeOrigin: true,
|
||||||
|
// rewrite: (path) => path.replace(/^\/api/, '')
|
||||||
},
|
},
|
||||||
// '/api/notice-ws': {
|
// '/api/notice-ws': {
|
||||||
// target: 'ws://mosr.feashow.cn/summary/notice-ws',
|
// target: 'ws://mosr.feashow.cn/summary/notice-ws',
|
||||||
|
|||||||
Reference in New Issue
Block a user