保誠-保戶業務員媒合平台
Tomas
2022-02-10 c294aaef78509c888cbd133f0841467d1803e8c2
update: [顧問-帳號資訊, 編輯帳號資訊] 優化畫面
修改7個檔案
152 ■■■■■ 已變更過的檔案
PAMapp/assets/scss/vendors/elementUI/_input.scss 6 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/scss/vendors/elementUI/_textarea.scss 4 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/components/Ui/UiField.vue 4 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/components/editConsultantAvatar.vue 14 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/components/multiSelectBtn.vue 2 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/pages/agentInfo/edit/_agentNo.vue 108 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/shared/models/account.model.ts 14 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/scss/vendors/elementUI/_input.scss
@@ -6,6 +6,10 @@
  border-radius: 10px;
}
.el-input__inner {
  font-size: 18px;
}
.pam-appointment-textarea {
  &.is-disabled {
    .el-textarea__inner {
@@ -30,4 +34,4 @@
          border: solid 1px $SKY_BLUE;
      }
  }
}
}
PAMapp/assets/scss/vendors/elementUI/_textarea.scss
@@ -1,8 +1,8 @@
.el-textarea__inner {
    border: 1px solid #707070;
    padding: 10px 20px;
    font-size: 20px;
    font-size: 18px;
    &::placeholder {
        font-size: 20px;
        font-size: 18px;
    }
}
PAMapp/components/Ui/UiField.vue
@@ -86,7 +86,9 @@
  }
  .pam-field__content {
    display    : flex;
    padding-top: 10px;
    // padding-top: 10px;
    white-space: pre-line;
    line-height: 1.5;
  }
}
</style>
PAMapp/components/editConsultantAvatar.vue
@@ -10,18 +10,24 @@
      :show-file-list="false"
      accept="image/png, image/jpeg, image/jpg">
        <el-avatar
          :size="150"
          :src="imgSrc"
          class="pam-avatar cursor--pointer fix-chrome-click--issue"
        ></el-avatar>
        <div  class="pam-avatar-uploader__action-label mt-10 cursor--pointer" >設定相片</div>
            <div class="text--center mt-10">
              <el-button
              >設定相片</el-button>
            </div>
    </el-upload>
      <div
        v-if="showResetAvatarBtn"
        class="pam-avatar-uploader__action-label text--center mt-10 cursor--pointer"
        @click="resetAvatar">
        取消上傳相片
        style="line-height: 1.5"
        >
        <i class="icon-information"></i>
        請按頁面最下方的送出按鈕來更新照片,
        <span class="text--primary cursor--pointer text--underline" @click="resetAvatar">或點此取消</span>
      </div>
  </div>
