From 65c8026eaeff3d769a1d168933e13035708233e0 Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Thu, 05 Sep 2024 10:00:48 +0800
Subject: [PATCH] 合并冲突

---
 gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx |  238 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 191 insertions(+), 47 deletions(-)

diff --git a/gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx b/gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx
index 4b4fbcc..58787a7 100644
--- a/gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx
+++ b/gz-customerSystem/src/views/register/handleFeedback/component/handle.jsx
@@ -1,7 +1,7 @@
 import React, { useState, useRef, useEffect } from 'react';
-import { Col, Space, Row, Tooltip, Button } from 'antd';
+import { Col, Space, Row, Tooltip } from 'antd';
 import { register, fold, down, empty, link } from '@/assets/images';
-import { Form, Input, Tabs, Typography, Empty } from '@arco-design/web-react';
+import { Form, Input, Tabs, Typography, Empty, Upload, Button, Modal } from '@arco-design/web-react';
 import { question1, } from '@/assets/images';
 import ProgressStep from '@/components/ProgressStep/VisitStep';
 import SelectObjModal from '@/components/SelectObjModal/selectPerson';
@@ -9,11 +9,15 @@
 import { scan } from '@/assets/images/icon'
 import DocumentScanner from './FileUpLoad'
 import * as $$ from '@/utils/utility';
+import CaseResult from './CaseResult'
+import ArcoUpload from '@/components/ArcoUpload';
 
 
 const InputSearch = Input.Search;
 const FormItem = Form.Item;
 const TabPane = Tabs.TabPane;
+const appUrl = $$.appUrl;
+
 
 const style = {
   textAlign: 'center',
@@ -72,12 +76,33 @@
   },
 ];
 
