forked from gzzfw/frontEnd/gzDyh

dminyi
2024-09-10 940d84018fa64d98624cad4ccaa65313ec72e0b1
gz-customerSystem/src/views/register/index.jsx
@@ -2,7 +2,7 @@
 * @Author: dminyi 1301963064@qq.com
 * @Date: 2024-09-08 15:14:12
 * @LastEditors: dminyi 1301963064@qq.com
 * @LastEditTime: 2024-09-09 17:06:20
 * @LastEditTime: 2024-09-10 16:58:03
 * @FilePath: \gzDyh\gz-customerSystem\src\views\register\index.jsx
 * @Description: 工作台
 */
@@ -14,14 +14,50 @@
import { Tabs, Typography, Radio } from '@arco-design/web-react';
import * as $$ from '@/utils/utility';
const TabPane = Tabs.TabPane;
function pageMyTaskBlApi(data) {
  return $$.ax.request({ url: `caseTask/pageMyTaskBl`, type: 'get', service: 'mediate', data });
}
// function pageMyTaskBlApi(data) {
//   return $$.ax.request({ url: `caseTask/pageMyTaskBl`, type: 'get', service: 'mediate', data });
// }
function getCountListApi(data) {
  return $$.ax.request({ url: `caseTask/getCountList`, type: 'get', service: 'mediate', data });
}
//分派
function pageMyTaskFpApi(data) {
  return $$.ax.request({ url: `caseTask/pageMyTaskFp?page=1&size=10&sortType=1&sortColmn=1&status=1`, type: 'get', service: 'mediate', data });
}
//签收
function pageMyTaskQsApi(data) {
  return $$.ax.request({ url: `caseTask/pageMyTaskQs?page=1&size=10&sortType=1&sortColmn=1&status=1`, type: 'get', service: 'mediate', data });
}
//受理
function pageMyTaskSlApi(data) {
  return $$.ax.request({ url: `caseTask/pageMyTaskSl?page=1&size=10&sortType=1&sortColmn=1&status=1`, type: 'get', service: 'mediate', data });
}
//办理中
function pageMyTaskBlzApi(data) {
  return $$.ax.request({ url: `caseTask/pageMyTaskBlz?page=1&size=10&sortType=1&sortColmn=1&status=1`, type: 'get', service: 'mediate', data });
}
//待审核
function pageMyTaskShApi(type) {
  return $$.ax.request({ url: `caseTask/pageMyTaskSh?page=1&size=10&sortType=1&status=0&type=` + type, type: 'get', service: 'mediate' });
}
//待审核
function pageMyTaskBlApi(type) {
  return $$.ax.request({ url: `caseTask/pageMyTaskBl?page=1&size=10&sortType=1&sortColmn=1&status=` + type, type: 'get', service: 'mediate' });
}
//签收
function signApi(data) {
  return $$.ax.request({ url: `caseTask/sign`, type: 'post', service: 'mediate', data });
}
const VisitWorkBench = () => {
@@ -34,14 +70,14 @@
      key: '1',
      label: '待分派',
      bgColor: '#E8F8FF',
      num: `${CountList?.waitDisp}`,
      num: `${CountList?.waitDisp || '0'}`,
      img: tab1
    },
    {
      key: '2',
      label: '待签收',
      bgColor: '#E8FFEA',
      num: `${CountList?.waitSign}`,
      num: `${CountList?.waitSign || '0'}`,
      img: tab2
    },
@@ -49,7 +85,7 @@
      key: '3',
      label: '待受理',
      bgColor: '#F5E8FF',
      num: `${CountList?.waitAccept}`,
      num: `${CountList?.waitAccept || '0'}`,
      img: tab3
    },
@@ -57,7 +93,7 @@
      key: '4',
      label: '办理中',
      bgColor: '#E6FFFB',
      num: `${CountList?.waitReview}`,
      num: `${CountList?.processing || '0'}`,
      img: tab4
    },
@@ -65,7 +101,7 @@
      key: '5',
      label: '待审核',
      bgColor: '#E8F7FF',
      num: `${CountList?.supervise}`,
      num: `${CountList?.waitReview || '0'}`,
      img: tab5
    },
