diff --git a/src/api/common.js b/src/api/common.js
index 5d5c28d..afb3142 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -17,3 +17,21 @@ export function getPersonNatureAndCategoryAndPositionSelectAPI(data) {
params: data,
})
}
+
+// 公共下拉选数据 - 获取工作量类别
+// export function getWorkloadCategorySelectAPI(data) {
+// return request({
+// url: '/workloadCategory/getWorkloadCategorySelect',
+// method: 'GET',
+// params: data,
+// })
+// }
+
+// 公共下拉选数据 - 获取人员列表
+export function getPersonnelCommonListAPI(data) {
+ return request({
+ url: '/personnel/getPersonnelListSelect',
+ method: 'GET',
+ params: data,
+ })
+}
diff --git a/src/api/planMange/monthlyPlan.js b/src/api/planMange/monthlyPlan.js
index 21802cb..7a9321e 100644
--- a/src/api/planMange/monthlyPlan.js
+++ b/src/api/planMange/monthlyPlan.js
@@ -1,37 +1,46 @@
import request from '@/utils/request'
-// 计划管理- 查询列表
-export function listPlanAPI(query) {
+// 月计划管理- 查询列表
+export function listMonthlyPlanAPI(query) {
return request({
- url: '/personnel/getPersonnelList',
+ url: '/monthlyPlan/getMonthlyPlanList',
method: 'GET',
params: query,
})
}
-// 计划管理- 新增
-export function addPlanAPI(data) {
+// 月计划管理- 新增
+export function addMonthlyPlanAPI(data) {
return request({
- url: '/personnel/addPersonnel',
+ url: '/monthlyPlan/addMonthlyPlan',
method: 'POST',
data,
})
}
-// 计划管理- 修改
-export function updatePlanAPI(data) {
+// 月计划管理- 修改
+export function updateMonthlyPlanAPI(data) {
return request({
- url: '/personnel/updatePersonnel',
+ url: '/monthlyPlan/updatePersonnel',
method: 'POST',
data,
})
}
-// 计划管理- 删除
-export function delPlanAPI(data) {
+// 月计划管理- 删除
+export function delMonthlyPlanAPI(data) {
return request({
- url: `/personnel/delPersonnel`,
+ url: `/monthlyPlan/delMonthlyPlan`,
method: 'POST',
data,
})
}
+
+// 月计划新增计划时的弹框- 查询列表
+export function listMonthlyPlanPopupAPI(query) {
+ return request({
+ url: '/planManagement/getPlanManagementLists',
+ method: 'GET',
+ params: query,
+ })
+}
diff --git a/src/api/planMange/plan.js b/src/api/planMange/plan.js
index 21802cb..10c2188 100644
--- a/src/api/planMange/plan.js
+++ b/src/api/planMange/plan.js
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 计划管理- 查询列表
export function listPlanAPI(query) {
return request({
- url: '/personnel/getPersonnelList',
+ url: '/planManagement/getPlanManagementList',
method: 'GET',
params: query,
})
@@ -12,7 +12,7 @@ export function listPlanAPI(query) {
// 计划管理- 新增
export function addPlanAPI(data) {
return request({
- url: '/personnel/addPersonnel',
+ url: '/planManagement/addPlanManagement',
method: 'POST',
data,
})
@@ -21,7 +21,7 @@ export function addPlanAPI(data) {
// 计划管理- 修改
export function updatePlanAPI(data) {
return request({
- url: '/personnel/updatePersonnel',
+ url: '/planManagement/updatePlanManagement',
method: 'POST',
data,
})
@@ -30,7 +30,7 @@ export function updatePlanAPI(data) {
// 计划管理- 删除
export function delPlanAPI(data) {
return request({
- url: `/personnel/delPersonnel`,
+ url: `/planManagement/delPlanManagement`,
method: 'POST',
data,
})
diff --git a/src/components/ComSearchForm/index.vue b/src/components/ComSearchForm/index.vue
index 593ca17..fb0a89b 100644
--- a/src/components/ComSearchForm/index.vue
+++ b/src/components/ComSearchForm/index.vue
@@ -68,6 +68,7 @@ const componentMap = {
input: ItemInput,
select: ItemSelect,
date: ItemDate,
+ month: ItemDate,
cascader: ItemCascader,
}
@@ -115,6 +116,12 @@ const getComponentProps = (item) => {
startPlaceholder: item.startPlaceholder,
endPlaceholder: item.endPlaceholder,
}
+ case 'month':
+ return {
+ ...baseProps,
+ dateType: 'month',
+ valueFormat: item.valueFormat || 'YYYY-MM',
+ }
case 'cascader':
return {
...baseProps,
diff --git a/src/main.js b/src/main.js
index a0860e4..a71aa43 100644
--- a/src/main.js
+++ b/src/main.js
@@ -29,7 +29,7 @@ import './permission' // permission control
import { useDict } from '@/utils/dict'
import { getConfigKey } from "@/api/system/config"
-import { parseTime, resetForm, addDateRange, handleTree, selectDictLabel, selectDictLabels } from '@/utils/ruoyi'
+import { parseTime, resetForm, addDateRange, handleTree, selectDictLabel, selectDictLabels, createDictFormatter } from '@/utils/ruoyi'
// 分页组件
import Pagination from '@/components/Pagination'
@@ -58,6 +58,7 @@ app.config.globalProperties.addDateRange = addDateRange
app.config.globalProperties.getConfigKey = getConfigKey
app.config.globalProperties.selectDictLabel = selectDictLabel
app.config.globalProperties.selectDictLabels = selectDictLabels
+app.config.globalProperties.createDictFormatter = createDictFormatter
// 全局组件挂载
app.component('DictTag', DictTag)
diff --git a/src/store/modules/options.js b/src/store/modules/options.js
index ece98ce..befcbd5 100644
--- a/src/store/modules/options.js
+++ b/src/store/modules/options.js
@@ -6,6 +6,7 @@ const useOptionsStore = defineStore('options', {
personNatureOptions: [], // 人员性质
personCategoryOptions: [], // 人员分类
inspectionStationOptions: [], // 运检站
+ personnelCommonOptions: [], // 人员列表
}),
actions: {
// 通用的设置方法,方便 Hook 调用
diff --git a/src/utils/ruoyi.js b/src/utils/ruoyi.js
index 047aa5a..8177fa1 100644
--- a/src/utils/ruoyi.js
+++ b/src/utils/ruoyi.js
@@ -92,6 +92,26 @@ export function selectDictLabel(datas, value) {
return actions.join('')
}
+/**
+ * 创建字典 formatter 函数(用于表格列配置)
+ * @param {Array} dictData 字典数据数组
+ * @param {String} fieldName 字段名,默认为当前列的 prop
+ * @returns {Function} formatter 函数
+ * @example
+ * // 在表格列配置中使用
+ * {
+ * prop: 'riskLevel',
+ * label: '风险等级',
+ * formatter: createDictFormatter(plan_risk_level.value)
+ * }
+ */
+export function createDictFormatter(dictData, fieldName = null) {
+ return (row, column, cellValue) => {
+ const value = fieldName ? row[fieldName] : cellValue
+ return selectDictLabel(dictData, value)
+ }
+}
+
// 回显数据字典(字符串、数组)
export function selectDictLabels(datas, value, separator) {
if (value === undefined || value.length === 0) {
diff --git a/src/views/personManage/Person/index.vue b/src/views/personManage/Person/index.vue
index 8ba5bde..791fb49 100644
--- a/src/views/personManage/Person/index.vue
+++ b/src/views/personManage/Person/index.vue
@@ -56,8 +56,9 @@ import {
getInspectionStationSelectAPI,
getPersonNatureAndCategoryAndPositionSelectAPI,
} from '@/api/common.js'
-import config from './config'
import { useOptions } from '@/hooks/useOptions'
+import { bus, BUS_EVENTS } from '@/utils/bus'
+import config from './config'
import ComTable from '@/components/ComTable/index.vue'
import ComButton from '@/components/ComButton/index.vue'
import ComDialog from '@/components/ComDialog/index.vue'
@@ -155,6 +156,7 @@ const actionColumns = [
if (result.code === 200) {
proxy.$modal.msgSuccess('删除成功')
comTableRef.value?.refresh()
+ bus.emit(BUS_EVENTS.REFRESH_OPTIONS, 'personnelCommonOptions')
}
})
},
@@ -190,6 +192,7 @@ const onHandleSave = async () => {
proxy.$modal.msgSuccess(editId.value ? '编辑成功' : '新增成功')
dialogConfig.outerVisible = false
comTableRef.value?.refresh()
+ bus.emit(BUS_EVENTS.REFRESH_OPTIONS, 'personnelCommonOptions')
}
} catch (error) {
return Promise.reject(error)
diff --git a/src/views/planMange/monthlyPlan/addForm.vue b/src/views/planMange/monthlyPlan/addForm.vue
index fec626c..28b073b 100644
--- a/src/views/planMange/monthlyPlan/addForm.vue
+++ b/src/views/planMange/monthlyPlan/addForm.vue
@@ -12,12 +12,11 @@
>