|
|
@@ -20,6 +20,10 @@ Component({
|
|
|
properties: {},
|
|
|
data: {
|
|
|
model: null as App.Patient.Model | null,
|
|
|
+ name: "",
|
|
|
+ cardno: "",
|
|
|
+ age: "",
|
|
|
+ sex: "",
|
|
|
dirty: false,
|
|
|
idCardValid: false,
|
|
|
},
|
|
|
@@ -77,7 +81,7 @@ Component({
|
|
|
onSexChange(event: WechatMiniprogram.CustomEvent) {
|
|
|
const that = this as any;
|
|
|
const value = (event as any)?.detail; // field-radio 直接传递选中值
|
|
|
- that.setData({ ['model.sex']: value });
|
|
|
+ that.setData({ ['model.sex']: value.sex });
|
|
|
},
|
|
|
updateByCardno(cardno?: string) {
|
|
|
const that = this as any;
|
|
|
@@ -113,64 +117,35 @@ Component({
|
|
|
},
|
|
|
async onSubmit(event: WechatMiniprogram.FormSubmit) {
|
|
|
console.log(event, "onSubmit");
|
|
|
- const that = this as any;
|
|
|
- const submitBtn = that.selectComponent("#submitBtn");
|
|
|
- console.log(event, "event",that.data.model);
|
|
|
- that.setData({ dirty: true });
|
|
|
- const data = { ...(that.data.model || {}), ...event?.detail?.value } as any;
|
|
|
+ this.setData({ dirty: true });
|
|
|
+ const data = { ...this.data.model, ...event?.detail?.value } as any;
|
|
|
console.log(data, "穿的数据");
|
|
|
// 如填写了身份证,进行18位身份证合法性校验
|
|
|
if (data.cardno) {
|
|
|
const { valid, message } = (this as any).validateIdCard18((data.cardno || '').toString());
|
|
|
- if (!valid) {
|
|
|
- if (submitBtn) submitBtn.resetState();
|
|
|
- return getTickleContext.call(that).showWarnMessage(message || '身份证号不合法');
|
|
|
- }
|
|
|
+ if (!valid) return this.showMessageAndDirty(message || '身份证号不合法');
|
|
|
}
|
|
|
// 必填:年龄、性别
|
|
|
- if (!data.age) {
|
|
|
- if (submitBtn) submitBtn.resetState();
|
|
|
- return getTickleContext.call(that).showWarnMessage("请填写年龄");
|
|
|
- }
|
|
|
- if (data.sex === undefined || data.sex === null || data.sex === '') {
|
|
|
- if (submitBtn) submitBtn.resetState();
|
|
|
- return getTickleContext.call(that).showWarnMessage("请选择性别");
|
|
|
- }
|
|
|
+ if (!data.age) return this.showMessageAndDirty("请填写年龄");
|
|
|
+ if (data.sex === undefined || data.sex === null || data.sex === '') return this.showMessageAndDirty("请选择性别");
|
|
|
if (!data.patientId) data.patientId = wx.getStorageSync("patientId");
|
|
|
// 表单验证
|
|
|
- if (data.sex.toString() === "1" && !data.womenSpecialPeriod) {
|
|
|
- if (submitBtn) submitBtn.resetState();
|
|
|
- return getTickleContext
|
|
|
- .call(that)
|
|
|
- .showWarnMessage("请至少选择一项女性特殊期");
|
|
|
- }
|
|
|
- if (!data.height) {
|
|
|
- if (submitBtn) submitBtn.resetState();
|
|
|
- return getTickleContext.call(that).showWarnMessage("请填写身高");
|
|
|
- }
|
|
|
- if (!data.weight) {
|
|
|
- if (submitBtn) submitBtn.resetState();
|
|
|
- return getTickleContext.call(that).showWarnMessage("请填写体重");
|
|
|
- }
|
|
|
+ if (data.sex.toString() === "1" && !data.womenSpecialPeriod) return this.showMessageAndDirty("请至少选择一项女性特殊期");
|
|
|
+ if (!data.height) return this.showMessageAndDirty("请填写身高");
|
|
|
+ if (!data.weight) return this.showMessageAndDirty("请填写体重");
|
|
|
try {
|
|
|
console.log(data, "data");
|
|
|
await updateUserInfoMethod(<any>data)
|
|
|
- .then(() => wx.navigateBack())
|
|
|
- .then(() => {
|
|
|
- that.getOpenerEventChannel().emit("update2", event.detail.value);
|
|
|
- })
|
|
|
- .catch((error) => {
|
|
|
- if (submitBtn) {
|
|
|
- submitBtn.resetState();
|
|
|
- }
|
|
|
- const msg = (error as any)?.errMsg || '更新失败';
|
|
|
- getTickleContext.call(that).showWarnMessage(msg);
|
|
|
- });
|
|
|
+ wx.navigateBack();
|
|
|
+ this.getOpenerEventChannel().emit("update2", event.detail.value);
|
|
|
} catch (error) {
|
|
|
- if (submitBtn) submitBtn.resetState();
|
|
|
const msg = (error as any)?.errMsg || '更新失败';
|
|
|
- getTickleContext.call(that).showWarnMessage(msg);
|
|
|
+ this.showMessageAndDirty(msg);
|
|
|
}
|
|
|
},
|
|
|
+ showMessageAndDirty(message: string) {
|
|
|
+ if (message) getTickleContext.call(this).showWarnMessage(message);
|
|
|
+ setTimeout(() => this.setData({ dirty: false }), 200);
|
|
|
+ },
|
|
|
},
|
|
|
});
|