wenlele 2 years ago
parent
commit
39430d3822
  1. 2
      api/app/lib/controllers/operationData/index.js
  2. 6
      api/app/lib/controllers/organization/index.js
  3. 2
      api/app/lib/routes/organization/index.js
  4. 162
      web/client/src/sections/service/actions/emPush.js
  5. 87
      web/client/src/sections/workOrder/containers/aboutMe.jsx
  6. 86
      web/client/src/sections/workOrder/containers/initiated.jsx
  7. 86
      web/client/src/sections/workOrder/containers/preserve.jsx
  8. 87
      web/client/src/sections/workOrder/containers/receipt.jsx
  9. 86
      web/client/src/sections/workOrder/containers/stayDoWorkOrder.jsx
  10. 17
      web/client/src/utils/parseProcessData.js
  11. 2
      web/client/src/utils/webapi.js

2
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

6
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, {

2
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 };

162
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: {},
});
}

87
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) => <div style={{ width: 60, color: "#1890ff", cursor: "pointer" }} onClick={() => {
@ -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 || [],
};
}

86
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 || [],
};
}

86
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 || [],
};
}

87
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) => <div style={{ width: 60, color: "#1890ff", cursor: "pointer" }} onClick={() => {
@ -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 || [],
};
}

86
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) => <div style={{ width: 60, color: "#1890ff", cursor: "pointer" }} onClick={() => {
@ -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 || [],
};
}

17
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))

2
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}", //更改推送配置状态(禁用或删除)

Loading…
Cancel
Save