PAMapp/components/multiSelectBtn.vue
@@ -88,7 +88,7 @@
<style lang="scss" scoped>
  .pam-selectAll-btn{
    padding         : 6px 20px;
    padding         : 10px 20px;
    border          : 1px $LIGHT_GREY solid;
    background-color: $PRIMARY_WHITE;
    border-radius   : 30px;
PAMapp/pages/agentInfo/edit/_agentNo.vue
@@ -1,5 +1,6 @@
<template>
    <div class="edit-agent-info-page">
      <el-row
        type="flex"
        justify="center">
@@ -7,20 +8,42 @@
          :agentNo="agentInfo.agentNo"
          :photoBase64.sync="editInfoValue.photoBase64"/>
      </el-row>
      <el-row
      <!-- NOTE: 我認為編輯頁面不需要顯示 avgScore,先隱藏 [Tomas, 2022/2/10 13:55] -->
      <!-- <el-row
        type="flex"
        class="pt-10"
        justify="center"
        align="middle" v-if="!hideReviews">
          <i class="pam-icon icon--primary icon-star"></i>
          <h3 class="mdTxt">{{ agentInfo.avgScore }}</h3>
      </el-row>
      </el-row> -->
      <el-row
      <!-- <el-row
        type="flex"
        class="pam-paragraph"
        justify="center">
        <el-input class="mdTxt" v-model="editInfoValue.name"></el-input>
      </el-row> -->
       <el-row
        type="flex"
        class="pam-paragraph">
        <el-col :span="24" class="pam-field">
          <div class="pam-field__label pam-progress__label">
            <div>
              <div class="pam-field__title mb-10">
                <i class="pam-icon icon-avatar"
                  ></i>顯示名稱
                  <span class="hint text--bold" v-show="!editInfoValue.name">顯示名稱為必填</span>
              </div>
            </div>
            <el-input
              v-model="editInfoValue.name"
              :class="{'is-invalid': !nameValid}"
              maxlength="10"
              minlength="10"></el-input>
          </div>
        </el-col>
      </el-row>
      <el-row
@@ -49,8 +72,8 @@
      <el-row
        type="flex"
        class="pam-paragraph">
        <UiField :span="12" icon="agent" label="頭銜">
          <el-input  v-model="editInfoValue.title"></el-input>
        <UiField :span="24" icon="agent" label="頭銜">
          <el-input  v-model="editInfoValue.title" class="mt-10"></el-input>
        </UiField>
      </el-row>
@@ -71,7 +94,7 @@
        type="flex"
        class="pam-paragraph">
        <UiField icon="address" label="公司地址">
          <el-input  v-model="editInfoValue.companyAddress"></el-input>
          <el-input  v-model="editInfoValue.companyAddress" class="mt-10"></el-input>
        </UiField>
      </el-row>
@@ -81,20 +104,22 @@
        <UiField :span="12" icon="time" label="最後上線時間">
          {{ agentInfo.latestLoginTime | formatDate }}
        </UiField>
        <UiField :span="12" icon="calender" label="服務資歷" style="display:flex">
          <el-input  v-model="editInfoValue.seniorityYear" class="seniority-input"></el-input>年
          <el-select  style="width:60px" v-model="editInfoValue.seniorityMonth" class="seniority-input">
            <el-option
              v-for="(month) in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]"
              :value="month"
              :key="month">
              {{ month }}
            </el-option>
          </el-select>月
        <UiField :span="12" icon="calender" label="服務資歷">
          <div class="mt-10" style="display: flex; align-items: center">
            <el-input  v-model="editInfoValue.seniorityYear" class="seniority-input" ></el-input>年
            <el-select  style="width:60px" v-model="editInfoValue.seniorityMonth" class="seniority-input">
              <el-option
                v-for="(month) in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]"
                :value="month"
                :key="month">
                {{ month }}
              </el-option>
            </el-select>月
          </div>
        </UiField>
      </el-row>
      <el-row
      <!-- <el-row
        type="flex"
        class="pam-paragraph">
        <el-col :span="24" class="pam-field">
@@ -113,7 +138,7 @@
            <el-progress :show-text="false" :stroke-width="15" :percentage="agentInfo.evaluation * 2"></el-progress>
          </div>
        </el-col>
      </el-row>
      </el-row> -->
      <el-row
        type="flex"
@@ -127,9 +152,9 @@
              </div>
            </div>
            <MultiSelectBtn class="mt-30"
            :mutiSelect.sync="editInfoValue.communicationStyle"
            :options="agentCommunicationStyleList"
            :maxLength="2"
              :mutiSelect.sync="editInfoValue.communicationStyle"
              :options="agentCommunicationStyleList"
              :maxLength="2"
            >
            </MultiSelectBtn>
          </div>
@@ -148,8 +173,8 @@
              </div>
            </div>
            <MultiSelectBtn class="mt-30"
            :mutiSelect.sync="editInfoValue.expertise"
            :options="agentExpertList"
              :mutiSelect.sync="editInfoValue.expertise"
              :options="agentExpertList"
            >
            </MultiSelectBtn>
          </div>
@@ -160,7 +185,7 @@
        type="flex"
        class="pam-paragraph">
        <UiField icon="comment" label="個人理念">
          <el-input type="textarea" autosize v-model="editInfoValue.concept"></el-input>
          <el-input type="textarea" autosize v-model="editInfoValue.concept" class="mt-10"></el-input>
        </UiField>
      </el-row>
@@ -168,7 +193,12 @@
        type="flex"
        class="pam-paragraph">
        <UiField icon="school" label="個人背景">
            <el-input type="textarea" autosize v-model="editInfoValue.experiences"></el-input>
            <el-input
              autosize
              type="textarea"
              class="mt-10"
              v-model="editInfoValue.experiences">
            </el-input>
        </UiField>
      </el-row>
@@ -176,7 +206,7 @@
        type="flex"
        class="pam-paragraph">
        <UiField icon="trophy" label="得獎經歷">
          <el-input type="textarea" autosize style="height:70%" v-model="editInfoValue.awards"></el-input>
          <el-input type="textarea" autosize style="height:70%" v-model="editInfoValue.awards" class="mt-10"></el-input>
        </UiField>
      </el-row>
@@ -383,13 +413,18 @@
        this.fieldInfoTitle = '匹配度';
        this.fieldInfoDesc = '匹配度是透過嚴選配對或快速篩選後,將每一位保險顧問資料進行比對後排序推薦給您的媒合數值,您可以作為選擇適合顧問的參考值。';
        break;
      case 'evaluation':
        this.fieldInfoTitle = '諮詢度表現';
        this.fieldInfoDesc = '諮詢度表現是將每一位保險顧問近一個月回覆諮詢數量進行比對後排序推薦給您的媒合數值。';
        break;
      // case 'evaluation':
      //   this.fieldInfoTitle = '諮詢度表現';
      //   this.fieldInfoDesc = '諮詢度表現是將每一位保險顧問近一個月回覆諮詢數量進行比對後排序推薦給您的媒合數值。';
      //   break;
    }
  }
  ////////////////////////////////////////////////////////////
  get nameValid(): boolean {
    return !!this.editAgentInfoSetting.name;
  }
  get phoneValid(): boolean {
            const rule = /^09[0-9]{8}$/;
            return this.editInfoValue.phoneNumber
@@ -414,12 +449,8 @@
</script>
<style lang="scss" >
.edit-agent-info-page{
  .el-textarea__inner{
  font-size: 15px;
}
}
<style lang="scss">
.pam-icon {
  font-size    : 15px;
  padding-right: 8px;
@@ -474,14 +505,11 @@
}
.seniority-input{
  width       : 50px;
  width       : 60px;
  margin-right: 5px;
}
.el-input--suffix .el-input__inner {
  padding-right: 20px;
}
.el-textarea__inner{
  font-size: 18px;
}
</style>
PAMapp/shared/models/account.model.ts
@@ -7,18 +7,18 @@
export interface AgentInfoSetting{
    agentNo           : string;
    name              : string;
    expertise         : string[];
    expertise         : string[];
    title             : string;
    role              : string;
    serveArea         : string;
    gender            : string;
    serveArea         : string[];
    gender            : string;
    phoneNumber       : string;
    companyAddress    : string;
    seniorityYear     : number;
    seniorityMonth    : number;
    seniorityYear     : number;
    seniorityMonth    : number;
    concept           : string;
    experiences        : string;
    experiences        : string;
    awards           : string;
    communicationStyle: string;
    communicationStyle: string;
    photoBase64       : string;
}