/* eslint-disable */ import React, { useEffect, useState, useReducer } from "react"; import { Button, Form, Input, Space, Upload, Select, Switch, message, DatePicker, Spin } from "antd-v4"; import { CheckOutlined, CloseOutlined } from "@ant-design/icons"; import BraftEditor from "braft-editor"; import "braft-editor/dist/index.css"; import styles from "./index.less"; import * as commonServices from "@/services/services"; import commonConfig from "@/utils/config"; import * as commonUtils from "@/utils/utils"; import moment from "moment"; import WorkOrderSystemService from "./WorkOrderSystemService"; let _dispatch, _props; const reducer = (state, action) => { const [type, payload] = action; switch (type) { case "set": return { ...state, ...payload }; default: return { ...state, ...payload }; } }; // 主入口 const WorkOrderSystemAdd = props => { const [state, dispatch] = useReducer(reducer, { sType: 4, bBug: false, bVsersion: false }); const { customerData, moduleData, userData, loading = false } = state; const [form] = Form.useForm(); const [formState] = useState(state); // 表单数据 const [files, setFiles] = useState([]); // 附件数据 const [customerOption, setCustomerOption] = useState([]); // 【所属客户】下拉选项 const [moduleOption, setModuleOption] = useState([]); // 【所属模块】下拉选项 const [userOption, setUserOption] = useState([]); // 【处理人、抄送人】下拉选项 const priorityOption = [ { label: "严重", value: 1 }, { label: "紧急", value: 2 }, { label: "一般", value: 3 }, { label: "优化", value: 4 } ]; // 初始化加载数据 useEffect(() => { _dispatch = dispatch; _props = props; handleGetsCustomerData(); handleGetsModuleData(); handleGetUserData(); }, []); // 设置【所属客户】下拉值 useEffect( () => { commonUtils.isNotEmptyArr(customerData) && setCustomerOption( customerData.map(item => ({ label: item.sCustomerName, value: item.sCustomerId || item.sId })) ); }, [customerData] ); // 设置【处理人、抄送人】下拉值 useEffect( () => { commonUtils.isNotEmptyArr(userData) && setUserOption( userData.map(item => ({ label: item.sHanldeName, value: item.sHanldeId })) ); }, [userData] ); // 设置【所属模块】下拉值 useEffect( () => { commonUtils.isNotEmptyArr(moduleData) && setModuleOption( moduleData.map(item => ({ label: item.sModuleName, value: item.sModuleId })) ); }, [moduleData] ); // 提交 const onFinish = values => { const { app } = props; const { userinfo, currentPane } = app; const { companyName, sUserName: sMakePerson, sId: sLoginId } = userinfo; // const { title: sModuleName, formId: sModuleId } = currentPane; const commonData = { sCustomerName: companyName, sBrandName: companyName, sMakePerson, sLoginId // sModuleName, // sModuleId }; let addState = {}; if (values.sCopyHanldeId) { addState.sCopyHanldeId = values.sCopyHanldeId.toString(); addState.sCopyHanldeName = userData .filter(item => values.sCopyHanldeId.includes(item.sHanldeId)) .map(item => item.sHanldeName) .toString(); } if (values.sModuleId) { const iIndex = moduleData.findIndex( item => item.sModuleId === values.sModuleId ); if (iIndex !== -1) { // 下拉选中的数据 addState = { ...addState, ...moduleData[iIndex] }; } else { // 手输的数据 addState = { ...addState, sModuleName: values.sModuleId, sModuleId: commonUtils.createSid() }; } } if (values.tDevHandleDate) { addState.tDevHandleDate = moment(values.tDevHandleDate).format( "YYYY-MM-DD" ); } if (values.tHandleDate) { addState.tHandleDate = moment(values.tHandleDate).format("YYYY-MM-DD"); } const submitData = { ...commonData, ...values, ...customerData.find( item => (item.sCustomerId || item.sId) === values.sCustomerId ), // ...moduleData.find(item => item.sModuleId === values.sModuleId), ...userData.find(item => item.sHanldeId === values.sHanldeId), ...addState, sContentMemo: values.sContentMemo.toHTML(), fileData: [] }; dispatch(["set", { loading: true }]); // 如果有附件,先上传附件再提交保存 if (files.length) { handleUpload(files, fileData => { handleSubmit({ ...submitData, fileData }); }); } else { handleSubmit(submitData); } }; // 附件props const uploadProps = { accept: "*/*", multiple: true, beforeUpload: file => { files.push(file); setFiles(files); return false; }, onRemove: file => { const filesNew = files.filter(item => item.uid !== file.uid); setFiles(filesNew); } }; return (
{ if (value.length) { form.setFieldValue("sModuleId", value[value.length - 1]); } }} />