Browse Source

问题处理选择人员功能提交

master
peng.peng 2 years ago
parent
commit
d3443e84ce
  1. 9
      api/app/lib/controllers/patrolManage/patrolRecord.js
  2. 36
      web/client/src/sections/issueHandle/components/isuue-handle-mdal.js
  3. 9
      web/client/src/sections/issueHandle/containers/patrolRecord.js

9
api/app/lib/controllers/patrolManage/patrolRecord.js

@ -116,7 +116,14 @@ async function findPatrolRecord(ctx, next) {
}) })
} }
} }
let userInfo = ctx.fs.api.userInfo;
if (userInfo.username != 'SuperAdmin') {
if (userInfo.structure) {
rslt = rslt.filter(s => userInfo.structure.find(x => x == s.points.project.id))
} else {
rslt = []
}
}
ctx.status = 200; ctx.status = 200;
ctx.body = rslt; ctx.body = rslt;
error = null error = null

36
web/client/src/sections/issueHandle/components/isuue-handle-mdal.js

@ -13,7 +13,7 @@ import moment from 'moment';
const FormItem = Form.Item; const FormItem = Form.Item;
//state: 1下发未上报 2已上报待审批 3整改完成 上报结果result: status 0 已上报未审批 1 审批通过 2 审批驳回 //state: 1下发未上报 2已上报待审批 3整改完成 上报结果result: status 0 已上报未审批 1 审批通过 2 审批驳回
export default (props) => { export default (props) => {
const { title, triggerRender, editData = null, onFinish, readOnly, companyList, user } = props; const { title, triggerRender, editData = null, onFinish, readOnly, structsUsers, user } = props;
const formItemLayout = { labelCol: { span: 7 }, wrapperCol: { span: 16 } }; const formItemLayout = { labelCol: { span: 7 }, wrapperCol: { span: 16 } };
const formRef = useRef(); const formRef = useRef();
@ -21,7 +21,9 @@ export default (props) => {
...editData, ...editData,
...editData?.patrolRecordIssueHandles[0], ...editData?.patrolRecordIssueHandles[0],
approvePerson: editData?.patrolRecordIssueHandles[0]?.approvePerson?.name || '', approvePerson: editData?.patrolRecordIssueHandles[0]?.approvePerson?.name || '',
approveDate: editData?.patrolRecordIssueHandles[0]?.approveDate ? moment(editData?.patrolRecordIssueHandles[0]?.approveDate).format('YYYY-MM-DD HH:mm:ss') : "" approveDate: editData?.patrolRecordIssueHandles[0]?.approveDate ? moment(editData?.patrolRecordIssueHandles[0]?.approveDate).format('YYYY-MM-DD HH:mm:ss') : "",
repairPerson: JSON.stringify(editData?.patrolRecordIssueHandles[0]?.repairPerson),
checkPerson: JSON.stringify(editData?.patrolRecordIssueHandles[0]?.checkPerson),
} : {}; } : {};
if (editData?.patrolRecordIssueHandles?.length > 0) { if (editData?.patrolRecordIssueHandles?.length > 0) {
initialValues.dateRange = [editData?.patrolRecordIssueHandles[0]?.startTime, editData?.patrolRecordIssueHandles[0]?.endTime] initialValues.dateRange = [editData?.patrolRecordIssueHandles[0]?.startTime, editData?.patrolRecordIssueHandles[0]?.endTime]
@ -124,6 +126,8 @@ export default (props) => {
</Row></> </Row></>
} }
const users = structsUsers?.find(s => s.id == editData?.points?.project?.id)?.users?.map(v => { return { value: JSON.stringify(v), label: v.name } })
return ( return (
<ModalForm <ModalForm
formRef={formRef} formRef={formRef}
@ -150,6 +154,8 @@ export default (props) => {
} else { } else {
values.startTime = values?.dateRange[0]; values.startTime = values?.dateRange[0];
values.endTime = values?.dateRange[1]; values.endTime = values?.dateRange[1];
values.repairPerson = JSON.parse(values.repairPerson)
values.checkPerson = JSON.parse(values.checkPerson)
onFinish && await onFinish(values, editData) onFinish && await onFinish(values, editData)
//message.success('提交成功'); //message.success('提交成功');
return true; return true;
@ -182,16 +188,23 @@ export default (props) => {
<div className="item-title">{"维修计划信息"}</div> <div className="item-title">{"维修计划信息"}</div>
<Row> <Row>
<Col span={12}> <Col span={12}>
<ProFormSelect {!readOnly ? <ProFormSelect
rules={[{ required: true, message: '请选择维修人' }]} rules={[{ required: true, message: '请选择维修人' }]}
options={[{ value: 1, label: '维修工1' }, { value: 2, label: '维修工2' }]} options={users || []}
disabled={readOnly} disabled={readOnly}
name="repairPerson" name="repairPerson"
label="选择维修人" label="维修人"
fieldProps={{ fieldProps={{
showSearch: true showSearch: true
}} }}
/> :
<ProFormText
name="repairPerson1"
label="维修人:"
disabled={true}
value={editData?.patrolRecordIssueHandles[0]?.repairPerson?.name}
/> />
}
</Col> </Col>
<Col span={12}> <Col span={12}>
<ProFormText <ProFormText
@ -218,16 +231,21 @@ export default (props) => {
/> />
</Col> </Col>
<Col span={12}> <Col span={12}>
<ProFormSelect {!readOnly ? <ProFormSelect
rules={[{ required: true, message: '请选择质检人' }]} rules={[{ required: true, message: '请选择质检人' }]}
options={[{ value: 3, label: '质检人1' }, { value: 4, label: '质检人2' }]} options={users || []}
disabled={readOnly} disabled={readOnly}
name="checkPerson" name="checkPerson"
label="选择质检人" label="质检人"
fieldProps={{ fieldProps={{
showSearch: true showSearch: true
}} }}
/> /> : <ProFormText
name="checkPerson1"
label="质检人:"
disabled={true}
value={editData?.patrolRecordIssueHandles[0]?.checkPerson?.name}
/>}
</Col> </Col>
<Col span={12}> <Col span={12}>
<ProFormTextArea <ProFormTextArea

9
web/client/src/sections/issueHandle/containers/patrolRecord.js

@ -8,7 +8,8 @@ import moment from "moment";
import Uploads from '$components/Uploads'; import Uploads from '$components/Uploads';
import IssueHandleModal from '../components/isuue-handle-mdal' import IssueHandleModal from '../components/isuue-handle-mdal'
import '../style.less' import '../style.less'
import { Func } from '$utils'; import { useFsRequest, ApiTable, Func } from '$utils';
const { Panel } = Collapse; const { Panel } = Collapse;
const ISSUEHANDLE_STATE = [1, 2, 3, 4, 5, 6, 7] const ISSUEHANDLE_STATE = [1, 2, 3, 4, 5, 6, 7]
const STATE_TEXT = { 1: '待制定计划', 2: '待审核', 3: '计划驳回', 4: '待维修', 5: '待验收', 6: '验收通过', 7: '验收不通过', } const STATE_TEXT = { 1: '待制定计划', 2: '待审核', 3: '计划驳回', 4: '待维修', 5: '待验收', 6: '验收通过', 7: '验收不通过', }
@ -23,6 +24,7 @@ const PatrolRecord = (props) => {
const times = [moment().subtract(70, 'years').format(format), moment().format(format)] const times = [moment().subtract(70, 'years').format(format), moment().format(format)]
const [search, setSearch] = useState({ name: null, time: [times[0], times[1]], state: 'null' }) const [search, setSearch] = useState({ name: null, time: [times[0], times[1]], state: 'null' })
const { data: structsUsers = [] } = useFsRequest({ url: 'structures/users' });
useEffect(() => { useEffect(() => {
queryData() queryData()
}, []) }, [])
@ -146,6 +148,7 @@ const PatrolRecord = (props) => {
const options = []; const options = [];
if (Func.isAuthorized('ZHIDINGJIHUA') && (!record?.patrolRecordIssueHandles || record?.patrolRecordIssueHandles?.length == 0)) { if (Func.isAuthorized('ZHIDINGJIHUA') && (!record?.patrolRecordIssueHandles || record?.patrolRecordIssueHandles?.length == 0)) {
options.push(<IssueHandleModal options.push(<IssueHandleModal
structsUsers={structsUsers}
editData={record} editData={record}
readOnly={false} readOnly={false}
key="edit" key="edit"
@ -157,6 +160,7 @@ const PatrolRecord = (props) => {
if (Func.isAuthorized('XIUGAIJIUHA') && (record?.patrolRecordIssueHandles[0]?.state == 3 || record?.patrolRecordIssueHandles[0]?.state == 2)) { if (Func.isAuthorized('XIUGAIJIUHA') && (record?.patrolRecordIssueHandles[0]?.state == 3 || record?.patrolRecordIssueHandles[0]?.state == 2)) {
options.push(<IssueHandleModal options.push(<IssueHandleModal
structsUsers={structsUsers}
editData={record} editData={record}
readOnly={false} readOnly={false}
key="edit" key="edit"
@ -168,6 +172,7 @@ const PatrolRecord = (props) => {
if (Func.isAuthorized('SHENHE') && record?.patrolRecordIssueHandles[0]?.state == 2) { if (Func.isAuthorized('SHENHE') && record?.patrolRecordIssueHandles[0]?.state == 2) {
options.push(<IssueHandleModal options.push(<IssueHandleModal
structsUsers={structsUsers}
editData={record} editData={record}
readOnly={true} readOnly={true}
key="edit" key="edit"
@ -179,6 +184,7 @@ const PatrolRecord = (props) => {
Func.isAuthorized('CHAKANXIANGQING') && options.push(<IssueHandleModal Func.isAuthorized('CHAKANXIANGQING') && options.push(<IssueHandleModal
structsUsers={structsUsers}
editData={record} editData={record}
readOnly={true} readOnly={true}
key="edit" key="edit"
@ -215,7 +221,6 @@ const PatrolRecord = (props) => {
pagination={{ pagination={{
showSizeChanger: true, showSizeChanger: true,
pageSizeOptions: [10, 20, 50], pageSizeOptions: [10, 20, 50],
}} }}
/> />
</div> </div>

Loading…
Cancel
Save