|
@@ -2,7 +2,14 @@ import { useState, useEffect } from "react";
|
2
|
2
|
import Taro from "@tarojs/taro";
|
3
|
3
|
import { useSelector } from "react-redux";
|
4
|
4
|
import withLayout from "@/layout";
|
5
|
|
-import { ScrollView, Input, Image, Block, Textarea } from "@tarojs/components";
|
|
5
|
+import {
|
|
6
|
+ ScrollView,
|
|
7
|
+ Input,
|
|
8
|
+ Image,
|
|
9
|
+ Block,
|
|
10
|
+ Textarea,
|
|
11
|
+ Radio
|
|
12
|
+} from "@tarojs/components";
|
6
|
13
|
import { getImgURL } from "@/utils/image";
|
7
|
14
|
import { fetch, uploadFiles } from "@/utils/request";
|
8
|
15
|
import { UPDATE_USER_INFO, ROLE_CODE } from "@/constants/user";
|
|
@@ -15,29 +22,29 @@ import "@/assets/css/iconfont.css";
|
15
|
22
|
import "./index.scss";
|
16
|
23
|
|
17
|
24
|
//身份证正则
|
18
|
|
-export const idNumberReg =
|
19
|
|
- /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
|
|
25
|
+export const idNumberReg = /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
|
20
|
26
|
|
21
|
|
-export default withLayout((props) => {
|
|
27
|
+export default withLayout(props => {
|
22
|
28
|
const { dispatch } = store;
|
23
|
29
|
const { router } = props;
|
24
|
30
|
const recommendAgent = router?.params?.recommendAgent;
|
25
|
31
|
|
26
|
|
- const user = useSelector((state) => state.user);
|
|
32
|
+ const user = useSelector(state => state.user);
|
27
|
33
|
const [UserInfo, setUserInfo] = useState({});
|
28
|
34
|
const [FormData, setFormData] = useState({
|
29
|
35
|
name: "",
|
30
|
36
|
phone: "",
|
31
|
|
- idNo: "",
|
|
37
|
+ idNo: ""
|
32
|
38
|
});
|
33
|
39
|
const [showAddIdentityCard, setShowAddIdentityCard] = useState(false);
|
34
|
40
|
const [bankCard, setBankCard] = useState([]);
|
|
41
|
+ const [checked,setChecked] = useState(false)
|
35
|
42
|
|
36
|
43
|
// 获取银行卡列表
|
37
|
44
|
useEffect(() => {
|
38
|
45
|
Taro.showLoading();
|
39
|
46
|
|
40
|
|
- querybkBankCard().then((res) => {
|
|
47
|
+ querybkBankCard().then(res => {
|
41
|
48
|
setBankCard(res?.records || []);
|
42
|
49
|
Taro.hideLoading();
|
43
|
50
|
});
|
|
@@ -49,30 +56,38 @@ export default withLayout((props) => {
|
49
|
56
|
setFormData({
|
50
|
57
|
name: user?.userInfo?.person.name,
|
51
|
58
|
phone: user?.userInfo?.person.phone,
|
52
|
|
- idNo: user?.userInfo?.person.idNo,
|
|
59
|
+ idNo: user?.userInfo?.person.idNo
|
53
|
60
|
});
|
54
|
61
|
}, [user]);
|
55
|
62
|
|
56
|
63
|
const Save = () => {
|
57
|
64
|
|
58
|
|
- if(FormData?.idNo){
|
59
|
|
- if(!idNumberReg?.test(FormData?.idNo)){
|
|
65
|
+ if(!checked){
|
|
66
|
+ Taro.showToast({
|
|
67
|
+ title: "请输勾选协议",
|
|
68
|
+ icon: "none"
|
|
69
|
+ });
|
|
70
|
+ return;
|
|
71
|
+ }
|
|
72
|
+
|
|
73
|
+ if (FormData?.idNo) {
|
|
74
|
+ if (!idNumberReg?.test(FormData?.idNo)) {
|
60
|
75
|
Taro.showToast({
|
61
|
76
|
title: "请输入正确的身份证",
|
62
|
|
- icon: "none",
|
|
77
|
+ icon: "none"
|
63
|
78
|
});
|
64
|
|
- return
|
65
|
|
- }
|
|
79
|
+ return;
|
|
80
|
+ }
|
66
|
81
|
}
|
67
|
82
|
|
68
|
83
|
fetch({
|
69
|
84
|
url: `${API_BIND_BROKER}`,
|
70
|
85
|
method: "put",
|
71
|
|
- payload: { ...FormData, bankCardList: bankCard, recommendAgent },
|
|
86
|
+ payload: { ...FormData, bankCardList: bankCard, recommendAgent }
|
72
|
87
|
}).then(() => {
|
73
|
88
|
Taro.showToast({
|
74
|
89
|
title: "修改成功",
|
75
|
|
- icon: "none",
|
|
90
|
+ icon: "none"
|
76
|
91
|
});
|
77
|
92
|
|
78
|
93
|
dispatch({
|
|
@@ -81,54 +96,54 @@ export default withLayout((props) => {
|
81
|
96
|
name: FormData.name,
|
82
|
97
|
phone: FormData.phone,
|
83
|
98
|
idNo: FormData.idNo,
|
84
|
|
- personType: "broker",
|
85
|
|
- },
|
|
99
|
+ personType: "broker"
|
|
100
|
+ }
|
86
|
101
|
});
|
87
|
102
|
Taro.navigateBack({
|
88
|
|
- delta: 1,
|
89
|
|
- }).catch((err) => {
|
|
103
|
+ delta: 1
|
|
104
|
+ }).catch(err => {
|
90
|
105
|
Taro.switchTab({
|
91
|
|
- url: "/pages/index/index",
|
|
106
|
+ url: "/pages/index/index"
|
92
|
107
|
});
|
93
|
108
|
});
|
94
|
109
|
// login({ path: '', scene: '' })
|
95
|
110
|
});
|
96
|
111
|
};
|
97
|
112
|
|
98
|
|
- const hangDeleteBankCard = (e) => {
|
99
|
|
- setBankCard((data) => {
|
100
|
|
- return data.filter((x) => x.cardNo !== e.cardNo);
|
|
113
|
+ const hangDeleteBankCard = e => {
|
|
114
|
+ setBankCard(data => {
|
|
115
|
+ return data.filter(x => x.cardNo !== e.cardNo);
|
101
|
116
|
});
|
102
|
117
|
};
|
103
|
118
|
|
104
|
|
- const handDefaultChang = (e) => {
|
105
|
|
- setBankCard((data) => {
|
106
|
|
- return data.map((x) => {
|
|
119
|
+ const handDefaultChang = e => {
|
|
120
|
+ setBankCard(data => {
|
|
121
|
+ return data.map(x => {
|
107
|
122
|
if (x.cardNo === e.cardNo) {
|
108
|
123
|
return {
|
109
|
124
|
...x,
|
110
|
|
- isDefault: 1,
|
|
125
|
+ isDefault: 1
|
111
|
126
|
};
|
112
|
127
|
} else {
|
113
|
128
|
return {
|
114
|
129
|
...x,
|
115
|
|
- isDefault: 0,
|
|
130
|
+ isDefault: 0
|
116
|
131
|
};
|
117
|
132
|
}
|
118
|
133
|
});
|
119
|
134
|
});
|
120
|
135
|
};
|
121
|
136
|
|
122
|
|
- const handAddBankCard = (e) => {
|
123
|
|
- if (bankCard.find((x) => x.cardNo === e.cardNo)) {
|
|
137
|
+ const handAddBankCard = e => {
|
|
138
|
+ if (bankCard.find(x => x.cardNo === e.cardNo)) {
|
124
|
139
|
Taro.showToast({
|
125
|
140
|
title: "存在相同银行卡",
|
126
|
141
|
icon: "none",
|
127
|
|
- duration: 2000,
|
|
142
|
+ duration: 2000
|
128
|
143
|
});
|
129
|
144
|
} else {
|
130
|
145
|
setShowAddIdentityCard(false);
|
131
|
|
- setBankCard((data) => {
|
|
146
|
+ setBankCard(data => {
|
132
|
147
|
const isDefault = data?.length === 0 ? 1 : 0;
|
133
|
148
|
return [...data, { ...e, isDefault }];
|
134
|
149
|
});
|
|
@@ -206,7 +221,52 @@ export default withLayout((props) => {
|
206
|
221
|
</view>
|
207
|
222
|
</view> */}
|
208
|
223
|
</view>
|
|
224
|
+ {/* <View className={style.agreement}>
|
|
225
|
+ <Radio
|
|
226
|
+ value="选中"
|
|
227
|
+ checked={checked}
|
|
228
|
+ color="#1890ff"
|
|
229
|
+ onClick={() => setChecked(e => !e)}
|
|
230
|
+ ></Radio>
|
|
231
|
+ <View>
|
|
232
|
+ 点击勾选表示同意
|
|
233
|
+ <Text
|
|
234
|
+ style={{ color: "#1890ff" }}
|
|
235
|
+ onClick={e => {
|
|
236
|
+ Taro.navigateTo({ url: "/pages/agreement/index?type=user" });
|
|
237
|
+ }}
|
|
238
|
+ >
|
|
239
|
+ 《访客平台用户服务协议》
|
|
240
|
+ </Text>
|
|
241
|
+ 和
|
|
242
|
+ <Text
|
|
243
|
+ style={{ color: "#1890ff" }}
|
|
244
|
+ onClick={e => {
|
|
245
|
+ Taro.navigateTo({ url: "/pages/agreement/index?type=privacy" });
|
|
246
|
+ }}
|
|
247
|
+ >
|
|
248
|
+ 《隐私政策》
|
|
249
|
+ </Text>
|
|
250
|
+ </View>
|
|
251
|
+ </View> */}
|
|
252
|
+ <view className="agreement">
|
209
|
253
|
|
|
254
|
+ <Radio
|
|
255
|
+ value="选中"
|
|
256
|
+ checked={checked}
|
|
257
|
+ color="#193C83"
|
|
258
|
+ onClick={() => setChecked(e => !e)}
|
|
259
|
+ ></Radio>
|
|
260
|
+ 点击勾选表示同意
|
|
261
|
+ <text
|
|
262
|
+ style={{ color: "#193C83" }}
|
|
263
|
+ onClick={e => {
|
|
264
|
+ Taro.navigateTo({ url: "/subpackages/pages/broker/agentRule/index" });
|
|
265
|
+ }}
|
|
266
|
+ >
|
|
267
|
+ 《全民营销注册协议》
|
|
268
|
+ </text>
|
|
269
|
+ </view>
|
210
|
270
|
<view className="Btn">
|
211
|
271
|
<text onClick={Save}>保存</text>
|
212
|
272
|
</view>
|
|
@@ -214,7 +274,7 @@ export default withLayout((props) => {
|
214
|
274
|
|
215
|
275
|
{showAddIdentityCard && (
|
216
|
276
|
<AddBankCard
|
217
|
|
- onChange={(e) => handAddBankCard(e)}
|
|
277
|
+ onChange={e => handAddBankCard(e)}
|
218
|
278
|
onChanel={() => setShowAddIdentityCard(false)}
|
219
|
279
|
></AddBankCard>
|
220
|
280
|
)}
|