From f36e617e9e534a4b05f2029724d678bbd6c655b3 Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期三, 22 十二月 2021 11:38:54 +0800 Subject: [PATCH] refactor: separate api/consultant.ts into serveral services --- PAMapp/pages/accountSetting/index.vue | 324 +++++++++++++++++++---------------------------------- 1 files changed, 117 insertions(+), 207 deletions(-) diff --git a/PAMapp/pages/accountSetting/index.vue b/PAMapp/pages/accountSetting/index.vue index fb21f19..33ecd55 100644 --- a/PAMapp/pages/accountSetting/index.vue +++ b/PAMapp/pages/accountSetting/index.vue @@ -1,96 +1,78 @@ <template> -<div class="account-page"> - <div class="account-page-title">�犖撣唾�身摰�</div> - <section class="account-card" :class="{'edit': !userNameDisabled }"> - <div class="header"> - <div class="block"> - <div class="setting-title">憪��</div> - <div class="contact-type"> - <input - :disabled="userNameDisabled" - v-model="userNameValue" - ref="userName" - class="input name-input" - > - <div class="error-txt"> - <span v-show="!nameValid" class="error">甇斗���‵</span> - </div> - </div> - - </div> - <i class="icon-edit icon" @click="editField('userName')" :class="{'icon-color-change': !userNameDisabled}"></i> + <div> + <div class="pam-paragraph text--middle">�犖撣唾�身摰�</div> + <div class="pam-paragraph account-info " > + <div class="account-info__title text--middle">憪��</div> + <div class="account-info__input" :class="{'edit': !userNameDisabled }"> + <input + :disabled="userNameDisabled" + v-model="userNameValue" + ref="userName" + class="account-info__input-text"> + <div class="account-info__input-error"> + <span v-show="!nameValid" class="error">甇斗���‵</span> </div> - - </section> - - <section class="account-card" :class="{'edit': !userPhoneDisabled }" v-if="phoneValue"> - <div class="header"> - <div class="block"> - <div class="setting-title">蝬��</div> - <div class="contact-type"> - ����Ⅳ - <input - :disabled="userPhoneDisabled" - v-model="phoneValue" - :class="{ - 'is-invalid': !phoneValid - }" - ref="userPhone" - class="contact-input input" - :placeholder="phoneValue || '撠������Ⅳ'" - > - <div class="error-txt"> - <span v-show="!phoneValid" class="error">����Ⅳ�撘�炊</span> - </div> - </div> - </div> - <!-- <i class="icon-edit icon" - @click="editField('userPhone')" - :class="{'icon-color-change': !userPhoneDisabled}"></i> --> - </div> - - </section> - - <section class="account-card" :class="{'edit': !userEmailDisabled }" v-if="emailValue"> - <div class="header"> - <div class="block"> - <div class="setting-title">蝬��</div> - <div class="contact-type">Email - <input - :disabled="userEmailDisabled" - v-model="emailValue" - :class="{ - 'is-invalid': !emailValid - }" - ref="userEmail" - class="contact-input input" - :placeholder="emailValue || '撠���� Email'" - > - <div class="error-txt"> - <span v-show="!emailValid" class="error">靽∠拳�撘�炊</span> - </div> - </div> - </div> - - <!-- <i class="icon-edit icon" @click="editField('userEmail')" - :class="{'icon-color-change': !userEmailDisabled}"></i> --> - </div> - - </section> - - <div class="account-setting-btn mb-30"> - <el-button - :disabled="isSubmitBtnDisabled" - @click.native="updateAccountSetting">�</el-button> + </div> + <div class="account-info__icon text--middle"> + <i class="icon-edit" @click="editField('userName')" :class="{'icon-color-change': !userNameDisabled}"></i> + </div> </div> - -</div> + <div class="pam-paragraph account-info" v-if="phoneValue"> + <div class="account-info__title text--middle">蝬��</div> + <div class="account-info__input " :class="{'edit': !userPhoneDisabled }"> + <div class="text--middle mb-10">����Ⅳ</div> + <input :disabled="userPhoneDisabled" + v-model="phoneValue" + :class="{'is-invalid': !phoneValid}" + ref="userPhone" + class="account-info__input-text" + :placeholder="phoneValue ||'撠������Ⅳ'"> + <div class="account-info__input-error"> + <span v-show="!phoneValid" class="error">����Ⅳ�撘�炊</span> + </div> + </div> + <div class="account-info__icon text--middle"> + <!-- <i class="icon-edit" + @click="editField('userPhone')" + :class="{'icon-color-change': !userPhoneDisabled}"> + </i> --> + </div> + </div> + <div class="pam-paragraph account-info" v-if="emailValue"> + <div class="account-info__title text--middle">蝬��</div> + <div class="account-info__input" :class="{'edit': !userEmailDisabled }"> + <div class="text--middle mb-10">Email</div> + <input :disabled="userEmailDisabled" + v-model="emailValue" + :class="{'is-invalid': !emailValid }" + ref="userEmail" + class="account-info__input-text" + :placeholder="emailValue || '撠���� Email'"> + <div class="account-info__input-error"> + <span v-show="!emailValue" class="error">靽∠拳�撘�炊</span> + </div> + </div> + <div class="account-info__icon text--middle"> + <!-- <i class="icon-edit" + @click="editField('userEmail')" + :class="{'icon-color-change': !userEmailDisabled}"> + </i> --> + </div> + </div> + <div class="pam-paragraph account-confirm"> + <el-button :disabled="isSubmitBtnDisabled" + @click.native="updateAccountSetting"> + � + </el-button> + </div> + </div> </template> <script lang="ts"> import { Vue,Component } from 'vue-property-decorator' -import { getUserAccountSetting, updateAccountSetting } from '~/assets/ts/api/consultant'; -import { UserSetting } from '~/assets/ts/models/account.model'; +import { UserSetting } from '~/shared/models/account.model'; + +import accountSettingService from '~/shared/services/account-setting.service'; @Component export default class AccountSetting extends Vue { @@ -158,7 +140,7 @@ phone: this.phoneValue, email: this.emailValue } - updateAccountSetting(editSettingInfo).then((res: any) => { + accountSettingService.updateAccountSetting(editSettingInfo).then((res: any) => { console.log('updateRes:', res); this.resetSettingForm(); }); @@ -172,7 +154,7 @@ } mounted(){ - getUserAccountSetting().then((userInfo: UserSetting)=>{ + accountSettingService.getUserAccountSetting().then((userInfo: UserSetting)=>{ this._userSetting = { name: userInfo.name || '', phone: userInfo.phone || '', @@ -191,123 +173,51 @@ </script> <style lang="scss" scoped> -.account-page{ - .block{ - display: flex; - } - .account-page-title{ - font-size: 20px; - margin-bottom: 34px; - } - .account-card{ - display: flex; - flex-direction: column; - border-bottom: 1px solid gray; - margin-bottom: 33px; - .contact-type{ - width: 184px; - margin-right: 16px; - font-size: 20px; - display: flex; - flex-direction: column; - align-items: flex-start; - } - &.edit { - input { - border: 1px solid lightgray; - background-color: #fff; - } - } - } - .account-setting-btn{ - display: flex; - justify-content: center; - } -} -.error-txt{ - padding-bottom: 10px; - .error { - @extend .smTxt_bold; - @extend .text--primary; - height: 16px; - } -} -.name-input{ - width: 184px; - height:27px; - margin-bottom: 20px; - font-size: 20px; - margin-top: -3px; - } -.setting-title{ - margin-left: 28px; - margin-bottom:10px; - width: 58px; - font-size: 20px; - } -.header{ - display: flex; - align-items: baseline; -} -.contact-input{ - font-size: 20px; - margin-bottom: 10px; - text-overflow: ellipsis; - margin-top: 10px; - width: 184px; -} -.input{ - border: 0; - background-color: rgba(0,0,0,0) ; - outline-color: gainsboro; -} -.input:focus{ - background-color: #fff; -} -.icon-color-change{ - color:$PRIMARY_RED; - font-size: 20px; -} -.icon{ - font-size:20px; - // color:#1B365D; -} -@include desktop{ - - .header{ - display: flex; - align-items: baseline; - justify-content: space-between; - } - .setting-title{ - margin-bottom:10px; - width: 58px; - font-size: 18px; - font-weight: bold; - } - .account-page{ - .account-page-title{ - font-size: 20px; - margin-bottom: 34px; - font-weight: bold; - } - } - .account-card{ - display: flex; - flex-direction: column; - border-bottom: 1px solid gray; - margin-bottom: 33px; - .contact-type{ - margin-left: 10px; - font-size: 20px; - } - } - .name-input{ - width: 550px; - } - .contact-input{ - width:550px - } - } +.account-info{ + display: flex; + align-items: baseline; + border-bottom: 1px gray solid; + padding: 15px 15px 15px 30px; + .account-info__title{ + width: 58px; + } + .account-info__input{ + flex: 1; -</style> \ No newline at end of file + &.edit { + .account-info__input-text{ + border: 1px solid lightgray; + background-color: #fff; + } + } + .account-info__input-text{ + border: 0; + background-color: rgba(0,0,0,0) ; + outline-color: gainsboro; + box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + padding: 3px 10px; + width: 100%; + font-size: 20px; + &:disabled{ + padding: 0px; + } + } + .account-info__input-error{ + @extend .smTxt_bold,.text--primary; + margin-top: 10px; + } + } + .account-info__icon{ + margin-left: 20px; + .icon-color-change{ + color:$PRIMARY_RED; + } + } +} +.account-confirm{ + display: flex; + justify-content: center; +} +</style> -- Gitblit v1.8.0