@@ -73,13 +109,13 @@
      key: '6',
      label: '督办',
      bgColor: '#FFF7E6',
      num: `${CountList?.processing}`,
      num: `${CountList?.supervise || '0'}`,
      img: tab6
    },
  ]
  const fakeData1 =
  const [fakeData1, setFakeData1] = useState(
    [
      {
        id: 1,
@@ -293,7 +329,7 @@
      },
      // 更多数据...
    ]
    ])
  const [columnType, setColumnType] = useState([
    {
@@ -345,8 +381,8 @@
      width: 180,
      render: (text, record) => (
        <Space style={{ color: '#1A6FB8' }}>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>处理</div>
        </Space>
      ),
    },
@@ -404,9 +440,65 @@
      width: 180,
      render: (text, record) => (
        <Space style={{ color: '#1A6FB8' }}>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>处理</div>
        </Space>
      ),
    },
  ];
  const fakeColumns3Info = [
    {
      title: '流转时间',
      dataIndex: 'turnaroundTime',
      key: 'turnaroundTime',
      width: 100,
      render: (text, record, index) => <span>{index + 1}</span>,
    },
    {
      title: '分派时限',
      dataIndex: 'timeLimit',
      key: 'timeLimit',
      width: 60,
    },
    {
      title: '事项等级',
      dataIndex: 'caseGrade',
      key: 'caseGrade',
      width: 180,
    },
    {
      title: '事项来源',
      dataIndex: 'caseSource',
      key: 'caseSource',
      width: 180,
    },
    {
      title: '事项类型',
      dataIndex: 'caseType',
      key: 'caseType',
      width: 180,
    },
    {
      title: '申请方',
      dataIndex: 'plaintiffs',
      key: 'plaintiffs',
      width: 180,
    },
    {
      title: '被申请方',
      dataIndex: 'defendants',
      key: 'defendants',
      width: 180,
    },
    {
      title: '操作',
      dataIndex: 'actions',
      key: 'actions',
      width: 180,
      render: (text, record) => (
        <Space style={{ color: '#1A6FB8' }}>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div>
          </Space>
      ),
    },
  ];
