forked from gzzfw/frontEnd/gzDyh

dminyi
2024-09-10 eb65923fafe836f8fcd56d3efee4d0fd3a33ac5f
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-09 22:29:34
 * @FilePath: \gzDyh\gz-customerSystem\src\views\register\index.jsx
 * @Description: 工作台
 */
@@ -23,6 +23,30 @@
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 signApi(data) {
  return $$.ax.request({ url: `caseTask/sign`, type: 'post', service: 'mediate', data });
}
const VisitWorkBench = () => {
  const navigate = useNavigate();
@@ -34,14 +58,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 +73,7 @@
      key: '3',
      label: '待受理',
      bgColor: '#F5E8FF',
      num: `${CountList?.waitAccept}`,
      num: `${CountList?.waitAccept || '0'}`,
      img: tab3
    },
@@ -57,7 +81,7 @@
      key: '4',
      label: '办理中',
      bgColor: '#E6FFFB',
      num: `${CountList?.waitReview}`,
      num: `${CountList?.waitReview || '0'}`,
      img: tab4
    },
@@ -65,7 +89,7 @@
      key: '5',
      label: '待审核',
      bgColor: '#E8F7FF',
      num: `${CountList?.supervise}`,
      num: `${CountList?.supervise || '0'}`,
      img: tab5
    },
@@ -73,13 +97,13 @@
      key: '6',
      label: '督办',
      bgColor: '#FFF7E6',
      num: `${CountList?.processing}`,
      num: `${CountList?.processing || '0'}`,
      img: tab6
    },
  ]
  const fakeData1 =
  const [fakeData1, setFakeData1] = useState(
    [
      {
        id: 1,
@@ -293,7 +317,7 @@
      },
      // 更多数据...
    ]
    ])
  const [columnType, setColumnType] = useState([
    {
@@ -345,8 +369,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>
      ),
    },
@@ -410,7 +434,120 @@
      ),
    },
  ];
  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=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
        </Space>
      ),
    },
  ];
  const fakeColumns1 = [
    {
      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=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
          <div onClick={() => handleSign(record.caseId, record.ownerId)}>签收</div>
        </Space>
      ),
    },
  ];
  const fakeColumns1Info = [
    {
      title: '流转时间',
      dataIndex: 'turnaroundTime',
@@ -518,13 +655,12 @@
      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/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>处理</div>
        </Space>
      ),
    },
  ];
  const [column, setColumn] = useState([
  const fakeColumns2Info = [
    {
      title: '流转时间',
      dataIndex: 'turnaroundTime',
@@ -532,9 +668,9 @@
      width: 100,
    },
    {
      title: '已办天数',
      dataIndex: 'processingDays',
      key: 'processingDays',
      title: '受理时限',
      dataIndex: 'timeLimit',
      key: 'timeLimit',
      width: 60,
    },
    {
@@ -554,6 +690,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=${'1'}&caseId=${'1'}`)} 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 +785,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=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer', color: '#1A6FB8' }}>详情</div>
          <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer', color: '#1A6FB8' }}>处理</div>
        </Space>
      ),
    },
@@ -739,6 +932,74 @@
    },
  ])
  const sign = async (caseId, ownerId) => {
    const res = await signApi({ caseId: caseId, caseTaskId: ownerId })
    if (res.type) {
      $$.infoSuccess('签收成功')
    }
  }
  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)
      }
    }
  }
  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 (type === '1') {
      if (tabActivekey === '1') {
        setColumnType(fakeColumns3)
      }
    }
  }
@@ -747,21 +1008,31 @@
    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')
    }
  }
@@ -783,10 +1054,18 @@
  useEffect(() => {
    pageMyTaskFpNew()
    // pageMyTaskBl();
    getCountList();
  }, [columnType,direction])
  }, [])
@@ -811,7 +1090,7 @@
        </div>
      </div>
      <div className='VisitWorkBench-middle'>
        <Tabs defaultActiveTab='1'>
        <Tabs defaultActiveTab='1' onChange={handleColumnType}>
          <TabPane
            // onChange={handleColumnType}
            key='1'
@@ -841,7 +1120,7 @@
                columns={columnType}
                dataSource={fakeData1}
                size="small"
                rowKey="id"
                rowKey="caseId"
                bordered={true}
                // style={{ marginBottom: '65px', marginTop: '-16px' }}
                rowSelection={{
@@ -864,6 +1143,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' &&