diff --git a/api/app/lib/controllers/operationData/index.js b/api/app/lib/controllers/operationData/index.js index 9b7ccae..6ff2d71 100644 --- a/api/app/lib/controllers/operationData/index.js +++ b/api/app/lib/controllers/operationData/index.js @@ -44,7 +44,7 @@ async function getSystemAvailability(ctx) { try { const res = await sequelize.query( `SELECT substring(to_char(w.wmonth,'yyyy-mm'),1,7) wmonth, - COALESCE((w.seconds-e.counts)/w.seconds,0) ability + COALESCE((w.seconds-e.counts)/w.seconds,1) ability from ( SELECT to_char(maintenance_record.occurrence_time, 'yyyy-MM') months, SUM(maintenance_record.interrupt_duration) counts diff --git a/api/app/lib/controllers/organization/index.js b/api/app/lib/controllers/organization/index.js index 6c3553d..ee13a95 100644 --- a/api/app/lib/controllers/organization/index.js +++ b/api/app/lib/controllers/organization/index.js @@ -26,10 +26,10 @@ async function allUsers (ctx) { try { const { models } = ctx.fs.dc; const { clickHouse } = ctx.app.fs + const { includeDel } = ctx.query const userRes = await clickHouse.pepEmis.query(` - SELECT id, name FROM user - WHERE delete = '0' + SELECT id, name FROM user ${includeDel ? '' : `WHERE delete = '0'`} `).toPromise() ctx.status = 200; @@ -90,7 +90,7 @@ async function editUser (ctx) { storageData.disabled = true storageData.deleted = false storageData.role = [...role, 'admin'] - }else{ + } else { storageData.deleted = false } await models.User.update(storageData, { diff --git a/api/app/lib/routes/organization/index.js b/api/app/lib/routes/organization/index.js index 5c8106e..4b40563 100644 --- a/api/app/lib/routes/organization/index.js +++ b/api/app/lib/routes/organization/index.js @@ -5,7 +5,7 @@ module.exports = function (app, router, opts) { app.fs.api.logAttr['GET/organization/deps'] = { content: '获取全部部门及其下用户', visible: true }; router.get('/organization/deps', organization.allDeps); - app.fs.api.logAttr['GET/organization/users'] = { content: '获取全部未删除用户', visible: true }; + app.fs.api.logAttr['GET/organization/users'] = { content: '获取全部用户', visible: true }; router.get('/organization/users', organization.allUsers); app.fs.api.logAttr['POST/organization/user'] = { content: '编辑成员', visible: true }; diff --git a/web/client/src/sections/service/actions/emPush.js b/web/client/src/sections/service/actions/emPush.js index b560310..8c7cdb6 100644 --- a/web/client/src/sections/service/actions/emPush.js +++ b/web/client/src/sections/service/actions/emPush.js @@ -3,91 +3,105 @@ import { ApiTable, basicAction } from '$utils' export function getPush (query) { //获取推送配置列表 - return dispatch => basicAction({ - type: 'get', - dispatch: dispatch, - query: query, - actionType: 'GET_PUSH', - url: `${ApiTable.getPush}`, - msg: { error: '获取推送配置列表失败' }, - reducer: { name: "getPush", params: { noClear: true } }, - }); + return dispatch => basicAction({ + type: 'get', + dispatch: dispatch, + query: query, + actionType: 'GET_PUSH', + url: `${ApiTable.getPush}`, + msg: { error: '获取推送配置列表失败' }, + reducer: { name: "getPush", params: { noClear: true } }, + }); } export function postPush (data) {//添加/编辑成员 - let msg = '' - if (data) { - msg = data.msg - } - return (dispatch) => - basicAction({ - type: "post", - dispatch: dispatch, - data, - actionType: "POST_PUSH", - url: `${ApiTable.postPush}`, - msg: { option: msg }, //添加/编辑成员 - reducer: { name: "" }, - }); + let msg = '' + if (data) { + msg = data.msg + } + return (dispatch) => + basicAction({ + type: "post", + dispatch: dispatch, + data, + actionType: "POST_PUSH", + url: `${ApiTable.postPush}`, + msg: { option: msg }, //添加/编辑成员 + reducer: { name: "" }, + }); } export function getOrganizationUsers () { //获取全部未删除用户 - return dispatch => basicAction({ - type: 'get', - dispatch: dispatch, - actionType: 'GET_ORGANIZATION_USERS', - url: `${ApiTable.getOrganizationUsers}`, - msg: { error: '获取全部未删除用户' }, - reducer: { name: '' } - }); + return dispatch => basicAction({ + type: 'get', + dispatch: dispatch, + actionType: 'GET_ORGANIZATION_USERS', + url: `${ApiTable.getOrganizationUsers}`, + msg: { error: '获取全部未删除用户' }, + reducer: { name: 'allPepUsers' } + }); +} + +export function getOrganizationUsersIncludeDeleted () { + return dispatch => basicAction({ + type: 'get', + dispatch: dispatch, + query: { + includeDel: true + }, + actionType: 'GET_ORGANIZATION_USERS_INCLUDE_DELETED', + url: `${ApiTable.getOrganizationUsers}`, + msg: { error: '获取全部用户' }, + reducer: { name: 'allPepUsersIncludeDel' } + }); } export function getProjectPoms (query) {//获取已绑定项目 - return (dispatch) => basicAction({ - type: "get", - dispatch: dispatch, - actionType: "GET_PROJECT_POMS", - query: query, - url: `${ApiTable.getProjectPoms}`, - msg: { option: "获取已绑定项目" }, - reducer: { name: "ProjectPoms", params: { noClear: true } }, - }); + return (dispatch) => basicAction({ + type: "get", + dispatch: dispatch, + actionType: "GET_PROJECT_POMS", + query: query, + url: `${ApiTable.getProjectPoms}`, + msg: { option: "获取已绑定项目" }, + reducer: { name: "ProjectPoms", params: { noClear: true } }, + }); } export function getProjectStructure (query) {//获取绑定项目下结构物 - return (dispatch) => basicAction({ - type: "get", - dispatch: dispatch, - actionType: "GET_PROJECT_STRUCTURE", - query: query, - url: `${ApiTable.getProjectStructure}`, - msg: { option: "获取绑定项目下结构物" }, - reducer: { name: "ProjectStructure", params: { noClear: true } }, - }); + return (dispatch) => basicAction({ + type: "get", + dispatch: dispatch, + actionType: "GET_PROJECT_STRUCTURE", + query: query, + url: `${ApiTable.getProjectStructure}`, + msg: { option: "获取绑定项目下结构物" }, + reducer: { name: "ProjectStructure", params: { noClear: true } }, + }); } export function getProjectStatus (query) {//获取项目状态列表 - return (dispatch) => basicAction({ - type: "get", - dispatch: dispatch, - actionType: "GET_PROJECT_STATUS", - query: query, - url: `${ApiTable.getProjectStatus}`, - msg: { option: "获取项目状态列表" }, - reducer: { name: "ProjectStatus", params: { noClear: true } }, - }); + return (dispatch) => basicAction({ + type: "get", + dispatch: dispatch, + actionType: "GET_PROJECT_STATUS", + query: query, + url: `${ApiTable.getProjectStatus}`, + msg: { option: "获取项目状态列表" }, + reducer: { name: "ProjectStatus", params: { noClear: true } }, + }); } export function putPushPushId (data) {//更改推送配置状态(禁用或删除) - let pushId = '' - let msg = '' - if (data) { - pushId = data.pushId - msg = data.msg - } - return (dispatch) => - basicAction({ - type: "put", - dispatch: dispatch, - data, - actionType: "PUT_PUSH_PUSHID", - url: `${ApiTable.putPushPushId.replace("{pushId}", pushId)}`, - msg: { option: msg }, //更改推送配置状态(禁用或删除) - reducer: {}, - }); + let pushId = '' + let msg = '' + if (data) { + pushId = data.pushId + msg = data.msg + } + return (dispatch) => + basicAction({ + type: "put", + dispatch: dispatch, + data, + actionType: "PUT_PUSH_PUSHID", + url: `${ApiTable.putPushPushId.replace("{pushId}", pushId)}`, + msg: { option: msg }, //更改推送配置状态(禁用或删除) + reducer: {}, + }); } \ No newline at end of file diff --git a/web/client/src/sections/workOrder/containers/aboutMe.jsx b/web/client/src/sections/workOrder/containers/aboutMe.jsx index 89b2914..e84b097 100644 --- a/web/client/src/sections/workOrder/containers/aboutMe.jsx +++ b/web/client/src/sections/workOrder/containers/aboutMe.jsx @@ -7,8 +7,8 @@ import { SkeletonScreen, WorkflowApprovalModal } from "$components"; import moment from "moment"; const Rest = (props) => { - const { dispatch, actions, user, socket, pomsProjectBasicAll } = props - const { workOrder } = actions + const { dispatch, actions, user, socket, pomsProjectBasicAll, allPepUsersIncludeDel } = props + const { workOrder, service } = actions const [query, setQuery] = useState({ limit: 10, offset: 0 }); //页码信息 const [limits, setLimits] = useState(0)//每页实际条数 const [tableData, setTableData] = useState([]); @@ -23,6 +23,9 @@ const Rest = (props) => { if (!pomsProjectBasicAll.length) { dispatch(workOrder.getPomsProjectBasicAll()) } + if (!allPepUsersIncludeDel.length) { + dispatch(service.getOrganizationUsersIncludeDeleted()) + } }, []) let backlogData = (obj = { limit: 10, offset: 0 }) => { @@ -68,11 +71,18 @@ const Rest = (props) => { title: '序号', dataIndex: 'index', render: (text, record, index) => index + 1 + }, + { + title: '项目名称', + dataIndex: 'pomsProject', + render: (text, record, index) => { + return record?.pomsNeedData?.projectName?.value || '' + } }, { - title: '标题', - dataIndex: 'title', + title: '申请内容描述', + dataIndex: 'applyContent', render: (text, record, index) => { - return record?.pomsNeedData?.title?.value || '' + return record?.pomsNeedData?.applyContent?.value || '' } }, // { @@ -88,13 +98,7 @@ const Rest = (props) => { // } // } // }, - { - title: '项目名称', - dataIndex: 'pomsProject', - render: (text, record, index) => { - return record?.pomsNeedData?.projectName?.value || '' - } - }, + { title: '申请人', dataIndex: 'applyerName', @@ -107,17 +111,51 @@ const Rest = (props) => { render: (text, record) => { return judgmentProcessState(record, 'copy') }, - }, { - title: '提交时间', - dataIndex: 'startTime', - render: (text, record, index) => text && moment(text).add(8, 'hours').format('YYYY-MM-DD HH:mm:ss') || '--' - }, { - title: '期望完成时间', - dataIndex: 'expectTime', + }, + + { + title: '处理人员', + dataIndex: 'handlingPerson', render: (text, record, index) => { - return record?.pomsNeedData?.expectTime?.value || '' + // 和 users 对 + return record?.pomsNeedData?.handlingPerson?.value ? allPepUsersIncludeDel.find(u => u.id == record?.pomsNeedData?.handlingPerson?.value)?.name : '' } - }, { + }, + { + title: '处理结果', + dataIndex: 'handlingResult', + render: (text, record, index) => { + return record?.pomsNeedData?.handlingResult?.value || '' + } + }, + { + title: '问题类型', + dataIndex: 'issueType', + render: (text, record, index) => { + return record?.pomsNeedData?.issueType?.value || '' + } + }, + { + title: '处理完成时间', + dataIndex: 'completionTime', + render: (text, record, index) => { + return record?.pomsNeedData?.completionTime?.value || '' + } + }, + + // { + // title: '提交时间', + // dataIndex: 'startTime', + // render: (text, record, index) => text && moment(text).add(8, 'hours').format('YYYY-MM-DD HH:mm:ss') || '--' + // }, + // { + // title: '期望完成时间', + // dataIndex: 'expectTime', + // render: (text, record, index) => { + // return record?.pomsNeedData?.expectTime?.value || '' + // } + // }, + { title: '操作', dataIndex: 'hadle', render: (text, record, index) =>
{ @@ -184,7 +222,7 @@ const Rest = (props) => { columns={columns} dataSource={tableData} bordered={false} - hideExpandedColumn={false} + hideExpandedColumn={true} empty="暂无数据" pagination={false} /> @@ -234,11 +272,12 @@ const Rest = (props) => { } function mapStateToProps (state) { - const { auth, global, pomsProjectBasicAll } = state; + const { auth, global, pomsProjectBasicAll, allPepUsersIncludeDel } = state; return { user: auth.user, actions: global.actions, - pomsProjectBasicAll: pomsProjectBasicAll.data || [] + pomsProjectBasicAll: pomsProjectBasicAll.data || [], + allPepUsersIncludeDel: allPepUsersIncludeDel.data || [], }; } diff --git a/web/client/src/sections/workOrder/containers/initiated.jsx b/web/client/src/sections/workOrder/containers/initiated.jsx index 252966a..2d53ac7 100644 --- a/web/client/src/sections/workOrder/containers/initiated.jsx +++ b/web/client/src/sections/workOrder/containers/initiated.jsx @@ -6,8 +6,8 @@ import { SkeletonScreen, WorkflowApprovalModal, } from "$components"; import moment from "moment"; const Rest = (props) => { - const { dispatch, actions, user, socket, pomsProjectBasicAll } = props - const { workOrder } = actions + const { dispatch, actions, user, socket, pomsProjectBasicAll, allPepUsersIncludeDel } = props + const { workOrder, service } = actions const [query, setQuery] = useState({ limit: 10, offset: 0 }); //页码信息 const [limits, setLimits] = useState(0)//每页实际条数 const [tableData, setTableData] = useState([]); @@ -22,6 +22,9 @@ const Rest = (props) => { if (!pomsProjectBasicAll.length) { dispatch(workOrder.getPomsProjectBasicAll()) } + if (!allPepUsersIncludeDel.length) { + dispatch(service.getOrganizationUsersIncludeDeleted()) + } }, []) let backlogData = (obj = { limit: 10, offset: 0 }) => { @@ -61,10 +64,16 @@ const Rest = (props) => { dataIndex: 'index', render: (text, record, index) => index + 1 }, { - title: '标题', - dataIndex: 'title', + title: '项目名称', + dataIndex: 'pomsProject', + render: (text, record, index) => { + return record?.pomsNeedData?.projectName?.value || '' + } + }, { + title: '申请内容描述', + dataIndex: 'applyContent', render: (text, record, index) => { - return record?.pomsNeedData?.title?.value || '' + return record?.pomsNeedData?.applyContent?.value || '' } }, // { @@ -80,13 +89,7 @@ const Rest = (props) => { // } // } // }, - { - title: '项目名称', - dataIndex: 'pomsProject', - render: (text, record, index) => { - return record?.pomsNeedData?.projectName?.value || '' - } - }, + { title: '申请人', dataIndex: 'applyerName', @@ -99,17 +102,50 @@ const Rest = (props) => { render: (text, record) => { return judgmentProcessState(record, 'initiate') }, - }, { - title: '提交时间', - dataIndex: 'submissionTime', - render: (text, record, index) => text && moment(text).add(8, 'hours').format('YYYY-MM-DD HH:mm:ss') || '--' - }, { - title: '期望完成时间', - dataIndex: 'expectTime', + }, + + { + title: '处理人员', + dataIndex: 'handlingPerson', render: (text, record, index) => { - return record?.pomsNeedData?.expectTime?.value || '' + // 和 users 对 + return record?.pomsNeedData?.handlingPerson?.value ? allPepUsersIncludeDel.find(u => u.id == record?.pomsNeedData?.handlingPerson?.value)?.name : '' } - }, { + }, + { + title: '处理结果', + dataIndex: 'handlingResult', + render: (text, record, index) => { + return record?.pomsNeedData?.handlingResult?.value || '' + } + }, + { + title: '问题类型', + dataIndex: 'issueType', + render: (text, record, index) => { + return record?.pomsNeedData?.issueType?.value || '' + } + }, + { + title: '处理完成时间', + dataIndex: 'completionTime', + render: (text, record, index) => { + return record?.pomsNeedData?.completionTime?.value || '' + } + }, + + // { + // title: '提交时间', + // dataIndex: 'submissionTime', + // render: (text, record, index) => text && moment(text).add(8, 'hours').format('YYYY-MM-DD HH:mm:ss') || '--' + // }, { + // title: '期望完成时间', + // dataIndex: 'expectTime', + // render: (text, record, index) => { + // return record?.pomsNeedData?.expectTime?.value || '' + // } + // }, + { title: '操作', dataIndex: 'hadle', render: (text, record, index) => { @@ -119,7 +155,6 @@ const Rest = (props) => { record.variables.find(t => t.name == 'fsLastActionTime') ? moment.unix(record.variables.find(t => t.name == 'fsLastActionTime').value).format('YYYY-MM-DD HH:mm:ss') : ''; - console.log(reviewTime); let tooltipTitle = ''; if (record.processDeleted) { tooltipTitle = '该表单流程已删除,不支持重新发起'; @@ -239,7 +274,7 @@ const Rest = (props) => { columns={columns} dataSource={tableData} bordered={false} - hideExpandedColumn={false} + hideExpandedColumn={true} empty="暂无数据" pagination={false} /> @@ -289,11 +324,12 @@ const Rest = (props) => { } function mapStateToProps (state) { - const { auth, global, pomsProjectBasicAll } = state; + const { auth, global, pomsProjectBasicAll , allPepUsersIncludeDel} = state; return { user: auth.user, actions: global.actions, - pomsProjectBasicAll: pomsProjectBasicAll.data || [] + pomsProjectBasicAll: pomsProjectBasicAll.data || [], + allPepUsersIncludeDel: allPepUsersIncludeDel.data || [], }; } diff --git a/web/client/src/sections/workOrder/containers/preserve.jsx b/web/client/src/sections/workOrder/containers/preserve.jsx index ca3c23f..5e3337f 100644 --- a/web/client/src/sections/workOrder/containers/preserve.jsx +++ b/web/client/src/sections/workOrder/containers/preserve.jsx @@ -7,8 +7,8 @@ import { SkeletonScreen, WorkflowApprovalModal } from "$components"; import moment from "moment"; const Rest = (props) => { - const { dispatch, actions, user, socket, pomsProjectBasicAll } = props - const { workOrder } = actions + const { dispatch, actions, user, socket, pomsProjectBasicAll, allPepUsersIncludeDel } = props + const { workOrder, service } = actions const [query, setQuery] = useState({ limit: 10, offset: 0 }); //页码信息 const [limits, setLimits] = useState(0)//每页实际条数 const [tableData, setTableData] = useState([]); @@ -22,6 +22,9 @@ const Rest = (props) => { if (!pomsProjectBasicAll.length) { dispatch(workOrder.getPomsProjectBasicAll()) } + if (!allPepUsersIncludeDel.length) { + dispatch(service.getOrganizationUsersIncludeDeleted()) + } }, []) let backlogData = (obj = { limit: 10, offset: 0 }) => { @@ -60,10 +63,16 @@ const Rest = (props) => { dataIndex: 'index', render: (text, record, index) => index + 1 }, { - title: '标题', - dataIndex: 'title', + title: '项目名称', + dataIndex: 'pomsProject', render: (text, record, index) => { - return record?.pomsNeedData?.title?.value || '' + return record?.pomsNeedData?.projectName?.value || '' + } + }, { + title: '申请内容描述', + dataIndex: 'applyContent', + render: (text, record, index) => { + return record?.pomsNeedData?.applyContent?.value || '' } }, // { @@ -79,13 +88,7 @@ const Rest = (props) => { // } // } // }, - { - title: '项目名称', - dataIndex: 'pomsProject', - render: (text, record, index) => { - return record?.pomsNeedData?.projectName?.value || '' - } - }, + { title: '申请人', dataIndex: 'applyerName', @@ -100,17 +103,51 @@ const Rest = (props) => { render: (text, record) => { return judgmentProcessState({ state: processState.wait }, 'save') }, - }, { - title: '提交时间', - dataIndex: 'createAt', - render: (text, record, index) => text && moment(text).format('YYYY-MM-DD HH:mm:ss') || '--' - }, { - title: '期望完成时间', - dataIndex: 'expectTime', + }, + + { + title: '处理人员', + dataIndex: 'handlingPerson', render: (text, record, index) => { - return record?.pomsNeedData?.expectTime?.value || '' + // 和 users 对 + return record?.pomsNeedData?.handlingPerson?.value ? allPepUsersIncludeDel.find(u => u.id == record?.pomsNeedData?.handlingPerson?.value)?.name : '' } - }, { + }, + { + title: '处理结果', + dataIndex: 'handlingResult', + render: (text, record, index) => { + return record?.pomsNeedData?.handlingResult?.value || '' + } + }, + { + title: '问题类型', + dataIndex: 'issueType', + render: (text, record, index) => { + return record?.pomsNeedData?.issueType?.value || '' + } + }, + { + title: '处理完成时间', + dataIndex: 'completionTime', + render: (text, record, index) => { + return record?.pomsNeedData?.completionTime?.value || '' + } + }, + + // { + // title: '提交时间', + // dataIndex: 'createAt', + // render: (text, record, index) => text && moment(text).format('YYYY-MM-DD HH:mm:ss') || '--' + // }, + // { + // title: '期望完成时间', + // dataIndex: 'expectTime', + // render: (text, record, index) => { + // return record?.pomsNeedData?.expectTime?.value || '' + // } + // }, + { title: '操作', dataIndex: 'hadle', render: (text, record, index) => { @@ -196,7 +233,7 @@ const Rest = (props) => { columns={columns} dataSource={tableData} bordered={false} - hideExpandedColumn={false} + hideExpandedColumn={true} empty="暂无数据" pagination={false} /> @@ -246,11 +283,12 @@ const Rest = (props) => { } function mapStateToProps (state) { - const { auth, global, pomsProjectBasicAll } = state; + const { auth, global, pomsProjectBasicAll, allPepUsersIncludeDel } = state; return { user: auth.user, actions: global.actions, - pomsProjectBasicAll: pomsProjectBasicAll.data || [] + pomsProjectBasicAll: pomsProjectBasicAll.data || [], + allPepUsersIncludeDel: allPepUsersIncludeDel.data || [], }; } diff --git a/web/client/src/sections/workOrder/containers/receipt.jsx b/web/client/src/sections/workOrder/containers/receipt.jsx index ff59868..df6b217 100644 --- a/web/client/src/sections/workOrder/containers/receipt.jsx +++ b/web/client/src/sections/workOrder/containers/receipt.jsx @@ -7,8 +7,8 @@ import { SkeletonScreen, WorkflowApprovalModal } from "$components"; import moment from "moment"; const Rest = (props) => { - const { dispatch, actions, user, socket, pomsProjectBasicAll } = props - const { workOrder } = actions + const { dispatch, actions, user, socket, pomsProjectBasicAll, allPepUsersIncludeDel } = props + const { workOrder, service } = actions const [query, setQuery] = useState({ limit: 10, offset: 0 }); //页码信息 const [limits, setLimits] = useState(0)//每页实际条数 const [tableData, setTableData] = useState([]); @@ -22,6 +22,9 @@ const Rest = (props) => { if (!pomsProjectBasicAll.length) { dispatch(workOrder.getPomsProjectBasicAll()) } + if (!allPepUsersIncludeDel.length) { + dispatch(service.getOrganizationUsersIncludeDeleted()) + } }, []) let backlogData = (obj = { limit: 10, offset: 0 }) => { @@ -72,12 +75,18 @@ const Rest = (props) => { dataIndex: 'index', render: (text, record, index) => index + 1 }, { - title: '标题', - dataIndex: 'title', + title: '项目名称', + dataIndex: 'pomsProject', render: (text, record, index) => { - return record?.pomsNeedData?.title?.value || '' + return record?.pomsNeedData?.projectName?.value || '' } - }, + }, { + title: '申请内容描述', + dataIndex: 'applyContent', + render: (text, record, index) => { + return record?.pomsNeedData?.applyContent?.value || '' + } + }, // { // title: '关联项目', // dataIndex: 'pomsProject', @@ -91,13 +100,7 @@ const Rest = (props) => { // } // } // }, - { - title: '项目名称', - dataIndex: 'pomsProject', - render: (text, record, index) => { - return record?.pomsNeedData?.projectName?.value || '' - } - }, + { title: '申请人', dataIndex: 'application', @@ -110,17 +113,50 @@ const Rest = (props) => { render: (text, record) => { return judgmentProcessState(record, 'done') }, - }, { - title: '提交时间', - dataIndex: 'submissionTime', - render: (text, record, index) => text && moment(text).add(8, 'hours').format('YYYY-MM-DD HH:mm:ss') || '--' - }, { - title: '期望完成时间', - dataIndex: 'expectTime', + }, + + { + title: '处理人员', + dataIndex: 'handlingPerson', render: (text, record, index) => { - return record?.pomsNeedData?.expectTime?.value || '' + // 和 users 对 + return record?.pomsNeedData?.handlingPerson?.value ? allPepUsersIncludeDel.find(u => u.id == record?.pomsNeedData?.handlingPerson?.value)?.name : '' } - }, { + }, + { + title: '处理结果', + dataIndex: 'handlingResult', + render: (text, record, index) => { + return record?.pomsNeedData?.handlingResult?.value || '' + } + }, + { + title: '问题类型', + dataIndex: 'issueType', + render: (text, record, index) => { + return record?.pomsNeedData?.issueType?.value || '' + } + }, + { + title: '处理完成时间', + dataIndex: 'completionTime', + render: (text, record, index) => { + return record?.pomsNeedData?.completionTime?.value || '' + } + }, + + // { + // title: '提交时间', + // dataIndex: 'submissionTime', + // render: (text, record, index) => text && moment(text).add(8, 'hours').format('YYYY-MM-DD HH:mm:ss') || '--' + // }, { + // title: '期望完成时间', + // dataIndex: 'expectTime', + // render: (text, record, index) => { + // return record?.pomsNeedData?.expectTime?.value || '' + // } + // }, + { title: '操作', dataIndex: 'hadle', render: (text, record, index) =>
{ @@ -187,7 +223,7 @@ const Rest = (props) => { columns={columns} dataSource={tableData} bordered={false} - hideExpandedColumn={false} + hideExpandedColumn={true} empty="暂无数据" pagination={false} /> @@ -237,11 +273,12 @@ const Rest = (props) => { } function mapStateToProps (state) { - const { auth, global, pomsProjectBasicAll } = state; + const { auth, global, pomsProjectBasicAll, allPepUsersIncludeDel } = state; return { user: auth.user, actions: global.actions, - pomsProjectBasicAll: pomsProjectBasicAll.data || [] + pomsProjectBasicAll: pomsProjectBasicAll.data || [], + allPepUsersIncludeDel: allPepUsersIncludeDel.data || [], }; } diff --git a/web/client/src/sections/workOrder/containers/stayDoWorkOrder.jsx b/web/client/src/sections/workOrder/containers/stayDoWorkOrder.jsx index ca8d657..ec7ce73 100644 --- a/web/client/src/sections/workOrder/containers/stayDoWorkOrder.jsx +++ b/web/client/src/sections/workOrder/containers/stayDoWorkOrder.jsx @@ -6,9 +6,10 @@ import { IconSearch } from '@douyinfe/semi-icons'; import { SkeletonScreen, WorkflowModal, WorkflowApprovalModal } from "$components"; import moment from "moment"; + const Rest = (props) => { - const { dispatch, actions, user, socket, pomsProjectBasicAll } = props - const { workOrder } = actions + const { dispatch, actions, user, socket, pomsProjectBasicAll, allPepUsersIncludeDel } = props + const { workOrder, service } = actions const [query, setQuery] = useState({ limit: 10, page: 0 }); //页码信息 const [limits, setLimits] = useState(0)//每页实际条数 const [tableData, setTableData] = useState([]); //获取项目状态列表 @@ -21,6 +22,9 @@ const Rest = (props) => { if (!pomsProjectBasicAll.length) { dispatch(workOrder.getPomsProjectBasicAll()) } + if (!allPepUsersIncludeDel.length) { + dispatch(service.getOrganizationUsersIncludeDeleted()) + } }, []) let backlogData = (obj = {}) => { @@ -60,10 +64,16 @@ const Rest = (props) => { dataIndex: 'index', render: (text, record, index) => index + 1 }, { - title: '标题', - dataIndex: 'title', + title: '项目名称', + dataIndex: 'pomsProject', render: (text, record, index) => { - return record?.pomsNeedData?.title?.value || '' + return record?.pomsNeedData?.projectName?.value || '' + } + }, { + title: '申请内容描述', + dataIndex: 'applyContent', + render: (text, record, index) => { + return record?.pomsNeedData?.applyContent?.value || '' } }, // { @@ -79,30 +89,57 @@ const Rest = (props) => { // } // } // }, - { - title: '项目名称', - dataIndex: 'pomsProject', - render: (text, record, index) => { - return record?.pomsNeedData?.projectName?.value || '' - } - }, + { title: '申请人', dataIndex: 'applyerName', }, { title: '申请部门', dataIndex: 'applyDepartmentName', - }, { - title: '提交时间', - dataIndex: 'startTime', - render: (text, record, index) => text && moment(text).format('YYYY-MM-DD HH:mm:ss') || '--' - }, { - title: '期望完成时间', - dataIndex: 'expectTime', + }, + + { + title: '处理人员', + dataIndex: 'handlingPerson', render: (text, record, index) => { - return record?.pomsNeedData?.expectTime?.value || '' + // 和 users 对 + return record?.pomsNeedData?.handlingPerson?.value ? allPepUsersIncludeDel.find(u => u.id == record?.pomsNeedData?.handlingPerson?.value)?.name : '' } - }, { + }, + { + title: '处理结果', + dataIndex: 'handlingResult', + render: (text, record, index) => { + return record?.pomsNeedData?.handlingResult?.value || '' + } + }, + { + title: '问题类型', + dataIndex: 'issueType', + render: (text, record, index) => { + return record?.pomsNeedData?.issueType?.value || '' + } + }, + { + title: '处理完成时间', + dataIndex: 'completionTime', + render: (text, record, index) => { + return record?.pomsNeedData?.completionTime?.value || '' + } + }, + + // { + // title: '提交时间', + // dataIndex: 'startTime', + // render: (text, record, index) => text && moment(text).format('YYYY-MM-DD HH:mm:ss') || '--' + // }, { + // title: '期望完成时间', + // dataIndex: 'expectTime', + // render: (text, record, index) => { + // return record?.pomsNeedData?.expectTime?.value || '' + // } + // }, + { title: '操作', dataIndex: 'hadle', render: (text, record, index) =>
{ @@ -166,7 +203,7 @@ const Rest = (props) => { columns={columns} dataSource={tableData?.slice(query.limit * query.page, (query.page + 1) * query.limit)} bordered={false} - hideExpandedColumn={false} + hideExpandedColumn={true} empty="暂无数据" pagination={false} /> @@ -217,11 +254,12 @@ const Rest = (props) => { } function mapStateToProps (state) { - const { auth, global, pomsProjectBasicAll } = state; + const { auth, global, pomsProjectBasicAll, allPepUsersIncludeDel } = state; return { user: auth.user, actions: global.actions, - pomsProjectBasicAll: pomsProjectBasicAll.data || [] + pomsProjectBasicAll: pomsProjectBasicAll.data || [], + allPepUsersIncludeDel: allPepUsersIncludeDel.data || [], }; } diff --git a/web/client/src/utils/parseProcessData.js b/web/client/src/utils/parseProcessData.js index c22d8cc..c5b7097 100644 --- a/web/client/src/utils/parseProcessData.js +++ b/web/client/src/utils/parseProcessData.js @@ -51,6 +51,7 @@ const dataRecursionObj = (dataObj, index, needData, lastKeyObj, nd) => { return gotValue } else { if (keyObj.isGroup) { + debugger for (let item of dataObj[keyObj.prKey]) { const gotValue = dataRecursionObj(item, index + 1, needData, lastKeyObj, nd) if (gotValue) { @@ -94,6 +95,22 @@ export const parseProcessData = (applyDetail, pomsNeedData = { }, expectTime: { keyWord: '期望完成时间' + }, + applyContent: { + keyWord: '申请内容描述' + }, + handlingPerson: { + keyWord: '指派处理人员', + fromDataSource: true + }, + handlingResult: { + keyWord: '处理结果', + }, + issueType: { + keyWord: '问题类型', + }, + completionTime: { + keyWord: '处理完成时间', } }) => { let needData = JSON.parse(JSON.stringify(pomsNeedData)) diff --git a/web/client/src/utils/webapi.js b/web/client/src/utils/webapi.js index 128e531..6a1428a 100644 --- a/web/client/src/utils/webapi.js +++ b/web/client/src/utils/webapi.js @@ -59,7 +59,7 @@ export const ApiTable = { //服务-信鸽服务 getPush: "push", //获取推送配置列表 postPush: "push", //新增/编辑推送配置 - getOrganizationUsers: "organization/users", //获取全部未删除用户 + getOrganizationUsers: "organization/users", //获取全部用户 getProjectStructure: "project/structure", //获取绑定项目下结构物 getProjectStatus: "project/status", //获取项目状态列表 putPushPushId: "push/{pushId}", //更改推送配置状态(禁用或删除)