|
@@ -38,7 +38,7 @@ export const Type = {
|
|
|
add: 0, //新增
|
|
|
detail: 1, //详情
|
|
|
cancel: 2, //作废
|
|
|
- check: 3, //审核
|
|
|
+ save: 3, //保存草稿
|
|
|
};
|
|
|
|
|
|
export const StatusText = [
|
|
@@ -93,7 +93,6 @@ const ContractModal = (props) => {
|
|
|
ID: '行政部',
|
|
|
},
|
|
|
];
|
|
|
-
|
|
|
const [companyDepList, setCompanyDepList] = useState(depList || []);
|
|
|
const [archivesDepList, setArchivesDepList] = useState(archivesOptions);
|
|
|
const [dealDisable, setDealDisable] = useState(false);
|
|
@@ -147,18 +146,7 @@ const ContractModal = (props) => {
|
|
|
const advance = {
|
|
|
flow_id: 47,
|
|
|
form_list: null,
|
|
|
- // node_level_id:0,
|
|
|
- // id:0,
|
|
|
- // project_id:0,
|
|
|
- // cur_template_node_id:0,
|
|
|
- // next_template_node_id:0,
|
|
|
- // template_node_id:0,
|
|
|
- // flow_path:null,
|
|
|
- // template_id:0,
|
|
|
- // cur_template_id:0,
|
|
|
- // next_template_id:0,
|
|
|
formComponentValues: '',
|
|
|
- // audit_list:[],
|
|
|
};
|
|
|
|
|
|
//旧审批流兼容
|
|
@@ -331,16 +319,6 @@ const ContractModal = (props) => {
|
|
|
(data?.status == Status.CheckReject && forceModify)
|
|
|
)
|
|
|
return true;
|
|
|
- // let currentAuditUserID;
|
|
|
- // if (data?.status == Status.Checking && auditData) {
|
|
|
- // const { OaAuditList, audit_status } = auditData;
|
|
|
- // currentAuditUserID = OaAuditList[audit_status]?.auditor;
|
|
|
- // } else if (data?.status == Status.CalChecking && auditCelData) {
|
|
|
- // const { OaAuditList, audit_status } = auditCelData;
|
|
|
- // currentAuditUserID = OaAuditList[audit_status]?.auditor;
|
|
|
- // }
|
|
|
- // if (user.ID == currentAuditUserID) return true;
|
|
|
- // return false;
|
|
|
}, [data, type, forceModify]);
|
|
|
|
|
|
useEffect(() => {
|
|
@@ -438,9 +416,9 @@ const ContractModal = (props) => {
|
|
|
if (forceModify && data?.status == Status.CheckReject) {
|
|
|
return { contract: false, recall: false };
|
|
|
}
|
|
|
- if (data?.status == Status.ReCall) {
|
|
|
- return { contract: false, recall: true };
|
|
|
- }
|
|
|
+ // if (data?.status == Status.ReCall) {
|
|
|
+ // return { contract: false, recall: true };
|
|
|
+ // }
|
|
|
if (data?.status > Status.None) {
|
|
|
return { contract: true, recall: true };
|
|
|
}
|
|
@@ -552,6 +530,28 @@ const ContractModal = (props) => {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
+ const handleSaveDraft = () => {
|
|
|
+ let values = form.getFieldsValue();
|
|
|
+ if (!values.name) {
|
|
|
+ message.error('请填写合同名称!');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Object.keys(values).forEach((key) => {
|
|
|
+ if (Array.isArray(values[key]))
|
|
|
+ values[key].length == 0
|
|
|
+ ? delete values[key]
|
|
|
+ : (values[key] = JSON.stringify(values[key]));
|
|
|
+ });
|
|
|
+ if (values.effect_on)
|
|
|
+ values.effect_on = dayjs(values.effect_on).format(FORMAT);
|
|
|
+ const params = {
|
|
|
+ name: values.name,
|
|
|
+ content: JSON.stringify(values),
|
|
|
+ };
|
|
|
+ if (data?.id) params.id = data?.id;
|
|
|
+ handleOk(params, Type.save);
|
|
|
+ };
|
|
|
+
|
|
|
const getDepItemById = (id) => {
|
|
|
const fun = (list) => {
|
|
|
for (let i = 0; i < list.length; i++) {
|
|
@@ -600,6 +600,11 @@ const ContractModal = (props) => {
|
|
|
修改
|
|
|
</Button>
|
|
|
)}
|
|
|
+ {type == Type.add && (
|
|
|
+ <Button type="primary" onClick={handleSaveDraft}>
|
|
|
+ 保存草稿
|
|
|
+ </Button>
|
|
|
+ )}
|
|
|
<Button type="primary" onClick={handleSubmit} disabled={!isSuper}>
|
|
|
提交
|
|
|
</Button>
|
|
@@ -638,7 +643,10 @@ const ContractModal = (props) => {
|
|
|
name="company_id"
|
|
|
label="所属公司:"
|
|
|
tooltip="请选择该存档合同所属公司"
|
|
|
- initialValue={data?.company_id}
|
|
|
+ initialValue={
|
|
|
+ //不可编辑的时候直接赋值为company_name
|
|
|
+ !disableds.contract ? data?.company_id : data?.company_name
|
|
|
+ }
|
|
|
rules={[
|
|
|
{
|
|
|
required: true,
|
|
@@ -650,7 +658,7 @@ const ContractModal = (props) => {
|
|
|
showSearch
|
|
|
style={{ width: '100%' }}
|
|
|
placeholder="请选择"
|
|
|
- disabled={disableds.contract || disableds.recall}
|
|
|
+ disabled={disableds.contract}
|
|
|
filterOption={(input, option) =>
|
|
|
(option?.label ?? '')
|
|
|
.toLowerCase()
|
|
@@ -694,7 +702,7 @@ const ContractModal = (props) => {
|
|
|
value: 'ID',
|
|
|
children: 'children',
|
|
|
}}
|
|
|
- disabled={disableds.contract || disableds.recall}
|
|
|
+ disabled={disableds.contract}
|
|
|
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
|
|
|
treeData={companyDepList}
|
|
|
/>
|
|
@@ -765,7 +773,7 @@ const ContractModal = (props) => {
|
|
|
},
|
|
|
]}
|
|
|
>
|
|
|
- <Radio.Group disabled={disableds.contract || disableds.recall}>
|
|
|
+ <Radio.Group disabled={disableds.contract}>
|
|
|
<Radio value={1}>是</Radio>
|
|
|
<Radio value={0}>否</Radio>
|
|
|
</Radio.Group>
|
|
@@ -787,7 +795,9 @@ const ContractModal = (props) => {
|
|
|
<Form.Item
|
|
|
name="effect_on"
|
|
|
label="合同签订日期:"
|
|
|
- initialValue={data?.effect_on}
|
|
|
+ initialValue={
|
|
|
+ data?.effect_on ? dayjs(data?.effect_on, FORMAT) : ''
|
|
|
+ }
|
|
|
tooltip="合同主体各方签字盖章完成之日,以最后签字盖章的为准"
|
|
|
rules={[
|
|
|
{
|
|
@@ -796,14 +806,10 @@ const ContractModal = (props) => {
|
|
|
},
|
|
|
]}
|
|
|
>
|
|
|
- {type == Type.add ? (
|
|
|
- <DatePicker
|
|
|
- style={{ width: '100%' }}
|
|
|
- disabled={disableds.contract}
|
|
|
- />
|
|
|
- ) : (
|
|
|
- <Input disabled={disableds.contract} />
|
|
|
- )}
|
|
|
+ <DatePicker
|
|
|
+ style={{ width: '100%' }}
|
|
|
+ disabled={disableds.contract}
|
|
|
+ />
|
|
|
</Form.Item>
|
|
|
<Form.Item
|
|
|
name="project_name"
|
|
@@ -875,10 +881,7 @@ const ContractModal = (props) => {
|
|
|
: []
|
|
|
}
|
|
|
>
|
|
|
- <Input
|
|
|
- placeholder="请填写"
|
|
|
- disabled={disableds.contract || disableds.recall}
|
|
|
- />
|
|
|
+ <Input placeholder="请填写" disabled={disableds.contract} />
|
|
|
</Form.Item>
|
|
|
<Form.Item
|
|
|
name="code"
|
|
@@ -947,7 +950,7 @@ const ContractModal = (props) => {
|
|
|
name="party_c"
|
|
|
label="丙方(及其他):"
|
|
|
tooltip="可多选。合同主体可以下拉选择,可选项需要经办人在“主页--供应商管理”中创建。经办人可以维护和更新供应商信息。"
|
|
|
- initialValue={data?.party_c ? data?.party_c.split(',') : []}
|
|
|
+ initialValue={data?.party_c ? data?.party_c?.split(',') : []}
|
|
|
labelCol={{ span: 4 }}
|
|
|
>
|
|
|
<Select
|