@@ -461,7 +553,64 @@
      width: 180,
      render: (text, record) => (
        <Space style={{ color: '#1A6FB8' }}>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => handleSign(record.caseId, record.ownerId)}>签收</div>
        </Space>
      ),
    },
  ];
  const fakeColumns1Info = [
    {
      title: '流转时间',
      dataIndex: 'turnaroundTime',
      key: 'turnaroundTime',
      width: 100,
      render: (text, record, index) => <span>{index + 1}</span>,
    },
    {
      title: '签收时限',
      dataIndex: 'timeLimit',
      key: 'timeLimit',
      width: 60,
    },
    {
      title: '事项等级',
      dataIndex: 'caseGrade',
      key: 'caseGrade',
      width: 180,
    },
    {
      title: '事项来源',
      dataIndex: 'caseSource',
      key: 'caseSource',
      width: 180,
    },
    {
      title: '事项类型',
      dataIndex: 'caseType',
      key: 'caseType',
      width: 180,
    },
    {
      title: '申请方',
      dataIndex: 'plaintiffs',
      key: 'plaintiffs',
      width: 180,
    },
    {
      title: '被申请方',
      dataIndex: 'defendants',
      key: 'defendants',
      width: 180,
    },
    {
      title: '操作',
      dataIndex: 'actions',
      key: 'actions',
      width: 180,
      render: (text, record) => (
        <Space style={{ color: '#1A6FB8' }}>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div>签收</div>
        </Space>
      ),
@@ -517,14 +666,13 @@
      width: 180,
      render: (text, record) => (
        <Space style={{ color: '#1A6FB8' }}>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>处理</div>
        </Space>
      ),
    },
  ];
  const [column, setColumn] = useState([
  const fakeColumns2Info = [
    {
      title: '流转时间',
      dataIndex: 'turnaroundTime',
@@ -532,9 +680,9 @@
      width: 100,
    },
    {
      title: '已办天数',
      dataIndex: 'processingDays',
      key: 'processingDays',
      title: '受理时限',
      dataIndex: 'timeLimit',
      key: 'timeLimit',
      width: 60,
    },
    {
@@ -554,6 +702,63 @@
      dataIndex: 'caseType',
      key: 'caseType',
      width: 180,
    },
    {
      title: '申请方',
      dataIndex: 'plaintiffs',
      key: 'plaintiffs',
      width: 180,
    },
    {
      title: '被申请方',
      dataIndex: 'defendants',
      key: 'defendants',
      width: 180,
    },
    {
      title: '操作',
      dataIndex: 'actions',
      key: 'actions',
      width: 180,
      render: (text, record) => (
        <Space style={{ color: '#1A6FB8' }}>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
        </Space>
      ),
    },
  ];
  const [column, setColumn] = useState([
    {
      title: '流转时间',
      dataIndex: 'turnaroundTime',
      key: 'turnaroundTime',
      width: 100,
    },
    {
      title: '已办天数',
      dataIndex: 'processingDays',
      key: 'processingDays',
      width: 100,
    },
    {
      title: '事项等级',
      dataIndex: 'caseGrade',
      key: 'caseGrade',
      width: 100,
    },
    {
      title: '事项来源',
      dataIndex: 'caseSource',
      key: 'caseSource',
      width: 100,
    },
    {
      title: '事项类型',
      dataIndex: 'caseType',
      key: 'caseType',
      width: 100,
    },
    {
      title: '承办部门',
@@ -592,8 +797,8 @@
      width: 180,
      render: (text, record) => (
        <Space>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer', color: '#1A6FB8' }}>处理</div>
        </Space>
      ),
    },
@@ -655,7 +860,7 @@
      width: 180,
      render: (text, record) => (
        <Space>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div>
          {/* <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> */}
          {(direction === '回退审核' || direction === '上报审核') &&
            <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
@@ -739,6 +944,166 @@
    },
  ])
  //结案申请
  const caseResultApply = [
    {
      title: '结案申请时间',
      dataIndex: 'turnaroundTime',
      key: 'turnaroundTime',
      width: 100,
    },
    {
      title: '事项等级',
      dataIndex: 'caseGrade',
      key: 'caseGrade',
      width: 180,
    },
    {
      title: '事项来源',
      dataIndex: 'caseSource',
      key: 'caseSource',
      width: 180,
    },
    {
      title: '事项类型',
      dataIndex: 'caseType',
      key: 'caseType',
      width: 180,
    },
    {
      title: '承办部门',
      dataIndex: 'organizingUnit',
      key: 'organizingUnit',
      width: 180,
    },
    {
      title: '配合部门',
      dataIndex: 'cooperatingUnit',
      key: 'cooperatingUnit',
      width: 180,
    },
    {
      title: '申请方',
      dataIndex: 'plaintiffs',
      key: 'plaintiffs',
      width: 180,
    },
    {
      title: '化解结果',
      dataIndex: 'mediResult',
      key: 'mediResult',
      width: 180,
    },
    {
      title: '被申请方',
      dataIndex: 'defendants',
      key: 'defendants',
      width: 180,
    },
    {
      title: '操作',
      dataIndex: 'actions',
      key: 'actions',
      width: 180,
      render: (text, record) => (
        <Space style={{ color: '#1A6FB8' }}>
          <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/closingReview?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>处理</div>
        </Space>
      ),
    },
  ];
  const sign = async (caseId, ownerId) => {
    const res = await signApi({ caseId: caseId, caseTaskId: ownerId })
    if (res.type) {
      $$.infoSuccess({ content: '签收成功' });
    }
  }
  const handleSign = (caseId, ownerId) => {
    sign(caseId, ownerId)
  }
  const pageMyTaskFpNew = async () => {
    const res = await pageMyTaskFpApi()
    if (res.type) {
      setFakeData1(res.data?.content)
    }
  }
  const pageMyTaskFp = async (type) => {
    if (type === '1') {
      const res = await pageMyTaskFpApi()
      if (res.type) {
        setFakeData1(res.data?.content)
      }
    }
    if (type === '2') {
      const res = await pageMyTaskQsApi()
      if (res.type) {
        setFakeData1(res.data?.content)
      }
    }
    if (type === '3') {
      const res = await pageMyTaskSlApi()
      if (res.type) {
        setFakeData1(res.data?.content)
      }
    }
    if (type === '4') {
      const res = await pageMyTaskBlzApi()
      if (res.type) {
        setFakeData1(res.data?.content)
      }
    }
    if (type === '5') {
    }
  }
  const handleSh = async (e) => {
    console.log(direction, 'direction')
    const res = await pageMyTaskShApi(e === '回退审核' ? 1 : e === '上报审核' ? 2 : e === '结案申请审核' ? 3 : e === '联合处置审核' ? 4 : null)
    if (res.type) {
      setColumnType(caseResultApply)
      setFakeData1(res.data?.content)
    }
  }
  const handleColumnType = (type) => {
    console.log(type, 'type')
    if (type === '2') {
      if (tabActivekey === '1') {
        setColumnType(fakeColumns3Info)
      }
      if (tabActivekey === '2') {
        setColumnType(fakeColumns1Info)
      }
      if (tabActivekey === '3') {
        setColumnType(fakeColumns2Info)
      }
      if (tabActivekey === '4') {
        setColumnType(caseResultApply)
        pageMyTaskBl('1')
      }
    }
    if (type === '1') {
      if (tabActivekey === '1') {
        setColumnType(fakeColumns3)
      }
    }
    if (type === '3') {
      if (tabActivekey === '4') {
        setColumnType(backColumn)
        pageMyTaskBl('2')
      }
    }
  }
@@ -747,29 +1112,38 @@
    setTabActivekey(key);
    if (key === '1') {
      setColumnType(fakeColumns3)
      pageMyTaskFp('1')
    }
    if (key === '2') {
      setColumnType(fakeColumns1)
      pageMyTaskFp('2')
    }
    if (key === '3') {
      setColumnType(fakeColumns2)
      pageMyTaskFp('3')
    }
    if (key === '4') {
      setColumnType(column)
      pageMyTaskFp('4')
    }
    if (key === '5') {
      setColumnType(backColumn)
      pageMyTaskFp('5')
    }
    if (key === '6') {
      setColumnType(mangeColumn)
      pageMyTaskFp('6')
    }
  }
  const pageMyTaskBl = async () => {
    const res = await pageMyTaskBlApi({ page: 1, size: 10, timeStart: '', timeEnd: '', partyName: '', sortType: '', sortColmn: '' })
  const pageMyTaskBl = async (type) => {
    const res = await pageMyTaskBlApi(type)
    if (res.type) {
      console.log(res.data, 'res.data')
      // setColumn(res.data)
      setFakeData1(res.data?.content)
    }
  }
@@ -783,10 +1157,18 @@
  useEffect(() => {
    pageMyTaskFpNew()
    // pageMyTaskBl();
    getCountList();
  }, [columnType,direction])
  }, [])
@@ -811,7 +1193,7 @@
        </div>
      </div>
      <div className='VisitWorkBench-middle'>
        <Tabs defaultActiveTab='1'>
        <Tabs defaultActiveTab='1' onChange={handleColumnType}>
          <TabPane
            // onChange={handleColumnType}
            key='1'
@@ -832,7 +1214,7 @@
                  type='button'
                  name='direction'
                  value={direction}
                  onChange={(e) => setDirection(e)}
                  onChange={(e) => { setDirection(e); handleSh(e) }}
                  style={{ marginBottom: 16 }}
                  options={['回退审核', '上报审核', '结案申请审核', '联合处置审核']}
                ></Radio.Group>
@@ -841,7 +1223,7 @@
                columns={columnType}
                dataSource={fakeData1}
                size="small"
                rowKey="id"
                rowKey="caseId"
                bordered={true}
                // style={{ marginBottom: '65px', marginTop: '-16px' }}
                rowSelection={{
@@ -864,6 +1246,17 @@
            }
          >
            <Typography.Paragraph>
              <TableView
                columns={columnType}
                dataSource={fakeData1}
                size="small"
                rowKey="id"
                bordered={true}
                // style={{ marginBottom: '65px', marginTop: '-16px' }}
                rowSelection={{
                  type: 'Checkbox'
                }}
              />
            </Typography.Paragraph>
          </TabPane>
          {tabActivekey === '4' &&
@@ -876,6 +1269,17 @@
              }
            >
              <Typography.Paragraph>
                <TableView
                  columns={columnType}
                  dataSource={fakeData1}
                  size="small"
                  rowKey="id"
                  bordered={true}
                  // style={{ marginBottom: '65px', marginTop: '-16px' }}
                  rowSelection={{
                    type: 'Checkbox'
                  }}
                />
              </Typography.Paragraph>
            </TabPane>
          }