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 data
}) })
} }
// 用户list
export function getUserList(data) {
return request({
url: getUrl('/sysUser/list'),
method: 'post',
data
})
}
// 修改用户状态 // 修改用户状态
export function changeUserStatus(params) { export function changeUserStatus(params) {
return request({ return request({

View File

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

View File

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