zhoulisen 5 lat temu
rodzic
commit
a1cb03577b

+ 17
- 0
config/routes.js Wyświetl plik

@@ -121,6 +121,23 @@ export default [
121 121
             name: '电子合同',
122 122
             component: '../layouts/BlankLayout',
123 123
             routes: [
124
+              {
125
+                path: '/eContract/company/list',
126
+                name: '企业认证管理',
127
+                component: './eContract/company/index',
128
+              },
129
+              {
130
+                path: '/eContract/company/add',
131
+                name: '新增企业认证',
132
+                hideInMenu: true,
133
+                component: './eContract/company/add',
134
+              },
135
+              {
136
+                path: '/eContract/company/edit',
137
+                name: '编辑企业认证',
138
+                hideInMenu: true,
139
+                component: './eContract/company/edit',
140
+              },
124 141
               {
125 142
                 path: '/eContract/relatedOrganization',
126 143
                 name: '关联组织',

+ 103
- 0
src/pages/eContract/company/add.jsx Wyświetl plik

@@ -0,0 +1,103 @@
1
+import React, { useState, useEffect } from 'react';
2
+import { Input, Menu, Dropdown, Button, Icon, message, Table, Divider, Tag, Select, Form, Alert } from 'antd';
3
+import { FormattedMessage } from 'umi-plugin-react/locale';
4
+import XForm, { FieldTypes } from '../../../components/XForm';
5
+import router from 'umi/router';
6
+import apis from '../../../services/apis';
7
+import request from '../../../utils/request';
8
+import Wangedit from '../../../components/Wangedit/Wangedit'
9
+import moment from 'moment';
10
+
11
+
12
+const header = props => {
13
+    const companyId = props.location.query.id
14
+  
15
+    const [ data, setData ] = useState({})
16
+    if(companyId){
17
+      useEffect(() => {
18
+        getCompanyData(companyId);
19
+      },[])
20
+    
21
+      // 查询列表
22
+      const getCompanyData = (companyId) => {
23
+        request({
24
+            ...apis.company.get,
25
+            urlData: { id: companyId }
26
+        }).then((data) => {
27
+          setData(data)
28
+        }).catch((err) => {
29
+          message.error(err.msg || err.message)
30
+        })
31
+      }
32
+    }else{
33
+      //第一次进入就创建新的企业
34
+      useEffect(() => {
35
+        addCompanyData();
36
+      },[])
37
+
38
+      // 查询列表
39
+      const addCompanyData = () => {
40
+        request({
41
+            ...apis.company.add,
42
+        }).then((data) => {
43
+          setData(data)
44
+        }).catch((err) => {
45
+          message.error(err.msg || err.message)
46
+        })
47
+      }
48
+    }
49
+  
50
+    const fields = [
51
+      {
52
+        label: '已自动生成企业编号',
53
+        name: 'companyCode',
54
+        value: data.companyCode,
55
+        render: <span>{data.companyCode}</span>
56
+      },    
57
+      {
58
+        label: '已生成法大大客户编号',
59
+        name: 'fadadaCode',
60
+        value: data.fadadaCode,
61
+        render: <span>{data.fadadaCode}</span>
62
+      },
63
+      {
64
+        label: '请选择企业管理员身份',
65
+        name: 'companyManagerType',
66
+        value: data.companyManagerType,
67
+        render: <Select style={{ width: '180px' }} placeholder="请选择企业管理员身份">
68
+                  <Select.Option value="legal">法人</Select.Option>
69
+                  <Select.Option value="agent">代理人</Select.Option>
70
+                </Select>,
71
+        rules: [
72
+          { required: true, message: '请选择企业管理员身份' },
73
+        ],
74
+      },
75
+    ]
76
+  
77
+     
78
+    const handleSubmit = (values) => {
79
+      if(data.companyId){
80
+          request({ ...apis.company.update, urlData: { id: data.companyId }, data: { ...values }}).then((data) => {
81
+            console.log(data,"dadadasdadasdasdasdasda")
82
+            message.info("提交成功,请完成认证信息!")
83
+            window.open(data.certifiedAddress);
84
+            cancelPage();
85
+          }).catch((err) => {
86
+            message.error(err.msg || err.message)
87
+          })
88
+        }
89
+    }
90
+  
91
+    const cancelPage = () => {
92
+      router.push({
93
+        pathname: '/eContract/company/list',
94
+      });
95
+    }
96
+  
97
+    return (
98
+      <XForm onSubmit={handleSubmit} onCancel={cancelPage} fields={fields}></XForm>
99
+    )
100
+  }
101
+  
102
+  const WrappedNormalLoginForm = Form.create({ name: 'header' })(header);
103
+  export default WrappedNormalLoginForm

+ 235
- 0
src/pages/eContract/company/edit.jsx Wyświetl plik

@@ -0,0 +1,235 @@
1
+import React, { useState, useEffect } from 'react';
2
+import { Input, Menu, Dropdown, Button, Icon, message, Table, Divider, Tag, Select, Form, Alert, Tabs, Row, Col } from 'antd';
3
+import { FormattedMessage } from 'umi-plugin-react/locale';
4
+import XForm, { FieldTypes } from '../../../components/XForm';
5
+import router from 'umi/router';
6
+import apis from '../../../services/apis';
7
+import request from '../../../utils/request';
8
+import Wangedit from '../../../components/Wangedit/Wangedit'
9
+import moment from 'moment';
10
+
11
+const { TabPane } = Tabs;
12
+
13
+const header = props => {
14
+    const companyId = props.location.query.id
15
+  
16
+    const [ data, setData ] = useState({})
17
+    if(companyId){
18
+      useEffect(() => {
19
+        getCompanyData(companyId);
20
+      },[])
21
+    
22
+      // 查询列表
23
+      const getCompanyData = (companyId) => {
24
+        request({
25
+            ...apis.company.get,
26
+            urlData: { id: companyId }
27
+        }).then((data) => {
28
+          if(data.certifiedStatus === 'registered'){
29
+            router.push({
30
+              pathname: '/eContract/company/add',
31
+              query: {
32
+                id: companyId
33
+              },
34
+            });
35
+            return
36
+          }
37
+          setData(data)
38
+        }).catch((err) => {
39
+          message.error(err.msg || err.message)
40
+        })
41
+      }
42
+    }else{
43
+      //第一次进入就创建新的企业
44
+      useEffect(() => {
45
+        addCompanyData();
46
+      },[])
47
+
48
+      // 添加
49
+      const addCompanyData = () => {
50
+        request({
51
+            ...apis.company.add,
52
+        }).then((data) => {
53
+          setData(data)
54
+        }).catch((err) => {
55
+          message.error(err.msg || err.message)
56
+        })
57
+      }
58
+    }
59
+
60
+    const openFddUrl = () => {
61
+      window.open(data.certifiedAddress)
62
+    }
63
+
64
+    const getCompanyInfo = () => {
65
+      request({
66
+          ...apis.company.refresh,urlData: { id: data.companyId }
67
+      }).then((data) => {
68
+        setData(data)
69
+      }).catch((err) => {
70
+        message.error(err.msg || err.message)
71
+      })
72
+    }
73
+  
74
+    return (
75
+      <Tabs type="card">
76
+        <TabPane tab="基本信息" key="1">
77
+            <Row>
78
+              <Col span={8}></Col>
79
+              <Col span={4}>企业编号</Col>
80
+              <Col span={4}>{data.companyCode}</Col>
81
+              <Col span={8}></Col>
82
+            </Row>
83
+            <Row>
84
+              <Col span={8}></Col>
85
+              <Col span={4}>法大大客户编号</Col>
86
+              <Col span={4}>{data.fadadaCode}</Col>
87
+              <Col span={8}></Col>
88
+            </Row>
89
+            <Row>
90
+              <Col span={8}></Col>
91
+              <Col span={4}>企业管理员身份</Col>
92
+              <Col span={4}>{data.companyManagerType === 'legal' ? '法人' : data.companyManagerType === 'agent' ? "代理人" : "" }</Col>
93
+              <Col span={8}></Col>
94
+            </Row>
95
+            <Row>
96
+              <Col span={8}></Col>
97
+              <Col span={4}>认证序列号</Col>
98
+              <Col span={4}>{data.certifiedSerialNumber}</Col>
99
+              <Col span={8}></Col>
100
+            </Row>
101
+            <Row>
102
+              <Col span={8}></Col>
103
+              <Col span={4}>实名认证地址</Col>
104
+              <Col span={4}><a onClick={openFddUrl}>{data.certifiedAddress}</a></Col>
105
+              <Col span={8}></Col>
106
+            </Row>
107
+            <Row>
108
+              <Col span={8}></Col>
109
+              <Col span={4}>实名认证状态</Col>
110
+              <Col span={4}>{data.status === 0 ? '未认证' : data.status === 1 ? "管理员资料已提交" : data.status === 2 ? "企业基本资料(没有申请表)已提交" : data.status === 3 ? "已提交待审核" : 
111
+                             data.status === 4 ? '审核通过' : data.status === 5 ? "审核不通过" : data.status === 6 ? "人工初审通过" : "" }</Col>
112
+              <Col span={8}></Col>
113
+            </Row>
114
+            <Row>
115
+              <Col span={8}></Col>
116
+              <Col span={4}>
117
+                <Button type="danger" onClick={getCompanyInfo}>更新认证状态</Button>
118
+              </Col>
119
+              <Col span={4}>
120
+                <Button type="danger" onClick={() => router.go(-1)}>返回</Button>
121
+              </Col>
122
+              <Col span={8}></Col>
123
+            </Row>
124
+        </TabPane>
125
+        <TabPane tab="企业认证信息" key="2">
126
+        <Row>
127
+              <Col span={8}></Col>
128
+              <Col span={4}>认证状态</Col>
129
+              <Col span={4}>{data.status === 0 ? '未认证' : data.status === 1 ? "管理员资料已提交" : data.status === 2 ? "企业基本资料(没有申请表)已提交" : data.status === 3 ? "已提交待审核" : 
130
+                             data.status === 4 ? '审核通过' : data.status === 5 ? "审核不通过" : data.status === 6 ? "人工初审通过" : "" }</Col>
131
+              <Col span={8}></Col>
132
+            </Row>
133
+            <Row>
134
+              <Col span={8}></Col>
135
+              <Col span={4}>不通过原因</Col>
136
+              <Col span={4}>{data.reason}</Col>
137
+              <Col span={8}></Col>
138
+            </Row>
139
+            <Row>
140
+              <Col span={8}></Col>
141
+              <Col span={4}>审核时间</Col>
142
+              <Col span={4}>{data.verifyTime}</Col>
143
+              <Col span={8}></Col>
144
+            </Row>
145
+            <Row>
146
+              <Col span={8}></Col>
147
+              <Col span={4}>认证方式</Col>
148
+              <Col span={4}>{data.certifiedType === 0 ? "银行卡认证" : data.certifiedType === 1 ? "纸质审核认证" : ""}</Col>
149
+              <Col span={8}></Col>
150
+            </Row>
151
+            <Row>
152
+              <Col span={8}></Col>
153
+              <Col span={4}>企业信息</Col>
154
+              <Col span={4}></Col>
155
+              <Col span={8}></Col>
156
+            </Row>
157
+            <Row>
158
+              <Col span={8}></Col>
159
+              <Col span={4}>企业名称</Col>
160
+              <Col span={4}>{data.companyName}</Col>
161
+              <Col span={8}></Col>
162
+            </Row>
163
+            <Row>
164
+              <Col span={8}></Col>
165
+              <Col span={4}>统一社会信用代码</Col>
166
+              <Col span={4}>{data.creditCode}</Col>
167
+              <Col span={8}></Col>
168
+            </Row>
169
+
170
+            <Row>
171
+              <Col span={8}></Col>
172
+              <Col span={4}><span>对公账号信息</span></Col>
173
+              <Col span={4}></Col>
174
+              <Col span={8}></Col>
175
+            </Row>
176
+            <Row>
177
+              <Col span={8}></Col>
178
+              <Col span={4}>银行名称</Col>
179
+              <Col span={4}>{data.bankName}</Col>
180
+              <Col span={8}></Col>
181
+            </Row>
182
+            <Row>
183
+              <Col span={8}></Col>
184
+              <Col span={4}>银行帐号</Col>
185
+              <Col span={4}>{data.bankAccount}</Col>
186
+              <Col span={8}></Col>
187
+            </Row>
188
+            <Row>
189
+              <Col span={8}></Col>
190
+              <Col span={4}>开户支行名称</Col>
191
+              <Col span={4}>{data.subbranchName}</Col>
192
+              <Col span={8}></Col>
193
+            </Row>
194
+
195
+            <Row>
196
+              <Col span={8}></Col>
197
+              <Col span={4}>企业管理员身份</Col>
198
+              <Col span={4}>{data.companyManagerType === 'legal' ? '法人' : data.companyManagerType === 'agent' ? "代理人" : ""}</Col>
199
+              <Col span={8}></Col>
200
+            </Row>
201
+            <Row>
202
+              <Col span={8}></Col>
203
+              <Col span={4}>姓名</Col>
204
+              <Col span={4}>{data.userName}</Col>
205
+              <Col span={8}></Col>
206
+            </Row>
207
+            <Row>
208
+              <Col span={8}></Col>
209
+              <Col span={4}>手机号</Col>
210
+              <Col span={4}>{data.tel}</Col>
211
+              <Col span={8}></Col>
212
+            </Row>
213
+            <Row>
214
+              <Col span={8}></Col>
215
+              <Col span={4}>身份证号码</Col>
216
+              <Col span={4}>{data.idCard}</Col>
217
+              <Col span={8}></Col>
218
+            </Row>
219
+            <Row>
220
+              <Col span={8}></Col>
221
+              <Col span={4}>
222
+                <Button type="danger" onClick={getCompanyInfo}>更新企业认证信息</Button>
223
+              </Col>
224
+              <Col span={4}>
225
+                <Button type="danger" onClick={() => router.go(-1)}>返回</Button>
226
+              </Col>
227
+              <Col span={8}></Col>
228
+            </Row>
229
+        </TabPane>
230
+      </Tabs> 
231
+    )
232
+  }
233
+  
234
+  const WrappedNormalLoginForm = Form.create({ name: 'header' })(header);
235
+  export default WrappedNormalLoginForm

+ 213
- 0
src/pages/eContract/company/index.jsx Wyświetl plik

@@ -0,0 +1,213 @@
1
+import React, { useState, useEffect } from 'react';
2
+import { PageHeaderWrapper } from '@ant-design/pro-layout';
3
+import { Form, Pagination, Card, Button, Icon, Tooltip, message,   notification, Modal, Table, Select, Input, DatePicker } from 'antd';
4
+import router from 'umi/router';
5
+import moment from 'moment';
6
+import className from 'classnames';
7
+import Cell from '../../../components/Cell';
8
+import styles from './style.less';
9
+import { fetch, apis } from '../../../utils/request';
10
+import request from '../../../utils/request';
11
+import AuthButton from '@/components/AuthButton';
12
+
13
+const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
14
+
15
+function header(props) {
16
+  // 获取初始化数据
17
+  const [ data, setData ] = useState({})
18
+  const [deleteList, setDeleteList] = useState([])
19
+
20
+  useEffect(() => {
21
+    getList({ pageNum: 1, pageSize: 10 });
22
+  },[])
23
+
24
+  // 查询列表
25
+  const getList = (params) => {
26
+    request({ ...apis.company.list, params: { ...params } }).then((data) => {
27
+        console.log(data)
28
+        setData(data)
29
+    })
30
+  }
31
+
32
+  
33
+  // 提交事件
34
+  const handleSubmit = (e, props) => {
35
+    e.preventDefault();
36
+    props.form.validateFields((err, values) => {
37
+      if (!err) {
38
+        getList({ pageNum: 1, pageSize: 10, ...values })
39
+      }
40
+    });
41
+  }
42
+
43
+  const changePageNum = (pageNumber) => {
44
+    let values  = props.form.getFieldsValue()
45
+    getList({ pageNum: pageNumber, pageSize: 10, ...values })
46
+  }
47
+
48
+  const rowSelection = {
49
+    onChange: (selectedRowKeys, selectedRows) => {
50
+      console.log('selectedRowKeys:', selectedRowKeys, 'selectedRows: ', selectedRows);
51
+      setDeleteList(selectedRows)
52
+    },
53
+  };
54
+
55
+
56
+  // 跳转到编辑资讯
57
+  const toEditCompany = (id) => () => {
58
+    router.push({
59
+      pathname: '/eContract/company/edit',
60
+      query: {
61
+        id
62
+      },
63
+    });
64
+  }
65
+
66
+  
67
+  // 跳转到编辑资讯
68
+  const toAddCompany = () => {
69
+    router.push({
70
+      pathname: '/eContract/company/add',
71
+    });
72
+  }
73
+
74
+  
75
+  const changeStatus = () => {
76
+    if(deleteList.length < 1){
77
+      message.error('请先选择要删除的数据!')
78
+      return
79
+    }
80
+    const title = '确认将所选的' + deleteList.length + '条数据删除?认证通过的企业不会被删除'
81
+    Modal.confirm({
82
+      title: title,
83
+      okText: '确认',
84
+      cancelText: '取消',
85
+      onOk() {
86
+        request({ ...apis.company.delete, data: { ids: deleteList.map(x => x.companyId) } }).then((data) => {
87
+          const resultMessage = '操作成功,其中'+data.successNum+'条成功删除,'+data.failNum+'条已认证数据无法删除。'
88
+          message.info(resultMessage)
89
+          getList({ pageNum: 1, pageSize: 10 });
90
+        }).catch((err) => {
91
+          console.log(err)
92
+          message.info(err.msg || err.message)
93
+        })
94
+      }
95
+    });
96
+  }
97
+  /**
98
+   *
99
+   *
100
+   * @param {*} props
101
+   * @returns
102
+   */
103
+  const columns = [
104
+    {
105
+      title: '企业名称',
106
+      dataIndex: 'companyName',
107
+      key: 'companyName',
108
+      align: 'center',
109
+    },
110
+    {
111
+      title: '企业编号',
112
+      dataIndex: 'companyCode',
113
+      key: 'companyCode',
114
+      align: 'center',
115
+    },
116
+    {
117
+      title: '法大大客户编号',
118
+      dataIndex: 'fadadaCode',
119
+      key: 'fadadaCode',
120
+      align: 'center',
121
+
122
+    },
123
+    {
124
+      title: '实名认证状态',
125
+      dataIndex: 'status',
126
+      key: 'status',
127
+      align: 'center',
128
+      render: (status) => <span>{status === 0 ? '未认证' : status === 1 ? "管理员资料已提交" : status === 2 ? "企业基本资料(没有申请表)已提交" : status === 3 ? "已提交待审核" : 
129
+      status === 4 ? '审核通过' : status === 5 ? "审核不通过" : status === 6 ? "人工初审通过" : "" }</span>,
130
+    },
131
+    {
132
+      title: '企业管理员身份',
133
+      dataIndex: 'companyManagerType',
134
+      key: 'companyManagerType',
135
+      align: 'center',
136
+      render: (companyManagerType) => <span>{companyManagerType === 'legal' ? '法人' : companyManagerType === 'agent' ? "代理人" : "" }</span>,
137
+    },
138
+    {
139
+      title: '操作',
140
+      dataIndex: 'handle',
141
+      key: 'handle',
142
+      align: 'center',
143
+      render: (x, row) => (
144
+        <span style={{ color: '#FF925C', cursor: 'pointer' }} onClick={toEditCompany(row.companyId)}>
145
+          查看详情<Icon type="form" className={styles.edit} />
146
+        </span>
147
+      ),
148
+    },
149
+  ];
150
+  function handleReset() {
151
+    props.form.resetFields();
152
+    getList({ pageNum: 1, pageSize: 10 })
153
+  }
154
+
155
+  const { getFieldDecorator } = props.form
156
+  return (
157
+
158
+    <>
159
+    <Form layout="inline" onSubmit={e => handleSubmit(e, props)}>
160
+        <Form.Item>
161
+          {getFieldDecorator('companyName')(
162
+            <Input
163
+              prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
164
+              placeholder="企业名称"
165
+            />,
166
+          )}
167
+        </Form.Item>
168
+        <Form.Item>
169
+          {getFieldDecorator('companyCode')(
170
+            <Input
171
+              prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
172
+              placeholder="企业编号"
173
+            />,
174
+          )}
175
+        </Form.Item>
176
+        <Form.Item>
177
+          {getFieldDecorator('status')(
178
+            <Select style={{ width: '180px' }} placeholder="实名认证状态">
179
+              <Select.Option value="0">未认证</Select.Option>
180
+              <Select.Option value="1">管理员资料已提交</Select.Option>
181
+              <Select.Option value="2">企业基本资料(没有申请表)已提交</Select.Option>
182
+              <Select.Option value="3">已提交待审核</Select.Option>
183
+              <Select.Option value="4">审核通过</Select.Option>
184
+              <Select.Option value="5">审核不通过</Select.Option>
185
+              <Select.Option value="6">人工初审通过</Select.Option>
186
+            </Select>,
187
+          )}
188
+        </Form.Item>
189
+        <Form.Item>
190
+          <Button type="primary" htmlType="submit" className={styles.searchBtn}>
191
+            搜索
192
+          </Button>
193
+          <Button style={{ marginLeft: 8 }} onClick={handleReset}>
194
+              重置
195
+          </Button>
196
+        </Form.Item>
197
+      </Form>
198
+      <AuthButton name="admin.taNewsType.post" noRight={null}>
199
+        <Button type="danger" className={styles.addBtn} onClick={toAddCompany}>新增</Button>
200
+      </AuthButton>
201
+      <AuthButton name="admin.taNewsType.post" noRight={null}>
202
+        <Button type="danger" style={{ marginLeft: 15 }} onClick={changeStatus}>删除</Button>
203
+      </AuthButton>
204
+      <Table rowSelection={rowSelection} rowKey="newsType" dataSource={data.records} columns={columns} pagination={false} />
205
+      <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
206
+        <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current}/>
207
+      </div>
208
+    </>
209
+  )
210
+}
211
+const WrappedHeader = Form.create({ name: 'header' })(header);
212
+
213
+export default WrappedHeader

+ 22
- 0
src/pages/eContract/company/style.less Wyświetl plik

@@ -0,0 +1,22 @@
1
+.flex-box {
2
+  display: flex;
3
+  flex-wrap: wrap;
4
+
5
+  .flex-item {
6
+    flex: none;
7
+  }
8
+
9
+  .flex-auto {
10
+    flex: auto;
11
+  }
12
+}
13
+
14
+.member {
15
+  margin-bottom: 36px;
16
+  margin-right: 24px;
17
+}
18
+
19
+.square {
20
+  height: 0;
21
+  padding-bottom : 80%;
22
+}

+ 39
- 7
src/services/apis.js Wyświetl plik

@@ -115,12 +115,12 @@ const apis = {
115 115
     uploadForAnt: {
116 116
       url: `${prefix}/antd/image`,
117 117
       method: 'POST',
118
-      action: 'center',
118
+      action: 'channel',
119 119
     },
120 120
     upload: {
121 121
       url: `${prefix}/image`,
122 122
       method: 'POST',
123
-      action: 'center',
123
+      action: 'channel',
124 124
     },
125 125
   },
126 126
   openScreen: {
@@ -164,27 +164,27 @@ const apis = {
164 164
     listContactByCondition: {
165 165
       url: `${prefix}/listContactByCondition`,
166 166
       method: 'GET',
167
-      action: 'center',
167
+      action: 'channel',
168 168
     },
169 169
     taContactAdd: {
170 170
       url: `${prefix}/taContact`,
171 171
       method: 'POST',
172
-      action: 'center',
172
+      action: 'channel',
173 173
     },
174 174
     batchDeleteContact: {
175 175
       url: `${prefix}/taContact/batchDelete`,
176 176
       method: 'PUT',
177
-      action: 'center',
177
+      action: 'channel',
178 178
     },
179 179
     taContactGet: {
180 180
       url: `${prefix}/taContact/:id`,
181 181
       method: 'GET',
182
-      action: 'center',
182
+      action: 'channel',
183 183
     },
184 184
     taContactUpdate: {
185 185
       url: `${prefix}/taContact/:id`,
186 186
       method: 'PUT',
187
-      action: 'center',
187
+      action: 'channel',
188 188
     },
189 189
     list: {
190 190
       url: `${prefix}/taContact`,
@@ -238,6 +238,38 @@ const apis = {
238 238
       action: 'channel',
239 239
     },
240 240
     
241
+
242
+  company: {
243
+    list: {
244
+      url: `${prefix}/company/list`,
245
+      method: 'GET',
246
+      action: 'channel',
247
+    },
248
+    add: {
249
+      url: `${prefix}/company/add`,
250
+      method: 'POST',
251
+      action: 'channel',
252
+    },
253
+    get: {
254
+      url: `${prefix}/company/:id`,
255
+      method: 'GET',
256
+      action: 'channel',
257
+    },
258
+    update: {
259
+      url: `${prefix}/company/:id`,
260
+      method: 'PUT',
261
+      action: 'channel',
262
+    },
263
+    refresh: {
264
+      url: `${prefix}/company/fdd/:id`,
265
+      method: 'GET',
266
+      action: 'channel',
267
+    },
268
+    delete: {
269
+      url: `${prefix}/company/delete`,
270
+      method: 'DELETE',
271
+      action: 'channel',
272
+    }
241 273
   }
242 274
 
243 275