广州市综治平台前端
6 files modified
150 ■■■■ changed files
src/components/ArcoUpload/index.jsx 2 ●●● patch | view | raw | blame | history
src/components/MyImport/index.jsx 6 ●●●● patch | view | raw | blame | history
src/components/ProgressStep/VisitStep.jsx 10 ●●●● patch | view | raw | blame | history
src/utils/selectOption.js 13 ●●●●● patch | view | raw | blame | history
src/views/workEfficiency/component/TimeoutDialog.jsx 53 ●●●● patch | view | raw | blame | history
src/views/workEfficiency/index.jsx 66 ●●●● patch | view | raw | blame | history
src/components/ArcoUpload/index.jsx
@@ -70,7 +70,7 @@
          drag
          multiple
          style={{ ...props.style }}
          accept='.png,.jpg,.pdf,.doc,.docx'
          accept='.png,.jpg,.pdf,.docx'
          onDrop={(e) => {
          }}
          tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
src/components/MyImport/index.jsx
@@ -2,8 +2,8 @@
 * @Company: hugeInfo
 * @Author: ldh
 * @Date: 2022-03-05 17:14:00
 * @LastEditTime: 2022-11-29 15:25:05
 * @LastEditors: ldh
 * @LastEditTime: 2025-06-24 09:35:43
 * @LastEditors: lwh
 * @Version: 1.0.0
 * @Description: 公共上传组件
 * 附件类型对照
@@ -41,7 +41,7 @@
    const props = {
        name: 'file',
        multiple: false,
        accept: '.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg,.pdf',
        accept: '.docx,.xls,.xlsx,.png,.jpg,.jpeg,.pdf',
        action: `${appUrl.baseUrl}/${appUrl.mediate}/api/v1/caseInfo/inCaseByExcel`,
        headers: {
            Authorization: $$.getSessionStorage('customerSystemToken'),
src/components/ProgressStep/VisitStep.jsx
@@ -2,7 +2,7 @@
 * @Author: dminyi 1301963064@qq.com
 * @Date: 2024-08-29 14:57:06
 * @LastEditors: lwh
 * @LastEditTime: 2025-01-02 16:14:02
 * @LastEditTime: 2025-06-24 16:38:35
 * @FilePath: \gzDyh\gz-customerSystem\src\components\ProgressStep\VisitStep.jsx
 * @Description: 来访登记步骤条
 */
@@ -11,7 +11,7 @@
import { Tooltip } from 'antd';
import { ledger_8, ledger_7, ledger_12, ledger_13, ledger_14 } from '../../assets/images';
import * as $$ from '../../utils/utility';
import PreviewImage from '@/components/PreviewImage';
import MyPDF from '@/components/MyPDF';
import './index.less';
/**
@@ -51,9 +51,9 @@
  const typeDom = (data) => {
    console.log(data);
    const dom = data.fileInfoList?.map((result, resIndex) => {
      return <div style={{ display: 'inline-block' }}>
        <PreviewImage name={result.name} src={result.showUrl} />
        {resIndex !== data.fileInfoList?.length - 1 && <>,</>}
      return <div key={resIndex}>
        <MyPDF name={result.name} fileUrl={result.showUrl} fileType={result.suffix} />
        {/* {resIndex !== data.fileInfoList?.length - 1 && <>,</>} */}
      </div>
    })
    console.log(dom);
