Przeglądaj źródła

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

# Conflicts:
#	src/services/apis.js
魏超 5 lat temu
rodzic
commit
b3a30aaac8

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

154
                 name: '关联组织',
154
                 name: '关联组织',
155
                 component: './eContract/relatedOrganization',
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
                 path: '/eContract/signedContract',
164
                 path: '/eContract/signedContract',
159
                 name: '已签署合同',
165
                 name: '已签署合同',

+ 32
- 20
src/pages/eContract/company/edit.jsx Wyświetl plik

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

+ 19
- 16
src/pages/eContract/company/index.jsx Wyświetl plik

15
 function header(props) {
15
 function header(props) {
16
   // 获取初始化数据
16
   // 获取初始化数据
17
   const [ data, setData ] = useState({})
17
   const [ data, setData ] = useState({})
18
-  const [demandIdList, setDemandIdList] = useState([])
18
+  const [deleteList, setDeleteList] = useState([])
19
 
19
 
20
   useEffect(() => {
20
   useEffect(() => {
21
     getList({ pageNum: 1, pageSize: 10 });
21
     getList({ pageNum: 1, pageSize: 10 });
48
   const rowSelection = {
48
   const rowSelection = {
49
     onChange: (selectedRowKeys, selectedRows) => {
49
     onChange: (selectedRowKeys, selectedRows) => {
50
       console.log('selectedRowKeys:', selectedRowKeys, 'selectedRows: ', selectedRows);
50
       console.log('selectedRowKeys:', selectedRowKeys, 'selectedRows: ', selectedRows);
51
-      setDemandIdList(selectedRows)
51
+      setDeleteList(selectedRows)
52
     },
52
     },
53
   };
53
   };
54
 
54
 
73
 
73
 
74
   
74
   
75
   const changeStatus = () => {
75
   const changeStatus = () => {
76
-    if(demandIdList.length < 1){
76
+    if(deleteList.length < 1){
77
       message.error('请先选择要删除的数据!')
77
       message.error('请先选择要删除的数据!')
78
       return
78
       return
79
     }
79
     }
80
-    const title = '确认将所选的' + demandIdList.length + '条数据删除?可删除条件:需求单状态 为 作废。'
80
+    const title = '确认将所选的' + deleteList.length + '条数据删除?认证通过的企业不会被删除'
81
     Modal.confirm({
81
     Modal.confirm({
82
       title: title,
82
       title: title,
83
       okText: '确认',
83
       okText: '确认',
84
       cancelText: '取消',
84
       cancelText: '取消',
85
       onOk() {
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
           message.info(resultMessage)
88
           message.info(resultMessage)
89
           getList({ pageNum: 1, pageSize: 10 });
89
           getList({ pageNum: 1, pageSize: 10 });
90
         }).catch((err) => {
90
         }).catch((err) => {
122
     },
122
     },
123
     {
123
     {
124
       title: '实名认证状态',
124
       title: '实名认证状态',
125
-      dataIndex: 'certifiedStatus',
126
-      key: 'certifiedStatus',
125
+      dataIndex: 'status',
126
+      key: 'status',
127
       align: 'center',
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
       title: '企业管理员身份',
132
       title: '企业管理员身份',
131
       dataIndex: 'companyManagerType',
133
       dataIndex: 'companyManagerType',
132
       key: 'companyManagerType',
134
       key: 'companyManagerType',
133
       align: 'center',
135
       align: 'center',
136
+      render: (companyManagerType) => <span>{companyManagerType === 'legal' ? '法人' : companyManagerType === 'agent' ? "代理人" : "" }</span>,
134
     },
137
     },
135
     {
138
     {
136
       title: '操作',
139
       title: '操作',
171
           )}
174
           )}
172
         </Form.Item>
175
         </Form.Item>
173
         <Form.Item>
176
         <Form.Item>
174
-          {getFieldDecorator('certifiedStatus')(
177
+          {getFieldDecorator('status')(
175
             <Select style={{ width: '180px' }} placeholder="实名认证状态">
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
             </Select>,
186
             </Select>,
184
           )}
187
           )}
185
         </Form.Item>
188
         </Form.Item>

+ 95
- 0
src/pages/eContract/relatedOrganization/add.jsx Wyświetl plik

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 Wyświetl plik

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 Wyświetl plik

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 Wyświetl plik

19
     // 查询列表
19
     // 查询列表
20
 
20
 
21
     const getList = params => {
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
             router.push({
29
             router.push({
35
-                pathname: '/resource/openScreen/add',
30
+                pathname: '/eContract/relatedOrganization/add',
36
                   query: {
31
                   query: {
37
                     id
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
     const handleSubmit = (e, props) => {
59
     const handleSubmit = (e, props) => {
50
         getList({ pageNum: 1, pageSize: 10 });
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
     const changePageNum = pageNumber => {
70
     const changePageNum = pageNumber => {
71
         getList({ pageNum: pageNumber, pageSize: 10, ...props.form.getFieldsValue() })
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
     return (
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 Wyświetl plik

45
     color: #bebebe;
45
     color: #bebebe;
46
     margin-left: 6px;
46
     margin-left: 6px;
47
     font-size: 15px;
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 Wyświetl plik

1
 import React, { useState, useEffect } from 'react';
1
 import React, { useState, useEffect } from 'react';
2
 import { PageHeaderWrapper } from '@ant-design/pro-layout';
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
 import router from 'umi/router';
4
 import router from 'umi/router';
5
 import moment from 'moment';
5
 import moment from 'moment';
6
 import styles from './style.less';
6
 import styles from './style.less';
8
 import request from '../../../utils/request';
8
 import request from '../../../utils/request';
9
 import AuthButton from '@/components/AuthButton';
9
 import AuthButton from '@/components/AuthButton';
10
 
10
 
11
+const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
12
+
11
 function header(props) {
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
     useEffect(() => {
21
     useEffect(() => {
22
+        setVisible(false)
23
+        setCheckData(0)
17
         getList({ pageNum: 1, pageSize: 10 });
24
         getList({ pageNum: 1, pageSize: 10 });
18
     }, [])
25
     }, [])
19
     // 查询列表
26
     // 查询列表
20
 
27
 
21
     const getList = params => {
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
     const handleSubmit = (e, props) => {
37
     const handleSubmit = (e, props) => {
44
         e.preventDefault();
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
     function handleReset() {
67
     function handleReset() {
51
     }
70
     }
52
 
71
 
53
     const toDelBatch = rowData => () => {
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
         Modal.confirm({
78
         Modal.confirm({
61
             title: '确认将所选数据删除?',
79
             title: '确认将所选数据删除?',
62
             okText: '确定',
80
             okText: '确定',
63
             cancelText: '取消',
81
             cancelText: '取消',
64
             onOk() {
82
             onOk() {
65
-              
83
+            
84
+                console.log(price,'price')
66
             },
85
             },
67
         });
86
         });
68
     }
87
     }
71
         getList({ pageNum: pageNumber, pageSize: 10, ...props.form.getFieldsValue() })
90
         getList({ pageNum: pageNumber, pageSize: 10, ...props.form.getFieldsValue() })
72
     }
91
     }
73
 
92
 
74
-     
93
+
75
     const { getFieldDecorator } = props.form
94
     const { getFieldDecorator } = props.form
76
 
95
 
77
     const rowSelection = {
96
     const rowSelection = {
78
         onChange: (selectedRowKeys, selectedRows) => {
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
     return (
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
             </div>
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 Wyświetl plik

192
       action: 'channel',
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
   company: {
242
   company: {
197
     list: {
243
     list: {
255
     delSealById: {
301
     delSealById: {
256
       url: `${prefix}/delCompanySeal/:id`,
302
       url: `${prefix}/delCompanySeal/:id`,
257
       method: 'PUT',
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
       action: 'channel',
312
       action: 'channel',
259
     }
313
     }
260
   }
314
   }
261
-  
315
+  }  
262
 }
316
 }
263
 
317
 
264
 export default apis;
318
 export default apis;