forked from gzzfw/frontEnd/gzDyh

liuwh
2024-09-14 db8b368c5fd611732e26425c974dddd16ae09a82
gz-customerSystem/src/views/comprehensive/index.jsx
@@ -8,12 +8,12 @@
import TableView from '../../components/TableView';
import NewTableSearch from '../../components/NewTableSearch';
import MyTabs from '../../components/MyTabs';
import './index.less'
const { Link } = Typography;
// 获取数据
function getMyMediationDataApi(submitData) {
  return $$.ax.request({ url: 'caseTask/pageMyMediate', type: 'get', data: submitData, service: 'mediate' });
function getCaseInfoDataApi(submitData) {
  return $$.ax.request({ url: 'caseInfo/pageQueryAll', type: 'get', data: submitData, service: 'mediate' });
}
function getCacheLatjCaseGuideApi(submitData) {
@@ -34,100 +34,31 @@
  let navigate = useNavigate();
  // 搜索
  const [search, setSearch] = useState({ page: 1, size: 10, pageType: '1', joinRole: '1' });
  const [search, setSearch] = useState({ page: 1, size: 10, });
  // 数据
  const [data, setData] = useState({ tableData: [] });
  // 表头
  const columns = () => {
    const columnOne =
      search.pageType === '3'
        ? [
          {
            title: '调解结果',
            dataIndex: 'mediResultName',
            record: (text, record) =>
              !text ? '-' : <div className={`public-tag public-tag-${record.mediResult === '22_00025-1' ? 'tagGreen' : 'tagRed'}`}>{text}</div>,
          },
        ]
        : [];
    const columnTwo =
      search.pageType === '3'
        ? [{ title: '调解结束时间', dataIndex: 'mediEndTime' }]
        : [
          // TODO:暂时取消,后续可根据需求改动
          // {
          //    title: '处理时限',
          //    dataIndex: 'expireTime',
          //    render: (text, record) => {
          //       let obj = $$.getHours(text);
          //       return record.status === '1' ? (
          //          <span className={obj.isNegativeNum ? 'tableView-dangerTime' : ''}>{!!text ? `${obj.hours}小时` : '-'}</span>
          //       ) : (
          //          '-'
          //       );
          //    },
          // },
        ];
    const columnThree = search.joinRole === '2' ? [{ title: '调解员', dataIndex: 'mediator' }] : [];
    const columnsData = [
      {
        title: '调解案号',
        dataIndex: 'caseNo',
        render: (text, record) => (
          <Space size={0}>
            {record.taskType === '2' && <div className="myMediation-tuiTag">退</div>}
            {record.serieStatus === '2' ? (
              <Space size={4}>
                <FolderFilled className="public-folder" />
                <span>系列案</span>
              </Space>
            ) : (
              <Tooltip placement="topLeft" title={text}>
                {text}
              </Tooltip>
            )}
          </Space>
        ),
      },
      { title: '调解进度', dataIndex: 'processName' },
      ...columnOne,
      { title: '申请人', dataIndex: 'plaintiffs' },
      { title: '被申请人', dataIndex: 'defendants' },
      { title: '纠纷发生地', dataIndex: 'addr' },
      { title: '调解类型', dataIndex: 'mediTypeName' },
      { title: '纠纷类型', dataIndex: 'caseTypeName' },
      { title: '申请渠道', dataIndex: 'canalName' },
      { title: '纠纷受理时间', dataIndex: 'acceptTime' },
      ...columnTwo,
      ...columnThree,
      { title: '协助调解员', width: 100, dataIndex: 'otherMediator' },
      { title: '事项状态', width: 80, dataIndex: 'statusName' },
      { title: '事项来源', width: 80, dataIndex: 'canalName' },
      { title: '事项等级', width: 80, dataIndex: 'caseLevel' },
      { title: '纠纷类型', width: 150, dataIndex: 'caseTypeName' },
      { title: '承办部门', width: 150, dataIndex: 'mediateDeptName' },
      { title: '配合部门', width: 150, dataIndex: 'assistUnitName' },
      { title: '化解结果', width: 80, dataIndex: 'mediResult' },
      { title: '办结时间', width: 80, dataIndex: 'closeTime' },
      // { title: '申请方', dataIndex: 'plaintiffList' },
      // { title: '被申请方', dataIndex: 'defendantList' },
      { title: '登记机构', dataIndex: 'inputUnitName' },
      {
        title: '操作',
        dataIndex: 'action',
        width: 50,
        render: (_, record) => {
          let type = 'check';
          if (search.joinRole === '2') {
            type = 'check'
          } else if (search.joinRole === '1') {
            if (search.pageType == '3') {
              type = 'check';
            } else {
              type = 'handle'
            }
          }
          // if (search.joinRole === '1' && (search.pageType === '1' || search.pageType === '2')) {
          //   type = 'handle';
          // }
          // if (search.joinRole === '2' && (search.pageType === '1' || search.pageType === '2')) {
          //   type = 'feedback';
          // }
          // if (search.joinRole === '2' && search.pageType === '3' && record.feedbackStatus === '1') {
          //   type = 'feedback';
          // }
          return <Link onClick={() => handleJump(type, record)}>{type === 'check' ? '查看' : '调解'}</Link>;
          return <Link onClick={() => handleJump(record)}>详情</Link>;
        },
      },
    ];
@@ -191,7 +122,7 @@
  function handleChangePage(page, pageSize) {
    let paramsObj = Object.assign(search, { page, size: pageSize });
    setSearch(paramsObj);
    getMyMediationData(paramsObj);
    getCaseInfoData(paramsObj);
  }
  // 搜索 or 重置
@@ -204,7 +135,7 @@
      $$.changeTimeFormat(paramsObj, 'mediStartTime', 'mediStartTimeStart', 'mediStartTimeEnd');
    }
    if (type === 'reset') {
      paramsObj = { page: 1, size: 10, pageType: '1', joinRole: '1' };
      paramsObj = { page: 1, size: 10 };
      form.resetFields();
      form.setFieldsValue({ joinRole: '1' });
    }
@@ -222,23 +153,19 @@
      }
      form.setFieldsValue(copyObj);
    }
    getMyMediationData(paramsObj, session?.tableActive);
    getCaseInfoData(paramsObj, session?.tableActive);
  }
  // 获取数据
  async function getMyMediationData(submitData, tableActive) {
  async function getCaseInfoData(submitData, tableActive) {
    global.setSpinning(true);
    const res = await getMyMediationDataApi(submitData);
    const res = await getCaseInfoDataApi(submitData);
    global.setSpinning(false);
    if (res.type) {
      setSearch(submitData);
      setData({
        total: res.data?.dtoPage?.totalElements,
        tableData: res.data?.dtoPage?.content || [],
        tableActive,
        countDtj: res.data.countDtj,
        countTjz: res.data.countTjz,
        countTjjs: res.data.countTjjs,
        total: res.data?.totalElements,
        tableData: res.data?.content || [],
      });
    }
  }
@@ -254,54 +181,56 @@
    }
  }, []);
  const countDtj = (search.pageType === '1' ? data.total : data.countDtj) || 0;
  const countTjz = (search.pageType === '2' ? data.total : data.countTjz) || 0;
  const countTjjs = (search.pageType === '3' ? data.total : data.countTjjs) || 0;
  return (
    <Page pageHead={{ title: '综合查询', subtitle: '管理员名下综合查询列表' }}>
      <div className="myMediation">
        <div className="myMediation-search">
          <div className='comprehensive-title'>查询条件</div>
          <NewTableSearch
            labelLength={6}
            form={form}
            itemData={[
              { type: 'RangePicker', name: 'acceptTime', label: '办结时间' },
              { type: 'RangePicker', name: 'acceptTime', label: '归档时间' },
              { type: 'Input', name: 'defendants', label: '被申请人' },
              { type: 'Input', name: 'caseNo', label: '调解案号' },
              { type: 'Input', name: 'addr', label: '纠纷发生地' },
              { type: 'RangePicker', name: 'acceptTime', label: '办结时间', span: 8 },
              { type: 'RangePicker', name: 'acceptTime', label: '归档时间', span: 8 },
              {
                type: 'Select',
                name: 'joinRole',
                label: '参与角色',
                label: '纠纷类型',
                span: 12,
                selectdata: [
                  { label: '我负责的', value: '1' },
                  { label: '我协助的', value: '2' },
                ],
              },
              { type: 'RangePicker', name: 'mediStartTime', label: '调解开始时间' },
              { type: 'RangePicker', name: 'mediEndTime', label: '调解结束时间' },
              { type: 'Select', name: 'mediResult', label: '调解结果', selectdata: $$.options.mediResult },
              {
                type: 'Select',
                name: 'joinRole',
                label: '承办部门',
                selectdata: [
                  { label: '我负责的', value: '1' },
                  { label: '我协助的', value: '2' },
                ],
              },
              {
                type: 'Select',
                name: 'joinRole',
                label: '登记机构',
                selectdata: [
                  { label: '我负责的', value: '1' },
                  { label: '我协助的', value: '2' },
                ],
              },
              { type: 'Input', name: 'defendants', label: '被申请人' },
              { type: 'Input', name: 'caseNo', label: '调解案号' },
            ]}
            handleReset={() => handleSearch('reset')}
            handleSearch={() => handleSearch('search')}
          />
        </div>
        <div className="pageTabs">
          <MyTabs
            tabs={[
              { key: '1', label: `待调解(${$$.showMoreNum(countDtj)})` },
              { key: '2', label: `调解中(${$$.showMoreNum(countTjz)})` },
              { key: '3', label: `调解结束(${$$.showMoreNum(countTjjs)})` },
            ]}
            activeKey={search.pageType}
            onChange={(activeKey) => getMyMediationData({ ...search, page: 1, size: 10, pageType: activeKey })}
          />
        </div>
        <div className="pageTable">
        <div style={{ marginTop: '8px' }} className="pageTable">
          <TableView
            showHeader
            title="查询结果"