src/utils/selectOption.js
@@ -787,6 +787,18 @@
    },
];
// 是否
const isOrNot = [
    {
        value: '1',
        label: '是',
    },
    {
        value: '0',
        label: '否',
    },
];
// VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV 暂时用不到,防止以后会用的,先保留 VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
// 调解类型
@@ -1603,6 +1615,7 @@
    resultList,
    rmtjList,
    inputWay,
    isOrNot,
};
export default obj;
src/views/workEfficiency/component/TimeoutDialog.jsx
@@ -211,23 +211,56 @@
    caseId: '',
    type: 0,
  })
  const [isResetting, setIsResetting] = useState(false); // 添加重置标志位
  useEffect(() => {
    getTableData()
    if (!isResetting) {
      getTableData()
    }
  }, [searchData])
  // 监听timeoutKey变化,重置数据
  useEffect(() => {
    setIsResetting(true); // 开始重置
    // 重置表格数据
    setTableData([]);
    setTotal(0);
    // 重置搜索条件
    setSearchData({
      page: 1,
      size: 10,
      sortType: 2,
      sortColmn: 1,
    });
    // 重置表单
    form.resetFields();
    // 重置选择状态
    setSelectedRowKeys([]);
    setSelectedRows([]);
    // 延迟重置标志位,确保重置完成后再允许API调用
    setTimeout(() => {
      setIsResetting(false);
    }, 100);
  }, [props.timeoutKey]);
  //获取表格数据
  const getTableData = async () => {
    setLoading(true)
    const res = await getTable({
      ...searchData,
      queryType: dialogTypeMap[props.timeoutKey],
      ...props.search,
    })
    if (res.type) {
      const { data } = res
      setTableData(data?.content)
      setTotal(data.totalElements)
    try {
      const res = await getTable({
        ...searchData,
        queryType: dialogTypeMap[props.timeoutKey],
        ...props.search,
      })
      if (res.type) {
        const { data } = res
        setTableData(data?.content)
        setTotal(data.totalElements)
      }
    } catch (error) {
      console.error('获取表格数据失败:', error)
    } finally {
      setLoading(false)
    }
  }
src/views/workEfficiency/index.jsx
@@ -295,13 +295,38 @@
    // 超时办件列表
    async function pageQuantity(search, values = {}) {
        global.setSpinning(true);
        const res = await pageQuantityApi({ ...search, ...values });
        global.setSpinning(false);
        if (res.type) {
            let data = res.data.content || [];
            let total = res?.data?.totalElements || 0;
            setTableData({ list: data, total });
            setTimeoutSearch(search);
        try {
            const res = await pageQuantityApi({ ...search, ...values });
            if (res.type) {
                let data = res.data.content || [];
                let total = res?.data?.totalElements || 0;
                setTableData({
                    list: data,
                    total,
                    page: search.page || 1,
                    size: search.size || 10
                });
                setTimeoutSearch(search);
            } else {
                // API调用失败时,确保数据状态正确
                setTableData({
                    list: [],
                    total: 0,
                    page: search.page || 1,
                    size: search.size || 10
                });
            }
        } catch (error) {
            console.error('获取超时办件列表失败:', error);
            // 异常时,确保数据状态正确
            setTableData({
                list: [],
                total: 0,
                page: search.page || 1,
                size: search.size || 10
            });
        } finally {
            global.setSpinning(false);
        }
    }
@@ -525,6 +550,13 @@
            },
        },
        {
            title: '任务节点',
            dataIndex: 'nodeName',
            width: 150,
            sorter: true,
            sortNumber: 1, //设置这个传给后端的
        },
        {
            title: '处理时限',
            dataIndex: 'timeLimit',
            defaultSortOrder: 'descend',
@@ -537,6 +569,14 @@
                        {`超${$$.formatHoursToDaysAndHours(text)}`}
                    </div>
                );
            },
        },
        {
            title: '是否处理',
            dataIndex: 'taskStatus',
            width: 80,
            render: (text) => {
                return <span>{text === 1 ? '是' : '否'}</span>;
            },
        },
        {
@@ -753,6 +793,7 @@
                                    treedata: $$.caseTypeSelect.caseTypeSelect,
                                },
                                { type: 'Select', name: 'canal', label: '事项来源', placeholder: '请选择', span: 8, selectdata: $$.options.caseCanal },
                                { type: 'Select', name: 'taskStatus', label: '任务是否处理', placeholder: '请选择', span: 8, selectdata: $$.options.isOrNot },
                            ]}
                            handleReset={() => {
                                form.resetFields();
@@ -1112,7 +1153,15 @@
                                    activeKey={radioData.tab2}
                                    onChange={(v) => {
                                        setRadioData({ ...radioData, tab2: v });
                                        pageQuantity({ ...timeoutSearch, queryType: v }, search);
                                        // 立即清空数据,确保TableView显示清空状态
                                        setTableData({ list: [], total: 0, page: 1, size: 10 });
                                        // 重置分页状态,避免列表内容重复
                                        const resetSearch = {
                                            ...timeoutSearch,
                                            queryType: v,
                                            page: 1
                                        };
                                        pageQuantity(resetSearch, search);
                                        listTimeOutTaskGroup({ queryType: v }, search);
                                    }}
                                />
@@ -1132,6 +1181,7 @@
                            <div>
                                {radioData.radio2 === '1' && (
                                    <TableView
                                        key={`timeout-table-${radioData.tab2}`} // 添加key强制重新渲染
                                        columns={fxColumns}
                                        dataSource={tableData.list}
                                        size="small"