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 @@ > @@ -25,11 +24,11 @@