feat(track): 优化上传用户选择功能

- 从后端获取用户列表,替代前端去重处理
- 更新用户选择框的数据显示和逻辑
- 修复了一些相关的 bug
This commit is contained in:
du.meimei
2025-04-25 11:16:48 +08:00
parent 4bc012f9fe
commit 6dd1e9ed71
3 changed files with 65 additions and 30 deletions

View File

@@ -41,6 +41,14 @@ export function getUserPage(data) {
data
})
}
// 用户list
export function getUserList(data) {
return request({
url: getUrl('/sysUser/list'),
method: 'post',
data
})
}
// 修改用户状态
export function changeUserStatus(params) {
return request({

View File

@@ -121,18 +121,24 @@
</el-select>
</el-form-item>
<el-form-item label="上传用户" prop="createdUserLike">
<el-select v-model="form.createdUserLike" disabled size="medium">
<el-option label="暂无用户" value=""></el-option>
<el-select v-model="form.createdUserLike" size="medium">
<el-option label="全部" value=""></el-option>
<el-option
v-for="item in createdUserOptions"
:label="item.label"
:value="item.value"
:key="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关键字">
<el-input
v-model="form.name"
placeholder="请输入关键字/敏感词"
disabled
size="medium"
></el-input>
</el-form-item>
<!-- <el-form-item label="关键字">-->
<!-- <el-input-->
<!-- v-model="form.name"-->
<!-- placeholder="请输入关键字/敏感词"-->
<!-- disabled-->
<!-- size="medium"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="上传时间" prop="times">
<el-date-picker
size="medium"
@@ -207,6 +213,7 @@ import {
datasetUpdate,
getDatasetById
} from '@/api/generatedApi/index'
import { getUserList } from '@/api/generatedApi/system'
import {
documentSourceOptions,
segmentedModeOptionsMap
@@ -231,7 +238,6 @@ export default {
visible: false
},
knowledgePng_1,
datasetId: this.$route.query.datasetId,
activeName: -1,
drawer: false,
drawerForm: false,
@@ -242,6 +248,7 @@ export default {
createdUserLike: '',
times: ''
},
createdUserOptions: [],
//知识库名称
knowledgeName: '监管',
copyKnowledgeName: '监管',
@@ -272,6 +279,16 @@ export default {
DocumentDrawer
},
methods: {
getUserData() {
getUserList({}).then(res => {
this.createdUserOptions = res.content.content.map(item => {
return {
label: item.realName,
value: item.userName
}
})
})
},
// 开启编辑 知识库标题
editKnowledgeName() {
this.editKnowledge = true
@@ -489,6 +506,8 @@ export default {
this.getKnowledgeDetail()
// 获取知识库文件列表
this.getKnowledgeFiledList()
// 获取用户下拉列表
this.getUserData()
let documentId = sessionStorage.getItem('documentId')
if (documentId) {
setTimeout(() => {

View File

@@ -4,6 +4,7 @@ import {
docManageDataset
} from '@/api/generatedApi'
import KnowledgeInfo from '@/views/track/views/knowledge-info/Index.vue'
import { getUserList } from '@/api/generatedApi/system'
export default {
components: {
@@ -17,12 +18,13 @@ export default {
form: {
datasetId: '',
datasetValue: '',
uploadUser: '',
createdUserLike: '',
documentStatus: '',
// 知识文件名称(新字段)
knowledgeName: '',
taskTime: []
},
createdUserOptions: [],
datasetList: [],
tableConfig: {
uploadStatusType: {
@@ -48,8 +50,7 @@ export default {
)
}
},
// 上传用户 现在只有 admin . 后面需要自己添加
{ prop: 'userName', key: '上传用户', width: '100' },
{ prop: 'createdUser', key: '上传用户', width: '100' },
{ prop: 'createdDate', key: '上传时间', width: '200' },
{
key: '操作',
@@ -69,13 +70,6 @@ export default {
}
},
computed: {
/**
* 获取上传用户列表
*/
getUploadUserList() {
// 进行去重处理
return [...new Set(this.tableData.map(item => item.userName))]
},
/**
* 格式化上传时间
* @returns {string[]} 格式化后的日期字符串 格式是 年-月-日
@@ -94,6 +88,16 @@ export default {
}
},
methods: {
getUserData() {
getUserList({}).then(res => {
this.createdUserOptions = res.content.content.map(item => {
return {
label: item.realName,
value: item.userName
}
})
})
},
// 搜索
handleSearch() {
// 重置页码
@@ -127,8 +131,8 @@ export default {
datasetId: this.form.datasetId,
// // 知识文件名称
// fileName: this.form.knowledgeName,
// // 上传用户
// userName: this.form.uploadUser,
// 上传用户
createdUserLike: this.form.createdUserLike,
// // 上传状态
// documentStatus: this.form.documentStatus,
// // 任务时间
@@ -172,7 +176,7 @@ export default {
datasetId: '',
datasetValue: '',
fileName: '',
uploadUser: '',
createdUserLike: '',
documentStatus: '',
taskTime: []
}
@@ -187,6 +191,7 @@ export default {
created() {
this.getTableData()
this.getKnowledgeList()
this.getUserData()
}
}
</script>
@@ -227,13 +232,16 @@ export default {
<el-col :span="8">
<el-form-item label="上传用户">
<el-select v-model="form.uploadUser" placeholder="请选择上传用户">
<el-option label="全部上传用户" value="">全部上传用户</el-option>
<el-select
v-model="form.createdUserLike"
placeholder="请选择上传用户"
>
<el-option label="全部" value=""></el-option>
<el-option
v-for="item in getUploadUserList"
:key="item"
:label="item"
:value="item"
v-for="item in createdUserOptions"
:label="item.label"
:value="item.value"
:key="item.value"
></el-option>
</el-select>
</el-form-item>