diff --git a/src/views/AccountManagement/ModalAccountEditCreate.vue b/src/views/AccountManagement/ModalAccountEditCreate.vue
index bae4146..d582e2a 100644
--- a/src/views/AccountManagement/ModalAccountEditCreate.vue
+++ b/src/views/AccountManagement/ModalAccountEditCreate.vue
@@ -20,7 +20,8 @@
'text-[#FF3366]': !isAccountUnique,
'border-[#FF3366]': !isAccountUnique,
}"
- @focus="onInputAccountFocus"
+ @focus="onInputAccountFocus" :readonly="!isEditable"
+ @dblclick="onInputDoubleClick"
/>
+ v-model="inputPwd" :readonly="!isEditable" @dblclick="onInputDoubleClick"/>

@@ -75,7 +77,7 @@
'border-[#FF3366]': !isPwdMatched,
}">
{
if (newVal === MODAL_CREATE_NEW) {
@@ -189,16 +193,16 @@ export default defineComponent({
return modalStore.whichModal === MODAL_CREATE_NEW ? i18next.t('AcctMgmt.CreateNew') : i18next.t('AcctMgmt.AccountEdit');
});
-
watch(
[inputUserAccount, inputName, inputPwd, inputConfirmPwd, isAccountUnique,
- isPwdMatched,
+ isPwdMatched,
],
([newAccount, newName, newPwd, newConfirmPwd, newIsAccountUnique,
newPwdMatched,
]) => {
- if (!newAccount.length || !newName.length || !newPwd.length
- || !newConfirmPwd.length || !newIsAccountUnique
+
+ if (!newAccount?.length || !newName?.length || !newPwd?.length
+ || !newConfirmPwd?.length || !newIsAccountUnique
|| !newPwdMatched
) {
isConfirmDisabled.value = true;
@@ -221,19 +225,23 @@ export default defineComponent({
isPwdMatched.value = inputPwd.value.length > 0 && inputPwd.value === inputConfirmPwd.value;
}
+ const onInputDoubleClick = () => {
+ // 允許編輯模式
+ isEditable.value = true;
+ }
+
const onConfirmBtnClick = async () => {
validateConfirmPwd();
if(!isPwdMatched.value){
return;
}
-
- await checkAccountIsUnique();
- if(!isAccountUnique.value) {
- return;
- }
switch(whichCurrentModal.value) {
- case MODAL_CREATE_NEW:
+ case MODAL_CREATE_NEW:
+ await checkAccountIsUnique();
+ if(!isAccountUnique.value) {
+ return;
+ }
await acctMgmtStore.createNewAccount({
username: inputUserAccount.value,
password: inputPwd.value,
@@ -257,6 +265,7 @@ export default defineComponent({
// is_active: isSetActivedChecked.value, //TODO: 待確認需求規格
});
await toast.success(i18next.t("AcctMgmt.MsgAccountEdited"));
+ isEditable.value = false;
default:
break;
}
@@ -270,11 +279,15 @@ export default defineComponent({
};
const toggleIsAdmin = () => {
- isSetAsAdminChecked.value = !isSetAsAdminChecked.value;
+ if(isEditable){
+ isSetAsAdminChecked.value = !isSetAsAdminChecked.value;
+ }
}
const toggleIsActivated = () => {
- isSetActivedChecked.value = !isSetActivedChecked.value;
+ if(isEditable){
+ isSetActivedChecked.value = !isSetActivedChecked.value;
+ }
}
const onInputAccountFocus = () => {
if(!isAccountUnique.value) {
@@ -282,6 +295,10 @@ export default defineComponent({
isAccountUnique.value = true;
}
}
+
+ onMounted(() => {
+ });
+
return {
isConfirmDisabled,
username,
@@ -297,6 +314,7 @@ export default defineComponent({
inputPwd,
inputConfirmPwd,
onConfirmBtnClick,
+ onInputDoubleClick,
isSetAsAdminChecked,
isSetActivedChecked,
toggleIsAdmin,
@@ -306,6 +324,7 @@ export default defineComponent({
modalTitle,
isAccountUnique,
onInputAccountFocus,
+ isEditable,
};
},
data() {