顾绍勇 5 anos atrás
pai
commit
3452af3ba5

+ 18
- 23
config/routes.js Ver arquivo

667
                 hideInMenu: true,
667
                 hideInMenu: true,
668
                 component: './h5SampleManager/h5Demand/edit',
668
                 component: './h5SampleManager/h5Demand/edit',
669
               },
669
               },
670
-              {
671
-                path: '/h5SampleManager/contractTemplate/list',
672
-                name: '合同模板',
673
-                component: './h5SampleManager/contractTemplate/list',
674
-              },
675
-              {
676
-                path: '/h5SampleManager/contractTemplate/add',
677
-                name: '新增合同模板',
678
-                hideInMenu: true,
679
-                component: './h5SampleManager/contractTemplate/add',
680
-              },
681
-              {
682
-                path: '/h5SampleManager/contractTemplate/detail',
683
-                name: '合同模板详情',
684
-                // hideInMenu: true,
685
-                component: './h5SampleManager/contractTemplate/detail',
686
-              },
687
-              {
688
-                path: '/h5SampleManager/contractTemplate/pdfDetail',
689
-                name: '合同pdf查看页',
690
-                hideInMenu: true,
691
-                component: './h5SampleManager/contractTemplate/pdfDetail',
692
-              },
693
             ],
670
             ],
694
           },
671
           },
695
           {
672
           {
718
                 name: '合同管理',
695
                 name: '合同管理',
719
                 component: './eContract/manage/list',
696
                 component: './eContract/manage/list',
720
               },
697
               },
698
+              {
699
+                path: '/eContract/template/add',
700
+                name: '新增合同模板',
701
+                hideInMenu: true,
702
+                component: './eContract/template/add',
703
+              },
704
+              {
705
+                path: '/eContract/template/detail',
706
+                name: '合同模板详情',
707
+                hideInMenu: true,
708
+                component: './eContract/template/detail',
709
+              },
710
+              {
711
+                path: '/eContract/template/pdfDetail',
712
+                name: '合同pdf查看页',
713
+                hideInMenu: true,
714
+                component: './eContract/template/pdfDetail',
715
+              },
721
             ],
716
             ],
722
           },
717
           },
723
           // {
718
           // {

+ 1
- 1
src/components/GlobalHeader/NoticeIconView.jsx Ver arquivo

86
     return groupBy(newNotices, 'type');
86
     return groupBy(newNotices, 'type');
87
   };
87
   };
