|
@@ -87,10 +87,15 @@
|
|
|
<uni-col :span="24">
|
|
<uni-col :span="24">
|
|
|
<view class="crm-title-box">
|
|
<view class="crm-title-box">
|
|
|
<text class="tit">{{ t('ImproveImmediately.Title.AddressInformation') }}</text>
|
|
<text class="tit">{{ t('ImproveImmediately.Title.AddressInformation') }}</text>
|
|
|
- <uni-popup ref="addressTipPopup" type="center">
|
|
|
|
|
- <view class="popup-content">{{ t('ImproveImmediately.Title.AddressTip') }}</view>
|
|
|
|
|
- </uni-popup>
|
|
|
|
|
- <text class="icon-tip" @click="openAddressTip">ⓘ</text>
|
|
|
|
|
|
|
+ <uni-tooltip placement="top">
|
|
|
|
|
+ <text class="icon-tip">ⓘ</text>
|
|
|
|
|
+ <template v-slot:content>
|
|
|
|
|
+ <view class="address-tip">
|
|
|
|
|
+ {{ t('ImproveImmediately.Title.AddressTip') }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </uni-tooltip>
|
|
|
|
|
+
|
|
|
</view>
|
|
</view>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
|
|
|
|
@@ -218,9 +223,21 @@
|
|
|
</view>
|
|
</view>
|
|
|
<!-- 第三步:身份证明 -->
|
|
<!-- 第三步:身份证明 -->
|
|
|
<view v-show="currentStep === 3" class="form-section">
|
|
<view v-show="currentStep === 3" class="form-section">
|
|
|
- <h3 class="section-title">{{ t('ImproveImmediately.Title.ProofIdentityUpdate') }}</h3>
|
|
|
|
|
|
|
+
|
|
|
<uni-row class="demo-uni-row uni-row1">
|
|
<uni-row class="demo-uni-row uni-row1">
|
|
|
<uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
<uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
|
+ <view class="crm-title-box">
|
|
|
|
|
+ <text class="tit">{{ t('ImproveImmediately.Title.ProofIdentityUpdate') }}</text>
|
|
|
|
|
+ <uni-tooltip placement="bottom">
|
|
|
|
|
+ <text class="icon-tip">ⓘ</text>
|
|
|
|
|
+ <template v-slot:content>
|
|
|
|
|
+ <view class="address-tip">
|
|
|
|
|
+ {{ t('ImproveImmediately.Content.popover1') }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </uni-tooltip>
|
|
|
|
|
+
|
|
|
|
|
+ </view>
|
|
|
<uni-forms-item name="cardType" :label="t('ImproveImmediately.Label.CardType')">
|
|
<uni-forms-item name="cardType" :label="t('ImproveImmediately.Label.CardType')">
|
|
|
<cwg-combox :clearable="false" v-model:value="formData.cardType"
|
|
<cwg-combox :clearable="false" v-model:value="formData.cardType"
|
|
|
:options="cardTypeOptions" :placeholder="t('placeholder.choose')" />
|
|
:options="cardTypeOptions" :placeholder="t('placeholder.choose')" />
|
|
@@ -293,13 +310,45 @@
|
|
|
</view>
|
|
</view>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
<uni-col :xs="24" :sm="24" :md="4" :lg="4" :xl="4">
|
|
<uni-col :xs="24" :sm="24" :md="4" :lg="4" :xl="4">
|
|
|
- <view class="refresh-icon">
|
|
|
|
|
- <image style="width: 28px;" :src="icon_refresh" />
|
|
|
|
|
|
|
+ <view class="refresh">
|
|
|
|
|
+ <image :src="icon_refresh" @click="getCustomFileList" />
|
|
|
</view>
|
|
</view>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
</uni-row>
|
|
</uni-row>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
|
|
|
+ <uni-col v-if="isPC" :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
|
+ <view class="crm-title-box">
|
|
|
|
|
+ <text class="tit">{{ t('ImproveImmediately.Title.MobileDeviceUpload') }}</text>
|
|
|
|
|
+ <uni-tooltip placement="bottom">
|
|
|
|
|
+ <text class="icon-tip">ⓘ</text>
|
|
|
|
|
+ <template v-slot:content>
|
|
|
|
|
+ <view class="address-tip">
|
|
|
|
|
+ {{ t('ImproveImmediately.Content.popover2') }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </uni-tooltip>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="con-box">
|
|
|
|
|
+ <view class="box">
|
|
|
|
|
+ <image class="mobile" :src="icon_mobile" />
|
|
|
|
|
+ <image class="arrow" :src="icon_arrowR" />
|
|
|
|
|
+ <image
|
|
|
|
|
+ class="img_mobile"
|
|
|
|
|
+ style="
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+ width: 120px;
|
|
|
|
|
+ height: 120px;
|
|
|
|
|
+ border: 8px solid var(--color-gray);
|
|
|
|
|
+ "
|
|
|
|
|
+ :src="mobile"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div slot="error" class="image-slot">
|
|
|
|
|
+ <i class="el-icon-picture-outline"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </image>
|
|
|
|
|
+ <image class="icon_refresh" :src="icon_refresh" @click="getMobileInfo" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
</uni-row>
|
|
</uni-row>
|
|
@@ -344,49 +393,183 @@
|
|
|
</view>
|
|
</view>
|
|
|
<!-- 第四步:地址证明 -->
|
|
<!-- 第四步:地址证明 -->
|
|
|
<view v-show="currentStep === 4" class="form-section">
|
|
<view v-show="currentStep === 4" class="form-section">
|
|
|
- <h3 class="section-title">{{ t('ImproveImmediately.Title.ProofAddress') }}</h3>
|
|
|
|
|
<uni-row class="demo-uni-row uni-row1">
|
|
<uni-row class="demo-uni-row uni-row1">
|
|
|
- <uni-col :xs="24" :sm="24" :md="24" :lg="16" :xl="16">
|
|
|
|
|
- <uni-forms-item name="addressProofUrl" :label="t('ImproveImmediately.Label.AddressProof')">
|
|
|
|
|
- <cwg-input
|
|
|
|
|
- v-model:value="formData.addressProofUrl"
|
|
|
|
|
- :required="true"
|
|
|
|
|
- type="upload"
|
|
|
|
|
- fkey="addressProofUrl"
|
|
|
|
|
- rulesKey="addressProofUrl"
|
|
|
|
|
- :is-upload-d="true"
|
|
|
|
|
- accept="image/png, image/jpeg, image/jpg"
|
|
|
|
|
- @change="handleChange">
|
|
|
|
|
- <view class="cwg-upload">
|
|
|
|
|
- <cwg-icon name="back-top" />
|
|
|
|
|
- <view class="name">
|
|
|
|
|
- {{ t('Btn.Upload') }}
|
|
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
|
+ <view class="crm-title-box">
|
|
|
|
|
+ <text class="tit">{{ t('ImproveImmediately.Title.ProofAddress') }}</text>
|
|
|
|
|
+ <uni-tooltip placement="bottom">
|
|
|
|
|
+ <text class="icon-tip">ⓘ</text>
|
|
|
|
|
+ <template v-slot:content>
|
|
|
|
|
+ <view class="address-tip">
|
|
|
|
|
+ {{ t('ImproveImmediately.Content.ProofAddress5') }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </uni-tooltip>
|
|
|
|
|
+
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <uni-row class="demo-uni-row uni-row1">
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="16" :lg="16" :xl="16">
|
|
|
|
|
+ <cwg-file-picker
|
|
|
|
|
+ v-if="!fileListAdd1.path"
|
|
|
|
|
+ v-model="fileListAdd1.path"
|
|
|
|
|
+ :editable="fileListAdd1.status != 2"
|
|
|
|
|
+ :limit="1"
|
|
|
|
|
+ :fileMediatype="'all'"
|
|
|
|
|
+ uploadUrl="/custom/file/upload/3"
|
|
|
|
|
+ :baseUrl="updateUrl"
|
|
|
|
|
+ :imageWidth="150"
|
|
|
|
|
+ :imageHeight="150"
|
|
|
|
|
+ :showPreviewDelete="false"
|
|
|
|
|
+ :canDelete="false"
|
|
|
|
|
+ :uploadError="false"
|
|
|
|
|
+ :showProgress="false"
|
|
|
|
|
+ :image-styles="imageStyle"
|
|
|
|
|
+ @update:modelValue="(val) => handleFileUpdate(val, '1')"
|
|
|
|
|
+ customClass="avatar-uploader"
|
|
|
|
|
+ />
|
|
|
|
|
+ <view v-else>
|
|
|
|
|
+ <view class="file-item">
|
|
|
|
|
+ <image
|
|
|
|
|
+ v-if="!isPdf(fileListAdd1.path)"
|
|
|
|
|
+ class="avatar"
|
|
|
|
|
+ :src="updateUrl + fileListAdd1.path"
|
|
|
|
|
+ ></image>
|
|
|
|
|
+ <view v-else>
|
|
|
|
|
+ <image class="icon" :src="icon_doc" />
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="back">{{ t('ImproveImmediately.Content.ProofAddress1') }}</view>
|
|
|
|
|
</view>
|
|
</view>
|
|
|
- </cwg-input>
|
|
|
|
|
- </uni-forms-item>
|
|
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="4" :lg="4" :xl="4">
|
|
|
|
|
+ <view class="refresh">
|
|
|
|
|
+ <image :src="icon_refresh" @click="getCustomFileList" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ </uni-row>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
- <uni-col :xs="24" :sm="24" :md="24" :lg="16" :xl="16">
|
|
|
|
|
- <uni-forms-item name="otherFiles" :label="t('PersonalManagement.Title.AttachedFile')">
|
|
|
|
|
- <cwg-input
|
|
|
|
|
- v-model:value="formData.otherFiles"
|
|
|
|
|
- type="upload"
|
|
|
|
|
- multiple
|
|
|
|
|
- fkey="otherFiles"
|
|
|
|
|
- rulesKey="otherFiles"
|
|
|
|
|
- :is-upload-d="true"
|
|
|
|
|
- accept="image/png, image/jpeg, image/jpg, application/pdf"
|
|
|
|
|
- @change="handleChange">
|
|
|
|
|
- <view class="cwg-upload">
|
|
|
|
|
- <cwg-icon name="back-top" />
|
|
|
|
|
- <view class="name">
|
|
|
|
|
- {{ t('Btn.Upload') }}
|
|
|
|
|
|
|
+ <uni-col v-if="isPC" :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
|
|
+ <view class="crm-title-box">
|
|
|
|
|
+ <text class="tit">{{ t('ImproveImmediately.Title.MobileDeviceUpload') }}</text>
|
|
|
|
|
+ <uni-tooltip placement="bottom">
|
|
|
|
|
+ <text class="icon-tip">ⓘ</text>
|
|
|
|
|
+ <template v-slot:content>
|
|
|
|
|
+ <view class="address-tip">
|
|
|
|
|
+ {{ t('ImproveImmediately.Content.popover2') }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </uni-tooltip>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="con-box">
|
|
|
|
|
+ <view class="box">
|
|
|
|
|
+ <image class="mobile" :src="icon_mobile" />
|
|
|
|
|
+ <image class="arrow" :src="icon_arrowR" />
|
|
|
|
|
+ <image
|
|
|
|
|
+ class="img_mobile"
|
|
|
|
|
+ style="
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+ width: 120px;
|
|
|
|
|
+ height: 120px;
|
|
|
|
|
+ border: 8px solid var(--color-gray);
|
|
|
|
|
+ "
|
|
|
|
|
+ :src="mobile"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div slot="error" class="image-slot">
|
|
|
|
|
+ <i class="el-icon-picture-outline"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </image>
|
|
|
|
|
+ <image class="icon_refresh" :src="icon_refresh" @click="getMobileInfo" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ </uni-row>
|
|
|
|
|
+ <uni-row class="demo-uni-row uni-row1">
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
|
|
+ <view class="crm-title-box">
|
|
|
|
|
+ <text class="tit">{{ t('PersonalManagement.Title.AttachedFile') }}</text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <uni-row class="demo-uni-row uni-row1">
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
|
|
+ <cwg-file-picker
|
|
|
|
|
+ :limit="9"
|
|
|
|
|
+ :multiple="true"
|
|
|
|
|
+ :editable="true"
|
|
|
|
|
+ :fileMediatype="'all'"
|
|
|
|
|
+ uploadUrl="/custom/file/upload/10"
|
|
|
|
|
+ :baseUrl="updateUrl"
|
|
|
|
|
+ :imageWidth="100"
|
|
|
|
|
+ :imageHeight="60"
|
|
|
|
|
+ :showPreviewDelete="false"
|
|
|
|
|
+ :canDelete="false"
|
|
|
|
|
+ :uploadError="false"
|
|
|
|
|
+ :showProgress="false"
|
|
|
|
|
+ :image-styles="imageStyle"
|
|
|
|
|
+ @update:modelValue="(val) => handleFileUpdate(val, '1')"
|
|
|
|
|
+ custom-class="fileOther"
|
|
|
|
|
+ :showError="false"
|
|
|
|
|
+ >
|
|
|
|
|
+ <button type="primary">{{ t('Btn.Upload') }}</button>
|
|
|
|
|
+ </cwg-file-picker>
|
|
|
|
|
+ <view class="fileList">
|
|
|
|
|
+ <view id="files" v-for="(item,index) in fileListOthers" :key="index">
|
|
|
|
|
+
|
|
|
|
|
+ <cwg-file-picker
|
|
|
|
|
+ customClass="list_upload"
|
|
|
|
|
+ v-model="item.path"
|
|
|
|
|
+ :editable="item.status != 2"
|
|
|
|
|
+ :limit="1"
|
|
|
|
|
+ :fileMediatype="'all'"
|
|
|
|
|
+ :uploadUrl="'/custom/file/upload/10/'+item.id"
|
|
|
|
|
+ :baseUrl="updateUrl"
|
|
|
|
|
+ :uploadError="false"
|
|
|
|
|
+ :showProgress="false"
|
|
|
|
|
+ :imageWidth="100"
|
|
|
|
|
+ :imageHeight="60"
|
|
|
|
|
+ :showPreviewDelete="true"
|
|
|
|
|
+ :disablePreview="true"
|
|
|
|
|
+ :image-styles="imageStyle"
|
|
|
|
|
+ :canChoose="true"
|
|
|
|
|
+ @update:modelValue="(val) => handleFileUpdate(val, '1')"
|
|
|
|
|
+ >
|
|
|
|
|
+ <view class="file-item">
|
|
|
|
|
+ <image
|
|
|
|
|
+ v-if="!isPdf(item.path) || !isPdf(item.againPath)"
|
|
|
|
|
+ class="avatar"
|
|
|
|
|
+ :src="updateUrl + (item.againPath || item.path)"
|
|
|
|
|
+ ></image>
|
|
|
|
|
+ <view v-else>
|
|
|
|
|
+ <image class="icon" :src="icon_doc" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </cwg-file-picker>
|
|
|
|
|
+ <view class="options">
|
|
|
|
|
+ <u-button
|
|
|
|
|
+ style="margin-right: 20px;"
|
|
|
|
|
+ :disabled="item.status == 2"
|
|
|
|
|
+ >
|
|
|
|
|
+ <a
|
|
|
|
|
+ :href="updateUrl + (item.againPath || item.path)"
|
|
|
|
|
+ target="_blank"
|
|
|
|
|
+ >
|
|
|
|
|
+ {{ t('Btn.item12') }}
|
|
|
|
|
+ </a>
|
|
|
|
|
+ </u-button>
|
|
|
|
|
+ <u-button
|
|
|
|
|
+ :disabled="item.status == 2"
|
|
|
|
|
+ @click="fileOtherDelete(item.id)"
|
|
|
|
|
+ >
|
|
|
|
|
+ {{ t('Btn.Delete') }}
|
|
|
|
|
+ </u-button>
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="back">{{ t('ImproveImmediately.Content.ProofAddress6') }}</view>
|
|
|
|
|
</view>
|
|
</view>
|
|
|
- </cwg-input>
|
|
|
|
|
- </uni-forms-item>
|
|
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
|
|
+ <view class="refresh">
|
|
|
|
|
+ <image :src="icon_refresh" @click="getCustomFileList" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </uni-col>
|
|
|
|
|
+ </uni-row>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
</uni-row>
|
|
</uni-row>
|
|
|
<view class="descending">
|
|
<view class="descending">
|
|
@@ -429,6 +612,9 @@
|
|
|
<template v-if="currentStep === 4">
|
|
<template v-if="currentStep === 4">
|
|
|
<view class="btns">
|
|
<view class="btns">
|
|
|
<view class="cwg-button two-btn">
|
|
<view class="cwg-button two-btn">
|
|
|
|
|
+ <u-button class="btn-primary" type="primary" block @click="cancle">
|
|
|
|
|
+ {{ t('Btn.Cancel') }}
|
|
|
|
|
+ </u-button>
|
|
|
<u-button plain block class="prev-btn btn-primary" @click="goStep(3)">
|
|
<u-button plain block class="prev-btn btn-primary" @click="goStep(3)">
|
|
|
{{ t('Btn.Last') }}
|
|
{{ t('Btn.Last') }}
|
|
|
</u-button>
|
|
</u-button>
|
|
@@ -441,6 +627,9 @@
|
|
|
<template v-else-if="currentStep === 3">
|
|
<template v-else-if="currentStep === 3">
|
|
|
<view class="btns">
|
|
<view class="btns">
|
|
|
<view class="cwg-button two-btn">
|
|
<view class="cwg-button two-btn">
|
|
|
|
|
+ <u-button class="btn-primary" type="primary" block @click="cancle">
|
|
|
|
|
+ {{ t('Btn.Cancel') }}
|
|
|
|
|
+ </u-button>
|
|
|
<u-button plain block class="prev-btn btn-primary" @click="goStep(2)">
|
|
<u-button plain block class="prev-btn btn-primary" @click="goStep(2)">
|
|
|
{{ t('Btn.Last') }}
|
|
{{ t('Btn.Last') }}
|
|
|
</u-button>
|
|
</u-button>
|
|
@@ -453,6 +642,9 @@
|
|
|
<template v-else-if="currentStep === 2">
|
|
<template v-else-if="currentStep === 2">
|
|
|
<view class="btns">
|
|
<view class="btns">
|
|
|
<view class="cwg-button two-btn">
|
|
<view class="cwg-button two-btn">
|
|
|
|
|
+ <u-button class="btn-primary" type="primary" block @click="cancle">
|
|
|
|
|
+ {{ t('Btn.Cancel') }}
|
|
|
|
|
+ </u-button>
|
|
|
<u-button plain block class="prev-btn btn-primary" @click="goStep(1)">
|
|
<u-button plain block class="prev-btn btn-primary" @click="goStep(1)">
|
|
|
{{ t('Btn.Last') }}
|
|
{{ t('Btn.Last') }}
|
|
|
</u-button>
|
|
</u-button>
|
|
@@ -464,7 +656,10 @@
|
|
|
</template>
|
|
</template>
|
|
|
<template v-else-if="currentStep === 1">
|
|
<template v-else-if="currentStep === 1">
|
|
|
<view class="btns">
|
|
<view class="btns">
|
|
|
- <view class="cwg-button">
|
|
|
|
|
|
|
+ <view class="cwg-button two-btn">
|
|
|
|
|
+ <u-button class="btn-primary" type="primary" block @click="cancle">
|
|
|
|
|
+ {{ t('Btn.Cancel') }}
|
|
|
|
|
+ </u-button>
|
|
|
<u-button class="btn-primary" type="primary" block :loading="loadingStates.next" @click="goStep(2)">
|
|
<u-button class="btn-primary" type="primary" block :loading="loadingStates.next" @click="goStep(2)">
|
|
|
{{ t('Btn.Next') }}
|
|
{{ t('Btn.Next') }}
|
|
|
</u-button>
|
|
</u-button>
|
|
@@ -477,7 +672,7 @@
|
|
|
<view class="form-tab"></view>
|
|
<view class="form-tab"></view>
|
|
|
</cwg-page-wrapper>
|
|
</cwg-page-wrapper>
|
|
|
<!--离开弹出框-->
|
|
<!--离开弹出框-->
|
|
|
- <uni-popup ref="dialogCheck" type="center" :show="dialogCheck">
|
|
|
|
|
|
|
+ <uni-popup ref="dialogCheck" type="center" background-color="#fff">
|
|
|
<view class="dia-content" v-if="dialogCheck1">
|
|
<view class="dia-content" v-if="dialogCheck1">
|
|
|
<view class="icon">
|
|
<view class="icon">
|
|
|
<i class="iconfont iconjingshi"></i>
|
|
<i class="iconfont iconjingshi"></i>
|
|
@@ -517,6 +712,8 @@
|
|
|
import config from '@/config/index'
|
|
import config from '@/config/index'
|
|
|
import icon_doc from '@/static/icons/crm-document.svg'
|
|
import icon_doc from '@/static/icons/crm-document.svg'
|
|
|
import icon_refresh from '@/static/icons/crm-refresh.svg'
|
|
import icon_refresh from '@/static/icons/crm-refresh.svg'
|
|
|
|
|
+ import icon_mobile from '@/static/icons/icon_mobile.svg'
|
|
|
|
|
+ import icon_arrowR from '@/static/icons/icon_arrowR.svg'
|
|
|
|
|
|
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
|
const { t } = useI18n()
|
|
const { t } = useI18n()
|
|
@@ -555,6 +752,45 @@
|
|
|
const countries = ref([])
|
|
const countries = ref([])
|
|
|
const uploadImage = ref(0)
|
|
const uploadImage = ref(0)
|
|
|
const updateUrl = config.Host80
|
|
const updateUrl = config.Host80
|
|
|
|
|
+ const mobile = ref('')
|
|
|
|
|
+ const notCountry = [
|
|
|
|
|
+ 'AF',
|
|
|
|
|
+ 'AI',
|
|
|
|
|
+ 'AG',
|
|
|
|
|
+ 'BS',
|
|
|
|
|
+ 'BY',
|
|
|
|
|
+ 'BZ',
|
|
|
|
|
+ 'BA',
|
|
|
|
|
+ 'BI',
|
|
|
|
|
+ 'CF',
|
|
|
|
|
+ 'CD',
|
|
|
|
|
+ 'CU',
|
|
|
|
|
+ 'ET',
|
|
|
|
|
+ 'FJ',
|
|
|
|
|
+ 'PS',
|
|
|
|
|
+ 'GN',
|
|
|
|
|
+ 'GW',
|
|
|
|
|
+ 'HT',
|
|
|
|
|
+ 'IR',
|
|
|
|
|
+ 'IQ',
|
|
|
|
|
+ 'LB',
|
|
|
|
|
+ 'LY',
|
|
|
|
|
+ 'ML',
|
|
|
|
|
+ 'MM',
|
|
|
|
|
+ 'NI',
|
|
|
|
|
+ 'KP',
|
|
|
|
|
+ 'PW',
|
|
|
|
|
+ 'RU',
|
|
|
|
|
+ 'SO',
|
|
|
|
|
+ 'SS',
|
|
|
|
|
+ 'SD',
|
|
|
|
|
+ 'SY',
|
|
|
|
|
+ 'UA',
|
|
|
|
|
+ 'US',
|
|
|
|
|
+ 'VE',
|
|
|
|
|
+ 'YE',
|
|
|
|
|
+ 'ZW',
|
|
|
|
|
+ ]
|
|
|
|
|
|
|
|
const imageStyle = ref({
|
|
const imageStyle = ref({
|
|
|
width: 200,
|
|
width: 200,
|
|
@@ -662,7 +898,7 @@
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
onLoad((options) => {
|
|
onLoad((options) => {
|
|
|
- currentStep.value = parseInt(options?.currentStep || '3', 10)
|
|
|
|
|
|
|
+ currentStep.value = parseInt(options?.currentStep || '4', 10)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
function goStep(step: number) {
|
|
function goStep(step: number) {
|
|
@@ -841,10 +1077,36 @@
|
|
|
getStateList(item.id)
|
|
getStateList(item.id)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
function handleFileUpdate(value, type) {
|
|
function handleFileUpdate(value, type) {
|
|
|
console.log(value, type, 'uplaod')
|
|
console.log(value, type, 'uplaod')
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ async function fileOtherDelete(id) {
|
|
|
|
|
+ uni.showModal({
|
|
|
|
|
+ title: t('Msg.SystemPrompt'),
|
|
|
|
|
+ content: t('Msg.Delete'),
|
|
|
|
|
+ cancelText: t('Btn.Cancel'),
|
|
|
|
|
+ confirmText: t('Btn.Confirm'),
|
|
|
|
|
+ success: async (res) => {
|
|
|
|
|
+ if (res.confirm) {
|
|
|
|
|
+ // 确认删除
|
|
|
|
|
+ let data = await personalApi.customFileDelete({ ids: [id] })
|
|
|
|
|
+ if (data.code == 200) {
|
|
|
|
|
+ uni.showToast(t('Msg.DeleteSuccess'))
|
|
|
|
|
+ getCustomFileList()
|
|
|
|
|
+ } else {
|
|
|
|
|
+ uni.showToast(res.msg)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ fail: () => {
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
function changeState(val) {
|
|
function changeState(val) {
|
|
|
formData.value.city = ''
|
|
formData.value.city = ''
|
|
|
cityOptions.value = []
|
|
cityOptions.value = []
|
|
@@ -895,7 +1157,7 @@
|
|
|
|
|
|
|
|
function cancle() {
|
|
function cancle() {
|
|
|
if (!isApprove.value) {
|
|
if (!isApprove.value) {
|
|
|
- dialogCheck.value = true
|
|
|
|
|
|
|
+ dialogCheck.value.open()
|
|
|
dialogCheck1.value = true
|
|
dialogCheck1.value = true
|
|
|
} else {
|
|
} else {
|
|
|
router.push({ path: '/customer/index' })
|
|
router.push({ path: '/customer/index' })
|
|
@@ -938,7 +1200,7 @@
|
|
|
await getCustomFileList()
|
|
await getCustomFileList()
|
|
|
await customApply()
|
|
await customApply()
|
|
|
} else {
|
|
} else {
|
|
|
- uni.showToast({ title: res.msg, icon: 'none' })
|
|
|
|
|
|
|
+ uni.showToast(res.msg)
|
|
|
}
|
|
}
|
|
|
} catch (error: any) {
|
|
} catch (error: any) {
|
|
|
uni.showToast({ title: error.message || t('Msg.SystemError'), icon: 'none' })
|
|
uni.showToast({ title: error.message || t('Msg.SystemError'), icon: 'none' })
|
|
@@ -998,6 +1260,7 @@
|
|
|
countryOptions.value = res.data.map((item: any) => ({
|
|
countryOptions.value = res.data.map((item: any) => ({
|
|
|
text: item.enName,
|
|
text: item.enName,
|
|
|
value: item.code,
|
|
value: item.code,
|
|
|
|
|
+ disabled: notCountry.indexOf(item.code) !== -1,
|
|
|
}))
|
|
}))
|
|
|
countries.value = res.data
|
|
countries.value = res.data
|
|
|
const country = formData.value.country
|
|
const country = formData.value.country
|
|
@@ -1081,7 +1344,7 @@
|
|
|
responseType: 'arraybuffer',
|
|
responseType: 'arraybuffer',
|
|
|
})
|
|
})
|
|
|
// console.log(res);
|
|
// console.log(res);
|
|
|
- const mobile = 'data:image/png;base64,' + Buffer.from(res).toString('base64')
|
|
|
|
|
|
|
+ mobile.value = 'data:image/png;base64,' + Buffer.from(res).toString('base64')
|
|
|
} catch (error: any) {
|
|
} catch (error: any) {
|
|
|
uni.showToast({ title: error.message || t('Msg.SystemError'), icon: 'none' })
|
|
uni.showToast({ title: error.message || t('Msg.SystemError'), icon: 'none' })
|
|
|
}
|
|
}
|
|
@@ -1245,10 +1508,8 @@
|
|
|
() => formData.value.lastName,
|
|
() => formData.value.lastName,
|
|
|
() => {
|
|
() => {
|
|
|
if (localStorage.getItem('lang') == 'cn' && formData.value.firstName && formData.value.lastName) {
|
|
if (localStorage.getItem('lang') == 'cn' && formData.value.firstName && formData.value.lastName) {
|
|
|
- formData.value.nameEn = pinyin(`${formData.value.firstName} ${formData.value.lastName}`, {
|
|
|
|
|
- style: 'first',
|
|
|
|
|
- separator: ' ',
|
|
|
|
|
- }).toUpperCase()
|
|
|
|
|
|
|
+ formData.value.nameEn = pinyin(`${formData.value.firstName} ${formData.value.lastName}`
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
)
|
|
)
|
|
@@ -1347,6 +1608,137 @@
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ .refresh {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: px2rpx(150);
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+
|
|
|
|
|
+ image {
|
|
|
|
|
+ width: px2rpx(28);
|
|
|
|
|
+ height: px2rpx(28);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .fileOther {
|
|
|
|
|
+
|
|
|
|
|
+ :deep(.upload-wrapper .uni-file-picker) {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ :deep(.uni-file-picker__lists) {
|
|
|
|
|
+ display: none !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .fileList {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ #files {
|
|
|
|
|
+ :deep(.uni-file-picker__lists) {
|
|
|
|
|
+ display: none !important;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ :deep(.upload-wrapper .uni-file-picker) {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .list_upload {
|
|
|
|
|
+ width: px2rpx(150);
|
|
|
|
|
+ height: px2rpx(60);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .file-item {
|
|
|
|
|
+ //border: none;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+ width: px2rpx(150);
|
|
|
|
|
+ height: px2rpx(60);
|
|
|
|
|
+ border-radius: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ margin-top: px2rpx(20);
|
|
|
|
|
+ max-width: px2rpx(600);
|
|
|
|
|
+ border: 1px dashed;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+
|
|
|
|
|
+ .options {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ padding: 8px;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+
|
|
|
|
|
+ uni-button {
|
|
|
|
|
+ min-width: px2rpx(100);
|
|
|
|
|
+ max-height: px2rpx(30);
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ line-height: px2rpx(30);
|
|
|
|
|
+
|
|
|
|
|
+ span,
|
|
|
|
|
+ a {
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ color: var(--color-black);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .con-box {
|
|
|
|
|
+ background-color: var(--color-white);
|
|
|
|
|
+ border-radius: 2px;
|
|
|
|
|
+ padding: 20px;
|
|
|
|
|
+
|
|
|
|
|
+ .box {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ // height: 190px;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+
|
|
|
|
|
+ .mobile {
|
|
|
|
|
+ width: px2rpx(50);
|
|
|
|
|
+ height: px2rpx(50);
|
|
|
|
|
+ margin-right: px2rpx(10);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .arrow {
|
|
|
|
|
+ width: px2rpx(30);
|
|
|
|
|
+ height: px2rpx(30);
|
|
|
|
|
+ margin-right: px2rpx(10);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .img_mobile {
|
|
|
|
|
+ width: 120px;
|
|
|
|
|
+ height: 120px;
|
|
|
|
|
+ margin: 10px;
|
|
|
|
|
+ border: 5px solid;
|
|
|
|
|
+ background-color: var(--color-gray);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .icon_refresh {
|
|
|
|
|
+ width: px2rpx(30);
|
|
|
|
|
+ height: px2rpx(30);
|
|
|
|
|
+ margin-right: px2rpx(10);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
.experience {
|
|
.experience {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
margin: px2rpx(10) 0;
|
|
margin: px2rpx(10) 0;
|
|
@@ -1428,6 +1820,11 @@
|
|
|
color: #4a6cf7;
|
|
color: #4a6cf7;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ .address-tip {
|
|
|
|
|
+ width: px2rpx(120);
|
|
|
|
|
+ font-size: px2rpx(14);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
.crm-title-box {
|
|
.crm-title-box {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
@@ -1436,13 +1833,13 @@
|
|
|
.tit {
|
|
.tit {
|
|
|
font-size: px2rpx(18);
|
|
font-size: px2rpx(18);
|
|
|
font-weight: 500;
|
|
font-weight: 500;
|
|
|
- color: #1a1a1a;
|
|
|
|
|
|
|
+ color: var(--color-white);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.icon-tip {
|
|
.icon-tip {
|
|
|
margin-left: px2rpx(10);
|
|
margin-left: px2rpx(10);
|
|
|
font-size: px2rpx(16);
|
|
font-size: px2rpx(16);
|
|
|
- color: #4a6cf7;
|
|
|
|
|
|
|
+ color: var(--color-white);
|
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1482,7 +1879,7 @@
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
margin-top: px2rpx(30);
|
|
margin-top: px2rpx(30);
|
|
|
|
|
|
|
|
- u-button {
|
|
|
|
|
|
|
+ uni-button {
|
|
|
flex: 1;
|
|
flex: 1;
|
|
|
margin: 0 px2rpx(10);
|
|
margin: 0 px2rpx(10);
|
|
|
|
|
|