Просмотр исходного кода

Merge branch 'master' of http://git.ycjcjy.com/estateagents/pc-channel

# Conflicts:
#	src/services/apis.js
魏超 5 лет назад
Родитель
Сommit
b3a30aaac8

+ 6
- 0
config/routes.js Просмотреть файл

@@ -154,6 +154,12 @@ export default [
154 154
                 name: '关联组织',
155 155
                 component: './eContract/relatedOrganization',
156 156
               },
157
+              {
158
+                path: '/eContract/relatedOrganization/add',
159
+                name: '新增关联组织',
160
+                hideInMenu: true,
161
+                component: './eContract/relatedOrganization/add',
162
+              },
157 163
               {
158 164
                 path: '/eContract/signedContract',
159 165
                 name: '已签署合同',

+ 32
- 20
src/pages/eContract/company/edit.jsx Просмотреть файл

@@ -45,7 +45,7 @@ const header = props => {
45 45
         addCompanyData();
46 46
       },[])
47 47
 
48
-      // 查询列表
48
+      // 添加
49 49
       const addCompanyData = () => {
50 50
         request({
51 51
             ...apis.company.add,
@@ -60,6 +60,16 @@ const header = props => {
60 60
     const openFddUrl = () => {
61 61
       window.open(data.certifiedAddress)
62 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
+    }
63 73
   
64 74
     return (
65 75
       <Tabs type="card">
@@ -79,7 +89,7 @@ const header = props => {
79 89
             <Row>
80 90
               <Col span={8}></Col>
81 91
               <Col span={4}>企业管理员身份</Col>
82
-              <Col span={4}>{data.companyManagerType}</Col>
92
+              <Col span={4}>{data.companyManagerType === 'legal' ? '法人' : data.companyManagerType === 'agent' ? "代理人" : "" }</Col>
83 93
               <Col span={8}></Col>
84 94
             </Row>
85 95
             <Row>
@@ -97,16 +107,17 @@ const header = props => {
97 107
             <Row>
98 108
               <Col span={8}></Col>
99 109
               <Col span={4}>实名认证状态</Col>
100
-              <Col span={4}>{data.certifiedStatus}</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>
101 112
               <Col span={8}></Col>
102 113
             </Row>
103 114
             <Row>
104 115
               <Col span={8}></Col>
105 116
               <Col span={4}>
106
-                <Button type="danger" >更新认证状态</Button>
117
+                <Button type="danger" onClick={getCompanyInfo}>更新认证状态</Button>
107 118
               </Col>
108 119
               <Col span={4}>
109
-                <Button type="danger" >返回</Button>
120
+                <Button type="danger" onClick={() => router.go(-1)}>返回</Button>
110 121
               </Col>
111 122
               <Col span={8}></Col>
112 123
             </Row>
@@ -115,25 +126,26 @@ const header = props => {
115 126
         <Row>
116 127
               <Col span={8}></Col>
117 128
               <Col span={4}>认证状态</Col>
118
-              <Col span={4}>{data.companyCode}</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>
119 131
               <Col span={8}></Col>
120 132
             </Row>
121 133
             <Row>
122 134
               <Col span={8}></Col>
123 135
               <Col span={4}>不通过原因</Col>
124
-              <Col span={4}>{data.fadadaCode}</Col>
136
+              <Col span={4}>{data.reason}</Col>
125 137
               <Col span={8}></Col>
126 138
             </Row>
127 139
             <Row>
128 140
               <Col span={8}></Col>
129 141
               <Col span={4}>审核时间</Col>
130
-              <Col span={4}>{data.companyManagerType}</Col>
142
+              <Col span={4}>{data.verifyTime}</Col>
131 143
               <Col span={8}></Col>
132 144
             </Row>
133 145
             <Row>
134 146
               <Col span={8}></Col>
135 147
               <Col span={4}>认证方式</Col>
136
-              <Col span={4}>{data.certifiedSerialNumber}</Col>
148
+              <Col span={4}>{data.certifiedType === 0 ? "银行卡认证" : data.certifiedType === 1 ? "纸质审核认证" : ""}</Col>
137 149
               <Col span={8}></Col>
138 150
             </Row>
139 151
             <Row>
@@ -145,13 +157,13 @@ const header = props => {
145 157
             <Row>
146 158
               <Col span={8}></Col>
147 159
               <Col span={4}>企业名称</Col>
148
-              <Col span={4}>{data.certifiedStatus}</Col>
160
+              <Col span={4}>{data.companyName}</Col>
149 161
               <Col span={8}></Col>
150 162
             </Row>
151 163
             <Row>
152 164
               <Col span={8}></Col>
153 165
               <Col span={4}>统一社会信用代码</Col>
154
-              <Col span={4}>{data.certifiedStatus}</Col>
166
+              <Col span={4}>{data.creditCode}</Col>
155 167
               <Col span={8}></Col>
156 168
             </Row>
157 169
 
@@ -164,53 +176,53 @@ const header = props => {
164 176
             <Row>
165 177
               <Col span={8}></Col>
166 178
               <Col span={4}>银行名称</Col>
167
-              <Col span={4}>{data.certifiedStatus}</Col>
179
+              <Col span={4}>{data.bankName}</Col>
168 180
               <Col span={8}></Col>
169 181
             </Row>
170 182
             <Row>
171 183
               <Col span={8}></Col>
172 184
               <Col span={4}>银行帐号</Col>
173
-              <Col span={4}>{data.certifiedStatus}</Col>
185
+              <Col span={4}>{data.bankAccount}</Col>
174 186
               <Col span={8}></Col>
175 187
             </Row>
176 188
             <Row>
177 189
               <Col span={8}></Col>
178 190
               <Col span={4}>开户支行名称</Col>
179
-              <Col span={4}>{data.certifiedStatus}</Col>
191
+              <Col span={4}>{data.subbranchName}</Col>
180 192
               <Col span={8}></Col>
181 193
             </Row>
182 194
 
183 195
             <Row>
184 196
               <Col span={8}></Col>
185 197
               <Col span={4}>企业管理员身份</Col>
186
-              <Col span={4}>{data.certifiedStatus}</Col>
198
+              <Col span={4}>{data.companyManagerType === 'legal' ? '法人' : data.companyManagerType === 'agent' ? "代理人" : ""}</Col>
187 199
               <Col span={8}></Col>
188 200
             </Row>
189 201
             <Row>
190 202
               <Col span={8}></Col>
191 203
               <Col span={4}>姓名</Col>
192
-              <Col span={4}>{data.certifiedStatus}</Col>
204
+              <Col span={4}>{data.userName}</Col>
193 205
               <Col span={8}></Col>
194 206
             </Row>
195 207
             <Row>
196 208
               <Col span={8}></Col>
197 209
               <Col span={4}>手机号</Col>
198
-              <Col span={4}>{data.certifiedStatus}</Col>
210
+              <Col span={4}>{data.tel}</Col>
199 211
               <Col span={8}></Col>
200 212
             </Row>
201 213
             <Row>
202 214
               <Col span={8}></Col>
203 215
               <Col span={4}>身份证号码</Col>
204
-              <Col span={4}>{data.certifiedStatus}</Col>
216
+              <Col span={4}>{data.idCard}</Col>
205 217
               <Col span={8}></Col>
206 218
             </Row>
207 219
             <Row>
208 220
               <Col span={8}></Col>
209 221
               <Col span={4}>
210
-                <Button type="danger" >更新企业认证信息</Button>
222
+                <Button type="danger" onClick={getCompanyInfo}>更新企业认证信息</Button>
211 223
               </Col>
212 224
               <Col span={4}>
213
-                <Button type="danger" >返回</Button>
225
+                <Button type="danger" onClick={() => router.go(-1)}>返回</Button>
214 226
               </Col>
215 227
               <Col span={8}></Col>
216 228
             </Row>

+ 19
- 16
src/pages/eContract/company/index.jsx Просмотреть файл

@@ -15,7 +15,7 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
15 15
 function header(props) {
16 16
   // 获取初始化数据
17 17
   const [ data, setData ] = useState({})
18
-  const [demandIdList, setDemandIdList] = useState([])
18
+  const [deleteList, setDeleteList] = useState([])
19 19
 
20 20
   useEffect(() => {
21 21
     getList({ pageNum: 1, pageSize: 10 });
@@ -48,7 +48,7 @@ function header(props) {
48 48
   const rowSelection = {
49 49
     onChange: (selectedRowKeys, selectedRows) => {
50 50
       console.log('selectedRowKeys:', selectedRowKeys, 'selectedRows: ', selectedRows);
51
-      setDemandIdList(selectedRows)
51
+      setDeleteList(selectedRows)
52 52
     },
53 53
   };
54 54
 
@@ -73,18 +73,18 @@ function header(props) {
73 73
 
74 74
   
75 75
   const changeStatus = () => {
76
-    if(demandIdList.length < 1){
76
+    if(deleteList.length < 1){
77 77
       message.error('请先选择要删除的数据!')
78 78
       return
79 79
     }
80
-    const title = '确认将所选的' + demandIdList.length + '条数据删除?可删除条件:需求单状态 为 作废。'
80
+    const title = '确认将所选的' + deleteList.length + '条数据删除?认证通过的企业不会被删除'
81 81
     Modal.confirm({
82 82
       title: title,
83 83
       okText: '确认',
84 84
       cancelText: '取消',
85 85
       onOk() {
86
-        request({ ...apis.sample.put, data: { ids: demandIdList.map(x => x.demandId) } }).then((data) => {
87
-          const resultMessage = '操作成功,其中'+data.successNum+'条成功删除,'+data.failNum+'条非作废状态未删除。'
86
+        request({ ...apis.company.delete, data: { ids: deleteList.map(x => x.companyId) } }).then((data) => {
87
+          const resultMessage = '操作成功,其中'+data.successNum+'条成功删除,'+data.failNum+'条已认证数据无法删除。'
88 88
           message.info(resultMessage)
89 89
           getList({ pageNum: 1, pageSize: 10 });
90 90
         }).catch((err) => {
@@ -122,15 +122,18 @@ function header(props) {
122 122
     },
123 123
     {
124 124
       title: '实名认证状态',
125
-      dataIndex: 'certifiedStatus',
126
-      key: 'certifiedStatus',
125
+      dataIndex: 'status',
126
+      key: 'status',
127 127
       align: 'center',
128
+      render: (status) => <span>{status === 0 ? '未认证' : status === 1 ? "管理员资料已提交" : status === 2 ? "企业基本资料(没有申请表)已提交" : status === 3 ? "已提交待审核" : 
129
+      status === 4 ? '审核通过' : status === 5 ? "审核不通过" : status === 6 ? "人工初审通过" : "" }</span>,
128 130
     },
129 131
     {
130 132
       title: '企业管理员身份',
131 133
       dataIndex: 'companyManagerType',
132 134
       key: 'companyManagerType',
133 135
       align: 'center',
136
+      render: (companyManagerType) => <span>{companyManagerType === 'legal' ? '法人' : companyManagerType === 'agent' ? "代理人" : "" }</span>,
134 137
     },
135 138
     {
136 139
       title: '操作',
@@ -171,15 +174,15 @@ function header(props) {
171 174
           )}
172 175
         </Form.Item>
173 176
         <Form.Item>
174
-          {getFieldDecorator('certifiedStatus')(
177
+          {getFieldDecorator('status')(
175 178
             <Select style={{ width: '180px' }} placeholder="实名认证状态">
176
-              <Select.Option value="1">未认证</Select.Option>
177
-              <Select.Option value="2">管理员资料已提交</Select.Option>
178
-              <Select.Option value="3">企业基本资料(没有申请表)已提交</Select.Option>
179
-              <Select.Option value="4">已提交待审核</Select.Option>
180
-              <Select.Option value="5">审核通过</Select.Option>
181
-              <Select.Option value="6">审核不通过</Select.Option>
182
-              <Select.Option value="7">人工初审通过</Select.Option>
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>
183 186
             </Select>,
184 187
           )}
185 188
         </Form.Item>

+ 95
- 0
src/pages/eContract/relatedOrganization/add.jsx Просмотреть файл

@@ -0,0 +1,95 @@
1
+import React, { useState, useEffect } from 'react';
2
+import { PageHeaderWrapper } from '@ant-design/pro-layout';
3
+import { Form, Input, Button, Icon, Select, message, Table, Divider, Tag, Steps, Pagination, Modal, Breadcrumb } from 'antd';
4
+import router from 'umi/router';
5
+import moment from 'moment';
6
+import styles from './style.less';
7
+import { fetch, apis } from '../../../utils/request';
8
+import request from '../../../utils/request';
9
+import AuthButton from '@/components/AuthButton';
10
+import Enterprise from './components/enterprise';
11
+import Organization from './components/organization';
12
+
13
+const { Step } = Steps;
14
+
15
+let ent = null
16
+
17
+function header(props) {
18
+
19
+  console.log(props, 'props')
20
+
21
+  const [current, setCurrent] = useState()
22
+  const [status, setStatus] = useState({})
23
+
24
+  useEffect(() => {
25
+    setCurrent(0)
26
+    setStatus({
27
+   
28
+      ent: "process",
29
+      org: "wait",
30
+      disabled: true,
31
+    })
32
+  }, [])
33
+
34
+
35
+  const relation = (orgId, companyId) => {
36
+    request({ ...apis.relatedOrganization.post, data: { orgId: orgId, companyId: companyId }, }).then(data => {
37
+      message.info("关联成功")
38
+      router.push({
39
+        pathname: '/eContract/relatedOrganization',
40
+        query: {
41
+          //   salesBatchId: data.salesBatchId,
42
+        },
43
+      });
44
+    }).catch((err) => {
45
+      message.info(err.msg || err.message)
46
+    })
47
+  }
48
+  const onChange = current => {
49
+    console.log('onChange:', current);
50
+    setCurrent(current);
51
+  };
52
+
53
+  const onChoiceEnt = (value) => {
54
+    console.log("onChoiceEnt", value);
55
+    ent = value.companyId
56
+    setCurrent(1)
57
+    setStatus({
58
+      enttitle: "选择已认证企业",
59
+      ent: "finish",
60
+      org: "process",
61
+      disabled: false,
62
+    })
63
+  };
64
+
65
+  const onChoiceOrg = (value) => {
66
+    console.log("onChoiceOrg", value);
67
+    console.log("ent", ent);
68
+    relation(value.orgId,ent )
69
+
70
+
71
+  };
72
+
73
+  return (<>
74
+    <div style={{ maxWidth: 600 }}>
75
+      <Steps
76
+        type="navigation"
77
+        current={current}
78
+        onChange={onChange}
79
+        className="site-navigation-steps"
80
+      >
81
+        <Step status={status.ent} title="选择已认证企业" disabled />
82
+        <Step status={status.org} title="选择关联的组织" disabled />
83
+        {/* <Step status="wait" title="Step 3" /> */}
84
+
85
+      </Steps>
86
+
87
+    </div>
88
+    {current === 0 && <Enterprise onChoiceEnt={onChoiceEnt} />}
89
+    {current === 1 && <Organization onChoiceOrg={onChoiceOrg} />}
90
+  </>)
91
+}
92
+
93
+
94
+
95
+export default header

+ 148
- 0
src/pages/eContract/relatedOrganization/components/enterprise.jsx Просмотреть файл

@@ -0,0 +1,148 @@
1
+import React, { useState, useEffect } from 'react';
2
+import { PageHeaderWrapper } from '@ant-design/pro-layout';
3
+import { Form, Input, Button, Icon, Select, message, Table, Divider, Tag, Steps, Pagination, Modal, Breadcrumb } from 'antd';
4
+import router from 'umi/router';
5
+import moment from 'moment';
6
+import styles from '../style.less';
7
+import { fetch, apis } from '../../../../utils/request';
8
+import request from '../../../../utils/request';
9
+import AuthButton from '@/components/AuthButton';
10
+
11
+
12
+
13
+
14
+function header(props, ref) {
15
+
16
+    console.log(props, 'ent')
17
+    console.log(props, 'ref')
18
+
19
+    const [data, setData] = useState({})
20
+
21
+    useEffect(() => {
22
+        getList({ pageNum: 1, pageSize: 10 });
23
+    }, [])
24
+    // 查询列表
25
+
26
+    const getList = params => {
27
+        // certifiedStatus: true,
28
+        request({ ...apis.relatedOrganization.listCompany, params: { ...params } }).then(data => {
29
+            setData(data)
30
+        })
31
+    }
32
+    function handleReset() {
33
+        props.form.resetFields();
34
+        getList({ pageNum: 1, pageSize: 10 });
35
+    }
36
+
37
+    const changePageNum = pageNumber => {
38
+        getList({ pageNum: pageNumber, pageSize: 10, ...props.form.getFieldsValue() })
39
+    }
40
+
41
+    const choiceent = value => {
42
+        console.log(value, 'value')
43
+
44
+        // Modal.confirm({
45
+        //     title: '确认将所选数据删除?',
46
+        //     okText: '确定',
47
+        //     cancelText: '取消',
48
+        //     onOk() {
49
+
50
+        //     },
51
+        // });
52
+        props.onChoiceEnt(value)
53
+    }
54
+
55
+
56
+    const handleSubmit = (e, props) => {
57
+        e.preventDefault();
58
+
59
+
60
+
61
+        getList({ pageNum: 1, pageSize: 10, ...props.form.getFieldsValue() });
62
+
63
+
64
+    }
65
+
66
+
67
+    const columns = [
68
+        {
69
+            title: '企业名称',
70
+            dataIndex: 'companyName',
71
+            key: 'companyName',
72
+            align: 'center',
73
+
74
+        },
75
+        {
76
+            title: '企业编号',
77
+            dataIndex: 'companyCode',
78
+            key: 'companyCode',
79
+            align: 'center',
80
+
81
+        },
82
+        {
83
+            title: '法大大客户编号',
84
+            dataIndex: 'fadadaCode',
85
+            key: 'fadadaCode',
86
+            align: 'center',
87
+
88
+        },
89
+        {
90
+            title: '操作',
91
+            dataIndex: 'handle',
92
+            key: 'handle',
93
+            align: 'center',
94
+            render: (x, row) => (
95
+                <>
96
+
97
+
98
+                    <span style={{ color: '#FF925C', cursor: 'pointer' }} onClick={e => choiceent(row)}>
99
+                        选择<Icon type="form" className={styles.edit} />
100
+                    </span>
101
+
102
+                </>
103
+            ),
104
+        }
105
+    ]
106
+
107
+    const { getFieldDecorator } = props.form
108
+    return (<>
109
+        <div>
110
+            <Form layout="inline" style={{ marginTop: '30px' }} onSubmit={e => handleSubmit(e, props)}>
111
+                <Form.Item>
112
+                    {getFieldDecorator('companyName')(
113
+                        <Input
114
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
115
+                            placeholder="企业名称 "
116
+                        />,
117
+                    )}
118
+                </Form.Item>
119
+                <Form.Item>
120
+                    {getFieldDecorator('companyCode')(
121
+                        <Input
122
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
123
+                            placeholder="企业编号 "
124
+                        />,
125
+                    )}
126
+                </Form.Item>
127
+                <Form.Item>
128
+                    <Button type="primary" htmlType="submit" className={styles.searchBtn}>搜索</Button>
129
+                    <Button style={{ marginLeft: 8 }} onClick={handleReset}>重置</Button>
130
+                </Form.Item>
131
+            </Form>
132
+
133
+
134
+
135
+            <Table id='noticeTable' style={{ marginTop: '30px' }} dataSource={data.records} columns={columns} pagination={false} />
136
+
137
+            <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
138
+                <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={e => changePageNum(e)} current={data.current} />
139
+            </div>
140
+
141
+
142
+        </div>
143
+    </>)
144
+}
145
+
146
+const WrappedHeader = Form.create({ name: 'header' })(header);
147
+
148
+export default WrappedHeader

+ 136
- 0
src/pages/eContract/relatedOrganization/components/organization.jsx Просмотреть файл

@@ -0,0 +1,136 @@
1
+import React, { useState, useEffect } from 'react';
2
+import { PageHeaderWrapper } from '@ant-design/pro-layout';
3
+import { Form, Input, Button, Icon, Select, message, Table, Divider, Tag, Steps, Pagination, Modal, Breadcrumb } from 'antd';
4
+import router from 'umi/router';
5
+import moment from 'moment';
6
+import styles from '../style.less';
7
+import { fetch, apis } from '../../../../utils/request';
8
+import request from '../../../../utils/request';
9
+import AuthButton from '@/components/AuthButton';
10
+
11
+
12
+
13
+
14
+function header(props) {
15
+
16
+    const [ data, setData ] = useState({})
17
+
18
+    useEffect(() => {
19
+        console.log('org')
20
+        getList({ pageNum: 1, pageSize: 10 });
21
+    }, [])
22
+    // 查询列表
23
+
24
+    const getList = params => {
25
+        request({ ...apis.relatedOrganization.listOrg, params: { ...params } }).then(data => {
26
+            setData(data)
27
+        })
28
+    }
29
+    function handleReset() {
30
+        props.form.resetFields();
31
+        getList({ pageNum: 1, pageSize: 10 });
32
+    }
33
+
34
+    const changePageNum = pageNumber => {
35
+        getList({ pageNum: pageNumber, pageSize: 10, ...props.form.getFieldsValue() })
36
+    }
37
+
38
+    const handleSubmit = (e, props) => {
39
+        e.preventDefault();
40
+        getList({ pageNum: 1, pageSize: 10, ...props.form.getFieldsValue() });
41
+    }
42
+
43
+    const choiceorg = value =>{
44
+        console.log(value,'org')
45
+        props.onChoiceOrg(value)
46
+    }
47
+
48
+    const columns = [
49
+        {
50
+            title: '组织名称',
51
+            dataIndex: 'name',
52
+            key: 'name',
53
+            align: 'center',
54
+
55
+        },
56
+        {
57
+            title: '组织编号',
58
+            dataIndex: 'orgId',
59
+            key: 'orgId',
60
+            align: 'center',
61
+           
62
+        },
63
+        {
64
+            title: '小程序名称',
65
+            dataIndex: 'miniAppName',
66
+            key: 'miniAppName',
67
+            align: 'center',
68
+           
69
+        },
70
+        {
71
+            title: '代理商名称',
72
+            dataIndex: 'channelProxyName',
73
+            key: 'channelProxyName',
74
+            align: 'center',
75
+           
76
+        },
77
+        {
78
+            title: '操作',
79
+            dataIndex: 'handle',
80
+            key: 'handle',
81
+            align: 'center',
82
+            render: (x, row) => (
83
+                <>
84
+
85
+
86
+                    <span style={{ color: '#FF925C', cursor: 'pointer' }} onClick={e=>choiceorg(row)}>
87
+                    选择<Icon type="form" className={styles.edit} />
88
+                    </span>
89
+
90
+                </>
91
+            ),
92
+        }
93
+    ]
94
+   
95
+    const { getFieldDecorator } = props.form
96
+    return (<>
97
+        <div>
98
+        <Form layout="inline" style={{ marginTop: '30px' }} onSubmit={e => handleSubmit(e, props) }>
99
+                <Form.Item>
100
+                    {getFieldDecorator('orgName')(
101
+                        <Input
102
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
103
+                            placeholder="组织名称 "
104
+                        />,
105
+                    )}
106
+                </Form.Item>
107
+                <Form.Item>
108
+                    {getFieldDecorator('miniAppName')(
109
+                        <Input
110
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
111
+                            placeholder="小程序名称 "
112
+                        />,
113
+                    )}
114
+                    </Form.Item>
115
+                    <Form.Item>
116
+                    <Button type="primary" htmlType="submit" className={styles.searchBtn}>搜索</Button>
117
+                    <Button style={{ marginLeft: 8 }} onClick={handleReset}>重置</Button>
118
+                </Form.Item>
119
+            </Form>
120
+
121
+            
122
+
123
+            <Table id='noticeTable' style={{ marginTop: '30px' }}  dataSource={data.records} columns={columns} pagination={false} />
124
+
125
+                <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
126
+                    <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={e => changePageNum(e)} current={data.current} />
127
+                </div>
128
+
129
+
130
+        </div>
131
+    </>)
132
+}
133
+
134
+const WrappedHeader = Form.create({ name: 'header' })(header);
135
+
136
+export default WrappedHeader

+ 166
- 38
src/pages/eContract/relatedOrganization/index.jsx Просмотреть файл

@@ -19,25 +19,41 @@ function header(props) {
19 19
     // 查询列表
20 20
 
21 21
     const getList = params => {
22
-       
22
+        request({ ...apis.relatedOrganization.get, params: { ...params } }).then(data => {
23
+            setData(data)
24
+        })
23 25
     }
24 26
 
25
-    const toEditResource = (id) => () => {
26
-        if(id){
27
-        router.push({
28
-            pathname: '/resource/openScreen/edit',
29
-              query: {
30
-                id
31
-              },
32
-        });
33
-    }else{
27
+    const toAdd = (id) => () => {
28
+        
34 29
             router.push({
35
-                pathname: '/resource/openScreen/add',
30
+                pathname: '/eContract/relatedOrganization/add',
36 31
                   query: {
37 32
                     id
38 33
                   },
39 34
             });
40
-        }
35
+        
36
+    }
37
+
38
+    const onDelete = rowData =>  {
39
+        // if (taNoticeList.length < 1) {
40
+        //     message.error('请至少选择一条数据')
41
+        //     return
42
+        // }
43
+
44
+        Modal.confirm({
45
+            title: '删除后组织将不能使用企业电子签章,确认删除?',
46
+            okText: '确定',
47
+            cancelText: '取消',
48
+            onOk() {
49
+                request({ ...apis.relatedOrganization.delete, urlData: { id: rowData.companyOrgId }}).then((data) => {
50
+                    message.info("操作成功")
51
+                    getList({ pageNum: 1, pageSize: 10 });
52
+                  
53
+                  }).catch((err) => {
54
+                  })
55
+            },
56
+        });
41 57
     }
42 58
 
43 59
     const handleSubmit = (e, props) => {
@@ -50,43 +66,155 @@ function header(props) {
50 66
         getList({ pageNum: 1, pageSize: 10 });
51 67
     }
52 68
 
53
-    const toDelBatch = rowData => () => {
54
-        console.log(taNoticeList, 'taNoticeList')
55
-        if (taNoticeList.length < 1) {
56
-            message.error('请至少选择一条数据')
57
-            return
58
-        }
59
-
60
-        Modal.confirm({
61
-            title: '确认将所选数据删除?',
62
-            okText: '确定',
63
-            cancelText: '取消',
64
-            onOk() {
65
-              
66
-            },
67
-        });
68
-    }
69 69
 
70 70
     const changePageNum = pageNumber => {
71 71
         getList({ pageNum: pageNumber, pageSize: 10, ...props.form.getFieldsValue() })
72 72
     }
73 73
 
74
-     
75
-    const { getFieldDecorator } = props.form
74
+    const columns = [
75
+        {
76
+            title: '企业名称',
77
+            dataIndex: 'companyName',
78
+            key: 'companyName',
79
+            align: 'center',
76 80
 
77
-    const rowSelection = {
78
-        onChange: (selectedRowKeys, selectedRows) => {
79
-          console.log('selectedRowKeys:', selectedRowKeys, 'selectedRows: ', selectedRows);
80
-          setTaNoticeList(selectedRows)
81 81
         },
82
-      };
82
+        {
83
+            title: '企业编号',
84
+            dataIndex: 'companyCode',
85
+            key: 'companyCode',
86
+            align: 'center',
87
+           
88
+        },
89
+        {
90
+            title: '实名认证状态',
91
+            dataIndex: 'companyStatus',
92
+            key: 'companyStatus',
93
+            align: 'center',
94
+            render: (companyStatus) => <>
95
+            {companyStatus === 0 && <span>未认证</span>}
96
+            {companyStatus === 1 && <span>管理员资料已提交</span>}
97
+            {companyStatus === 2 && <span>企业基本资料(没有申请表)已提交</span>}
98
+            {companyStatus === 3 && <span>已提交待审核</span>}
99
+            {companyStatus === 4 && <span>审核通过</span>}
100
+            {companyStatus === 5 && <span>审核不通过</span>}
101
+            {companyStatus === 6 && <span>人工初核通过</span>}
102
+           
103
+            </>,
104
+          
105
+        },
106
+        {
107
+            title: '关联组织名',
108
+            dataIndex: 'orgName',
109
+            key: 'orgName',
110
+            align: 'center',
111
+        },
112
+        {
113
+            title: '组织编号',
114
+            dataIndex: 'orgId',
115
+            key: 'orgId',
116
+            align: 'center',
117
+           
118
+        }, 
119
+        {
120
+            title: '小程序名称',
121
+            dataIndex: 'miniAppName',
122
+            key: 'miniAppName',
123
+            align: 'center',
124
+            
125
+        },
126
+        
127
+        {
128
+            title: '关联时间',
129
+            dataIndex: 'createDate',
130
+            key: 'createDate',
131
+            align: 'center',
132
+            render: (x, row) => <><span>{row.createDate?`${moment(row.createDate).format('YYYY-MM-DD HH:mm:ss')}`:''}</span></>,
133
+        },
134
+        {
135
+            title: '操作',
136
+            dataIndex: 'handle',
137
+            key: 'handle',
138
+            align: 'center',
139
+            render: (x, row) => (
140
+                <>
141
+
142
+
143
+                    <span style={{ color: '#FF925C', cursor: 'pointer' }} onClick={e=>onDelete(row)}>
144
+                    删除<Icon type="form" className={styles.edit} />
145
+                    </span>
146
+
147
+                </>
148
+            ),
149
+        },
150
+        
151
+    ];
152
+
153
+     
154
+    const { getFieldDecorator } = props.form
83 155
  
84 156
     return (
85 157
 
86 158
         <>
87
-            <div>
88
-           234
89
-            </div>
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('companyStatus')(
178
+                        <Select style={{ width: '280px' }} placeholder="实名认证状态">
179
+                            <Select.Option value="">全部</Select.Option>
180
+                            <Select.Option value="0">未认证</Select.Option>
181
+                            <Select.Option value="1">管理员资料已提交</Select.Option>
182
+                            <Select.Option value="2">企业基本资料(没有申请表)已提交</Select.Option>
183
+                            <Select.Option value="3">已提交待审核</Select.Option>
184
+                            <Select.Option value="4">审核通过</Select.Option>
185
+                            <Select.Option value="5">审核不通过</Select.Option>
186
+                            <Select.Option value="6">人工初核通过</Select.Option>
187
+                        </Select>,
188
+                    )}
189
+                </Form.Item>
190
+                <Form.Item>
191
+                    {getFieldDecorator('orgName')(
192
+                        <Input
193
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
194
+                            placeholder="关联组织名 "
195
+                        />,
196
+                    )}
197
+                </Form.Item>
198
+                <Form.Item>
199
+                    {getFieldDecorator('miniAppName')(
200
+                        <Input
201
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
202
+                            placeholder="小程序名称 "
203
+                        />,
204
+                    )}
205
+                </Form.Item>
206
+                <Form.Item>
207
+                    <Button type="primary" htmlType="submit" className={styles.searchBtn}>搜索</Button>
208
+                    <Button style={{ marginLeft: 8 }} onClick={handleReset}>重置</Button>
209
+                </Form.Item>
210
+            </Form>
211
+            <Button type="danger" className={styles.addBtn} onClick={toAdd()}>新增</Button>
212
+
213
+            <Table id='noticeTable'   dataSource={data.records} columns={columns} pagination={false} />
214
+
215
+                <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
216
+                    <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={e => changePageNum(e)} current={data.current} />
217
+                </div>
90 218
         </>
91 219
     )
92 220
 }

+ 6
- 0
src/pages/eContract/relatedOrganization/style.less Просмотреть файл

@@ -45,4 +45,10 @@
45 45
     color: #bebebe;
46 46
     margin-left: 6px;
47 47
     font-size: 15px;
48
+  }
49
+
50
+  .site-navigation-steps {
51
+    width: 300px;
52
+    margin-bottom: 60px;
53
+    box-shadow: 0px -1px 0 0 #e8e8e8 inset;
48 54
   }

+ 271
- 36
src/pages/eContract/signedContract/index.jsx Просмотреть файл

@@ -1,6 +1,6 @@
1 1
 import React, { useState, useEffect } from 'react';
2 2
 import { PageHeaderWrapper } from '@ant-design/pro-layout';
3
-import { Form, Input, Button, Icon, Select, message, Table, Divider, Tag, Pagination, Modal, Breadcrumb } from 'antd';
3
+import { Form, Input, Button, Icon, Select, message, Table, InputNumber, Divider, Tag, DatePicker, Pagination, Modal, Breadcrumb } from 'antd';
4 4
 import router from 'umi/router';
5 5
 import moment from 'moment';
6 6
 import styles from './style.less';
@@ -8,41 +8,60 @@ import { fetch, apis } from '../../../utils/request';
8 8
 import request from '../../../utils/request';
9 9
 import AuthButton from '@/components/AuthButton';
10 10
 
11
+const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
12
+
11 13
 function header(props) {
12
-    
13
-    const [taNoticeList, setTaNoticeList] = useState([])
14
-    const [ data, setData ] = useState({})
14
+
15
+    const [taContractList, setTaContractList] = useState([])
16
+    const [data, setData] = useState({})
17
+    const [checkData, setCheckData] = useState()
18
+    const [visible, setVisible] = useState()
19
+    const [price, setPrice] = useState()
15 20
 
16 21
     useEffect(() => {
22
+        setVisible(false)
23
+        setCheckData(0)
17 24
         getList({ pageNum: 1, pageSize: 10 });
18 25
     }, [])
19 26
     // 查询列表
20 27
 
21 28
     const getList = params => {
22
-       
23
-    }
24 29
 
25
-    const toEditResource = (id) => () => {
26
-        if(id){
27
-        router.push({
28
-            pathname: '/resource/openScreen/edit',
29
-              query: {
30
-                id
31
-              },
32
-        });
33
-    }else{
34
-            router.push({
35
-                pathname: '/resource/openScreen/add',
36
-                  query: {
37
-                    id
38
-                  },
39
-            });
40
-        }
30
+        request({ ...apis.signedContract.get, params: { ...params } }).then(data => {
31
+            setData(data)
32
+        })
33
+
41 34
     }
42 35
 
36
+
43 37
     const handleSubmit = (e, props) => {
44 38
         e.preventDefault();
45
-        getList({ pageNum: 1, pageSize: 10, ...props.form.getFieldsValue() });
39
+        console.log(e, props)
40
+        props.form.validateFields((err, values) => {
41
+            if (!err) {
42
+                let { signatoryTime, settlementTime, ...submitValue } = values
43
+                if (null != signatoryTime && signatoryTime.length > 0) {
44
+                    const [signatoryStartTime, signatoryEndTime] = signatoryTime
45
+                    submitValue.signatoryStartTime = moment(signatoryStartTime).format('YYYY-MM-DD');
46
+                    submitValue.signatoryEndTime = moment(signatoryEndTime).format('YYYY-MM-DD');
47
+                } else {
48
+                    submitValue.signatoryStartTime = null
49
+                    submitValue.signatoryEndTime = null
50
+                }
51
+
52
+                if (null != settlementTime && settlementTime.length > 0) {
53
+                    const [settlementStartTime, settlementEndTime] = settlementTime
54
+                    submitValue.settlementStartTime = moment(settlementStartTime).format('YYYY-MM-DD');
55
+                    submitValue.settlementEndTime = moment(settlementEndTime).format('YYYY-MM-DD');
56
+                } else {
57
+                    submitValue.settlementStartTime = null
58
+                    submitValue.settlementEndTime = null
59
+                }
60
+              
61
+                getList({ pageNum: 1, pageSize: 10, ...submitValue });
62
+            }
63
+        });
64
+       
46 65
     }
47 66
 
48 67
     function handleReset() {
@@ -51,18 +70,18 @@ function header(props) {
51 70
     }
52 71
 
53 72
     const toDelBatch = rowData => () => {
54
-        console.log(taNoticeList, 'taNoticeList')
55
-        if (taNoticeList.length < 1) {
56
-            message.error('请至少选择一条数据')
57
-            return
58
-        }
73
+        // if (taContractList.length < 1) {
74
+        //     message.error('请至少选择一条数据')
75
+        //     return
76
+        // }
59 77
 
60 78
         Modal.confirm({
61 79
             title: '确认将所选数据删除?',
62 80
             okText: '确定',
63 81
             cancelText: '取消',
64 82
             onOk() {
65
-              
83
+            
84
+                console.log(price,'price')
66 85
             },
67 86
         });
68 87
     }
@@ -71,22 +90,238 @@ function header(props) {
71 90
         getList({ pageNum: pageNumber, pageSize: 10, ...props.form.getFieldsValue() })
72 91
     }
73 92
 
74
-     
93
+
75 94
     const { getFieldDecorator } = props.form
76 95
 
77 96
     const rowSelection = {
78 97
         onChange: (selectedRowKeys, selectedRows) => {
79
-          console.log('selectedRowKeys:', selectedRowKeys, 'selectedRows: ', selectedRows);
80
-          setTaNoticeList(selectedRows)
98
+            console.log('selectedRowKeys:', selectedRowKeys, 'selectedRows: ', selectedRows);
99
+            setTaContractList(selectedRows)
100
+        },
101
+    };
102
+
103
+    const onChange = (value) => {
104
+        console.log(value, 'value')
105
+        setPrice(value)
106
+    }
107
+
108
+
109
+
110
+    const columns = [
111
+        {
112
+            title: '企业名称',
113
+            dataIndex: 'companyName',
114
+            key: 'companyName',
115
+            align: 'center',
116
+
117
+        },
118
+        {
119
+            title: '企业编号',
120
+            dataIndex: 'companyNumber',
121
+            key: 'companyNumber',
122
+            align: 'center',
123
+
124
+        },
125
+        {
126
+            title: '代理商名称',
127
+            dataIndex: 'channelProxyName',
128
+            key: 'channelProxyName',
129
+            align: 'center',
130
+
131
+        },
132
+        {
133
+            title: '组织名称',
134
+            dataIndex: 'orgName',
135
+            key: 'orgName',
136
+            align: 'center',
81 137
         },
82
-      };
83
- 
138
+        {
139
+            title: '小程序名称',
140
+            dataIndex: 'miniAppName',
141
+            key: 'miniAppName',
142
+            align: 'center',
143
+
144
+        },
145
+        {
146
+            title: '合同编号',
147
+            dataIndex: 'contractId',
148
+            key: 'contractId',
149
+            align: 'center',
150
+
151
+        },
152
+        {
153
+            title: '甲方签署时间',
154
+            dataIndex: 'signatoryTime',
155
+            key: 'signatoryTime',
156
+            align: 'center',
157
+            render: (x, row) => <><span>{row.signatoryStartTime ? `${moment(row.signatoryStartTime).format('YYYY-MM-DD HH:mm:ss')}` : ''}</span></>,
158
+        },
159
+        {
160
+            title: '是否结算',
161
+            dataIndex: 'settlement',
162
+            key: 'settlement',
163
+            align: 'center',
164
+        render: (x, row) =><><span>{row.settlement?'是':'否'}</span></>
165
+        },
166
+        {
167
+            title: '结算时间',
168
+            dataIndex: 'settlementTime',
169
+            key: 'settlementTime',
170
+            align: 'center',
171
+            render: (x, row) => <><span>{row.settlementTime ? `${moment(row.settlementTime).format('YYYY-MM-DD HH:mm:ss')}` : ''}</span></>,
172
+        },
173
+        {
174
+            title: '结算单价',
175
+            dataIndex: 'settlementPrice',
176
+            key: 'settlementPrice',
177
+         
178
+            render: (x, row) =><><span>{row.settlementPrice? `¥ ${row.settlementPrice/100}`.replace(/\B(?=(\d{3})+(?!\d))/g, ','):row.settlementPrice===0?0:''}</span></>
179
+        },
180
+    ];
181
+
182
+    const handleShowModel = val => {
183
+
184
+        if (taContractList.length < 1) {
185
+            message.error('请至少选择一条数据')
186
+            return
187
+        }
188
+        let count = 0
189
+        taContractList.map((x)=>{
190
+         
191
+            if(x.settlement) {
192
+                count++
193
+            }
194
+        })
195
+        setCheckData(count)
196
+   
197
+ setVisible(true);
198
+
199
+    }
200
+
201
+    const handleCancel = val => {
202
+        setVisible(false);
203
+    }
204
+
205
+    const handleOk = val => {
206
+
207
+        console.log(price,'price')
208
+        request({ ...apis.signedContract.put, data:  { price: price||0, taContractList: taContractList }}).then(data => {
209
+            message.info("操作成功")
210
+            setVisible(false);
211
+            getList({ pageNum: 1, pageSize: 10 })
212
+            
213
+        })
214
+        
215
+    }
216
+
217
+
84 218
     return (
85 219
 
86 220
         <>
87
-            <div>
88
-           234
221
+            <Form layout="inline" onSubmit={e => handleSubmit(e, props)}>
222
+                <Form.Item>
223
+                    {getFieldDecorator('companyName')(
224
+                        <Input
225
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
226
+                            placeholder="企业名称 "
227
+                        />,
228
+                    )}
229
+                </Form.Item>
230
+                <Form.Item>
231
+                    {getFieldDecorator('companyNumber')(
232
+                        <Input
233
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
234
+                            placeholder="企业编号 "
235
+                        />,
236
+                    )}
237
+                </Form.Item>
238
+                <Form.Item>
239
+                    {getFieldDecorator('channelProxyName')(
240
+                        <Input
241
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
242
+                            placeholder="代理商名称 "
243
+                        />,
244
+                    )}
245
+                </Form.Item>
246
+                <Form.Item>
247
+                    {getFieldDecorator('orgName')(
248
+                        <Input
249
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
250
+                            placeholder="组织名称 "
251
+                        />,
252
+                    )}
253
+                </Form.Item>
254
+                <Form.Item>
255
+                    {getFieldDecorator('miniAppName')(
256
+                        <Input
257
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
258
+                            placeholder="小程序名称 "
259
+                        />,
260
+                    )}
261
+                </Form.Item>
262
+                <Form.Item>
263
+                    {getFieldDecorator('contractId')(
264
+                        <Input
265
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
266
+                            placeholder="合同编号 "
267
+                        />,
268
+                    )}
269
+                </Form.Item>
270
+                <Form.Item>
271
+                    {getFieldDecorator('contractName')(
272
+                        <Input
273
+                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
274
+                            placeholder="合同标题 "
275
+                        />,
276
+                    )}
277
+                </Form.Item>
278
+
279
+                <Form.Item>
280
+                    <span style={{ marginRight: '10px' }}>甲方签署时间:</span>
281
+                    {getFieldDecorator('signatoryTime')(
282
+                        <RangePicker placeholder={['开始时间', '结束时间']} />
283
+                    )}
284
+                </Form.Item>
285
+                <Form.Item>
286
+                    {getFieldDecorator('settlement')(
287
+                        <Select style={{ width: '180px' }} placeholder="是否结算">
288
+                            <Select.Option value={true}>是</Select.Option>
289
+                            <Select.Option value={false}>否</Select.Option>
290
+                        </Select>,
291
+                    )}
292
+                </Form.Item>
293
+                <Form.Item>
294
+                    <span style={{ marginRight: '10px' }}>结算时间</span>
295
+                    {getFieldDecorator('settlementTime')(
296
+                        <RangePicker placeholder={['开始时间', '结束时间']} />
297
+                    )}
298
+                </Form.Item>
299
+                <Form.Item>
300
+                    <Button type="primary" htmlType="submit" className={styles.searchBtn}>搜索</Button>
301
+                    <Button style={{ marginLeft: 8 }} onClick={handleReset}>重置</Button>
302
+                </Form.Item>
303
+            </Form>
304
+            <Button type="primary" className={styles.addBtn} onClick={e => handleShowModel()} style={{ marginLeft: '30px' }} >批量结算</Button>
305
+            <Table id='noticeTable' rowSelection={rowSelection} rowKey={r => r.contractId} dataSource={data.records} columns={columns} pagination={false} />
306
+            {/*  */}
307
+            <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
308
+                <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={e => changePageNum(e)} current={data.current} />
89 309
             </div>
310
+            <Modal
311
+                title="批量结算"
312
+                visible={visible}
313
+                onOk={handleOk}
314
+
315
+                onCancel={handleCancel}
316
+            // footer={null} 
317
+            >
318
+                <p>确认结算所选{taContractList.length}份合同手续费?其中{checkData}份已结算过,若不想再结算,请取消勾选。</p>
319
+                <div style={{  marginTop: '50px',textAlign:'center' }}>结算单价:<InputNumber  style={{  marginLeft: '10px',width:'150px' }} formatter={value => `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')} defaultValue={0} precision={2} onChange={onChange} />元/份</div>
320
+
321
+
322
+
323
+            </Modal>
324
+
90 325
         </>
91 326
     )
92 327
 }

+ 55
- 1
src/services/apis.js Просмотреть файл

@@ -192,6 +192,52 @@ const apis = {
192 192
       action: 'channel',
193 193
     },
194 194
   },
195
+  relatedOrganization:{
196
+    get:{
197
+      url: `${prefix}/contract/listCompanyOrg`,
198
+      method: 'GET',
199
+      action: 'channel',
200
+    },
201
+    listCompany:{
202
+      url: `${prefix}/contract/listCompany`,
203
+      method: 'GET',
204
+      action: 'channel',
205
+    },
206
+    listOrg:{
207
+      url: `${prefix}/contract/listOrg`,
208
+      method: 'GET',
209
+      action: 'channel',
210
+    },
211
+    post:{
212
+      url: `${prefix}/contract/taCompanyOrg`,
213
+      method: 'post',
214
+      action: 'channel',
215
+    },
216
+    delete:{
217
+      url: `${prefix}/taCompanyOrg/:id`,
218
+      method: 'delete',
219
+      action: 'channel',
220
+
221
+    },
222
+ 
223
+  },
224
+  signedContract:{
225
+    get:{
226
+      url: `${prefix}/contract/list`,
227
+      method: 'GET',
228
+      action: 'channel',
229
+    },
230
+    check:{
231
+      url: `${prefix}/contract/checkBeforeBatchUpdatePrice`,
232
+      method: 'post',
233
+      action: 'channel',
234
+    },
235
+    put: {
236
+      url: `${prefix}/contract/batchUpdatePrice`,
237
+      method: 'put',
238
+      action: 'channel',
239
+    },
240
+  },
195 241
 
196 242
   company: {
197 243
     list: {
@@ -255,10 +301,18 @@ const apis = {
255 301
     delSealById: {
256 302
       url: `${prefix}/delCompanySeal/:id`,
257 303
       method: 'PUT',
304
+    refresh: {
305
+      url: `${prefix}/company/fdd/:id`,
306
+      method: 'GET',
307
+      action: 'channel',
308
+    },
309
+    delete: {
310
+      url: `${prefix}/company/delete`,
311
+      method: 'DELETE',
258 312
       action: 'channel',
259 313
     }
260 314
   }
261
-  
315
+  }  
262 316
 }
263 317
 
264 318
 export default apis;