88
   getUnreadData = noticeData => {
88
   getUnreadData = noticeData => {
89
-    const unreadMsg = {};
89
+    const unreadMsg = {};    
90
     Object.keys(noticeData).forEach(key => {
90
     Object.keys(noticeData).forEach(key => {
91
       const value = noticeData[key];
91
       const value = noticeData[key];
92
 
92
 

+ 143
- 0
src/pages/eContract/template/add.jsx Ver arquivo

1
+import React, { useState, useEffect } from 'react';
2
+import { Upload, Input, Modal, Menu, Dropdown, Button, Icon, message, Table, Divider, Tag, Select, Form, Alert } from 'antd';
3
+import { FormattedMessage } from 'umi-plugin-react/locale';
4
+import XForm, { FieldTypes } from '../../../components/XForm';
5
+import router from 'umi/router';
6
+import apis from '../../../services/apis';
7
+import request from '../../../utils/request';
8
+import { fetch } from '../../../utils/request';
9
+import moment from 'moment';
10
+
11
+const header = props => {
12
+
13
+  const [data, setData] = useState({})
14
+  const [flag, setFlag] = useState({})
15
+  const [uploadTip, setUploadTip] = useState({})
16
+  const [loading, setLoading] = useState({})
17
+  const uploadFile = fetch(apis.image.upload)
18
+
19
+
20
+  useEffect(() => {
21
+    setFlag(false);
22
+    setUploadTip("请选择合同文件")
23
+    setLoading(false)
24
+  }, []);
25
+
26
+  const upload = () => {
27
+    console.log("上传")
28
+  }
29
+
30
+  const removeFile = () => {
31
+    console.log("删除文件")
32
+  }
33
+
34
+  const uploaderProps = {
35
+    name: 'file',
36
+    accept: '.pdf',
37
+    showUploadList: true,
38
+    customRequest({
39
+      action,
40
+      file,
41
+      headers,
42
+      onError,
43
+      onProgress,
44
+      onSuccess,
45
+      withCredentials,
46
+    }) {
47
+      const data = new FormData()
48
+      data.append('file', file)
49
+
50
+      uploadFile({ data }).then((img) => {
51
+        setFlag(true)
52
+        setUploadTip("上传成功")
53
+        setData({
54
+          contractTemplateAddress: img
55
+        })
56
+        onSuccess(img, file)
57
+      }).catch(onError);
58
+
59
+      return {
60
+        abort() {
61
+          console.log('upload progress is aborted.');
62
+        },
63
+      };
64
+    },
65
+    onRemove(file) {
66
+      setFlag(false)
67
+      setUploadTip("请选择合同文件")
68
+    }
69
+  }
70
+
71
+  const fields = [
72
+    {
73
+      label: '合同标题',
74
+      name: 'contractTemplateName',
75
+      type: FieldTypes.Text,
76
+      value: data.contractTemplateName,
77
+      rules: [
78
+        { required: true, message: '标题长度20字以内不能有空格' },
79
+        { max: 20, message: '标题长度不能超过20个字符' }
80
+      ],
81
+      placeholder: "标题长度20字以内不能有空格"
82
+    },
83
+    {
84
+      label: '合同文件',
85
+      name: 'contractTemplateAddress',
86
+      // type: FieldTypes.text,
87
+      value: data.contractTemplateAddress,
88
+      // beforeUpload: (e) => photoBeforeUpload(e),
89
+      rules: [
90
+        { required: true, message: '请选择合同文件' },
91
+      ],
92
+      render: <div><Upload {...uploaderProps}><Button disabled={flag}>{uploadTip}</Button></Upload></div>,
93
+      help: "仅支持pdf格式,合同必须按规则生成,否则无法正确签章。未按规则生成合同导致的问题,橙蕉免除相关责任。详细要求查看合同模板制作要求"
94
+    },
95
+
96
+  ]
97
+
98
+  const handleSubmit = (values) => {
99
+    let submitValues = values;
100
+    submitValues.contractTemplateAddress = data.contractTemplateAddress
101
+
102
+    props.form.validateFields((err, values) => {
103
+      console.log(values)
104
+      if (!err) {
105
+        request({ ...apis.taEcontract.addContractTemplate, data: { ...submitValues }, }).then((data) => {
106
+          router.push({
107
+            pathname: '/eContract/template/list',
108
+            query: {
109
+              //   salesBatchId: data.salesBatchId,
110
+            },
111
+          });
112
+        }).catch((err) => {
113
+          message.info(err.msg || err.message)
114
+        })
115
+      }
116
+    });
117
+  }
118
+  //model
119
+  const handleShowModel = val => {
120
+    setVisible(true);
121
+  }
122
+
123
+  const handleCancel = val => {
124
+    setVisible(false);
125
+  }
126
+
127
+  const cancelPage = () => {
128
+    router.push({
129
+      pathname: '/eContract/template/list',
130
+    });
131
+  }
132
+
133
+  return (
134
+    <>
135
+      <div>
136
+        <XForm onSubmit={handleSubmit} onCancel={cancelPage} fields={fields}></XForm>
137
+      </div>
138
+    </>
139
+  )
140
+}
141
+
142
+const WrappedNormalLoginForm = Form.create({ name: 'header' })(header);
143
+export default WrappedNormalLoginForm

src/pages/h5SampleManager/contractTemplate/detail.jsx → src/pages/eContract/template/detail.jsx Ver arquivo

6
 import moment from 'moment';
6
 import moment from 'moment';
7
 import apis from '../../../services/apis';
7
 import apis from '../../../services/apis';
8
 import request from '../../../utils/request';
8
 import request from '../../../utils/request';
9
-import AuthButton from '@/components/AuthButton';
10
-import Wangedit from '../../../components/Wangedit/Wangedit'
11
-import TextArea from 'antd/lib/input/TextArea';
12
-import copy from 'copy-to-clipboard';
13
-import copyImg from '../../../assets/copy.png';
14
-
15
-const { Option } = Select;
16
-const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
17
-
18
 
9
 
19
 const header = props => {
10
 const header = props => {
20
-  const sampleId = props.location.query.id;
21
-  const [demandData, setDemandData] = useState({})
11
+  const templateId = props.location.query.id;
12
+  const [data, setData] = useState({})
22
 
13
 
23
   useEffect(() => {
14
   useEffect(() => {
24
-    getDemandData(sampleId);
15
+    getData(templateId);
25
   }, [])
16
   }, [])
26
 
17
 
27
-  const getDemandData = (demandId) => {
28
-    request({ ...apis.taH5SampleManager.taH5SampleById, urlData: { id: sampleId } }).then((data) => {
29
-      setDemandData(data)
18
+  const getData = (templateId) => {
19
+    request({ ...apis.taEcontract.getContractTemplate, urlData: { id: templateId } }).then((data) => {
20
+      setData(data)
30
       props.form.setFieldsValue(data)
21
       props.form.setFieldsValue(data)
31
     })
22
     })
32
   }
23
   }
39
     <>
30
     <>
40
       <Form labelCol={{ span: 6 }} wrapperCol={{ span: 14 }} style={{ position: 'relative' }}>
31
       <Form labelCol={{ span: 6 }} wrapperCol={{ span: 14 }} style={{ position: 'relative' }}>
41
         <Form.Item label="合同标题">
32
         <Form.Item label="合同标题">
42
-          <span>{demandData.sampleName}</span>
33
+          <span>{data.contractTemplateName}</span>
43
         </Form.Item>
34
         </Form.Item>
44
         <Form.Item label="合同文件">
35
         <Form.Item label="合同文件">
45
-          <div><span style={{ color: 'rgba(0, 0, 0, 0.45)', fontSize: '14px' }}>点击链接查看内容</span></div>
36
+          <div><a href={data.contractTemplateAddress} style={{ color: '#66B3FF', fontSize: '14px' }}>点击链接查看内容</a></div>
46
         </Form.Item>
37
         </Form.Item>
47
         <Form.Item wrapperCol={{ span: 15, offset: 7 }}>
38
         <Form.Item wrapperCol={{ span: 15, offset: 7 }}>
48
           <div style={{ margin: '0.16rem 0 0.06rem' }}>
39
           <div style={{ margin: '0.16rem 0 0.06rem' }}>
49
-            <Button danger onClick={() => toCancel()} style={{ marginLeft: '20px' }}>
40
+            <Button onClick={() => toCancel()} style={{ marginLeft: '20px' }}>
50
               返回
41
               返回
51
           </Button>
42
           </Button>
52
           </div>
43
           </div>

+ 222
- 0
src/pages/eContract/template/list.jsx Ver arquivo

1
+import React, { useState, useEffect } from 'react';
2
+import { Form, Input, Button, Icon, Select, message, Table, Divider, Tag, Pagination, Modal, DatePicker, notification } from 'antd';
3
+import { FormattedMessage } from 'umi-plugin-react/locale';
4
+import router from 'umi/router';
5
+import moment from 'moment';
6
+import styles from '../../style/GoodsList.less';
7
+import SelectCity from '../../../components/SelectButton/CitySelect'
8
+import BuildSelect from '../../../components/SelectButton/BuildSelect'
9
+import apis from '../../../services/apis';
10
+import request from '../../../utils/request';
11
+import AuthButton from '@/components/AuthButton';
12
+// import RaiseHelpDoc from '../edit/components/RaiseHelpDoc';
13
+
14
+const { Option } = Select;
15
+const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
16
+ 
17
+const header = props => {
18
+  // eslint-disable-next-line react-hooks/rules-of-hooks
19
+  const [data, setData] = useState({ list: [], total: 0 })
20
+  //   const [page, changePage] = useState({})
21
+  const [contractList, setContractList] = useState([])
22
+  const [time, setTime] = useState('')
23
+  const [showHelp, setShowHelp] = useState(false)
24
+
25
+  // 查询列表
26
+  const getList = params => {
27
+    request({ ...apis.taEcontract.listContractTemplate, params: { ...params } }).then(data => {
28
+      console.log(data)
29
+      setData(data)
30
+    })
31
+  }
32
+
33
+  // eslint-disable-next-line react-hooks/rules-of-hooks
34
+  useEffect(() => {
35
+    getList({ pageNum: 1, pageSize: 10 });
36
+  }, [])
37
+
38
+  const toAdd = rowData => () => {
39
+    router.push({
40
+      pathname: '/eContract/template/add',
41
+    });
42
+  }
43
+
44
+  function openNotificationWithIcon(type, message) {
45
+    notification[type]({
46
+      message,
47
+      description:
48
+        '',
49
+    });
50
+  }
51
+
52
+  function toDecimal2 (x){
53
+    var f = parseFloat(x);
54
+    if (isNaN(f)) {
55
+      return false;
56
+    }
57
+    var f = Math.round(x * 100) / 100;
58
+    var s = f.toString();
59
+    var rs = s.indexOf('.');
60
+    if (rs < 0) {
61
+      rs = s.length;
62
+      s += '.';
63
+    }
64
+    while (s.length <= rs + 2) {
65
+      s += '0';
66
+    }
67
+    console.log(s)
68
+    return s;
69
+  }
70
+  function regFenToYuan(fen){
71
+    var num = fen;
72
+    num = fen * 0.01;
73
+    num += '';
74
+    var reg = num.indexOf('.') > -1 ? /(\d{1,3})(?=(?:\d{3})+\.)/g : /(\d{1,3})(?=(?:\d{3})+$)/g;
75
+    num = num.replace(reg, '$1');
76
+    console.log(num, 'yuan')
77
+    num = toDecimal2(num)
78
+    return num
79
+  }
80
+  
81
+  const toDel = rowData => () =>{
82
+    if(contractList.length < 1){
83
+      openNotificationWithIcon('error', '请先选择需要删除的合同模板')
84
+      return
85
+    }
86
+
87
+    Modal.confirm({
88
+      title: '确定删除合同模板吗',
89
+      okText: '确定',
90
+      cancelText: '取消',
91
+      onOk () {
92
+        console.log(contractList,'contractList');
93
+        request({ ...apis.taEcontract.batchDeleteContractTemplate, data: contractList, }).then((data) => {
94
+          message.info("操作成功")
95
+          getList({ pageNum: 1, pageSize: 10 });
96
+        }).catch((err) => {
97
+          // message.info(err.msg)
98
+        })
99
+      },
100
+    });
101
+  }
102
+
103
+  const toDetail = (record) => () => {
104
+    router.push({
105
+        pathname: '/eContract/template/detail',
106
+        query: {
107
+          id: record.contractTemplateId
108
+        },
109
+    });
110
+}
111
+
112
+  /**
113
+   *
114
+   *
115
+   * @param {*} props
116
+   * @returns
117
+   */
118
+  const columns = [
119
+    {
120
+      title: '合同标题',
121
+      dataIndex: 'contractTemplateName',
122
+      key: 'contractTemplateName',
123
+      align: 'center',
124
+    },
125
+    {
126
+      title: '新增时间',
127
+      dataIndex: 'createDate',
128
+      key: 'createDate',
129
+      align: 'center',
130
+      render: (x, row) => <><span>{`${moment(row.createDate).format('YYYY-MM-DD HH:mm:ss')}`}</span></>,
131
+    },
132
+    {
133
+      title: '操作',
134
+      dataIndex: '',
135
+      key: '',
136
+      align: 'center',
137
+      render: (text, record) => (
138
+          <a style={{ color: '#66B3FF' }} onClick={toDetail(record)} >查看详情</a>
139
+      ),
140
+    },
141
+  ];
142
+  const getSignList = dynamicId => {
143
+    router.push({
144
+      pathname: '/activity/SignList',
145
+      query: {
146
+        dynamicId,
147
+      },
148
+    });
149
+  }
150
+
151
+  const changePageNum = pageNumber => {
152
+    getList({ pageNum: pageNumber, pageSize: 10, ...props.form.getFieldsValue() })
153
+  }
154
+
155
+  const rowSelection = {
156
+    onChange: (selectedRowKeys, selectedRows) => {
157
+      console.log('selectedRowKeys:', selectedRowKeys, 'selectedRows: ', selectedRows);
158
+      setContractList(selectedRows)
159
+    },
160
+  };
161
+
162
+  // 提交事件
163
+  const handleSubmit = e => {
164
+    e.preventDefault();
165
+    props.form.validateFields((err, values) => {
166
+      if (!err) {      
167
+        getList({ pageNum: 1, pageSize: 10, ...values })
168
+      }
169
+    });
170
+  }
171
+
172
+  // 重置搜索
173
+  function handleReset () {
174
+    props.form.resetFields();
175
+    setTime('')
176
+    getList({ pageNum: 1, pageSize: 10 })
177
+  }
178
+
179
+  const { getFieldDecorator } = props.form
180
+  return (
181
+
182
+    <>
183
+      {/* style={{ display: 'none' }} */}
184
+      <div id="qrcode"></div>
185
+      <Form layout="inline" onSubmit={e => handleSubmit(e)}>
186
+        <Form.Item>
187
+          {getFieldDecorator('contractTemplateName')(
188
+             <Input
189
+             prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
190
+             placeholder="合同标题"
191
+           />,
192
+          )}
193
+        </Form.Item>
194
+        <Form.Item>
195
+          <AuthButton name="admin.buildingDynamic.search" noRight={null}>
196
+            <Button type="primary" htmlType="submit" className={styles.searchBtn}>
197
+              搜索
198
+            </Button>
199
+          </AuthButton>
200
+          <Button style={{ marginLeft: 8 }} onClick={handleReset}>
201
+            重置
202
+            </Button>
203
+        </Form.Item>
204
+      </Form>
205
+      <AuthButton name="admin.raise.add.post" noRight={null}>
206
+        <Button type="danger" className={styles.addBtn} onClick={toAdd()}>新增</Button>
207
+      </AuthButton>
208
+      <AuthButton name="admin.raise.del" noRight={null}>
209
+        <Button type="primary" className={styles.addBtn} onClick={toDel()} style={{marginLeft:'30px'}}>删除</Button>
210
+      </AuthButton>
211
+      <Table rowSelection={rowSelection}
212
+       dataSource={data.records} columns={columns} pagination={false} rowKey={r => r.contractTemplateId} />
213
+      <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
214
+        <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={e => changePageNum(e)} current={data.current}/>
215
+      </div>
216
+      {/* <RaiseHelpDoc visible={showHelp} onCancel={() => setShowHelp(false)} /> */}
217
+    </>
218
+  )
219
+}
220
+const WrappedHeader = Form.create({ name: 'header' })(header);
221
+
222
+export default WrappedHeader

src/pages/h5SampleManager/contractTemplate/pdfDetail.jsx → src/pages/eContract/template/pdfDetail.jsx Ver arquivo


+ 0
- 60
src/pages/h5SampleManager/contractTemplate/add.jsx Ver arquivo

1
-import React, { useState, useEffect } from 'react';
2
-import { Form, Input, Button, Icon, Select, message, Table, Divider, Tag, Pagination, Modal, DatePicker, InputNumber, Checkbox, Row, Col } from 'antd';
3
-import { FormattedMessage } from 'umi-plugin-react/locale';
4
-import XForm, { FieldTypes } from '../../../components/XForm';
5
-import router from 'umi/router';
6
-import moment from 'moment';
7
-import apis from '../../../services/apis';
8
-import request from '../../../utils/request';
9
-import AuthButton from '@/components/AuthButton';
10
-import Wangedit from '../../../components/Wangedit/Wangedit'
11
-import TextArea from 'antd/lib/input/TextArea';
12
-import copy from 'copy-to-clipboard';
13
-import copyImg from '../../../assets/copy.png';
14
-
15
-const { Option } = Select;
16
-const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
17
-
18
-
19
-const header = props => {
20
-  const sampleId = props.location.query.id;
21
-  const [demandData, setDemandData] = useState({})
22
-
23
-  useEffect(() => {
24
-    getDemandData(sampleId);
25
-  }, [])
26
-
27
-  const getDemandData = (demandId) => {
28
-    request({ ...apis.taH5SampleManager.taH5SampleById, urlData: { id: sampleId } }).then((data) => {
29
-      setDemandData(data)
30
-      props.form.setFieldsValue(data)
31
-    })
32
-  }
33
-
34
-  const toCancel = () => {
35
-    router.go(-1)
36
-  }
37
-
38
-  return (
39
-    <>
40
-      <Form labelCol={{ span: 6 }} wrapperCol={{ span: 14 }} style={{ position: 'relative' }}>
41
-        <Form.Item label="合同标题">
42
-          <span>{demandData.sampleName}</span>
43
-        </Form.Item>
44
-        <Form.Item label="合同文件">
45
-          <div><span style={{ color: 'rgba(0, 0, 0, 0.45)', fontSize: '14px' }}>点击链接查看内容</span></div>
46
-        </Form.Item>
47
-        <Form.Item wrapperCol={{ span: 15, offset: 7 }}>
48
-          <div style={{ margin: '0.16rem 0 0.06rem' }}>
49
-            <Button danger onClick={() => toCancel()} style={{ marginLeft: '20px' }}>
50
-              返回
51
-          </Button>
52
-          </div>
53
-        </Form.Item>
54
-      </Form>
55
-    </>
56
-  )
57
-}
58
-
59
-const WrappedHeader = Form.create({ name: 'header' })(header);
60
-export default WrappedHeader

+ 0
- 229
src/pages/h5SampleManager/contractTemplate/list.jsx Ver arquivo

1
-import React, { useState, useEffect } from 'react';
2
-import { Form, Input, Button, Icon, Select, message, Table, Divider, Tag, Pagination, Modal, DatePicker, notification } from 'antd';
3
-import { FormattedMessage } from 'umi-plugin-react/locale';
4
-import router from 'umi/router';
5
-import moment from 'moment';
6
-import styles from '../../style/GoodsList.less';
7
-import SelectCity from '../../../components/SelectButton/CitySelect'
8
-import BuildSelect from '../../../components/SelectButton/BuildSelect'
9
-import apis from '../../../services/apis';
10
-import request from '../../../utils/request';
11
-import AuthButton from '@/components/AuthButton';
12
-// import RaiseHelpDoc from '../edit/components/RaiseHelpDoc';
13
-
14
-const { Option } = Select;
15
-const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
16
- 
17
-const header = props => {
18
-  // eslint-disable-next-line react-hooks/rules-of-hooks
19
-  const [data, setData] = useState({ list: [], total: 0 })
20
-  //   const [page, changePage] = useState({})
21
-  const [houseIdList, setHouseIdList] = useState([])
22
-  const [time, setTime] = useState('')
23
-  const [showHelp, setShowHelp] = useState(false)
24
-
25
-  // 查询列表
26
-  const getList = params => {
27
-    request({ ...apis.house.taRaiseList, params: { ...params } }).then(data => {
28
-      console.log(data)
29
-      setData(data)
30
-    })
31
-  }
32
-
33
-  // eslint-disable-next-line react-hooks/rules-of-hooks
34
-  useEffect(() => {
35
-    getList({ pageNum: 1, pageSize: 10 });
36
-  }, [])
37
-
38
-  const toAdd = rowData => () => {
39
-    router.push({
40
-      pathname: '/h5SampleManager/contractTemplate/add',
41
-    });
42
-  }
43
-
44
-  function openNotificationWithIcon(type, message) {
45
-    notification[type]({
46
-      message,
47
-      description:
48
-        '',
49
-    });
50
-  }
51
-
52
-  function toDecimal2 (x){
53
-    var f = parseFloat(x);
54
-    if (isNaN(f)) {
55
-      return false;
56
-    }
57
-    var f = Math.round(x * 100) / 100;
58
-    var s = f.toString();
59
-    var rs = s.indexOf('.');
60
-    if (rs < 0) {
61
-      rs = s.length;
62
-      s += '.';
63
-    }
64
-    while (s.length <= rs + 2) {
65
-      s += '0';
66
-    }
67
-    console.log(s)
68
-    return s;
69
-  }
70
-  function regFenToYuan(fen){
71
-    var num = fen;
72
-    num = fen * 0.01;
73
-    num += '';
74
-    var reg = num.indexOf('.') > -1 ? /(\d{1,3})(?=(?:\d{3})+\.)/g : /(\d{1,3})(?=(?:\d{3})+$)/g;
75
-    num = num.replace(reg, '$1');
76
-    console.log(num, 'yuan')
77
-    num = toDecimal2(num)
78
-    return num
79
-  }
80
-  
81
-  const toDel = rowData => () =>{
82
-    console.log(houseIdList, 'houseIdListhouseIdList')
83
-    if(houseIdList.length < 1){
84
-      openNotificationWithIcon('error', '请先选择需要删除的合同')
85
-      return
86
-    }
87
-
88
-    Modal.confirm({
89
-      title: '确定删除合同吗',
90
-      okText: '确定',
91
-      cancelText: '取消',
92
-      onOk () {
93
-        console.log(houseIdList,'houseIdListhouseIdList');
94
-        request({ ...apis.house.batchDelRaise, data: houseIdList, }).then((data) => {
95
-          message.info("操作成功")
96
-          getList({ pageNum: 1, pageSize: 10 });
97
-        }).catch((err) => {
98
-          // message.info(err.msg)
99
-        })
100
-      },
101
-    });
102
-  }
103
-
104
-  const toDetail = (id) => () => {
105
-    router.push({
106
-        pathname: '/h5SampleManager/contractTemplate/detail',
107
-        query: {
108
-            id
109
-        },
110
-    });
111
-}
112
-
113
-  /**
114
-   *
115
-   *
116
-   * @param {*} props
117
-   * @returns
118
-   */
119
-  const columns = [
120
-    {
121
-      title: '合同标题',
122
-      dataIndex: 'salesBatchName',
123
-      key: 'salesBatchName',
124
-      align: 'center',
125
-    },
126
-    {
127
-      title: '新增时间',
128
-      dataIndex: 'buildingName',
129
-      key: 'buildingName',
130
-      align: 'center',
131
-    },
132
-    {
133
-      title: '操作',
134
-      dataIndex: '',
135
-      key: '',
136
-      align: 'center',
137
-      render: (text, record) => (
138
-          <a style={{ color: '#66B3FF' }} onClick={toDetail(record)} >查看详情</a>
139
-      ),
140
-    },
141
-  ];
142
-  const getSignList = dynamicId => {
143
-    router.push({
144
-      pathname: '/activity/SignList',
145
-      query: {
146
-        dynamicId,
147
-      },
148
-    });
149
-  }
150
-
151
-  const changePageNum = pageNumber => {
152
-    getList({ pageNum: pageNumber, pageSize: 10, ...props.form.getFieldsValue() })
153
-  }
154
-
155
-  const rowSelection = {
156
-    onChange: (selectedRowKeys, selectedRows) => {
157
-      console.log('selectedRowKeys:', selectedRowKeys, 'selectedRows: ', selectedRows);
158
-      setHouseIdList(selectedRows)
159
-    },
160
-  };
161
-
162
-  // 提交事件
163
-  const handleSubmit = e => {
164
-    e.preventDefault();
165
-    props.form.validateFields((err, values) => {
166
-      if (!err) {
167
-        console.log('提交数据: ', values)
168
-        if (time) {
169
-          values.time = `${moment(time).format('YYYY-MM-DDT00:00:00.000')}Z`
170
-        } else {
171
-          values.time = null
172
-        }
173
-        
174
-        getList({ pageNum: 1, pageSize: 10, ...values })
175
-      }
176
-    });
177
-  }
178
-
179
-  // 重置搜索
180
-  function handleReset () {
181
-    props.form.resetFields();
182
-    setTime('')
183
-    getList({ pageNum: 1, pageSize: 10 })
184
-  }
185
-
186
-  const { getFieldDecorator } = props.form
187
-  return (
188
-
189
-    <>
190
-      {/* style={{ display: 'none' }} */}
191
-      <div id="qrcode"></div>
192
-      <Form layout="inline" onSubmit={e => handleSubmit(e)}>
193
-        <Form.Item>
194
-          {getFieldDecorator('salesBatchName')(
195
-             <Input
196
-             prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
197
-             placeholder="合同标题"
198
-           />,
199
-          )}
200
-        </Form.Item>
201
-        <Form.Item>
202
-          <AuthButton name="admin.buildingDynamic.search" noRight={null}>
203
-            <Button type="primary" htmlType="submit" className={styles.searchBtn}>
204
-              搜索
205
-            </Button>
206
-          </AuthButton>
207
-          <Button style={{ marginLeft: 8 }} onClick={handleReset}>
208
-            重置
209
-            </Button>
210
-        </Form.Item>
211
-      </Form>
212
-      <AuthButton name="admin.raise.add.post" noRight={null}>
213
-        <Button type="danger" className={styles.addBtn} onClick={toAdd()}>新增</Button>
214
-      </AuthButton>
215
-      <AuthButton name="admin.raise.del" noRight={null}>
216
-        <Button type="primary" className={styles.addBtn} onClick={toDel()} style={{marginLeft:'30px'}}>删除</Button>
217
-      </AuthButton>
218
-      <Table rowSelection={rowSelection}
219
-       dataSource={data.records} columns={columns} pagination={false} rowKey="activityList" />
220
-      <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
221
-        <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={e => changePageNum(e)} current={data.current}/>
222
-      </div>
223
-      {/* <RaiseHelpDoc visible={showHelp} onCancel={() => setShowHelp(false)} /> */}
224
-    </>
225
-  )
226
-}
227
-const WrappedHeader = Form.create({ name: 'header' })(header);
228
-
229
-export default WrappedHeader

+ 26
- 0
src/services/apis.js Ver arquivo

1477
       url: `${prefix}/taContractBusiness`,
1477
       url: `${prefix}/taContractBusiness`,
1478
       action: 'admin.taContractBusiness.post',
1478
       action: 'admin.taContractBusiness.post',
1479
     },
1479
     },
1480
+    listContractTemplate: {
1481
+      method: 'GET',
1482
+      url: `${prefix}/taContractTemplate`,
1483
+      action: 'admin.listContractTemplate.get',
1484
+    },
1485
+    addContractTemplate: {
1486
+      method: 'post',
1487
+      url: `${prefix}/contract/template/add`,
1488
+      action: 'admin.addContractTemplate.post',
1489
+    },
1490
+    batchDeleteContractTemplate: {
1491
+      method: 'put',
1492
+      url: `${prefix}/contract/template/batchDelete`,
1493
+      action: 'admin.batchDeleteContractTemplate.put',
1494
+    },
1495
+    updateContractTemplate: {
1496
+      method: 'put',
1497
+      url: `${prefix}/contract/template/update/:id`,
1498
+      action: 'admin.updateContractTemplate.put',
1499
+    },
1500
+    getContractTemplate: {
1501
+      method: 'get',
1502
+      url: `${prefix}/taContractTemplate/:id`,
1503
+      action: 'admin.getContractTemplate.get',
1504
+    },
1505
+    
1480
   },
1506
   },
1481
 }
1507
 }