diff --git a/components/button-footer.vue b/components/button-footer.vue
index 33214a4..0d04a23 100644
--- a/components/button-footer.vue
+++ b/components/button-footer.vue
@@ -1,24 +1,32 @@
-
+
+
+
+
{{ cancelText }}
-
+
+
+
+
{{ confirmText }}
\ No newline at end of file
diff --git a/components/form-template/form-cell/form-input.vue b/components/form-template/form-cell/form-input.vue
index 7214f88..0f944a8 100644
--- a/components/form-template/form-cell/form-input.vue
+++ b/components/form-template/form-cell/form-input.vue
@@ -42,9 +42,13 @@ const props = defineProps({
type: [Number, String],
default: 20
},
+ placeholder: {
+ type: String,
+ default: ''
+ }
})
-const placeholder = computed(() => `请输入${props.name || ''}`)
+const placeholder = computed(() => props.placeholder || `请输入${props.name || ''}`)
const value = computed(() => {
const v = props.form?.[props.title];
return v === undefined || v === null ? '' : String(v);
diff --git a/pages/home/components/cert-popup.vue b/pages/home/components/cert-popup.vue
index 8deb31c..0bb0bdf 100644
--- a/pages/home/components/cert-popup.vue
+++ b/pages/home/components/cert-popup.vue
@@ -37,7 +37,7 @@
diff --git a/pages/login/login.vue b/pages/login/login.vue
index 93fe717..fbdc489 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -84,7 +84,7 @@ function toAggreement(type) {
async function getPhoneNumber(e) {
const phoneCode = e && e.detail && e.detail.code;
- // if (e && !phoneCode) return;
+ if (e && !phoneCode) return;
const res = await login(phoneCode);
if (res && redirectUrl.value) {
diff --git a/pages/work/department-select.vue b/pages/work/department-select.vue
index 230013a..e3e5501 100644
--- a/pages/work/department-select.vue
+++ b/pages/work/department-select.vue
@@ -48,7 +48,7 @@
如没有符合的内容,请
联系客服
-
+
diff --git a/pages/work/hospital-select.vue b/pages/work/hospital-select.vue
index e1c8cd3..6a97065 100644
--- a/pages/work/hospital-select.vue
+++ b/pages/work/hospital-select.vue
@@ -26,7 +26,7 @@
如没有符合的内容,请
联系客服
-
+
diff --git a/pages/work/profile.vue b/pages/work/profile.vue
index bc10500..a854b15 100644
--- a/pages/work/profile.vue
+++ b/pages/work/profile.vue
@@ -12,7 +12,10 @@
-
+
+
@@ -48,7 +51,17 @@
-
+
+
+
+
+ {{ confirmText }}
+
+
+
+
@@ -72,7 +85,7 @@ import fullPage from "@/components/full-page.vue";
const { account, doctorInfo } = storeToRefs(useAccountStore());
const { useLoad, useShow } = useGuard();
-const { getDoctorInfo } = useAccountStore();
+const { getDoctorInfo, login } = useAccountStore();
const job = { assistant: "医生助理", doctor: "医生" };
const jobOptions = [{ name: '医生', value: 'doctor' }, { name: '医生助理', value: 'assistant' }, { name: '无', value: '' }];
@@ -185,7 +198,7 @@ function toCert() {
}
function selectDept() {
- if(rule.value.dept.disabled) return;
+ if (rule.value.dept.disabled) return;
const eventName = `selectDept_${Date.now()}`
const deptIds = (formData.value.hlwDepts || []).map(i => i.deptId).filter(Boolean).join(',')
uni.navigateTo({
@@ -196,6 +209,21 @@ function selectDept() {
})
}
+async function getPhoneNumber(e) {
+ const phoneCode = e && e.detail && e.detail.code;
+ if (e && !phoneCode) return;
+ try {
+ const res = await login(phoneCode);
+ if (!res || !res.mobile) {
+ return toast('绑定手机号失败')
+ }
+ save()
+ } catch (e) {
+ toast('绑定手机号失败')
+ }
+
+}
+
async function save() {
if (
typeof formData.value.anotherName !== "string" ||
@@ -253,4 +281,10 @@ useShow(() => {
width: 64rpx;
height: 64rpx;
}
+
+.phone-btn {
+ left: 0;
+ top: 0;
+ opacity: 0;
+}
diff --git a/pages/work/team/invite/rename-popup.vue b/pages/work/team/invite/rename-popup.vue
index d782eba..4d75fb4 100644
--- a/pages/work/team/invite/rename-popup.vue
+++ b/pages/work/team/invite/rename-popup.vue
@@ -9,7 +9,7 @@
-
+
diff --git a/store/account.js b/store/account.js
index 12eba8e..9203c64 100644
--- a/store/account.js
+++ b/store/account.js
@@ -1,4 +1,4 @@
-import { ref } from "vue";
+import { ref, watch } from "vue";
import { defineStore } from "pinia";
import api from '@/utils/api';
import { toast } from '@/utils/widget';
@@ -55,16 +55,16 @@ export default defineStore("accountStore", () => {
corpId,
});
if (res.success && res.data) {
- if (!res.data.mobile) {
- const target = '/pages/login/login';
- uni.redirectTo({ url: target });
- return;
- }
+ // if (!res.data.mobile) {
+ // const target = '/pages/login/login';
+ // uni.redirectTo({ url: target });
+ // return;
+ // }
account.value = res.data;
openid.value = res.data.openid;
// 持久化账户信息
- cache.set(CACHE_KEYS.ACCOUNT, res.data);
- cache.set(CACHE_KEYS.OPENID, res.data.openid);
+ // cache.set(CACHE_KEYS.ACCOUNT, res.data);
+ // cache.set(CACHE_KEYS.OPENID, res.data.openid);
// 登录成功后初始化腾讯IM
await getDoctorInfo({ openid: openid.value });
@@ -155,9 +155,25 @@ export default defineStore("accountStore", () => {
doctorInfo.value = null;
// 清空缓存
- cache.remove(CACHE_KEYS.ACCOUNT);
- cache.remove(CACHE_KEYS.OPENID);
+ // cache.remove(CACHE_KEYS.ACCOUNT);
+ // cache.remove(CACHE_KEYS.OPENID);
}
+ watch(account, n => {
+ if (n) {
+ cache.set(CACHE_KEYS.ACCOUNT, n);
+ } else {
+ cache.remove(CACHE_KEYS.ACCOUNT);
+ }
+ })
+
+ watch(openid, n => {
+ if (n) {
+ cache.set(CACHE_KEYS.OPENID, n);
+ } else {
+ cache.remove(CACHE_KEYS.OPENID);
+ }
+ })
+
return { account, openid, isIMInitialized, doctorInfo, login, getDoctorInfo, initIMAfterLogin, logout }
})
\ No newline at end of file