From 644d6d2962d93821c45936fea9557d026673cb4e Mon Sep 17 00:00:00 2001
From: dminyi <1301963064@qq.com>
Date: Tue, 10 Sep 2024 17:07:55 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master

---
 gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx |  156 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 109 insertions(+), 47 deletions(-)

diff --git a/gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx b/gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx
index 4cbaee5..acb04d2 100644
--- a/gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx
+++ b/gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx
@@ -1,14 +1,30 @@
-import React, { useRef } from 'react'
+import React, { useEffect, useRef, useState } from 'react'
 import { Row, Col } from 'antd';
-import { Form, Input, Button, Radio, Select, Modal, Cascader, Upload, Message } from '@arco-design/web-react';
+import { Form, Input, Button, Radio } from '@arco-design/web-react';
 import ArcoUpload from '@/components/ArcoUpload';
+import { Scrollbars } from "react-custom-scrollbars";
+import * as $$ from '@/utils/utility';
 
 const RadioGroup = Radio.Group;
 const FormItem = Form.Item;
 const TextArea = Input.TextArea;
+const appUrl = $$.appUrl;
+
+function getId() {
+  return $$.ax.request({ url: `caseUtils/getNewTimeId`, type: 'get', service: 'utils' });
+}
+
+function delFile(id) {
+  return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } });
+}
+
+function returnApply(data) {
+  return $$.ax.request({ url: `caseTask/returnApply`, type: 'post', service: 'mediate', data });
+}
 
 export default function BackModel(props) {
   const formRef = useRef();
+  const [id, setId] = useState();
   const options = [
     {
       label: '不属于本部门的职能范围',
@@ -31,57 +47,103 @@
       value: 5
     },
   ]
-  const handleSubmit = () => {
 
+  useEffect(() => {
+    getAppId()
+  }, [])
+
+  //获取id
+  const getAppId = async () => {
+    const res = await getId()
+    if (res.type) {
+      setId(res.data)
+    }
   }
+
+  const handleSubmit = () => {
+    if (formRef.current) {
+      formRef.current.validate(undefined, (errors, values) => {
+        if (!errors) {
+          handleReturn({
+            id,
+            caseId: props.caseId,
+            returnContent: values.returnContent
+          })
+        }
+      })
+    }
+  }
+
+  //删除文件
+  const handleDelFile = async (id) => {
+    const res = await delFile(id)
+    if (res.type) {
+      $$.infoSuccess({ content: '删除成功!' });
+    }
+  }
+
+  //回退请求
+  const handleReturn = async (data) => {
+    const res = await returnApply(data)
+    if (res.type) {
+      $$.infoSuccess({ content: '提交申请成功!' });
+      props.onCancel()
+    }
+  }
+
   return (
     <div>
-      <Row style={{ margin: '0 2px 0 0' }}>
-        <Col span={24}>
-          <Form
-            ref={formRef}
-            layout='vertical'
-            requiredSymbol={false}
-            initialValues={{
-            }}//默认值
-            scrollToFirstError
-          >
-            <Row gutter={[32, 0]} style={{ margin: '0 -10px' }}>
-              <Col span={24}>
-                <FormItem
-                  label={(<div style={{ display: 'flex' }}>回退理由<div className="must">必填</div></div>)}
-                  field='trueName'
-                  rules={[{ required: true, message: '请选择回退理由' }]}
-                >
-                  <RadioGroup direction='vertical' options={options}>
-                  </RadioGroup>
-                </FormItem>
-              </Col>
-              <Col span={24}>
-                <FormItem
-                  label=' '
-                  field='luyou'
-                  rules={[{ required: true, message: '回退理由不能为空' }]}
-                >
-                  <TextArea
-                    autoSize={{ minRows: 4, maxRows: 8 }}
-                    placeholder='请填写回退的具体理由'
-                  />
-                </FormItem>
-              </Col>
-              <Col span={24} className="doubleFile">
-                <ArcoUpload
-                  params={{
-                    action: ``,
+      <Scrollbars style={{ height: '550px' }} autoHide>
+        <Form
+          ref={formRef}
+          layout='vertical'
+          requiredSymbol={false}
+          initialValues={{
+          }}//默认值
+          scrollToFirstError
+        >
+          <Row>
+            <Col span={24}>
+              <FormItem
+                label={(<div style={{ display: 'flex' }}>回退理由<div className="must">必填</div></div>)}
+                field='backType'
+                rules={[{ required: true, message: '请选择回退理由' }]}
+              >
+                <RadioGroup
+                  direction='vertical'
+                  options={options}
+                  onChange={(value) => {
+                    const obj = options.find(item => item.value === value)
+                    formRef.current.setFieldValue('returnContent', obj.label)
                   }}
-                  field='file'
-                  label='附件材料'
                 />
-              </Col>
-            </Row>
-          </Form>
-        </Col>
-      </Row>
+              </FormItem>
+            </Col>
+            <Col span={24}>
+              <FormItem
+                label=' '
+                field='returnContent'
+                rules={[{ required: true, message: '回退理由不能为空' }]}
+              >
+                <TextArea
+                  autoSize={{ minRows: 4, maxRows: 8 }}
+                  placeholder='请填写回退的具体理由'
+                />
+              </FormItem>
+            </Col>
+            <Col span={24} className="doubleFile">
+              <ArcoUpload
+                params={{
+                  action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.caseId}&ownerId=${id}&ownerType=22_00018-510`,
+                }}
+                field='file'
+                label='附件材料'
+                handleDelFile={handleDelFile}
+              />
+            </Col>
+          </Row>
+        </Form>
+      </Scrollbars>
       <div className='dialogFooter'>
         <Button
           type="primary"

--
Gitblit v1.8.0