|
|
@ -4060,7 +4060,7 @@ watch( |
|
|
} |
|
|
} |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
//选择用户数据范围 |
|
|
//选择用户数据范围 start |
|
|
const tabsRef = ref(null); |
|
|
const tabsRef = ref(null); |
|
|
const userRangeDialogFlag = ref(false) |
|
|
const userRangeDialogFlag = ref(false) |
|
|
function handleUserRangeDialogFlag(){ |
|
|
function handleUserRangeDialogFlag(){ |
|
|
@ -4082,7 +4082,6 @@ function reRenderComponent() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function handleExpandTabChange(){ |
|
|
function handleExpandTabChange(){ |
|
|
console.log("切换页签") |
|
|
|
|
|
if(controlData.value.control.queryBy=='role'){ |
|
|
if(controlData.value.control.queryBy=='role'){ |
|
|
queryAllRole() |
|
|
queryAllRole() |
|
|
} |
|
|
} |
|
|
@ -4114,24 +4113,30 @@ function queryAllRole(){ |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
const expandPageNum = ref(1) |
|
|
function getPersonByRoleId(id:string){ |
|
|
function getPersonByRoleId(id:string){ |
|
|
return request({ |
|
|
return request({ |
|
|
url: "/javasys/lowCode/manCont/getPersonByRoleId", |
|
|
url: "/javasys/lowCode/manCont/getPersonByRoleId", |
|
|
method: "post", |
|
|
method: "post", |
|
|
data: { |
|
|
data: { |
|
|
id: id, |
|
|
id: id, |
|
|
|
|
|
pageNum: expandPageNum.value, |
|
|
|
|
|
pageSize: '10', |
|
|
|
|
|
number:expandQueryParamNumber.value, |
|
|
|
|
|
name:expandQueryParamName.value |
|
|
}, |
|
|
}, |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
//const activeName = ref('1') |
|
|
//const activeName = ref('1') |
|
|
|
|
|
const total = ref(10) |
|
|
const activeTab = ref('') |
|
|
const activeTab = ref('') |
|
|
const expandTableData = ref() |
|
|
const expandTableData = ref() |
|
|
|
|
|
|
|
|
function handleLeftTabChange(tab: any){ |
|
|
function handleLeftTabChange(tab: any){ |
|
|
getPersonByRoleId(tab).then(({ data }) => { |
|
|
getPersonByRoleId(tab).then(({ data }) => { |
|
|
//console.log(data) |
|
|
//console.log(data) |
|
|
expandTableData.value = data |
|
|
expandTableData.value = data.list |
|
|
|
|
|
total.value = data.total |
|
|
//activeName.value = tab |
|
|
//activeName.value = tab |
|
|
|
|
|
|
|
|
}); |
|
|
}); |
|
|
@ -4144,14 +4149,113 @@ const multipleSelection = ref<User[]>([]) |
|
|
interface User { |
|
|
interface User { |
|
|
id: number |
|
|
id: number |
|
|
name: string |
|
|
name: string |
|
|
|
|
|
number: string |
|
|
|
|
|
key: string |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const handleSelectionChange = (val: User[]) => { |
|
|
const handleSelectionChange = (val: User[]) => { |
|
|
console.log(1111) |
|
|
|
|
|
multipleSelection.value = val |
|
|
multipleSelection.value = val |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
/* controlData.value.control.roleRange = computed(()=>{ |
|
|
|
|
|
let arr: any[] = [] |
|
|
|
|
|
checkDataList.value.forEach(element => { |
|
|
|
|
|
let str = element.key+"" |
|
|
|
|
|
arr.push(str) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return arr |
|
|
|
|
|
}) */ |
|
|
|
|
|
|
|
|
|
|
|
function gotoRight(){ |
|
|
|
|
|
// 遍历multipleSelection中的每个用户 |
|
|
|
|
|
multipleSelection.value.forEach(user => { |
|
|
|
|
|
// 检查checkDataList中是否已存在具有相同key的用户 |
|
|
|
|
|
const exists = controlData.value.control.roleCheckDataList.some((item: { key: string; }) => item.key === user.key); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不存在,则添加到checkDataList中 |
|
|
|
|
|
if (!exists) { |
|
|
|
|
|
controlData.value.control.roleCheckDataList.push(user); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
let arr: any[] = [] |
|
|
|
|
|
controlData.value.control.roleCheckDataList.forEach((element: { key: string; }) => { |
|
|
|
|
|
let str = element.key+"" |
|
|
|
|
|
arr.push(str) |
|
|
|
|
|
}); |
|
|
|
|
|
console.log(arr) |
|
|
|
|
|
controlData.value.control.roleRange = arr |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function handleCurrentChange(){ |
|
|
|
|
|
//alert(expandPageNum.value) |
|
|
|
|
|
handleLeftTabChange(activeTab.value) |
|
|
|
|
|
} |
|
|
|
|
|
const expandQueryParam = ref('') |
|
|
|
|
|
|
|
|
|
|
|
function isAllDigits(str:any) { |
|
|
|
|
|
// 首先检查输入是否为字符串类型 |
|
|
|
|
|
if (typeof str !== 'string') { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 检查字符串是否为空 |
|
|
|
|
|
if (str.length === 0) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 使用正则表达式检查是否全为数字 |
|
|
|
|
|
// ^ 表示字符串开始,$ 表示字符串结束 |
|
|
|
|
|
// \d+ 表示一个或多个数字 |
|
|
|
|
|
const regex = /^\d+$/; |
|
|
|
|
|
return regex.test(str); |
|
|
|
|
|
} |
|
|
|
|
|
const expandQueryParamNumber = ref('') |
|
|
|
|
|
const expandQueryParamName = ref('') |
|
|
|
|
|
function searchClick(){ |
|
|
|
|
|
expandQueryParamNumber.value = '' |
|
|
|
|
|
expandQueryParamName.value = '' |
|
|
|
|
|
if(isAllDigits(expandQueryParam.value)){ |
|
|
|
|
|
expandQueryParamNumber.value = expandQueryParam.value |
|
|
|
|
|
}else{ |
|
|
|
|
|
expandQueryParamName.value = expandQueryParam.value |
|
|
|
|
|
} |
|
|
|
|
|
handleLeftTabChange(activeTab.value) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function resetClick(){ |
|
|
|
|
|
expandQueryParamNumber.value = '' |
|
|
|
|
|
expandQueryParamName.value = '' |
|
|
|
|
|
handleLeftTabChange(activeTab.value) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function delRowClick(param: any){ |
|
|
|
|
|
let key = param.key |
|
|
|
|
|
console.log(key) |
|
|
|
|
|
controlData.value.control.roleCheckDataList = controlData.value.control.roleCheckDataList.filter((item: { key: any; }) => item.key !== key); |
|
|
|
|
|
let arr: any[] = [] |
|
|
|
|
|
controlData.value.control.roleCheckDataList.forEach((element: { key: string; }) => { |
|
|
|
|
|
let str = element.key+"" |
|
|
|
|
|
arr.push(str) |
|
|
|
|
|
}); |
|
|
|
|
|
console.log(arr) |
|
|
|
|
|
controlData.value.control.roleRange = arr |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function delAllClick(){ |
|
|
|
|
|
controlData.value.control.roleCheckDataList = [] |
|
|
|
|
|
controlData.value.control.roleRange = [] |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//选择用户数据范围 end |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@ 作者: 秦东 |
|
|
@ 作者: 秦东 |
|
|
@ 时间: 2024-12-23 10:39:48 |
|
|
@ 时间: 2024-12-23 10:39:48 |
|
|
@ -4588,11 +4692,7 @@ const aiAgentList = ref([ |
|
|
</el-row> |
|
|
</el-row> |
|
|
|
|
|
|
|
|
<el-row v-else-if="item.type === 'expand-user'"> |
|
|
<el-row v-else-if="item.type === 'expand-user'"> |
|
|
|
|
|
|
|
|
{{controlData.control.orgRange}} |
|
|
|
|
|
{{controlData.control.roleRange}} |
|
|
|
|
|
<el-button @click="handleUserRangeDialogFlag">可选用户设置</el-button> |
|
|
<el-button @click="handleUserRangeDialogFlag">可选用户设置</el-button> |
|
|
|
|
|
|
|
|
</el-row> |
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -5756,15 +5856,15 @@ const aiAgentList = ref([ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
> |
|
|
|
|
|
|
|
|
<el-tabs v-model="controlData.control.queryBy" style="width:100%;" @tab-change="handleExpandTabChange" > |
|
|
<el-tabs v-model="controlData.control.queryBy" style="width:100%;" @tab-change="handleExpandTabChange" > |
|
|
<el-tab-pane label="根据角色筛选" name="role"> |
|
|
<el-tab-pane label="根据角色筛选" name="role"> |
|
|
|
|
|
|
|
|
<div > |
|
|
<div > |
|
|
|
|
|
|
|
|
<el-row> |
|
|
<el-row> |
|
|
<el-col :span="17" style="padding: 0;border-right: 0px solid black;"> |
|
|
<el-col :span="16" style="padding: 0;border-right: 0px solid black;"> |
|
|
<el-tabs ref="tabsRef" v-model="activeTab" tab-position="left" @tab-change="handleLeftTabChange" > |
|
|
<el-tabs ref="tabsRef" v-model="activeTab" style="height:483px;" tab-position="left" @tab-change="handleLeftTabChange" > |
|
|
<el-tab-pane |
|
|
<el-tab-pane |
|
|
v-for="tab in tabsData" |
|
|
v-for="tab in tabsData" |
|
|
:key="tab.id" |
|
|
:key="tab.id" |
|
|
@ -5772,12 +5872,12 @@ const aiAgentList = ref([ |
|
|
:name="tab.id" |
|
|
:name="tab.id" |
|
|
> |
|
|
> |
|
|
<div> |
|
|
<div> |
|
|
<el-input placeholder="请输入用户名" v-model="userName" clearable style="width: 50%; margin-bottom: 10px;margin-left: 3px;"/> |
|
|
<el-input placeholder="请输入用户名" v-model="expandQueryParam" clearable style="width: 50%; margin-bottom: 10px;margin-left: 3px;"/> |
|
|
<el-button type="primary" @click="searchClick" style="margin-left: 10px; margin-bottom: 10px;">查询</el-button> |
|
|
<el-button type="primary" @click="searchClick" style="margin-left: 10px; margin-bottom: 10px;">查询</el-button> |
|
|
<el-button @click="resetClick" style="margin-bottom: 10px;">重置</el-button> |
|
|
<el-button @click="resetClick" style="margin-bottom: 10px;">重置</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<div class="expandTable"> |
|
|
<div class="expandTable"> |
|
|
<el-table ref="multipleTableRef" :data="expandTableData" style="width: 100%; height: 440px" :row-style="{ height: '35px' }" :cell-style="{ padding: '1.5px 0' }" @selection-change="handleSelectionChange"> |
|
|
<el-table ref="multipleTableRef" :data="expandTableData" style="width: 100%; height: 440px" :row-style="{ height: '39.8px' }" :cell-style="{ padding: '1.5px 0' }" @selection-change="handleSelectionChange"> |
|
|
<!-- <el-table-column prop="userName" label="照片" width="70px" align="center"> |
|
|
<!-- <el-table-column prop="userName" label="照片" width="70px" align="center"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
<el-avatar |
|
|
<el-avatar |
|
|
@ -5795,14 +5895,16 @@ const aiAgentList = ref([ |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<!-- <el-table-column prop="tel" label="联系方式" width="120px" align="left" /> --> |
|
|
<!-- <el-table-column prop="tel" label="联系方式" width="120px" align="left" /> --> |
|
|
<el-table-column prop="nickName" label="部门" width="160px" align="left"> |
|
|
<el-table-column prop="nickName" label="部门" width="140px" align="left"> |
|
|
<template #default="{ row }"> |
|
|
<template #default="{ row }"> |
|
|
{{row.deparment}} |
|
|
{{row.deparment}} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column type="selection" width="55" /> |
|
|
<el-table-column type="selection" width="45" /> |
|
|
|
|
|
|
|
|
</el-table> |
|
|
</el-table> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<div class="expandPage"> |
|
|
<div class="expandPage"> |
|
|
@ -5813,12 +5915,50 @@ const aiAgentList = ref([ |
|
|
|
|
|
|
|
|
</el-tabs> |
|
|
</el-tabs> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="1" style="display: flex; align-items: center;" > |
|
|
<el-col :span="1" style="display: flex; align-items: center;justify-content: center;" > |
|
|
<el-icon style="font-size: large;cursor: pointer;" @click="gotoRight"><ArrowRightBold /></el-icon> |
|
|
<el-icon style="font-size: large;cursor: pointer;" @click="gotoRight"><ArrowRightBold /></el-icon> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="6" style="padding: 0"> |
|
|
<el-col :span="6" style="padding: 0"> |
|
|
{{multipleSelection}} |
|
|
<div > |
|
|
|
|
|
<div style="display: flex; align-items: center; padding-bottom: 18px;"> |
|
|
|
|
|
<div>已选择:{{ controlData.control.roleCheckDataList.length }}</div> |
|
|
|
|
|
<el-button type="danger" @click="delAllClick" size="small" style="margin-left: auto" |
|
|
|
|
|
>全部移除</el-button |
|
|
|
|
|
> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-table :data="controlData.control.roleCheckDataList" style="height: 440px"> |
|
|
|
|
|
<!-- <el-table-column prop="userName" label="照片" width="60px" align="center"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<el-avatar |
|
|
|
|
|
v-if="scope.row.icon != ''" |
|
|
|
|
|
shape="square" |
|
|
|
|
|
:size="30" |
|
|
|
|
|
:src="scope.row.icon" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-avatar v-else shape="square" :size="30" :src="UserRole" /> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> --> |
|
|
|
|
|
<el-table-column prop="name" label="姓名" align="left"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
{{ scope.row.name }}({{ scope.row.number }}) |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column label="操作" width="60px"> |
|
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
|
<el-button size="small" type="danger" @click="delRowClick(row)" |
|
|
|
|
|
>移除</el-button |
|
|
|
|
|
> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-col> |
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
|
|
<div style="width:100%;display: flex;margin-top: 18px;justify-content: center;"> |
|
|
|
|
|
<el-pagination v-model:current-page="expandPageNum" background layout="prev, pager, next, jumper" :pager-count="3" :page-size="10" :total = "total" @current-change="handleCurrentChange"/> |
|
|
|
|
|
</div> |
|
|
</el-row> |
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -5826,7 +5966,10 @@ const aiAgentList = ref([ |
|
|
</div> |
|
|
</div> |
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
<el-tab-pane label="根据组织筛选" name="org"> |
|
|
<el-tab-pane label="根据组织筛选" name="org"> |
|
|
<TransferSelectUserRange :key="componentKey" :data="transferSelectUserRangeData" :selected-value="controlData.control.orgRange" @checked-id-list-changed="checkedIdListChangedIndex" @re-render-component="reRenderComponent" /> |
|
|
<div style="width:100%;display: flex;margin-top: 1px;justify-content: center;"> |
|
|
|
|
|
<TransferSelectUserRange :key="componentKey" :data="transferSelectUserRangeData" :selected-value="controlData.control.orgRange" @checked-id-list-changed="checkedIdListChangedIndex" @re-render-component="reRenderComponent" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|