Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
yn-science-front
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐俊
yn-science-front
Commits
b4734208
Commit
b4734208
authored
Jul 31, 2025
by
wangxl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
3333
parent
ace7feac
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
23 additions
and
68 deletions
+23
-68
Index.vue
src/views/audit/talent/Index.vue
+8
-0
Dict.js
src/views/utils/dict/Dict.js
+15
-13
DictTypes.js
src/views/utils/dict/DictTypes.js
+0
-55
No files found.
src/views/audit/talent/Index.vue
View file @
b4734208
...
...
@@ -63,6 +63,14 @@ export default {
components
:
{
talentView
,
audit
,
batchAudit
},
// dicts: ['PROJECT_STATUS', 'PARAMETER_TYPE', 'STATUS_TYPE'],
// mounted () {
// // 监听字典数据加载完成事件
// this.$on('dictReady', () => {
// console.log('字典数据加载完成')
// console.log('项目状态字典:', this.dict.projectStatus)
// })
// },
data
()
{
return
{
selectedRowKeys
:
[],
...
...
src/views/utils/dict/Dict.js
View file @
b4734208
import
Vue
from
'vue'
import
api
from
'@/api'
import
DictTypes
from
'./DictTypes'
export
default
class
Dict
{
constructor
(
dict
)
{
...
...
@@ -11,28 +12,29 @@ export default class Dict {
* @param {Array} names 字典类型名称数组
* @param {Function} callback 回调函数
*/
async
init
(
names
,
callback
)
{
async
init
(
names
,
callback
)
{
if
(
names
===
undefined
||
names
===
null
)
{
throw
new
Error
(
'need Dict names'
)
}
const
promises
=
names
.
map
(
n
=>
{
let
param
=
DictTypes
[
n
]
if
(
param
===
undefined
||
param
===
null
)
{
throw
new
Error
(
'need Dict names'
)
}
// 初始化字典数据结构
Vue
.
set
(
this
.
dict
.
dictLabel
,
n
,
{})
Vue
.
set
(
this
.
dict
,
n
,
[])
// 获取字典数据
return
api
.
parameter
.
getDicts
(
n
).
then
(
res
=>
{
if
(
res
&&
res
.
data
)
{
// 更新字典数据
this
.
dict
[
n
].
splice
(
0
,
0
,
...
res
.
data
)
// 构建字典标签映射
res
.
data
.
forEach
(
d
=>
{
Vue
.
set
(
this
.
dict
.
dictLabel
[
n
],
d
.
key
,
d
.
title
)
})
}
return
res
return
res
}).
catch
(
error
=>
{
console
.
error
(
`获取字典数据失败,类型:
${
n
}
`
,
error
)
return
null
...
...
@@ -41,7 +43,7 @@ export default class Dict {
// 等待所有字典数据加载完成
await
Promise
.
all
(
promises
)
// 执行回调函数
if
(
callback
&&
typeof
callback
===
'function'
)
{
callback
()
...
...
@@ -53,7 +55,7 @@ export default class Dict {
* @param {string} name 字典类型名称
* @returns {Array} 字典数据数组
*/
getDict
(
name
)
{
getDict
(
name
)
{
return
this
.
dict
[
name
]
||
[]
}
...
...
@@ -63,7 +65,7 @@ export default class Dict {
* @param {string|number} value 字典值
* @returns {string} 字典标签
*/
getDictLabel
(
name
,
value
)
{
getDictLabel
(
name
,
value
)
{
return
this
.
dict
.
dictLabel
[
name
]?.[
value
]
||
''
}
...
...
@@ -72,7 +74,7 @@ export default class Dict {
* @param {string} name 字典类型名称
* @returns {Promise} 刷新结果
*/
async
refreshDict
(
name
)
{
async
refreshDict
(
name
)
{
try
{
Vue
.
set
(
this
.
dict
.
dictLabel
,
name
,
{})
Vue
.
set
(
this
.
dict
,
name
,
[])
...
...
@@ -80,7 +82,7 @@ export default class Dict {
const
res
=
await
api
.
parameter
.
getDicts
(
name
)
if
(
res
&&
res
.
data
)
{
this
.
dict
[
name
].
splice
(
0
,
0
,
...
res
.
data
)
res
.
data
.
forEach
(
d
=>
{
Vue
.
set
(
this
.
dict
.
dictLabel
[
name
],
d
.
key
,
d
.
title
)
})
...
...
@@ -97,7 +99,7 @@ export default class Dict {
* @param {Array} names 字典类型名称数组
* @returns {Promise} 刷新结果
*/
async
refreshDicts
(
names
)
{
async
refreshDicts
(
names
)
{
const
promises
=
names
.
map
(
name
=>
this
.
refreshDict
(
name
))
return
Promise
.
all
(
promises
)
}
...
...
@@ -106,7 +108,7 @@ export default class Dict {
* 清除字典缓存
* @param {string} name 字典类型名称
*/
clearDict
(
name
)
{
clearDict
(
name
)
{
Vue
.
set
(
this
.
dict
.
dictLabel
,
name
,
{})
Vue
.
set
(
this
.
dict
,
name
,
[])
}
...
...
@@ -114,7 +116,7 @@ export default class Dict {
/**
* 清除所有字典缓存
*/
clearAllDicts
()
{
clearAllDicts
()
{
Object
.
keys
(
this
.
dict
).
forEach
(
key
=>
{
if
(
key
!==
'dictLabel'
)
{
Vue
.
set
(
this
.
dict
,
key
,
[])
...
...
src/views/utils/dict/DictTypes.js
View file @
b4734208
...
...
@@ -18,38 +18,6 @@ export default {
PROJECT_STATUS
:
10
,
// 项目状态
PROJECT_CATEGORY
:
11
,
// 项目分类
PROJECT_LEVEL
:
12
,
// 项目级别
PROJECT_PRIORITY
:
13
,
// 项目优先级
// 任务相关
TASK_STATUS
:
20
,
// 任务状态
TASK_TYPE
:
21
,
// 任务类型
TASK_PRIORITY
:
22
,
// 任务优先级
// 审核相关
AUDIT_STATUS
:
30
,
// 审核状态
AUDIT_TYPE
:
31
,
// 审核类型
AUDIT_RESULT
:
32
,
// 审核结果
// 评估相关
EVALUATION_STATUS
:
40
,
// 评估状态
EVALUATION_TYPE
:
41
,
// 评估类型
EVALUATION_LEVEL
:
42
,
// 评估等级
// 专家相关
EXPERT_SPECIALTY
:
50
,
// 专家专业
EXPERT_LEVEL
:
51
,
// 专家级别
EXPERT_STATUS
:
52
,
// 专家状态
// 系统相关
SYSTEM_PARAMETER
:
60
,
// 系统参数
SYSTEM_CONFIG
:
61
,
// 系统配置
SYSTEM_STATUS
:
62
,
// 系统状态
// 其他
COMMON_STATUS
:
100
,
// 通用状态
COMMON_TYPE
:
101
,
// 通用类型
COMMON_LEVEL
:
102
,
// 通用等级
COMMON_PRIORITY
:
103
,
// 通用优先级
}
/**
...
...
@@ -66,26 +34,4 @@ export const DictTypeLabels = {
8
:
'审核类型'
,
9
:
'状态类型'
,
10
:
'项目状态'
,
11
:
'项目分类'
,
12
:
'项目级别'
,
13
:
'项目优先级'
,
20
:
'任务状态'
,
21
:
'任务类型'
,
22
:
'任务优先级'
,
30
:
'审核状态'
,
31
:
'审核类型'
,
32
:
'审核结果'
,
40
:
'评估状态'
,
41
:
'评估类型'
,
42
:
'评估等级'
,
50
:
'专家专业'
,
51
:
'专家级别'
,
52
:
'专家状态'
,
60
:
'系统参数'
,
61
:
'系统配置'
,
62
:
'系统状态'
,
100
:
'通用状态'
,
101
:
'通用类型'
,
102
:
'通用等级'
,
103
:
'通用优先级'
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment