/* eslint-disable camelcase */
/* eslint-disable no-undef */
/* eslint-disable no-shadow */
import * as WebBrowser from "expo-web-browser";
import * as React from "react";
import { StyleSheet } from "react-native";
import { useModel } from "flooks";
import { useFocusEffect } from "@react-navigation/native";
import {
Layout,
Button,
useTheme,
Radio,
} from "@ui-kitten/components";
import FormInput from "../../components/FormInput";
import NavHeaderBar from "../../components/NavHeaderBar";
const styles = StyleSheet.create({
form: {
paddingHorizontal: 10,
},
radio: {
paddingVertical: 15,
paddingHorizontal: 15,
},
btn: {
marginHorizontal: 15,
marginVertical: 10,
},
});
export default function BankScreen({ navigation, route }) {
const theme = useTheme();
const { changeBackground } = useModel("barModel");
const {
bindBankText1,
bankTitle1,
bankTitle2,
bankTitle3,
bankTitle4,
register_form_4,
bankPla1,
bankPla2,
bankPla3,
bankPla4,
register_pla_4,
login_form_3,
login_pla_3,
bankTitle5,
next,
successText,
add,
confirm,
delText,
} = useModel("wordsModel");
const { httpPost, httpGet } = useModel("httpModel", true);
const { userId } = useModel("userModel");
const { success } = useModel("loadingModel");
const { removeEvent } = useModel("dialogModel", true);
const [id, setId] = React.useState(0);
const [prePage, setPrePage] = React.useState("Bank");
useFocusEffect(
React.useCallback(() => {
changeBackground(theme["color-primary-500"]);
const { params } = route;
const { id, pageName } = params || {};
if (id) {
setId(id);
}
if (pageName) {
setPrePage(pageName);
}
}, [])
);
const [bankName, changeBankName] = React.useState("");
const [cardNo, changeCardId] = React.useState("");
const [realName, changeRealName] = React.useState("");
const [idNo, changeIdNo] = React.useState("");
const [phone, changePhone] = React.useState("");
const [code, changeCode] = React.useState("");
const [checked, setChecked] = React.useState(true);
React.useEffect(() => {
if (id) {
httpGet(`/bankCard/get/${id}`, {}, true).then(res => {
function getVal(value) {
return value || "";
}
changeBankName(getVal(res.bankName));
changeCardId(getVal(res.cardNo));
changeRealName(getVal(res.realName));
changeIdNo(getVal(res.idNo));
changePhone(getVal(res.phone));
// changeCode(getVal(res.code));
});
}
}, [id]);
const canNext = React.useMemo(() => {
if (
bankName &&
cardNo &&
realName &&
idNo &&
phone &&
(code || id) &&
checked
) {
return true;
}
return false;
}, [bankName, cardNo, realName, idNo, phone, code, checked, id]);
const submit = () => {
httpPost(
"/bankCard/save",
{
id: id || "",
bankName,
cardNo,
realName,
idNo,
phone,
code,
userId,
},
{
body: "json",
},
true
).then(res => {
success(add + successText);
const query = {};
if (prePage === "reCharge") {
query.selectId = res.id;
}
navigation.navigate(prePage, query);
});
};
const remove = () => {
removeEvent(() => {
httpPost(`/bankCard/del/${ id}`, {}, true).then(() => {
success(delText + successText);
navigation.navigate(prePage);
});
});
};
return (
<>
{/* 银行 */}
{/* 银行卡 */}
{/* 姓名 */}
{/* 身份证号 */}
{/* 手机号 */}
{/* 验证码 */}
{id === 0 && (
)}
{id === 0 && (
setChecked(nextChecked)}
>
{bankTitle5}
)}
{id !== 0 && (
)}
>
);
}