|
@@ -16,6 +16,8 @@ import {
|
|
|
InputNumber,
|
|
|
Popconfirm,
|
|
|
Select,
|
|
|
+ Radio,
|
|
|
+ Checkbox,
|
|
|
} from "antd";
|
|
|
import mapDataAll from "./data";
|
|
|
import dayjs from "dayjs";
|
|
@@ -86,15 +88,45 @@ function A1Add({ pageType, closeFu, addFu, editFu }: Props) {
|
|
|
(state: RootState) => state.A2Dict.A2Tab1_1Obj.status
|
|
|
);
|
|
|
|
|
|
+ // 从仓库 获取 签订主体 数据
|
|
|
+ const mainArr = useSelector(
|
|
|
+ (state: RootState) => state.A2Dict.A2Tab1_1Obj.main
|
|
|
+ );
|
|
|
+
|
|
|
+ // 从仓库 获取 业务部门 数据
|
|
|
+ const deptArr = useSelector(
|
|
|
+ (state: RootState) => state.A2Dict.A2Tab1_1Obj.dept
|
|
|
+ );
|
|
|
+
|
|
|
+ // 从仓库 获取 业务类型 数据
|
|
|
+ const projectBusinessArr = useSelector(
|
|
|
+ (state: RootState) => state.A2Dict.A2Tab1_1Obj.projectBusiness
|
|
|
+ );
|
|
|
+
|
|
|
+ // 从仓库 获取 项目范围 数据
|
|
|
+ const projectScopeArr = useSelector(
|
|
|
+ (state: RootState) => state.A2Dict.A2Tab1_1Obj.projectScope
|
|
|
+ );
|
|
|
+
|
|
|
+ // 从仓库 获取 客户端 数据
|
|
|
+ const projectAppArr = useSelector(
|
|
|
+ (state: RootState) => state.A2Dict.A2Tab1_1Obj.projectApp
|
|
|
+ );
|
|
|
+
|
|
|
// 表单的ref
|
|
|
const FormBoxRef = useRef<FormInstance>(null);
|
|
|
|
|
|
// 没有通过校验
|
|
|
- const onFinishFailed = useCallback(() => {}, []);
|
|
|
+ const onFinishFailed = useCallback(() => {
|
|
|
+ console.log("没有通过校验");
|
|
|
+ }, []);
|
|
|
|
|
|
// 通过校验点击确定
|
|
|
const onFinish = useCallback(
|
|
|
async (value: any) => {
|
|
|
+ console.log('sadfljslfksdfjlk');
|
|
|
+
|
|
|
+
|
|
|
// 项目周期的处理
|
|
|
let dateScope = "";
|
|
|
if (value.dateScope && value.dateScope.length >= 1) {
|
|
@@ -109,12 +141,17 @@ function A1Add({ pageType, closeFu, addFu, editFu }: Props) {
|
|
|
if (value.province && value.province.length)
|
|
|
province = value.province.join("-");
|
|
|
|
|
|
+ // 中标日期的处理
|
|
|
+ let bidDate = "";
|
|
|
+ if (value.bidDate) bidDate = dayjs(value.bidDate).format("YYYY-MM-DD");
|
|
|
+
|
|
|
const obj = {
|
|
|
...value,
|
|
|
id: pageType.txt === "add" ? null : pageType.id,
|
|
|
dateScope,
|
|
|
amount: value.amount ? value.amount : "",
|
|
|
province,
|
|
|
+ bidDate,
|
|
|
};
|
|
|
const res = await A1_APIaddProject(obj);
|
|
|
if (res.code === 0) {
|
|
@@ -148,6 +185,16 @@ function A1Add({ pageType, closeFu, addFu, editFu }: Props) {
|
|
|
// 创建人 的 值
|
|
|
const [creatorIdValue, setCreatorIdValue] = useState(userInfo.id);
|
|
|
|
|
|
+ // 是否投标
|
|
|
+ const [isBid, setIsBid] = useState<number | undefined>();
|
|
|
+ // 是否显示中标日期
|
|
|
+ const [isShowBidDate, setIsShowBidDate] = useState<number | undefined>();
|
|
|
+
|
|
|
+ useEffect(() => {
|
|
|
+ setIsShowBidDate(isBid);
|
|
|
+ }, [isBid]);
|
|
|
+
|
|
|
+
|
|
|
return (
|
|
|
<div className={styles.A1Add}>
|
|
|
<div
|
|
@@ -167,6 +214,9 @@ function A1Add({ pageType, closeFu, addFu, editFu }: Props) {
|
|
|
snapPmUser: userInfo.realName,
|
|
|
creatorId: userInfo.id,
|
|
|
}}
|
|
|
+ onValuesChange={(changedValues, allValues) => {
|
|
|
+ setIsBid(allValues.isBid);
|
|
|
+ }}
|
|
|
>
|
|
|
<Form.Item
|
|
|
label="项目编号"
|
|
@@ -261,6 +311,55 @@ function A1Add({ pageType, closeFu, addFu, editFu }: Props) {
|
|
|
/>
|
|
|
</Form.Item>
|
|
|
|
|
|
+ <Form.Item
|
|
|
+ label="签订主体"
|
|
|
+ name="dictMainId"
|
|
|
+ >
|
|
|
+ <Select
|
|
|
+ placeholder={
|
|
|
+ isOk ? (pageType.txt === "look" ? "(空)" : "请选择") : ""
|
|
|
+ }
|
|
|
+ style={{ width: 300 }}
|
|
|
+ options={mainArr.map((v) => ({ value: v.id, label: v.name }))}
|
|
|
+ />
|
|
|
+ </Form.Item>
|
|
|
+
|
|
|
+ <Form.Item
|
|
|
+ label="业务部门"
|
|
|
+ name="dictDeptId"
|
|
|
+ >
|
|
|
+ <Select
|
|
|
+ placeholder={
|
|
|
+ isOk ? (pageType.txt === "look" ? "(空)" : "请选择") : ""
|
|
|
+ }
|
|
|
+ style={{ width: 300 }}
|
|
|
+ options={deptArr.map((v) => ({ value: v.id, label: v.name }))}
|
|
|
+ />
|
|
|
+ </Form.Item>
|
|
|
+
|
|
|
+ <div className="form-item-group-one-row">
|
|
|
+ <Form.Item
|
|
|
+ label="是否投标"
|
|
|
+ name="isBid"
|
|
|
+ >
|
|
|
+ <Radio.Group>
|
|
|
+ <Radio value={0}>否</Radio>
|
|
|
+ <Radio value={1}>是</Radio>
|
|
|
+ </Radio.Group>
|
|
|
+ </Form.Item>
|
|
|
+
|
|
|
+ {isShowBidDate === 1 ? (
|
|
|
+ <Form.Item label="中标日期" name="bidDate"
|
|
|
+ required={isBid === 1}
|
|
|
+ >
|
|
|
+ <DatePicker
|
|
|
+ style={{ width: 300 }}
|
|
|
+ disabled={isBid === 0}
|
|
|
+ />
|
|
|
+ </Form.Item>
|
|
|
+ ) : null}
|
|
|
+ </div>
|
|
|
+
|
|
|
{pageType.txt === "look" ? (
|
|
|
<div className="e_row">
|
|
|
<div className="e_rowL">
|
|
@@ -346,6 +445,55 @@ function A1Add({ pageType, closeFu, addFu, editFu }: Props) {
|
|
|
</div>
|
|
|
)}
|
|
|
|
|
|
+ <h3 className="form-item-group-title__porject-type">项目类型</h3>
|
|
|
+ <div className="form-item-group__porject-type">
|
|
|
+ {/* 表单项:业务类型,单选。 */}
|
|
|
+ <Form.Item
|
|
|
+ label="业务类型"
|
|
|
+ name="dictProjectBusinessIds"
|
|
|
+ tooltip="甲方的业务类型"
|
|
|
+ >
|
|
|
+ <Radio.Group>
|
|
|
+ {projectBusinessArr.map((v) => (
|
|
|
+ <Radio key={v.id} value={v.id}>
|
|
|
+ <span title={v.description}>{v.name}</span>
|
|
|
+ </Radio>
|
|
|
+ ))}
|
|
|
+ </Radio.Group>
|
|
|
+ </Form.Item>
|
|
|
+
|
|
|
+ {/* 表单项:项目范围,多选。 */}
|
|
|
+ <Form.Item
|
|
|
+ label="项目范围"
|
|
|
+ name="dictProjectScopeIds"
|
|
|
+ tooltip="项目的建设范围"
|
|
|
+ >
|
|
|
+ <Checkbox.Group>
|
|
|
+ {projectScopeArr.map((v) => (
|
|
|
+ <Checkbox key={v.id} value={v.id}>
|
|
|
+ <span title={v.description}>{v.name}</span>
|
|
|
+ </Checkbox>
|
|
|
+ ))}
|
|
|
+ </Checkbox.Group>
|
|
|
+ </Form.Item>
|
|
|
+
|
|
|
+ {/* 表单项:客户端,多选。 */}
|
|
|
+ <Form.Item
|
|
|
+ label="客户端"
|
|
|
+ name="dictProjectAppIds"
|
|
|
+ tooltip="项目成果的呈现载体"
|
|
|
+ >
|
|
|
+ <Checkbox.Group>
|
|
|
+ {projectAppArr.map((v) => (
|
|
|
+ <Checkbox key={v.id} value={v.id}>
|
|
|
+ <span title={v.description}>{v.name}</span>
|
|
|
+ </Checkbox>
|
|
|
+ ))}
|
|
|
+ </Checkbox.Group>
|
|
|
+ </Form.Item>
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
{/* 确定和取消按钮 */}
|
|
|
<div className="A1AddBtn">
|
|
|
{pageType.txt === "look" ? null : (
|
|
@@ -359,8 +507,6 @@ function A1Add({ pageType, closeFu, addFu, editFu }: Props) {
|
|
|
>
|
|
|
<Button>取消</Button>
|
|
|
</Popconfirm>
|
|
|
- <br />
|
|
|
- <br />
|
|
|
<Button type="primary" htmlType="submit">
|
|
|
保存
|
|
|
</Button>
|