Blame view

src/pages/performance/SalarySystemSetting/index.tsx 6.41 KB
77dbe4e7   赵凤   薪酬组回显
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  import React, { useEffect, useState } from "react";
  import {
    Card,
    Form,
    InputNumber,
    Button,
    message,
    Popconfirm,
    Result,
    Radio,
    Descriptions,
    Popover,
  } from "antd";
  import { PlusOutlined, ExclamationCircleFilled } from "@ant-design/icons";
  
  import { PageHeaderWrapper } from "@ant-design/pro-layout";
  import useInitial from "@/hooks/useInitail";
  import {
    getConfigApi,
    DetailParams,
    SaveParams,
    saveConfigApi,
    fetchList,
    Item,
  } from "./api";
  
  const FormItem = Form.Item;
  
  export default function StarRatingRules() {
    const { data, setLoading, loading, errMsg } = useInitial<Item, any>(
      fetchList,
      {},
      {}
    );
    const [disabled, setDisabled] = useState(true);
    const [submitLoading, setSubmitLoading] = useState(false);
    const [form] = Form.useForm();
  
    useEffect(() => {
      initData();
    }, [data]);
  
    function onHandleCancel(initFlag: boolean = true) {
      initFlag && initData();
      setDisabled(!disabled);
    }
  
    function initData() {
      form.setFieldsValue({
        ...data,
      });
    }
  
    function onFinish(feildValue: SaveParams) {
      setSubmitLoading(true);
77dbe4e7   赵凤   薪酬组回显
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
      const params = {
        ...feildValue,
      };
      try {
        saveConfigApi(params)
          .then((res) => {
            message.success("保存成功");
            setDisabled(true);
            setSubmitLoading(false);
          })
          .catch((err) => {
            message.error(err.message);
            setSubmitLoading(false);
          });
      } catch (err) {
        message.error(err.message);
        setSubmitLoading(false);
      }
    }
  
    return (
7b132e8d   曾柯   薪酬统设置改为系统设置
77
      <PageHeaderWrapper title="系统设置">
77dbe4e7   赵凤   薪酬组回显
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
        <Card loading={loading}>
          {errMsg ? (
            <Result
              title="页面错误"
              subTitle={errMsg}
              status="error"
              extra={
                <Button type="primary" onClick={() => setLoading(true)}>
                  重新加载
                </Button>
              }
            />
          ) : (
            <Form
              form={form}
              onFinish={onFinish}
              labelCol={{ span: 10 }}
              layout="vertical"
              wrapperCol={{ span: 5 }}
              style={{
606c7dc4   赵凤   系统设置
98
                padding: 150,
77dbe4e7   赵凤   薪酬组回显
99
100
              }}
            >
5b39c9ea   赵凤   薪酬系统设置
101
              <h3 style={{ width: "100%" }}>开放管理层查看薪酬:</h3>
77dbe4e7   赵凤   薪酬组回显
102
              <FormItem
2e81b1b3   赵凤   系统设置
103
                name="leaderVisibility"
77dbe4e7   赵凤   薪酬组回显
104
105
106
                style={{ paddingLeft: 100 }}
                rules={[{ required: true, message: "请输入" }]}
              >
606c7dc4   赵凤   系统设置
107
108
  
                <Radio.Group disabled={disabled} >
5b39c9ea   赵凤   薪酬系统设置
109
110
111
                  <Radio value>开放</Radio>
                  <Radio value={false}>不开放</Radio>
                </Radio.Group>
77dbe4e7   赵凤   薪酬组回显
112
              </FormItem>
2e81b1b3   赵凤   系统设置
113
              <h3 style={{ width: "100%" }}>工资申诉时间:</h3>
77dbe4e7   赵凤   薪酬组回显
114
115
116
117
118
119
120
121
              <div
                style={{
                  display: "flex",
                  paddingLeft: 50,
                  flexWrap: "wrap",
                }}
              >
                <FormItem
2e81b1b3   赵凤   系统设置
122
123
                  name="startDateOfAppeal"
                  label="可申诉开始日期"
77dbe4e7   赵凤   薪酬组回显
124
125
126
127
128
                  style={{ paddingLeft: 50 }}
                  rules={[{ required: true, message: "请输入" }]}
                >
                  <InputNumber
                    placeholder="请输入"
2e81b1b3   赵凤   系统设置
129
                    min={1}
77dbe4e7   赵凤   薪酬组回显
130
131
                    precision={0}
                    disabled={disabled}
606c7dc4   赵凤   系统设置
132
                    addonAfter="日"
77dbe4e7   赵凤   薪酬组回显
133
134
135
136
                    style={{ marginRight: 6, width: 400 }}
                  />
                </FormItem>
                <FormItem
2e81b1b3   赵凤   系统设置
137
                  name="endDateOfAppeal"
606c7dc4   赵凤   系统设置
138
                  label="可申诉结束日期"
77dbe4e7   赵凤   薪酬组回显
139
140
141
142
143
144
                  style={{ paddingLeft: 50 }}
                  rules={[{ required: true, message: "请输入" }]}
                >
                  <InputNumber
                    placeholder="请输入"
                    style={{ width: 400 }}
2e81b1b3   赵凤   系统设置
145
146
                    min={1}
                    max={28}
606c7dc4   赵凤   系统设置
147
                    addonAfter="日"
77dbe4e7   赵凤   薪酬组回显
148
149
150
151
152
                    disabled={disabled}
                    precision={0}
                  />
                </FormItem>
              </div>
2e81b1b3   赵凤   系统设置
153
              <h3 style={{ width: "100%" }}>工资发放时间:</h3>
77dbe4e7   赵凤   薪酬组回显
154
155
156
157
158
159
160
161
              <div
                style={{
                  display: "flex",
                  paddingLeft: 50,
                  flexWrap: "wrap",
                }}
              >
                <FormItem
606c7dc4   赵凤   系统设置
162
                  name="payoffDate"
5b39c9ea   赵凤   薪酬系统设置
163
                  label="每月"
77dbe4e7   赵凤   薪酬组回显
164
165
166
167
168
                  style={{ paddingLeft: 50 }}
                  rules={[{ required: true, message: "请输入" }]}
                >
                  <InputNumber
                    placeholder="请输入"
2e81b1b3   赵凤   系统设置
169
                    min={1}
606c7dc4   赵凤   系统设置
170
171
                    precision={0}
                    max={28}
77dbe4e7   赵凤   薪酬组回显
172
173
                    disabled={disabled}
                    style={{ marginRight: 6, width: 400 }}
2e81b1b3   赵凤   系统设置
174
                    addonAfter="日"
77dbe4e7   赵凤   薪酬组回显
175
176
                  />
                </FormItem>
2e81b1b3   赵凤   系统设置
177
178
179
180
181
182
183
184
185
186
  
              </div>
              <h3 style={{ width: "100%" }}>薪酬发放限制:</h3>
              <div
                style={{
                  display: "flex",
                  paddingLeft: 50,
                  flexWrap: "wrap",
                }}
              >
77dbe4e7   赵凤   薪酬组回显
187
                <FormItem
606c7dc4   赵凤   系统设置
188
189
                  name="payoffLimit"
                  label="公户发放最大金额"
77dbe4e7   赵凤   薪酬组回显
190
                  style={{ paddingLeft: 50 }}
77dbe4e7   赵凤   薪酬组回显
191
192
                >
                  <InputNumber
2e81b1b3   赵凤   系统设置
193
                    placeholder="请输入"
77dbe4e7   赵凤   薪酬组回显
194
                    min={0}
606c7dc4   赵凤   系统设置
195
                    precision={2}
77dbe4e7   赵凤   薪酬组回显
196
                    disabled={disabled}
606c7dc4   赵凤   系统设置
197
198
                    addonAfter="元"
  
2e81b1b3   赵凤   系统设置
199
                    style={{ marginRight: 6, width: 400 }}
77dbe4e7   赵凤   薪酬组回显
200
201
202
                  />
                </FormItem>
              </div>
77dbe4e7   赵凤   薪酬组回显
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
              <FormItem
                wrapperCol={{ offset: 7, span: 14 }}
                style={{ marginTop: 40 }}
              >
                <Popconfirm
                  title="确定取消?取消将重置数据"
                  onConfirm={() => onHandleCancel(true)}
                >
                  <Button hidden={disabled} style={{ marginRight: 30 }}>
                    取消
                  </Button>
                </Popconfirm>
                <Button
                  hidden={disabled}
                  type="primary"
                  htmlType="submit"
                  loading={submitLoading}
                >
                  提交
                </Button>
                <Button
                  hidden={!disabled}
                  type="primary"
                  htmlType="button"
                  onClick={() => onHandleCancel(false)}
                >
                  编辑
                </Button>
              </FormItem>
            </Form>
          )}
        </Card>
      </PageHeaderWrapper>
    );
  }