+function getByIdRoleApi(id) {
+  return $$.ax.request({ url: 'ctUser/getByIdRole?id=' + id, type: 'get', service: 'cust' });
+}
+
+function choosePrincipalApi(id) {
+  return $$.ax.request({ url: 'caseInfoUnfold/choosePrincipal?caseId=24083010062110001&userId=' + id, type: 'get', service: 'mediate' });
+}
+
+function delFile(id) {
+  return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } });
+}
+
+function getNewTimeIdApi(id) {
+  return $$.ax.request({ url: `caseUtils/getNewTimeId`, type: 'get', service: 'utils' });
+}
+
+
 
 
 const Handle = () => {
+  const formRef = useRef();
   const [selectedTab, setSelectedTab] = useState('1'); // 默认选中第一个 tab
   const [wantUser, setWantUser] = useState({});
-  // const [scanFile, setScanFile] = useState(false);
+  const [formView, setFormView] = useState(false);
+  const [personView, setPersonView] = useState(false);
+  const [data, setData] = useState({})
+  const [caseResult, SetCaseResult] = useState(false);
 
   const tabs = [
     { index: '1', label: '承办部门' },
@@ -85,13 +110,15 @@
   ];
 
   const [isModalVisible, setIsModalVisible] = useState(false);
-  const formRef = useRef(null);
-
-
+  const [id, setId] = useState('')
 
   const handleTabChange = (newTabIndex) => {
     setSelectedTab(newTabIndex);
   };
+
+  const handleCheckedKeys = (userId) => {
+    choosePrincipal(userId)
+  }
 
   const [records, setRecords] = useState([
     {
@@ -177,23 +204,73 @@
 
   const [scannerVisible, setScannerVisible] = useState(false);
 
-  const handleConfirm = (text) => {
-    console.log('识别完成:', text);
+  const handleConfirm = () => {
+    // 处理确认逻辑
+    setScannerVisible(false);
+  };
+
+  const handleCancel = () => {
+    // 处理取消逻辑
     setScannerVisible(false);
   };
 
   const openScanner = () => {
     setScannerVisible(true);
-    formRef.current?.resetFields();
-    formRef.current?.setFieldsValue({});
   };
 
-  const onCancel = () => {
-    setScannerVisible(false);
-  };
+  const getByIdRole = async () => {
+    const res = await getByIdRoleApi('2105180249501982')
+    if (res.type) {
+      let data = res.data
+      setData(data)
+    }
+
+  }
+
+  const choosePrincipal = async (id) => {
+    console.log(id, 'choosePrincipalId')
+    const res = await choosePrincipalApi(id)
+    if (res.type) {
+      let data = res.data
+      console.log(data, 'choosePrincipalchoosePrincipal')
+    }
+
+  }
+
+
+  //删除文件
+  const handleDelFile = async (id) => {
+    const res = await delFile(id)
+    if (res.type) {
+      $$.infoSuccess({ content: '删除成功!' });
+    }
+  }
+
+  const getNewTimeId = async () => {
+    const res = await getNewTimeIdApi()
+    if (res.type) {
+      setId(res.data)
+    }
+  }
+
+  const addMark = () => {
+    setFormView(!formView);
+    getNewTimeId()
+  }
+
+  const handleFinish = () => {
+    console.log(formRef.current.getFields(), formRef, 'formRef.current.getFields()', 'formRef')
+  }
+
+  const Supervising = () => {
+    
+  }
 
 
 
+  useEffect(() => {
+    getByIdRole()
+  }, [])
 
 
   return (
@@ -214,7 +291,7 @@
               <div><div className="title-text">经办人:</div></div>
               <div style={{ display: 'flex' }}>
                 <div>王一顺</div>
-                <img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
+                <img onClick={() => setPersonView(!personView)} src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
               </div>
             </Col>
             <Col span={8} style={{ display: 'flex' }}>
@@ -309,40 +386,81 @@
                     description='暂无数据'
                   />
                 }
-                <div className='Form'>
-                  <Col span={24} style={{ marginBottom: '8px' }}>
-                    <Space size='small'>
-                      <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>添加办理记录</h5>
-                    </Space>
-                  </Col>
-                  <Col span={24}>
-                    <FormItem
-                      label={<div style={{ display: 'flex' }}>
-                        办理意见
-                        <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} />
-                        <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={openScanner}>识别材料</div>
-                      </div>
-                      }
-                      field='caseDes'
-                      rules={[{ message: '请填写事项概况', required: true }]}
-                    >
-                      <Input.TextArea
-                        maxLength={2000}
-                        showWordLimit
-                        rows={5}
-                        placeholder='请完整描述事项概况,应具备5要素:发生时间+发生地点+人物情况+事项起因+事项经过'
-                        wrapperStyle={{ width: '100%' }}
-                      />
-                    </FormItem>
-                  </Col>
+                {formView &&
+                  <div className='Form'>
+                    <Col span={24} style={{ marginBottom: '8px' }}>
+                      <Space size='small'>
+                        <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>添加办理记录</h5>
+                      </Space>
+                    </Col>
+                    <Col span={24}>
+                      <Form
+                        ref={formRef}
+                        layout='vertical'
+                        requiredSymbol={false}
+                        scrollToFirstError={true}
+                      >
+                        <Row gutter={[32, 0]}>
+                          <Col  span={24}>
+                            <FormItem
+                              label={<div style={{ display: 'flex' }}>
+                                办理意见
+                                <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} />
+                                <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={openScanner}>识别材料</div>
+                              </div>
+                              }
+                              field='caseDes'
+                              rules={[{ message: '请填写事项概况', required: true }]}
+                            >
+                              <Input.TextArea
+                                maxLength={200}
+                                showWordLimit
+                                rows={5}
+                                placeholder='请完整描述事项概况,应具备5要素:发生时间+发生地点+人物情况+事项起因+事项经过'
+                                wrapperStyle={{ width: '100%' }}
+                              />
+                            </FormItem>
 
-                </div>
+                          </Col>
+                          <Col span={24}>
+                            <FormItem
+                              label={<div style={{ display: 'flex' }}>
+                                办理附件
+                              </div>
+                              }
+                              field='caseDes'
+                              rules={[{ message: '请填写事项概况', required: true }]}
+                            >
+                              <ArcoUpload
+                                params={{
+                                  action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId='24083010062110001'&&ownerId=${id}&ownerType=22_00018-102`,
+                                }}
+                                field='file1'
+                                // handleChangeFile={handleChangeFile}
+                                label=''
+                                // editData={props.editData}
+                                handleDelFile={handleDelFile}
+                              />
+                            </FormItem>
+                          </Col>
+
+                        </Row>
+                      </Form>
+                    </Col>
+                    <Space size='middle'>
+                      <Button type='primary' onClick={() => handleFinish()}>保存</Button>
+                      <Button type='secondary'>取消添加</Button>
+                    </Space>
+                  </div>
+
+                }
               </Col>
             </Form>
-            <Space style={{ marginTop: '38px', position: 'absolute', bottom: '4px' }}>
-              <Button type="primary" style={{ backgroundColor: '#1A6FB8' }}>添加办理记录</Button>
-              <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} >结案申请</Button>
+            <Space style={{ marginTop: '38px', bottom: '4px' }}>
+              <Button type="primary" style={{ backgroundColor: '#1A6FB8' }} onClick={() => addMark()}>添加办理记录</Button>
               <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }}>联合处置申请</Button>
+              <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={() => SetCaseResult(!caseResult)}>结案申请</Button>
+              <Button type='outline' style={{ color: '#EF6C24', border: '1px solid #EF6C24' }} onClick={() => Supervising(!caseResult)}>督办</Button>
               <Button type='secondary'>返回上级页面</Button>
             </Space>
           </div>
@@ -401,19 +519,45 @@
           visible={isModalVisible}
           checkKeys={wantUser.wantUserId ? [{ label: wantUser.wantUserName, value: wantUser.wantUserId }] : undefined}
           onOk={(value) => {
+            console.log(value.key, value, 'value.key', 'value')
             setIsModalVisible(false);
             setWantUser({ wantUserId: value.keys[0], wantUserName: value.items[0].name });
+            handleCheckedKeys(value.keys?.[0])
           }}
           onClose={() => setIsModalVisible(false)}
         />
 
         <DocumentScanner
           visible={scannerVisible}
-          onCancel={onCancel}
           onConfirm={handleConfirm}
-          formRef={formRef}
+          onCancel={handleCancel}
         />
-      </div >
+
+        <Modal visible={personView} onCancel={() => setPersonView(false)} title='工作人员信息' centered footer={null}>
+          <table border="1" align="center" cellpadding="5" className="table">
+            <tr>
+              <th bgcolor="#F7F8FA" className="table-title" width="120">姓名</th>
+              <td width='380'><div style={{ display: 'flex' }}><div>{data.trueName}</div></div></td>
+              <th bgcolor="#F7F8FA" className="table-title" width="120">登录账号</th>
+              <td width='380'>{data.acc}</td>
+            </tr>
+            <tr>
+              <th bgcolor="#F7F8FA" className="table-title">手机号码</th>
+              <td>{data.mobile}</td>
+              <th bgcolor="#F7F8FA" className="table-title">工作电话</th>
+              <td>020-83002020</td>
+            </tr>
+            <tr>
+              <th bgcolor="#F7F8FA" className="table-title">所属部门</th>
+              <td>{data.deptName}</td>
+              <th bgcolor="#F7F8FA" className="table-title">职务</th>
+              <td>主任</td>
+            </tr>
+          </table>
+        </Modal>
+        <CaseResult visible={caseResult} handleOnCancel={() => SetCaseResult(false)} />
+
+      </div>
     </>
   )
 

--
Gitblit v1.8.0