张涛 2 年前
父节点
当前提交
8dfea74133
共有 3 个文件被更改,包括 133 次插入117 次删除
  1. 2
    2
      src/pages/issue/index.jsx
  2. 44
    56
      src/pages/org/components/Form.jsx
  3. 87
    59
      src/pages/role/list.jsx

+ 2
- 2
src/pages/issue/index.jsx 查看文件

1
+// 此页面包含两个接口  后端需要注意
1
 import React from "react";
2
 import React from "react";
2
 import { Button, Badge } from "antd";
3
 import { Button, Badge } from "antd";
3
 import { useNavigate } from "react-router-dom";
4
 import { useNavigate } from "react-router-dom";
43
       isResponsible ? exportTaOrgIssue : exportTaIssue,
44
       isResponsible ? exportTaOrgIssue : exportTaIssue,
44
     ];
45
     ];
45
   }, [isResponsible, org]);
46
   }, [isResponsible, org]);
46
-
47
   const columns = [
47
   const columns = [
48
     {
48
     {
49
       title: "问题单号",
49
       title: "问题单号",
149
       search: false,
149
       search: false,
150
       ellipsis: true,
150
       ellipsis: true,
151
       render: (_, row) => {
151
       render: (_, row) => {
152
-        if (row.endDate) return row.endDate.replace("T", "-");
152
+        if (row.endDate) return row.endDate.replace("T", " ");
153
         return row.endDate;
153
         return row.endDate;
154
       },
154
       },
155
     },
155
     },

+ 44
- 56
src/pages/org/components/Form.jsx 查看文件

1
-import React from 'react';
2
-import { Button, Radio, Form, Input, Select } from 'antd';
3
-import useBool from '@/utils/hooks/useBool';
1
+import React from "react";
2
+import { Button, Radio, Form, Input, Select } from "antd";
3
+import useBool from "@/utils/hooks/useBool";
4
 import { postSysOrg, putSysOrg, getSysOrgById } from "@/service/sysorg";
4
 import { postSysOrg, putSysOrg, getSysOrgById } from "@/service/sysorg";
5
-import { formItemLayout, tailFormItemLayout } from '@/utils/form';
5
+import { formItemLayout, tailFormItemLayout } from "@/utils/form";
6
 
6
 
7
 export default (props) => {
7
 export default (props) => {
8
   const { org, list, parentId, onChange } = props;
8
   const { org, list, parentId, onChange } = props;
9
 
9
 
10
   const [submiting, startSubmit, cancelSubmit] = useBool();
10
   const [submiting, startSubmit, cancelSubmit] = useBool();
11
   const [form] = Form.useForm();
11
   const [form] = Form.useForm();
12
-  
12
+
13
   const onFinish = (values) => {
13
   const onFinish = (values) => {
14
     startSubmit();
14
     startSubmit();
15
     if (org?.orgId) {
15
     if (org?.orgId) {
16
       // 修改
16
       // 修改
17
-      putSysOrg(org.orgId, values).then((res) => {
18
-        cancelSubmit();
19
-        onChange(res);
20
-      }).catch(() => {
21
-        cancelSubmit();
22
-      });
17
+      putSysOrg(org.orgId, values)
18
+        .then((res) => {
19
+          cancelSubmit();
20
+          onChange(res);
21
+        })
22
+        .catch(() => {
23
+          cancelSubmit();
24
+        });
23
     } else {
25
     } else {
24
       // 新增
26
       // 新增
25
-      postSysOrg(values).then((res) => {
26
-        cancelSubmit();
27
-        onChange(res);
28
-      }).catch(() => {
29
-        cancelSubmit();
30
-      });
27
+      postSysOrg(values)
28
+        .then((res) => {
29
+          cancelSubmit();
30
+          onChange(res);
31
+        })
32
+        .catch(() => {
33
+          cancelSubmit();
34
+        });
31
     }
35
     }
32
-  }
36
+  };
33
 
37
 
34
   React.useEffect(() => {
38
   React.useEffect(() => {
35
     form.resetFields();
39
     form.resetFields();
36
     if (org) {
40
     if (org) {
37
       form.setFieldsValue(org);
41
       form.setFieldsValue(org);
38
     } else {
42
     } else {
39
-      form.setFieldValue('orgPId', parentId);
40
-      form.setFieldValue('isResponsible', true);
43
+      form.setFieldValue("orgPId", parentId);
44
+      form.setFieldValue("isResponsible", true);
41
     }
45
     }
42
 
46
 
43
     console.log(org, parentId);
47
     console.log(org, parentId);
44
   }, [org, parentId]);
48
   }, [org, parentId]);
45
 
49
 
46
   return (
50
   return (
47
-    <Form onFinish={onFinish} form={form} {...formItemLayout} style={{width: '800px'}}>
51
+    <Form
52
+      onFinish={onFinish}
53
+      form={form}
54
+      {...formItemLayout}
55
+      style={{ width: "90%" }}
56
+    >
48
       <Form.Item
57
       <Form.Item
49
         name="name"
58
         name="name"
50
         label="机构名称"
59
         label="机构名称"
51
-        rules={[
52
-          {required: true, message: '请填写机构名称'}
53
-        ]}
60
+        rules={[{ required: true, message: "请填写机构名称" }]}
54
       >
61
       >
55
         <Input />
62
         <Input />
56
       </Form.Item>
63
       </Form.Item>
57
-      <Form.Item
58
-        name="orgPId"
59
-        label="上级单位"
60
-      >
64
+      <Form.Item name="orgPId" label="上级单位">
61
         <Select>
65
         <Select>
62
-          {
63
-            (list || []).map(x => (
64
-              <Select.Option key={x.orgId}>
65
-                {x.name}
66
-              </Select.Option>
67
-            ))
68
-          }
66
+          {(list || []).map((x) => (
67
+            console.log(x),
68
+            <Select.Option key={x.orgId}>{x.name}</Select.Option>
69
+          ))}
69
         </Select>
70
         </Select>
70
       </Form.Item>
71
       </Form.Item>
71
 
72
 
72
-      <Form.Item
73
-        name="isResponsible"
74
-        label="责任单位"
75
-      >
73
+      <Form.Item name="isResponsible" label="责任单位">
76
         <Radio.Group>
74
         <Radio.Group>
77
           <Radio value={true}>是</Radio>
75
           <Radio value={true}>是</Radio>
78
           <Radio value={false}>否</Radio>
76
           <Radio value={false}>否</Radio>
79
         </Radio.Group>
77
         </Radio.Group>
80
       </Form.Item>
78
       </Form.Item>
81
 
79
 
82
-      <Form.Item
83
-        name="sortNo"
84
-        label="排序"
85
-      >
80
+      <Form.Item name="sortNo" label="排序">
86
         <Input />
81
         <Input />
87
       </Form.Item>
82
       </Form.Item>
88
 
83
 
89
-
90
-      <Form.Item
91
-        name="status"
92
-        label="状态"
93
-      >
94
-        <Select
95
-          style={{ width: '100%' }}
96
-          placeholder="请选择状态"
97
-        >
98
-          <Option value={0}>不正常</Option>
99
-          <Option value={1}>正常</Option>
84
+      <Form.Item name="status" label="状态">
85
+        <Select style={{ width: "100%" }} placeholder="请选择状态">
86
+          <Select.Option value={0}>不正常</Select.Option>
87
+          <Select.Option value={1}>正常</Select.Option>
100
         </Select>
88
         </Select>
101
       </Form.Item>
89
       </Form.Item>
102
       <Form.Item {...tailFormItemLayout}>
90
       <Form.Item {...tailFormItemLayout}>
105
         </Button>
93
         </Button>
106
       </Form.Item>
94
       </Form.Item>
107
     </Form>
95
     </Form>
108
-  )
109
-}
96
+  );
97
+};

+ 87
- 59
src/pages/role/list.jsx 查看文件

1
-import React from 'react';
2
-import { Button, Input, List, Popconfirm, Spin, Modal, message } from 'antd';
3
-import useBool from '@/utils/hooks/useBool';
4
-import classNames from 'classnames';
1
+import React from "react";
2
+import { Button, Input, List, Popconfirm, Spin, Modal, message } from "antd";
3
+import useBool from "@/utils/hooks/useBool";
4
+import classNames from "classnames";
5
 import {
5
 import {
6
   getSysRole,
6
   getSysRole,
7
   postSysRole,
7
   postSysRole,
8
   putSysRole,
8
   putSysRole,
9
   deleteSysRole,
9
   deleteSysRole,
10
-} from '@/service/sysrole';
11
-import './style.less';
10
+} from "@/service/sysrole";
11
+import "./style.less";
12
 
12
 
13
 const Header = (props) => {
13
 const Header = (props) => {
14
   return (
14
   return (
15
-    <div className='role-list-header'>
16
-      <div className='role-list-header-body'>{props.children}</div>
17
-      <div className='role-list-header-action'>{props.action}</div>
15
+    <div className="role-list-header">
16
+      <div className="role-list-header-body">{props.children}</div>
17
+      <div className="role-list-header-action">{props.action}</div>
18
     </div>
18
     </div>
19
-  )
20
-}
19
+  );
20
+};
21
 
21
 
22
 export default (props) => {
22
 export default (props) => {
23
   const { current, onChange } = props;
23
   const { current, onChange } = props;
32
     openModel();
32
     openModel();
33
     setInText();
33
     setInText();
34
     onChange();
34
     onChange();
35
-  }
35
+  };
36
 
36
 
37
   const onEdit = (item) => {
37
   const onEdit = (item) => {
38
     openModel();
38
     openModel();
39
     setInText(item.name);
39
     setInText(item.name);
40
     onChange(item);
40
     onChange(item);
41
-  }
41
+  };
42
 
42
 
43
   const onDelete = (item) => {
43
   const onDelete = (item) => {
44
     startLoading();
44
     startLoading();
45
     // 删除角色
45
     // 删除角色
46
-    deleteSysRole(item.roleId).then(() => {
47
-      setList(list.filter(x => x.roleId !== item.roleId));
48
-      cancelLoading();
49
-      hideModel();
50
-      onChange();
51
-    }).catch(() => {
52
-      cancelLoading();
53
-    })
54
-  }
46
+    deleteSysRole(item.roleId)
47
+      .then(() => {
48
+        setList(list.filter((x) => x.roleId !== item.roleId));
49
+        cancelLoading();
50
+        hideModel();
51
+        onChange();
52
+      })
53
+      .catch(() => {
54
+        cancelLoading();
55
+      });
56
+  };
55
 
57
 
56
   const handleOk = () => {
58
   const handleOk = () => {
57
     if (!inText) {
59
     if (!inText) {
58
-      message.warn('请输入角色名称');
60
+      message.warn("请输入角色名称");
59
       return;
61
       return;
60
     }
62
     }
61
     startLoading();
63
     startLoading();
63
 
65
 
64
     if (current) {
66
     if (current) {
65
       // 修改角色
67
       // 修改角色
66
-      putSysRole(current.roleId, data).then(res => {
67
-        setList(list.map(x => x.roleId === current.roleId ? res : x));
68
-        cancelLoading();
69
-        hideModel();
70
-      }).catch(() => {
71
-        cancelLoading();
72
-      })
68
+      putSysRole(current.roleId, data)
69
+        .then((res) => {
70
+          setList(list.map((x) => (x.roleId === current.roleId ? res : x)));
71
+          cancelLoading();
72
+          hideModel();
73
+        })
74
+        .catch(() => {
75
+          cancelLoading();
76
+        });
73
     } else {
77
     } else {
74
       // 新增角色
78
       // 新增角色
75
-      postSysRole(data).then((res) => {
76
-        setList([res].concat(list));
77
-        cancelLoading();
78
-        hideModel();
79
-        onChange(res);
80
-      }).catch(() => {
81
-        cancelLoading();
82
-      })
79
+      postSysRole(data)
80
+        .then((res) => {
81
+          setList([res].concat(list));
82
+          cancelLoading();
83
+          hideModel();
84
+          onChange(res);
85
+        })
86
+        .catch(() => {
87
+          cancelLoading();
88
+        });
83
     }
89
     }
84
-  }
90
+  };
85
 
91
 
86
   const handleCancel = () => {
92
   const handleCancel = () => {
87
     if (loading) {
93
     if (loading) {
88
-      return ;
94
+      return;
89
     }
95
     }
90
 
96
 
91
     hideModel();
97
     hideModel();
92
-  }
98
+  };
93
 
99
 
94
   const queryRoles = React.useCallback((params) => {
100
   const queryRoles = React.useCallback((params) => {
95
     startLoading();
101
     startLoading();
96
-    getSysRole(params).then(res => {
97
-      setList(res.records);
98
-      cancelLoading();
99
-      setFinished(res.current >= res.pages);
100
-    }).catch(() => {
101
-      cancelLoading();
102
-    });
102
+    getSysRole(params)
103
+      .then((res) => {
104
+        setList(res.records);
105
+        cancelLoading();
106
+        setFinished(res.current >= res.pages);
107
+      })
108
+      .catch(() => {
109
+        cancelLoading();
110
+      });
103
   }, []);
111
   }, []);
104
 
112
 
105
   React.useEffect(() => {
113
   React.useEffect(() => {
109
   return (
117
   return (
110
     <Spin spinning={loading}>
118
     <Spin spinning={loading}>
111
       <List
119
       <List
112
-        header={<Header action={<Button type='primary' onClick={onAdd}>新增</Button>}>角色列表</Header>}
113
-        style={{ background: '#fff' }}
120
+        header={
121
+          <Header
122
+            action={
123
+              <Button type="primary" onClick={onAdd}>
124
+                新增
125
+              </Button>
126
+            }
127
+          >
128
+            角色列表
129
+          </Header>
130
+        }
131
+        style={{ background: "#fff" }}
114
         bordered
132
         bordered
115
         dataSource={list}
133
         dataSource={list}
116
-        renderItem={item => (
134
+        renderItem={(item) => (
117
           <List.Item
135
           <List.Item
118
-            className={classNames('role-list-item', { active: current && current.roleId === item.roleId })}
136
+            className={classNames("role-list-item", {
137
+              active: current && current.roleId === item.roleId,
138
+            })}
119
             onClick={() => onChange(item)}
139
             onClick={() => onChange(item)}
120
             actions={[
140
             actions={[
121
-              <Button key='edit' type='link' onClick={() => onEdit(item)}>编辑</Button>,
122
-              <Popconfirm key='delete' title="确认删除?" onConfirm={() => onDelete(item)}>
123
-                <Button type='link' danger>删除</Button>
124
-              </Popconfirm>
141
+              <Button key="edit" type="link" onClick={() => onEdit(item)}>
142
+                编辑
143
+              </Button>,
144
+              <Popconfirm
145
+                key="delete"
146
+                title="确认删除?"
147
+                onConfirm={() => onDelete(item)}
148
+              >
149
+                <Button type="link" danger>
150
+                  删除
151
+                </Button>
152
+              </Popconfirm>,
125
             ]}
153
             ]}
126
           >
154
           >
127
             {item.name}
155
             {item.name}
134
         onOk={handleOk}
162
         onOk={handleOk}
135
         onCancel={handleCancel}
163
         onCancel={handleCancel}
136
       >
164
       >
137
-        <Input value={inText} onChange={e => setInText(e.target.value)} />
165
+        <Input value={inText} onChange={(e) => setInText(e.target.value)} />
138
       </Modal>
166
       </Modal>
139
     </Spin>
167
     </Spin>
140
-  )
141
-}
168
+  );
169
+};