RepairOrderHandle.jsx 4.61 KB
Newer Older
TZW's avatar
TZW committed
1 2 3 4
/* 接单、派单窗口
 * @Author: Li Hanlin
 * @Date: 2022-12-05 11:13:26
 * @Last Modified by: Li Hanlin
TZW's avatar
TZW committed
5
 * @Last Modified time: 2023-02-02 13:42:49
TZW's avatar
TZW committed
6 7 8
 */

import React, { useState, useEffect } from 'react';
TZW's avatar
TZW committed
9
import InitForm from '@/components/InitForm';
TZW's avatar
TZW committed
10
import { doFetch } from '@/utils/doFetch';
TZW's avatar
TZW committed
11
import { message } from 'antd';
TZW's avatar
TZW committed
12
const App = ({ type, id, actionRef, url, setdrawer }) => {
TZW's avatar
TZW committed
13 14
  const columns = {
    wxjd: [
TZW's avatar
TZW committed
15 16 17 18 19
      {
        title: '协助维修人员',
        dataIndex: 'repairAssistList',
        key: 'repairAssistList',
        valueType: 'select',
TZW's avatar
TZW committed
20 21
        options: {
          path: '/repair/umRepairOrder/selection',
TZW's avatar
TZW committed
22
          params: { id, permission: 'umRepairOrder:completeRepair' },
TZW's avatar
TZW committed
23
        },
TZW's avatar
TZW committed
24 25 26 27 28
        fieldProps: {
          placeholder: '请选择',
          showSearch: true,
          mode: 'multiple',
        },
TZW's avatar
TZW committed
29
      },
TZW's avatar
TZW committed
30 31
    ],
    wxpd: [
TZW's avatar
TZW committed
32 33
      {
        title: '维修人员',
TZW's avatar
TZW committed
34 35
        dataIndex: 'repairId',
        key: 'repairId',
TZW's avatar
TZW committed
36
        valueType: 'select',
TZW's avatar
TZW committed
37
        options: { path: '/repair/umRepairOrder/selectionRepair', params: { id } },
TZW's avatar
TZW committed
38 39 40 41
        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
      },
      {
        title: '协助维修人员',
TZW's avatar
TZW committed
42 43
        dataIndex: 'repairAssistList',
        key: 'repairAssistList',
TZW's avatar
TZW committed
44
        valueType: 'select',
TZW's avatar
TZW committed
45 46
        options: {
          path: '/repair/umRepairOrder/selection',
TZW's avatar
TZW committed
47 48 49 50 51
          linkParams: { repairId: 'repairId' },
          extraParams: {
            id,
            permission: 'umRepairOrder:completeRepair',
          },
TZW's avatar
TZW committed
52
        },
TZW's avatar
TZW committed
53 54 55 56 57 58
        fieldProps: {
          placeholder: '请选择',
          showSearch: true,
          mode: 'multiple',
        },
      },
TZW's avatar
TZW committed
59 60
    ],
    zzpd: [
TZW's avatar
TZW committed
61 62 63 64 65
      {
        title: '追踪人员',
        dataIndex: 'trackAssistList',
        key: 'trackAssistList',
        valueType: 'select',
TZW's avatar
TZW committed
66 67 68 69
        options: {
          path: '/repair/umTrackOrder/selection',
          params: { permission: 'umTrackOrder:trackById', id },
        },
TZW's avatar
TZW committed
70 71
        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
      },
TZW's avatar
TZW committed
72 73
    ],
    wpd: [
TZW's avatar
TZW committed
74 75 76 77 78
      {
        title: '外协人员',
        dataIndex: 'otherUnitsAssistList',
        key: 'otherUnitsAssistList',
        valueType: 'select',
TZW's avatar
TZW committed
79 80 81 82
        options: {
          path: '/repair/umOtherUnitsOrder/selection',
          params: { id, permission: 'umOtherUnitsOrder:finishOtherUnits' },
        },
TZW's avatar
TZW committed
83
        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
TZW's avatar
TZW committed
84
      },
TZW's avatar
TZW committed
85 86 87 88 89
    ],
  };
  const finishHandle = {
    wxjd: async (vals) => {
      //console.log(vals);
TZW's avatar
TZW committed
90 91
      let params = {};
      if (vals.repairAssistList) {
TZW's avatar
TZW committed
92
        params.repairAssistList = vals?.repairAssistList.map((it) => ({
TZW's avatar
TZW committed
93 94 95
          assistUserId: it,
        }));
      }
TZW's avatar
TZW committed
96 97
      let res = await doFetch({
        url,
TZW's avatar
TZW committed
98 99 100 101
        params: {
          ...params,
          id,
        },
TZW's avatar
TZW committed
102 103 104 105 106 107 108 109 110 111 112
      });
      if (res.code === '0000') {
        message.success('操作成功!');
        setdrawer((s) => ({
          ...s,
          open: false,
        }));
        actionRef.current.reload();
      }
    },
    wxpd: async (vals) => {
TZW's avatar
TZW committed
113 114 115
      let params = {
        repairId: vals?.repairId,
      };
TZW's avatar
TZW committed
116 117 118 119 120 121 122
      if (vals.repairAssistList) {
        params.repairAssistList = vals?.repairAssistList.map((it) => {
          return {
            assistUserId: it,
          };
        });
      }
TZW's avatar
TZW committed
123 124
      let res = await doFetch({
        url,
TZW's avatar
TZW committed
125
        params: { ...params, id },
TZW's avatar
TZW committed
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
      });
      if (res.code === '0000') {
        message.success('操作成功!');
        setdrawer((s) => ({
          ...s,
          open: false,
        }));
        actionRef.current.reload();
      }
    },
    zzpd: async (vals) => {
      //console.log(vals);
      let params = {
        trackAssistList: [{ assistUserId: vals?.trackAssistList }],
        id,
      };
      //console.log(params);
      let res = await doFetch({
        url,
        params,
      });
      if (res.code === '0000') {
        message.success('操作成功!');
        setdrawer((s) => ({
          ...s,
          open: false,
        }));
        actionRef.current.reload();
      }
    },
    wpd: async (vals) => {
      let params = {
        otherUnitsAssistList: [{ assistUserId: vals?.otherUnitsAssistList }],
        id,
      };
      let res = await doFetch({
        url,
        params,
      });
      if (res.code === '0000') {
        message.success('操作成功!');
        setdrawer((s) => ({
          ...s,
          open: false,
        }));
        actionRef.current.reload();
      }
    },
  };

TZW's avatar
TZW committed
176 177
  return (
    <>
TZW's avatar
TZW committed
178
      <InitForm fields={columns[type]} onFinish={finishHandle[type]} />
TZW's avatar
TZW committed
179 180 181 182 183
    </>
  );
};

export default App;