1.优化入会功能和页面优化

This commit is contained in:
王创世 2025-04-23 17:53:04 +08:00
parent 16f14dc6b2
commit 233de6bb09
10 changed files with 528 additions and 848 deletions

BIN
src/assets/chongxin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
src/assets/del_da.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
src/assets/top_ok_white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

BIN
src/assets/zhengjian.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -507,6 +507,7 @@ export default {
this.tabIndex = toInteger(tab); this.tabIndex = toInteger(tab);
if(tab==1){ if(tab==1){
this.columns=[ this.columns=[
{colKey: 'id', title: '活动ID', align: 'center', width: 150,},
{colKey: 'activity_name', title: '活动标题', align: 'center', width: 150,}, {colKey: 'activity_name', title: '活动标题', align: 'center', width: 150,},
{colKey: 'activity_type', title: '活动类别', width: 140, align: 'center'}, {colKey: 'activity_type', title: '活动类别', width: 140, align: 'center'},
{colKey: 'qr_code', title: '签到二维码', width: 150, align: 'center'}, {colKey: 'qr_code', title: '签到二维码', width: 150, align: 'center'},
@ -520,6 +521,7 @@ export default {
]; ];
}else if(tab==2){ }else if(tab==2){
this.columns=[ this.columns=[
{colKey: 'id', title: '活动ID', align: 'center', width: 150,},
{colKey: 'activity_name', title: '活动标题', align: 'center', width: 150,}, {colKey: 'activity_name', title: '活动标题', align: 'center', width: 150,},
{colKey: 'activity_type', title: '活动类别', width: 200, align: 'center'}, {colKey: 'activity_type', title: '活动类别', width: 200, align: 'center'},
{colKey: 'qr_code', title: '签到二维码', width: 200, align: 'center'}, {colKey: 'qr_code', title: '签到二维码', width: 200, align: 'center'},
@ -530,6 +532,7 @@ export default {
]; ];
}else if(tab==3){ }else if(tab==3){
this.columns=[ this.columns=[
{colKey: 'id', title: '活动ID', align: 'center', width: 150,},
{colKey: 'activity_name', title: '活动标题', align: 'center', width: 250,}, {colKey: 'activity_name', title: '活动标题', align: 'center', width: 250,},
{colKey: 'activity_type', title: '活动类别', width: 200, align: 'center'}, {colKey: 'activity_type', title: '活动类别', width: 200, align: 'center'},
// {colKey: 'qr_code', title: '', width: 200, align: 'center'}, // {colKey: 'qr_code', title: '', width: 200, align: 'center'},
@ -540,6 +543,7 @@ export default {
]; ];
}else{ }else{
this.columns=[ this.columns=[
{colKey: 'id', title: '活动ID', align: 'center', width: 150,},
{colKey: 'activity_name', title: '活动标题', align: 'center', width: 150,}, {colKey: 'activity_name', title: '活动标题', align: 'center', width: 150,},
{colKey: 'activity_type', title: '活动类别', width: 200, align: 'center'}, {colKey: 'activity_type', title: '活动类别', width: 200, align: 'center'},
{colKey: 'qr_code', title: '签到二维码', width: 200, align: 'center'}, {colKey: 'qr_code', title: '签到二维码', width: 200, align: 'center'},

View File

@ -1,6 +1,6 @@
<template> <template>
<div v-if="show" <div v-if="show"
style="background-color: #f5f5f5;padding: 30px;display: flex;justify-content: space-between;gap:20px;"> style="background-color: #f5f5f5;padding:30px 10px;display: flex;justify-content: space-between;gap:20px;">
<!-- <div> <!-- <div>
<img src="https://hnyea.0rui.cn/uploads/1/20240820/7c06389c1dd2fbd4f2d191cdb6c67bb1.png" style="width: 100%"/> <img src="https://hnyea.0rui.cn/uploads/1/20240820/7c06389c1dd2fbd4f2d191cdb6c67bb1.png" style="width: 100%"/>
</div> --> </div> -->
@ -77,8 +77,10 @@
<div class="sfz"> <div class="sfz">
<img v-if="formData.cardz_image == ''" src="@/assets/card1.png" <img v-if="formData.cardz_image == ''" src="@/assets/card1.png"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<div class="sfzzheng">
<img v-if="formData.cardz_image != ''" :src="$store.state.user.apiUrl + formData.cardz_image" <img v-if="formData.cardz_image != ''" :src="$store.state.user.apiUrl + formData.cardz_image"
style="width: 220px; height: 124px;object-fit: cover;" /> style="width: 220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</div>
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -92,8 +94,10 @@
<div class="sfz"> <div class="sfz">
<img v-if="formData.cardf_image == ''" src="@/assets/card2.png" <img v-if="formData.cardf_image == ''" src="@/assets/card2.png"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<div class="sfzzheng">
<img v-if="formData.cardf_image != ''" :src="$store.state.user.apiUrl + formData.cardf_image" <img v-if="formData.cardf_image != ''" :src="$store.state.user.apiUrl + formData.cardf_image"
style="width: 220px; height: 124px;object-fit: cover;" /> style="width: 220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</div>
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -112,8 +116,10 @@
<div class="sfz"> <div class="sfz">
<img v-if="formData.photo_image == ''" src="@/assets/card3.png" <img v-if="formData.photo_image == ''" src="@/assets/card3.png"
style="width: 220px; height: 310px" /> style="width: 220px; height: 310px" />
<div class="zhengjian">
<img v-if="formData.photo_image != ''" :src="$store.state.user.apiUrl + formData.photo_image" <img v-if="formData.photo_image != ''" :src="$store.state.user.apiUrl + formData.photo_image"
style="width: 220px; height: 310px" /> style="width: 220px; height: 310px;object-fit: cover;border-radius: 5px;" />
</div>
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -207,7 +213,8 @@
<t-input size="large" v-model="formData.zip_code" placeholder="请输入邮编" class="input_box" /> <t-input size="large" v-model="formData.zip_code" placeholder="请输入邮编" class="input_box" />
</t-form-item> </t-form-item>
<t-form-item label="手机号" :requiredMark="true"> <t-form-item label="手机号" :requiredMark="true">
<t-input size="large" v-model="formData.phone" placeholder="请输入手机号" class="input_box" /> <t-input @blur="checkPhone" :status="phoneStatus" :tips="phoneTips" size="large"
v-model="formData.phone" placeholder="请输入手机号" class="input_box" />
</t-form-item> </t-form-item>
<t-form-item label="微信"> <t-form-item label="微信">
<t-input size="large" v-model="formData.wx_number" placeholder="请输入微信" class="input_box" /> <t-input size="large" v-model="formData.wx_number" placeholder="请输入微信" class="input_box" />
@ -453,12 +460,15 @@
<div class="sfz"> <div class="sfz">
<img v-if="formData.business_license_image == ''" src="@/assets/c4.png" <img v-if="formData.business_license_image == ''" src="@/assets/c4.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img
v-if="formData.business_license_image != '' && getExt(formData.business_license_image) != 'pdf'" <div class="sfzzheng"
:src="$store.state.user.apiUrl + formData.business_license_image" v-if="formData.business_license_image != '' && getExt(formData.business_license_image) != 'pdf'">
<img :src="$store.state.user.apiUrl + formData.business_license_image"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;" />
<div v-if="getExt(formData.business_license_image) == 'pdf'" style="width: 220px; height: 124px;"> </div>
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" /> <div class="sfzzheng" v-if="getExt(formData.business_license_image) == 'pdf'"
style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;border-radius: 5px;" />
</div> </div>
</div> </div>
</t-upload> </t-upload>
@ -473,8 +483,10 @@
:format-response="(response) => formatResponse(response, 6)"> :format-response="(response) => formatResponse(response, 6)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.company_image == ''" src="@/assets/c5.png" style="width:220px; height: 124px" /> <img v-if="formData.company_image == ''" src="@/assets/c5.png" style="width:220px; height: 124px" />
<div class="sfzzheng">
<img v-if="formData.company_image != ''" :src="$store.state.user.apiUrl + formData.company_image" <img v-if="formData.company_image != ''" :src="$store.state.user.apiUrl + formData.company_image"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</div>
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -489,14 +501,15 @@
<div class="sfz"> <div class="sfz">
<img v-if="formData.enterprise_credit_report == ''" src="@/assets/c3.png" <img v-if="formData.enterprise_credit_report == ''" src="@/assets/c3.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <div class="sfzzheng"
v-if="formData.enterprise_credit_report != '' && getExt(formData.enterprise_credit_report) != 'pdf'" v-if="formData.enterprise_credit_report != '' && getExt(formData.enterprise_credit_report) != 'pdf'">
:src="$store.state.user.apiUrl + formData.enterprise_credit_report" <img :src="$store.state.user.apiUrl + formData.enterprise_credit_report"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px;" />
<div v-if="getExt(formData.enterprise_credit_report) == 'pdf'" style="width: 220px; height: 124px;"> </div>
<div class="sfzzheng" v-if="getExt(formData.enterprise_credit_report) == 'pdf'"
style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" /> <FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div> </div>
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -511,11 +524,12 @@
<div class="sfz"> <div class="sfz">
<img v-if="formData.certificate_of_no_criminal_record == ''" src="@/assets/c1.png" <img v-if="formData.certificate_of_no_criminal_record == ''" src="@/assets/c1.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <div class="sfzzheng"
v-if="formData.certificate_of_no_criminal_record != '' && getExt(formData.certificate_of_no_criminal_record) != 'pdf'" v-if="formData.certificate_of_no_criminal_record != '' && getExt(formData.certificate_of_no_criminal_record) != 'pdf'">
:src="$store.state.user.apiUrl + formData.certificate_of_no_criminal_record" <img :src="$store.state.user.apiUrl + formData.certificate_of_no_criminal_record"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px;" />
<div v-if="getExt(formData.certificate_of_no_criminal_record) == 'pdf'" </div>
<div class="sfzzheng" v-if="getExt(formData.certificate_of_no_criminal_record) == 'pdf'"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" /> <FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div> </div>
@ -533,11 +547,15 @@
<div class="sfz"> <div class="sfz">
<img v-if="formData.certificate_of_business_tax_payment_for_the_previous_year == ''" <img v-if="formData.certificate_of_business_tax_payment_for_the_previous_year == ''"
src="@/assets/c1.png" style="width:220px; height: 124px" /> src="@/assets/c1.png" style="width:220px; height: 124px" />
<div class="sfzzheng"
v-if="formData.certificate_of_business_tax_payment_for_the_previous_year != '' && getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) != 'pdf'">
<img <img
v-if="formData.certificate_of_business_tax_payment_for_the_previous_year != '' && getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) != 'pdf'"
:src="$store.state.user.apiUrl + formData.certificate_of_business_tax_payment_for_the_previous_year" :src="$store.state.user.apiUrl + formData.certificate_of_business_tax_payment_for_the_previous_year"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px;" />
<div v-if="getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) == 'pdf'" </div>
<div class="sfzzheng"
v-if="getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) == 'pdf'"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" /> <FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div> </div>
@ -555,11 +573,12 @@
<div class="sfz"> <div class="sfz">
<img v-if="formData.enterprise_credit_information_report == ''" src="@/assets/c1.png" <img v-if="formData.enterprise_credit_information_report == ''" src="@/assets/c1.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <div class="sfzzheng"
v-if="formData.enterprise_credit_information_report != '' && getExt(formData.enterprise_credit_information_report) != 'pdf'" v-if="formData.enterprise_credit_information_report != '' && getExt(formData.enterprise_credit_information_report) != 'pdf'">
:src="$store.state.user.apiUrl + formData.enterprise_credit_information_report" <img :src="$store.state.user.apiUrl + formData.enterprise_credit_information_report"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px;" />
<div v-if="getExt(formData.enterprise_credit_information_report) == 'pdf'" </div>
<div class="sfzzheng" v-if="getExt(formData.enterprise_credit_information_report) == 'pdf'"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" /> <FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div> </div>
@ -582,7 +601,9 @@
<t-input size="large" v-model="item.post" placeholder="请输入职务" /> <t-input size="large" v-model="item.post" placeholder="请输入职务" />
</t-form-item> </t-form-item>
<t-form-item label="电话" :requiredMark="true"> <t-form-item label="电话" :requiredMark="true">
<t-input size="large" v-model="item.phone" placeholder="请输入电话" /> <t-input size="large" :status="checkPhoneAll(item.phone, 1)"
:tips="(checkPhoneAll(item.phone, 1)) == 'error' ? '请输入正确的手机号' : ''" v-model="item.phone"
@blur="checkPhoneAll(item.phone, 1)" placeholder="请输入电话" />
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
@ -643,18 +664,18 @@
</div> </div>
<div style="display: flex; justify-content: start;margin-top: 10px;"> <div style="display: flex; justify-content: start;margin-top: 10px;">
<div style="text-align: center"> <div style="text-align: center">
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" theme="custom" <t-upload :allowUploadDuplicateFile="true" :action="$store.state.user.apiUrl + '/api/common/upload'"
:data="{ association_id: 1 }" accept="image/*,.pdf" theme="custom" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 5)"> :format-response="(response) => formatResponse(response, 5)">
<div class="sfz" style="display: flex;justify-content: start;"> <div class="sfz" style="display: flex;justify-content: start;">
<div v-if="formData.enterprise.length > 0" v-for="(item, index) in formData.enterprise" <div v-if="formData.enterprise.length > 0" v-for="(item, index) in formData.enterprise"
:key="index" style="margin-right: 20px;width: 220px; height: 293px;position: relative;"> :key="index"
<div @click.stop="delZl(index)" style="margin-right: 20px;width: 220px; height: 293px;position: relative;border-radius: 5px;overflow: hidden;">
style="z-index: 100;width: 100%; height: 100%;background-color: rgba(0, 0, 0, 0.5);position: absolute;top: 0;left: 0;"> <div @click.stop="delZl(index)" class="rongyu">
<div style="position: absolute;left: 0;right: 0;top:35%;bottom: 0;margin: auto;"> <!-- <div style="position: absolute;left: 0;right: 0;top:35%;bottom: 0;margin: auto;">
<img src="@/assets/del.png" style="width: 30px;height: 30px;"> <img src="@/assets/del.png" style="width: 30px;height: 30px;">
<div style="color: #ffffff;font-size: 14px;">删除文件</div> <div style="color: #ffffff;font-size: 14px;">删除文件</div>
</div> </div> -->
</div> </div>
<FilePowerpointIcon v-if="getExt(item) == 'pdf'" <FilePowerpointIcon v-if="getExt(item) == 'pdf'"
style="width: 100%; height: 100%;object-fit: cover;" /> style="width: 100%; height: 100%;object-fit: cover;" />
@ -736,8 +757,9 @@
<span style="color: #d54941;">*</span> <span style="color: #d54941;">*</span>
<span>国家/城市</span> <span>国家/城市</span>
</div> </div>
<t-cascader :load="load" size="large" :input-props="inputProps" v-model="formData.abroad_region_arr" <t-cascader @change="handleChange1" :load="load" size="large" :input-props="inputProps"
value-type="full" :options="internationa_list" style="width:500px;"></t-cascader> v-model="formData.abroad_region_arr" value-type="full" :options="internationa_list"
style="width:500px;"></t-cascader>
</div> </div>
<div> <div>
<div style="margin-bottom: 10px;"> <div style="margin-bottom: 10px;">
@ -864,7 +886,9 @@
<t-input size="large" v-model="item.party_zhiwu" placeholder="请输入党务职位" /> <t-input size="large" v-model="item.party_zhiwu" placeholder="请输入党务职位" />
</t-form-item> </t-form-item>
<t-form-item label="手机号" :requiredMark="true"> <t-form-item label="手机号" :requiredMark="true">
<t-input size="large" v-model="item.phone" placeholder="请输入手机号" /> <t-input size="large" :status="checkPhoneAll(item.phone, 2) == 'error' ? 'error' : ''"
:tips="(checkPhoneAll(item.phone, 2)) == 'error' ? '请输入正确的手机号' : ''" v-model="item.phone"
@blur="checkPhoneAll(item.phone, 2)" placeholder="请输入手机号" />
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
@ -937,7 +961,9 @@
<t-input size="large" v-model="item.tun_job" placeholder="请输入团委职务" /> <t-input size="large" v-model="item.tun_job" placeholder="请输入团委职务" />
</t-form-item> </t-form-item>
<t-form-item label="手机号" :requiredMark="true"> <t-form-item label="手机号" :requiredMark="true">
<t-input size="large" v-model="item.phone" placeholder="请输入手机号" /> <t-input size="large" :status="checkPhoneAll(item.phone, 3) == 'error' ? 'error' : ''"
:tips="(checkPhoneAll(item.phone, 3)) == 'error' ? '请输入正确的手机号' : ''" v-model="item.phone"
@blur="checkPhoneAll(item.phone, 3)" placeholder="请输入手机号" />
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
@ -1005,14 +1031,20 @@
:class="item.active ? 'top_title top_title_active' : 'top_title top_title_no_active'"> :class="item.active ? 'top_title top_title_active' : 'top_title top_title_no_active'">
<div style="height: 50px;line-height: 50px">{{ item.title }}</div> <div style="height: 50px;line-height: 50px">{{ item.title }}</div>
<div v-if="item.key != 7"> <div v-if="item.key != 7">
<div v-if="item.active">
<img v-if="item.ok" src="@/assets/top_ok_white.png" style="width: 15px;height: 15px;">
<img v-else src="@/assets/top_no.png" style="width: 15px;height: 15px;">
</div>
<div v-if="!item.active">
<img v-if="item.ok" src="@/assets/top_ok.png" style="width: 15px;height: 15px;"> <img v-if="item.ok" src="@/assets/top_ok.png" style="width: 15px;height: 15px;">
<img v-else src="@/assets/top_no.png" style="width: 15px;height: 15px;"> <img v-else src="@/assets/top_no.png" style="width: 15px;height: 15px;">
</div> </div>
</div> </div>
</div>
</template> </template>
<template #default> <template #default>
<div v-for="(v, k) in item.content" :key="k"> <div v-for="(v, k) in item.content" :key="k">
<div style="display: flex;justify-content: space-between;align-items: center;padding-bottom: 10px;"> <div style="display: flex;justify-content: space-between;align-items: center;padding-bottom: 10px;width: 159px;">
<div> <div>
<a :href="'#' + v.id" :class="v.active ? 'nei_color_active' : 'nei_color'" <a :href="'#' + v.id" :class="v.active ? 'nei_color_active' : 'nei_color'"
@click="scrollTo(v, k, item, index)">{{ v.title }}</a> @click="scrollTo(v, k, item, index)">{{ v.title }}</a>
@ -1120,20 +1152,10 @@ export default {
introduction: '',// introduction: '',//
//achievement_award: '',// //achievement_award: '',//
achievement_award: '', achievement_award: '',
achievement: [ achievement: [],
{
time: '',
name: '',
organ: ''
}
],
// //
work_experience: '', work_experience: '',
work: [{ work: [],
time: '',
address: '',
book: '',
}],
//other_contacts: '',// //other_contacts: '',//
other_contacts: '', other_contacts: '',
other: [{ other: [{
@ -1352,6 +1374,8 @@ export default {
ok: false, ok: false,
} }
], ],
phoneStatus: '',
phoneTips: '',
}; };
}, },
watch: { watch: {
@ -1396,16 +1420,17 @@ export default {
} }
//2.2 //2.2
if (newVal.achievement.length > 0) { if (newVal.achievement.length > 0) {
if (newVal.achievement[0].time != '' && newVal.achievement[0].name != '' && newVal.achievement[0].organ != '') {
this.right_card_list[1].content[1].ok = true; this.right_card_list[1].content[1].ok = true;
} } else {
this.right_card_list[1].content[1].ok = false;
} }
//2.3 //2.3
if (newVal.work.length > 0) { if (newVal.work.length > 0) {
if (newVal.work[0].time != '' && newVal.work[0].address != '' && newVal.work[0].book != '') {
this.right_card_list[1].content[2].ok = true; this.right_card_list[1].content[2].ok = true;
} else {
this.right_card_list[1].content[2].ok = false;
} }
}//2.4 //2.4
if (newVal.main_social.length > 0) { if (newVal.main_social.length > 0) {
this.right_card_list[1].content[3].ok = true; this.right_card_list[1].content[3].ok = true;
} else { } else {
@ -1418,11 +1443,15 @@ export default {
this.right_card_list[2].content[0].ok = false; this.right_card_list[2].content[0].ok = false;
if (newVal.enterprise_name != '' && newVal.unified_code != '' && newVal.enterprise_location != '' && newVal.longitude != '' && newVal.dimension != '' && newVal.registered_capital != '' && newVal.if_list != null && newVal.employee != '' && newVal.industry_id != '' && newVal.enterprise_nature != '' && newVal.previous_revenue != '' && newVal.previous_tax != '' && newVal.previous_profit != '' && newVal.previous_donation != '') { if (newVal.enterprise_name != '' && newVal.unified_code != '' && newVal.enterprise_location != '' && newVal.longitude != '' && newVal.dimension != '' && newVal.registered_capital != '' && newVal.if_list != null && newVal.employee != '' && newVal.industry_id != '' && newVal.enterprise_nature != '' && newVal.previous_revenue != '' && newVal.previous_tax != '' && newVal.previous_profit != '' && newVal.previous_donation != '') {
this.right_card_list[2].content[0].ok = true; this.right_card_list[2].content[0].ok = true;
} else {
this.right_card_list[2].content[0].ok = false;
} }
//3.2 //3.2
this.right_card_list[2].content[1].ok = false; this.right_card_list[2].content[1].ok = false;
if (newVal.business_license_image != '' && newVal.company_image != '' && newVal.enterprise_credit_report != '' && newVal.certificate_of_no_criminal_record != '' && newVal.certificate_of_business_tax_payment_for_the_previous_year != '' && newVal.enterprise_credit_information_report != '') { if (newVal.business_license_image != '' && newVal.company_image != '' && newVal.enterprise_credit_report != '' && newVal.certificate_of_no_criminal_record != '' && newVal.certificate_of_business_tax_payment_for_the_previous_year != '' && newVal.enterprise_credit_information_report != '') {
this.right_card_list[2].content[1].ok = true; this.right_card_list[2].content[1].ok = true;
} else {
this.right_card_list[2].content[1].ok = false;
} }
//3.3 //3.3
if (newVal.other.length > 0) { if (newVal.other.length > 0) {
@ -1434,6 +1463,8 @@ export default {
} }
if (this.right_card_list[2].content[0].ok && this.right_card_list[2].content[1].ok && this.right_card_list[2].content[2].ok) { if (this.right_card_list[2].content[0].ok && this.right_card_list[2].content[1].ok && this.right_card_list[2].content[2].ok) {
this.right_card_list[2].ok = true; this.right_card_list[2].ok = true;
} else {
this.right_card_list[2].ok = false;
} }
//4.1 //4.1
if (newVal.enterprise_Introduction != '' && newVal.introdiction != '' && newVal.qitaqiyerenzhiqingkuang != '' && newVal.enterprise_lvxingzeren != '') { if (newVal.enterprise_Introduction != '' && newVal.introdiction != '' && newVal.qitaqiyerenzhiqingkuang != '' && newVal.enterprise_lvxingzeren != '') {
@ -1452,8 +1483,14 @@ export default {
this.right_card_list[4].content[0].ok = false; this.right_card_list[4].content[0].ok = false;
} }
if (newVal.if_abroad == 1) { if (newVal.if_abroad == 1) {
if (newVal.abroad_region_arr.length > 0 || newVal.abroad_region_id != '' && newVal.staff_size != '') { if (newVal.abroad_region_arr.length > 0 || newVal.abroad_region_id != '') {
if (newVal.staff_size != '' && newVal.business_case != '') {
this.right_card_list[4].content[1].ok = true; this.right_card_list[4].content[1].ok = true;
} else {
this.right_card_list[4].content[1].ok = false;
}
} else {
this.right_card_list[4].content[1].ok = false;
} }
if (newVal.business_case != '') { if (newVal.business_case != '') {
this.right_card_list[4].content[2].ok = true; this.right_card_list[4].content[2].ok = true;
@ -1464,37 +1501,37 @@ export default {
} }
//5.1 //5.1
if (newVal.if_party != null) { if (newVal.if_party != null) {
if (newVal.if_party == 1) {
if (newVal.party_nature != '' && newVal.partytime != '' && newVal.party_number != '' && newVal.party_youth_number != '' && newVal.manager_party != '' && newVal.dang.length > 0) {
this.right_card_list[5].content[0].ok = true; this.right_card_list[5].content[0].ok = true;
} else {
this.right_card_list[5].content[0].ok = false;
}
} else {
this.right_card_list[5].content[0].ok = true;
}
} }
//5.2 //5.2
if (newVal.if_organization != null) { if (newVal.if_organization != null) {
if (newVal.if_organization == 0) {
if (newVal.nature != '' && newVal.jiantuan_time != '' && newVal.jiantuan_number != '' && newVal.youth_number != '' && newVal.superior_nature != '' && newVal.tuan.length > 0) {
this.right_card_list[5].content[1].ok = true; this.right_card_list[5].content[1].ok = true;
} else {
this.right_card_list[5].content[1].ok = false;
}
} else {
this.right_card_list[5].content[1].ok = true;
}
} }
if (this.right_card_list[5].content[0].ok && this.right_card_list[5].content[1].ok) { if (this.right_card_list[5].content[0].ok && this.right_card_list[5].content[1].ok) {
this.right_card_list[5].ok = true; this.right_card_list[5].ok = true;
} else {
this.right_card_list[5].ok = false;
} }
if (newVal.if_abroad == 1) { if (newVal.if_abroad == 1) {
this.right_card_list[4].ok = true; this.right_card_list[4].ok = true;
// this.right_card_list[4].content.push(
// {
// title: '2.',
// active: false,
// id: 'haiwiquyu',
// ok: false,
// },
// {
// title: '3.',
// active: false,
// id: 'caiwuyunying',
// ok: false,
// },
// {
// title: '4.',
// active: false,
// id: 'duihuahezuo',
// ok: false,
// });
//console.log(this.right_card_list[4].content);
} else { } else {
this.right_card_list[4].content = [ this.right_card_list[4].content = [
{ {
@ -1504,9 +1541,11 @@ export default {
ok: false, ok: false,
} }
]; ];
}
if (this.right_card_list[4].content[1].ok && this.right_card_list[4].content[2].ok && this.right_card_list[4].content[3].ok) { if (this.right_card_list[4].content[1].ok && this.right_card_list[4].content[2].ok && this.right_card_list[4].content[3].ok) {
this.right_card_list[4].ok = true; this.right_card_list[4].ok = true;
} } else {
this.right_card_list[4].ok = false;
} }
}, },
deep: true // deep: true //
@ -2112,6 +2151,11 @@ export default {
if (this.formData.phone == '' || this.formData.phone == null) { if (this.formData.phone == '' || this.formData.phone == null) {
this.$message.error('请输入手机号码!'); this.$message.error('请输入手机号码!');
return; return;
} else {
if (!this.checkPhone()) {
this.$message.error('请输入正确的手机号码!');
return;
}
} }
if (this.formData.region_id == '' || this.formData.region_id == null) { if (this.formData.region_id == '' || this.formData.region_id == null) {
this.$message.error('请选择所在区域!'); this.$message.error('请选择所在区域!');
@ -2244,6 +2288,13 @@ export default {
this.$message.error('请输入紧急联系人!'); this.$message.error('请输入紧急联系人!');
return; return;
} else { } else {
//otherphone
this.formData.other.forEach(item => {
if (this.checkPhoneAll(item.phone, 1) == 'error') {
this.$message.error('请输入正确的手机号码!');
return;
}
});
this.formData.other_contacts = JSON.stringify(this.formData.other); this.formData.other_contacts = JSON.stringify(this.formData.other);
} }
if (this.formData.enterprise_Introduction == null || this.formData.enterprise_Introduction == '') { if (this.formData.enterprise_Introduction == null || this.formData.enterprise_Introduction == '') {
@ -2314,6 +2365,13 @@ export default {
this.$message.error('请输入党委负责人信息!'); this.$message.error('请输入党委负责人信息!');
return; return;
} else { } else {
//otherphone
this.formData.dang.forEach(item => {
if (this.checkPhoneAll(item.phone, 2) == 'error') {
this.$message.error('请输入正确的手机号码!');
return;
}
});
this.formData.party_json = JSON.stringify(this.formData.dang); this.formData.party_json = JSON.stringify(this.formData.dang);
} }
} }
@ -2348,6 +2406,12 @@ export default {
this.$message.error('请输入团组织负责人信息!'); this.$message.error('请输入团组织负责人信息!');
return; return;
} else { } else {
this.formData.tuan.forEach(item => {
if (this.checkPhoneAll(item.phone, 3) == 'error') {
this.$message.error('请输入正确的手机号码!');
return;
}
});
this.formData.tuanweifuzerenxinxi = JSON.stringify(this.formData.tuan); this.formData.tuanweifuzerenxinxi = JSON.stringify(this.formData.tuan);
} }
} }
@ -2435,7 +2499,6 @@ export default {
}); });
}, },
scrollTo(v, k, item, index) { scrollTo(v, k, item, index) {
// First set all cards to inactive
this.right_card_list.forEach((card, i) => { this.right_card_list.forEach((card, i) => {
card.active = (i === index); card.active = (i === index);
if (card.key != 7) { if (card.key != 7) {
@ -2444,8 +2507,6 @@ export default {
}); });
} }
}); });
// Then set the specific content item to active
this.right_card_list[index].content[k].active = true; this.right_card_list[index].content[k].active = true;
}, },
handleScroll() { handleScroll() {
@ -2560,14 +2621,69 @@ export default {
this.collapse = [7]; this.collapse = [7];
this.clearActive(); this.clearActive();
this.right_card_list[6].active = true; this.right_card_list[6].active = true;
}else{
//a
window.location.hash = item.content[0].id;
this.right_card_list[item.key-1].active=true;
} }
}, },
checkPhoneAll(phone, index) {
if (phone == '') {
if (index == 1) {
this.right_card_list[2].content[2].ok = false;
this.right_card_list[2].ok = false;
} else if (index == 2) {
this.right_card_list[5].content[0].ok = false;
this.right_card_list[5].ok = false;
} else if (index == 3) {
this.right_card_list[5].content[1].ok = false;
this.right_card_list[5].ok = false;
}
return 'error';
}
if (!/^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$/.test(phone)) {
if (index == 1) {
this.right_card_list[2].content[2].ok = false;
this.right_card_list[2].ok = false;
} else if (index == 2) {
this.right_card_list[5].content[0].ok = false;
this.right_card_list[5].ok = false;
} else if (index == 3) {
this.right_card_list[5].content[1].ok = false;
this.right_card_list[5].ok = false;
}
return 'error';
}
},
checkPhone() {
if (this.formData.phone == '') {
this.phoneStatus = 'error';
this.phoneTips = '请输入手机号';
this.right_card_list[0].content[2].ok = false;
return false;
}
if (!/^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$/.test(this.formData.phone)) {
this.phoneStatus = 'error';
this.phoneTips = '请输入正确的手机号';
this.right_card_list[0].content[2].ok = false;
return false;
}
this.phoneStatus = '';
this.phoneTips = '';
return true;
},
handleChange1(value, context) {
const { node } = context;
const path = node.getPath();
const labelPath = path.map((item) => item.label).join(' / ');
this.inputProps.value = labelPath;
},
}, },
}; };
</script> </script>
<style src="@wangeditor/editor/dist/css/style.css"></style> <style src="@wangeditor/editor/dist/css/style.css"></style>
<style lang="less"> <style lang="less" scoped>
.result-success { .result-success {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -2757,7 +2873,7 @@ export default {
} }
.reg_box { .reg_box {
width: 88%; width: 87%;
} }
.right_card_box { .right_card_box {
@ -2766,16 +2882,75 @@ export default {
width: 12%; width: 12%;
height: 80%; height: 80%;
position: fixed; position: fixed;
right: 0; right: 10px;
overflow-y: auto; overflow-y: auto;
} }
.sfzzheng {
height: 124px;
position: relative;
display: inline-block;
/* 确保容器大小与图片匹配 */
}
.sfzzheng:hover::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url(@/assets/chongxin.png);
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
z-index: 100;
}
.zhengjian {
height: 310px;
position: relative;
display: inline-block;
}
.zhengjian:hover::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url(@/assets/zhengjian.png);
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
z-index: 100;
}
.rongyu {
z-index: 100;
width: 100%;
height: 293px;
position: absolute;
top: 0;
left: 0;
z-index: 100;
}
.rongyu:hover {
background-image: url(@/assets/del_da.png);
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
}
@media screen and (max-width: 1440px) { @media screen and (max-width: 1440px) {
.reg_box { .reg_box {
width: 84%; width: 84%;
} }
.right_card_box { .right_card_box {
width: 16%; width: 16%;
right: 0px; right: 10px;
} }
} }
</style> </style>

View File

@ -1,9 +1,10 @@
<template> <template>
<div ref="add_user" style="display: flex;justify-content: space-between;gap:20px;"> <div
style="display: flex;justify-content: space-between;gap:20px;">
<!-- <div> <!-- <div>
<img src="https://hnyea.0rui.cn/uploads/1/20240820/7c06389c1dd2fbd4f2d191cdb6c67bb1.png" style="width: 100%"/> <img src="https://hnyea.0rui.cn/uploads/1/20240820/7c06389c1dd2fbd4f2d191cdb6c67bb1.png" style="width: 100%"/>
</div> --> </div> -->
<div> <div class="reg_box" style="width: 100%;">
<div> <div>
<div style="background-color: #fff;border-radius: 10px;padding: 20px;"> <div style="background-color: #fff;border-radius: 10px;padding: 20px;">
<div <div
@ -74,10 +75,10 @@
:data="{ association_id: 1 }" accept="image/*" :data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 1)"> :format-response="(response) => formatResponse(response, 1)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.cardz_image == ''" src="/src/assets/card1.png" <img v-if="formData.cardz_image == ''" src="@/assets/card1.png"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<img v-if="formData.cardz_image != ''" :src="$store.state.user.apiUrl + formData.cardz_image" <img v-if="formData.cardz_image != ''" :src="$store.state.user.apiUrl + formData.cardz_image"
style="width: 220px; height: 124px;object-fit: cover;" /> style="width: 220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -89,10 +90,10 @@
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" :data="{ association_id: 1 }" <t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" :data="{ association_id: 1 }"
theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 2)"> theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 2)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.cardf_image == ''" src="/src/assets/card2.png" <img v-if="formData.cardf_image == ''" src="@/assets/card2.png"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<img v-if="formData.cardf_image != ''" :src="$store.state.user.apiUrl + formData.cardf_image" <img v-if="formData.cardf_image != ''" :src="$store.state.user.apiUrl + formData.cardf_image"
style="width: 220px; height: 124px;object-fit: cover;" /> style="width: 220px; height: 124px;object-fit: cover;border-radius: 5px" />
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -109,10 +110,10 @@
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" :data="{ association_id: 1 }" <t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" :data="{ association_id: 1 }"
theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 0)"> theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 0)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.photo_image == ''" src="/src/assets/card3.png" <img v-if="formData.photo_image == ''" src="@/assets/card3.png"
style="width: 220px; height: 310px" /> style="width: 220px; height: 310px" />
<img v-if="formData.photo_image != ''" :src="$store.state.user.apiUrl + formData.photo_image" <img v-if="formData.photo_image != ''" :src="$store.state.user.apiUrl + formData.photo_image"
style="width: 220px; height: 310px" /> style="width: 220px; height: 310px;border-radius: 5px" />
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -122,7 +123,7 @@
"> ">
<img :src="$store.state.user.apiUrl + formData.photo_image" style="width: 200px; display: block" <img :src="$store.state.user.apiUrl + formData.photo_image" style="width: 200px; display: block"
v-if="formData.photo_image != ''" /> v-if="formData.photo_image != ''" />
<img v-if="formData.photo_image == ''" src="/src/assets/card3.png"> <img v-if="formData.photo_image == ''" src="@/assets/card3.png">
</div> </div>
</div> --> </div> -->
<t-form layout="inline" labelAlign="top"> <t-form layout="inline" labelAlign="top">
@ -206,7 +207,8 @@
<t-input size="large" v-model="formData.zip_code" placeholder="请输入邮编" class="input_box" /> <t-input size="large" v-model="formData.zip_code" placeholder="请输入邮编" class="input_box" />
</t-form-item> </t-form-item>
<t-form-item label="手机号" :requiredMark="true"> <t-form-item label="手机号" :requiredMark="true">
<t-input size="large" v-model="formData.phone" placeholder="请输入手机号" class="input_box" /> <t-input @blur="checkPhone" :status="phoneStatus" :tips="phoneTips" size="large"
v-model="formData.phone" placeholder="请输入手机号" class="input_box" />
</t-form-item> </t-form-item>
<t-form-item label="微信"> <t-form-item label="微信">
<t-input size="large" v-model="formData.wx_number" placeholder="请输入微信" class="input_box" /> <t-input size="large" v-model="formData.wx_number" placeholder="请输入微信" class="input_box" />
@ -216,7 +218,7 @@
<t-input size="large" v-model="formData.fixed_telephone" placeholder="请输入固定电话" <t-input size="large" v-model="formData.fixed_telephone" placeholder="请输入固定电话"
class="input_box" /> class="input_box" />
</t-form-item> </t-form-item>
<t-form-item label="所在区域" :requiredMark="true"> <t-form-item label="所在区域" name="region_id" :requiredMark="true">
<t-cascader size="large" v-model="formData.region_id" :options="region_list" <t-cascader size="large" v-model="formData.region_id" :options="region_list"
class="input_box"></t-cascader> class="input_box"></t-cascader>
</t-form-item> </t-form-item>
@ -268,7 +270,7 @@
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
<img src="/src/assets/del.png" @click="delHj(index)" <img src="@/assets/del.png" @click="delHj(index)"
style="cursor: pointer;width: 30px;height: 30px;" /> style="cursor: pointer;width: 30px;height: 30px;" />
</div> </div>
</t-form-item> </t-form-item>
@ -294,7 +296,7 @@
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
<img src="/src/assets/del.png" @click="delWork(index)" <img src="@/assets/del.png" @click="delWork(index)"
style="cursor: pointer;width: 30px;height: 30px;" /> style="cursor: pointer;width: 30px;height: 30px;" />
</div> </div>
</t-form-item> </t-form-item>
@ -450,12 +452,12 @@
:data="{ association_id: 1 }" accept="image/*,.pdf" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 3)"> :format-response="(response) => formatResponse(response, 3)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.business_license_image == ''" src="/src/assets/c4.png" <img v-if="formData.business_license_image == ''" src="@/assets/c4.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <img
v-if="formData.business_license_image != '' && getExt(formData.business_license_image) != 'pdf'" v-if="formData.business_license_image != '' && getExt(formData.business_license_image) != 'pdf'"
:src="$store.state.user.apiUrl + formData.business_license_image" :src="$store.state.user.apiUrl + formData.business_license_image"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px" />
<div v-if="getExt(formData.business_license_image) == 'pdf'" style="width: 220px; height: 124px;"> <div v-if="getExt(formData.business_license_image) == 'pdf'" style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" /> <FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div> </div>
@ -471,10 +473,9 @@
:data="{ association_id: 1 }" accept="image/*" :data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 6)"> :format-response="(response) => formatResponse(response, 6)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.company_image == ''" src="/src/assets/c5.png" <img v-if="formData.company_image == ''" src="@/assets/c5.png" style="width:220px; height: 124px" />
style="width:220px; height: 124px" />
<img v-if="formData.company_image != ''" :src="$store.state.user.apiUrl + formData.company_image" <img v-if="formData.company_image != ''" :src="$store.state.user.apiUrl + formData.company_image"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px" />
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -487,12 +488,12 @@
:data="{ association_id: 1 }" accept="image/*,.pdf" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 7)"> :format-response="(response) => formatResponse(response, 7)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.enterprise_credit_report == ''" src="/src/assets/c3.png" <img v-if="formData.enterprise_credit_report == ''" src="@/assets/c3.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <img
v-if="formData.enterprise_credit_report != '' && getExt(formData.enterprise_credit_report) != 'pdf'" v-if="formData.enterprise_credit_report != '' && getExt(formData.enterprise_credit_report) != 'pdf'"
:src="$store.state.user.apiUrl + formData.enterprise_credit_report" :src="$store.state.user.apiUrl + formData.enterprise_credit_report"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px" />
<div v-if="getExt(formData.enterprise_credit_report) == 'pdf'" style="width: 220px; height: 124px;"> <div v-if="getExt(formData.enterprise_credit_report) == 'pdf'" style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" /> <FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div> </div>
@ -509,12 +510,12 @@
:data="{ association_id: 1 }" accept="image/*,.pdf" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 9)"> :format-response="(response) => formatResponse(response, 9)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.certificate_of_no_criminal_record == ''" src="/src/assets/c1.png" <img v-if="formData.certificate_of_no_criminal_record == ''" src="@/assets/c1.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <img
v-if="formData.certificate_of_no_criminal_record != '' && getExt(formData.certificate_of_no_criminal_record) != 'pdf'" v-if="formData.certificate_of_no_criminal_record != '' && getExt(formData.certificate_of_no_criminal_record) != 'pdf'"
:src="$store.state.user.apiUrl + formData.certificate_of_no_criminal_record" :src="$store.state.user.apiUrl + formData.certificate_of_no_criminal_record"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px" />
<div v-if="getExt(formData.certificate_of_no_criminal_record) == 'pdf'" <div v-if="getExt(formData.certificate_of_no_criminal_record) == 'pdf'"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" /> <FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
@ -532,11 +533,11 @@
:format-response="(response) => formatResponse(response, 10)"> :format-response="(response) => formatResponse(response, 10)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.certificate_of_business_tax_payment_for_the_previous_year == ''" <img v-if="formData.certificate_of_business_tax_payment_for_the_previous_year == ''"
src="/src/assets/c1.png" style="width:220px; height: 124px" /> src="@/assets/c1.png" style="width:220px; height: 124px" />
<img <img
v-if="formData.certificate_of_business_tax_payment_for_the_previous_year != '' && getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) != 'pdf'" v-if="formData.certificate_of_business_tax_payment_for_the_previous_year != '' && getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) != 'pdf'"
:src="$store.state.user.apiUrl + formData.certificate_of_business_tax_payment_for_the_previous_year" :src="$store.state.user.apiUrl + formData.certificate_of_business_tax_payment_for_the_previous_year"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px" />
<div v-if="getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) == 'pdf'" <div v-if="getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) == 'pdf'"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" /> <FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
@ -553,12 +554,12 @@
:data="{ association_id: 1 }" accept="image/*" :data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 8)"> :format-response="(response) => formatResponse(response, 8)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.enterprise_credit_information_report == ''" src="/src/assets/c1.png" <img v-if="formData.enterprise_credit_information_report == ''" src="@/assets/c1.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <img
v-if="formData.enterprise_credit_information_report != '' && getExt(formData.enterprise_credit_information_report) != 'pdf'" v-if="formData.enterprise_credit_information_report != '' && getExt(formData.enterprise_credit_information_report) != 'pdf'"
:src="$store.state.user.apiUrl + formData.enterprise_credit_information_report" :src="$store.state.user.apiUrl + formData.enterprise_credit_information_report"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;border-radius: 5px" />
<div v-if="getExt(formData.enterprise_credit_information_report) == 'pdf'" <div v-if="getExt(formData.enterprise_credit_information_report) == 'pdf'"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" /> <FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
@ -586,7 +587,7 @@
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
<img src="/src/assets/del.png" @click="delContacts(index)" <img src="@/assets/del.png" @click="delContacts(index)"
style="cursor: pointer;width: 30px;height: 30px;" /> style="cursor: pointer;width: 30px;height: 30px;" />
</div> </div>
</t-form-item> </t-form-item>
@ -643,7 +644,7 @@
</div> </div>
<div style="display: flex; justify-content: start;margin-top: 10px;"> <div style="display: flex; justify-content: start;margin-top: 10px;">
<div style="text-align: center"> <div style="text-align: center">
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" theme="custom" <t-upload :allowUploadDuplicateFile="true" :action="$store.state.user.apiUrl + '/api/common/upload'" theme="custom"
:data="{ association_id: 1 }" accept="image/*,.pdf" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 5)"> :format-response="(response) => formatResponse(response, 5)">
<div class="sfz" style="display: flex;justify-content: start;"> <div class="sfz" style="display: flex;justify-content: start;">
@ -652,16 +653,16 @@
<div @click.stop="delZl(index)" <div @click.stop="delZl(index)"
style="z-index: 100;width: 100%; height: 100%;background-color: rgba(0, 0, 0, 0.5);position: absolute;top: 0;left: 0;"> style="z-index: 100;width: 100%; height: 100%;background-color: rgba(0, 0, 0, 0.5);position: absolute;top: 0;left: 0;">
<div style="position: absolute;left: 0;right: 0;top:35%;bottom: 0;margin: auto;"> <div style="position: absolute;left: 0;right: 0;top:35%;bottom: 0;margin: auto;">
<img src="/src/assets/del.png" style="width: 30px;height: 30px;"> <img src="@/assets/del.png" style="width: 30px;height: 30px;">
<div style="color: #ffffff;font-size: 14px;">删除文件</div> <div style="color: #ffffff;font-size: 14px;">删除文件</div>
</div> </div>
</div> </div>
<FilePowerpointIcon v-if="getExt(item) == 'pdf'" <FilePowerpointIcon v-if="getExt(item) == 'pdf'"
style="width: 100%; height: 100%;object-fit: cover;" /> style="width: 100%; height: 100%;object-fit: cover;" />
<img v-if="getExt(item) != 'pdf'" :src="$store.state.user.apiUrl + item" <img v-if="getExt(item) != 'pdf'" :src="$store.state.user.apiUrl + item"
style="width: 100%; height: 100%;object-fit: cover;" /> style="width: 100%; height: 100%;object-fit: cover;border-radius: 5px" />
</div> </div>
<img src="/src/assets/card4.png" style="width: 220px;height: 293px;" /> <img src="@/assets/card4.png" style="width: 220px;height: 293px;" />
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -736,7 +737,7 @@
<span style="color: #d54941;">*</span> <span style="color: #d54941;">*</span>
<span>国家/城市</span> <span>国家/城市</span>
</div> </div>
<t-cascader :load="load" size="large" :input-props="inputProps" v-model="formData.abroad_region_arr" <t-cascader @change="handleChange1" :load="load" size="large" :input-props="inputProps" v-model="formData.abroad_region_arr"
value-type="full" :options="internationa_list" style="width:500px;"></t-cascader> value-type="full" :options="internationa_list" style="width:500px;"></t-cascader>
</div> </div>
<div> <div>
@ -868,7 +869,7 @@
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
<img src="/src/assets/del.png" @click="delParty(index)" <img src="@/assets/del.png" @click="delParty(index)"
style="cursor: pointer;width: 30px;height: 30px;" /> style="cursor: pointer;width: 30px;height: 30px;" />
</div> </div>
</t-form-item> </t-form-item>
@ -941,7 +942,7 @@
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
<img src="/src/assets/del.png" @click="delTuan(index)" <img src="@/assets/del.png" @click="delTuan(index)"
style="cursor: pointer;width: 30px;height: 30px;" /> style="cursor: pointer;width: 30px;height: 30px;" />
</div> </div>
</t-form-item> </t-form-item>
@ -952,7 +953,7 @@
</div> </div>
</div> </div>
<div style="height: 1px; background-color: #EEEEEE; width: 100%; margin-top: 20px"></div> <div style="height: 1px; background-color: #EEEEEE; width: 100%; margin-top: 20px"></div>
<div id="submit" style="padding: 50px 0px; text-align: center"> <div id="submit" style="text-align: center;margin-top: 20px;">
<t-button @click="submit" size="large">确定保存</t-button> <t-button @click="submit" size="large">确定保存</t-button>
<!-- <t-button size="large" @click="download" theme="warning" style="margin-left: 50px">生成PDF</t-button> --> <!-- <t-button size="large" @click="download" theme="warning" style="margin-left: 50px">生成PDF</t-button> -->
</div> </div>
@ -974,38 +975,29 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <t-dialog header="图片上传" :visible="caiMode" width="40%" top="20px" :onClose="onCloseMy" @confirm="onSubmit">
<div class="cropper-content">
<div class="cropper">
<vue-cropper ref="cropper" :img="caiImg" :canMoveBox="false" :output-size="1" output-type="png" :info="true"
:full="false" :auto-crop="true" autoCropWidth="200px" autoCropHeight="200px" mode="100%"
@realTime="realTime" @imgLoad="imgLoad" :fixed="true" :fixedNumber="[1, 1]"></vue-cropper>
</div> </div>
<!-- <div class="right_card_box" <div class="show-preview"
style="background-color: #fff;border-radius: 10px;width: 12%;height: 80%;;position: fixed;right: 0;overflow-y: auto;"> :style="{ width: previews.w + 'px', height: previews.h + 'px', overflow: 'hidden', margin: '5px' }">
<t-collapse v-model="collapse" :expand-icon="false" :borderless="true" style="width: 100%;"> <div :style="previews.div" class="preview">
<t-collapse-panel v-for="(item, index) in right_card_list" :key="index"> <img :src="previews.url" :style="previews.img" />
<template #header>
<div @click="scrollToSubmit(item)"
:class="item.active ? 'top_title top_title_active' : 'top_title top_title_no_active'">
<div style="height: 50px;line-height: 50px">{{ item.title }}</div>
<div v-if="item.key != 7">
<img v-if="item.ok" src="@/assets/top_ok.png" style="width: 15px;height: 15px;">
<img v-else src="@/assets/top_no.png" style="width: 15px;height: 15px;">
</div>
</div>
</template>
<template #default>
<div v-for="(v, k) in item.content" :key="k">
<div style="display: flex;justify-content: space-between;align-items: center;padding-bottom: 10px;">
<div>
<a :href="'#' + v.id" :class="v.active ? 'nei_color_active' : 'nei_color'"
@click="scrollTo(v, k, item, index)">{{ v.title }}</a>
</div>
<div>
<img v-if="v.ok" src="@/assets/nei_ok.png" style="width: 15px;height: 15px;">
<img v-else src="@/assets/nei_no.png" style="width: 15px;height: 15px;">
</div> </div>
</div> </div>
</div> </div>
</template> <div class="footer-btn">
</t-collapse-panel> <div class="scope-btn">
</t-collapse> <label class="btn" for="uploads">上传图片</label>
</div> --> <input type="file" id="uploads" style="position: absolute; clip: rect(0 0 0 0)"
accept="image/png, image/jpeg, image/gif, image/jpg" @change="uploadImg($event, 1)" />
</div>
</div>
</t-dialog> -->
</div>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
@ -1094,25 +1086,15 @@ export default {
phone: '',// phone: '',//
wx_number: '',// wx_number: '',//
fixed_telephone: '',// fixed_telephone: '',//
region_id: [],// region_id: null,//
mail_address: '',// mail_address: '',//
introduction: '',// introduction: '',//
//achievement_award: '',// //achievement_award: '',//
achievement_award: '', achievement_award: '',
achievement: [ achievement: [],
{
time: '',
name: '',
organ: ''
}
],
// //
work_experience: '', work_experience: '',
work: [{ work: [],
time: '',
address: '',
book: '',
}],
//other_contacts: '',// //other_contacts: '',//
other_contacts: '', other_contacts: '',
other: [{ other: [{
@ -1331,161 +1313,17 @@ export default {
ok: false, ok: false,
} }
], ],
phoneStatus: '',
phoneTips: '',
}; };
}, },
// watch: {
// formData: {
// handler(newVal, oldVal) {
// //1.1
// if (newVal.reporting_method == 1) {
// this.right_card_list[0].content[0].ok = false;
// if (newVal.recommended_cities != '' && newVal.intentional_association_position != '') {
// this.right_card_list[0].content[0].ok = true;
// }
// } else if (newVal.reporting_method == 2) {
// this.right_card_list[0].content[0].ok = false;
// if (newVal.recommendation_name != '' && newVal.recommendation_content != '' && newVal.intentional_association_position != '') {
// this.right_card_list[0].content[0].ok = true;
// }
// } else {
// this.right_card_list[0].content[0].ok = false;
// if (newVal.source_channel != '' && newVal.intentional_association_position != '') {
// this.right_card_list[0].content[0].ok = true;
// }
// }
// //1.2
// if (newVal.cardz_image != '' && newVal.cardf_image != '') {
// this.right_card_list[0].content[1].ok = true;
// }
// //1.3
// if (newVal.region_id != '' && newVal.mail_address != '' && newVal.phone != '' && newVal.zip_code != '' && newVal.photo_image != '' && newVal.nikename != '' && newVal.gender != null && newVal.birth_time != '' && newVal.nation != '' && newVal.political != '' && newVal.jiguan != '' && newVal.institution != '' && newVal.education != '' && newVal.academic_degree != '' && newVal.card_number != '' && newVal.work_unit != '' && newVal.unit_position != '') {
// this.right_card_list[0].content[2].ok = true;
// }
// //1111111
// if (this.right_card_list[0].content[0].ok && this.right_card_list[0].content[1].ok && this.right_card_list[0].content[2].ok) {
// this.right_card_list[0].ok = true;
// }
// //2.1
// if (newVal.introduction != '') {
// this.right_card_list[1].content[0].ok = true;
// }
// //2.2
// if (newVal.achievement.length > 0) {
// if (newVal.achievement[0].time != '' && newVal.achievement[0].name != '' && newVal.achievement[0].organ != '') {
// this.right_card_list[1].content[1].ok = true;
// }
// }
// //2.3
// if (newVal.work.length > 0) {
// if (newVal.work[0].time != '' && newVal.work[0].address != '' && newVal.work[0].book != '') {
// this.right_card_list[1].content[2].ok = true;
// }
// }//2.4
// if (newVal.main_social.length > 0) {
// this.right_card_list[1].content[3].ok = true;
// } else {
// this.right_card_list[1].content[3].ok = false;
// }
// if (this.right_card_list[1].content[0].ok && this.right_card_list[1].content[1].ok && this.right_card_list[1].content[2].ok && this.right_card_list[1].content[3].ok) {
// this.right_card_list[1].ok = true;
// }
// //3.1
// this.right_card_list[2].content[0].ok = false;
// if (newVal.enterprise_name != '' && newVal.unified_code != '' && newVal.enterprise_location != '' && newVal.longitude != '' && newVal.dimension != '' && newVal.registered_capital != '' && newVal.if_list != null && newVal.employee != '' && newVal.industry_id != '' && newVal.enterprise_nature != '' && newVal.previous_revenue != '' && newVal.previous_tax != '' && newVal.previous_profit != '' && newVal.previous_donation != '') {
// this.right_card_list[2].content[0].ok = true;
// }
// //3.2
// this.right_card_list[2].content[1].ok = false;
// if (newVal.business_license_image != '' && newVal.company_image != '' && newVal.enterprise_credit_report != '' && newVal.certificate_of_no_criminal_record != '' && newVal.certificate_of_business_tax_payment_for_the_previous_year != '' && newVal.enterprise_credit_information_report != '') {
// this.right_card_list[2].content[1].ok = true;
// }
// //3.3
// if (newVal.other.length > 0) {
// if (newVal.other[0].name != '' && newVal.other[0].post != '' && newVal.other[0].phone != '') {
// this.right_card_list[2].content[2].ok = true;
// }
// } else {
// this.right_card_list[2].content[2].ok = false;
// }
// if (this.right_card_list[2].content[0].ok && this.right_card_list[2].content[1].ok && this.right_card_list[2].content[2].ok) {
// this.right_card_list[2].ok = true;
// }
// //4.1
// if (newVal.enterprise_Introduction != '' && newVal.introdiction != '' && newVal.qitaqiyerenzhiqingkuang != '' && newVal.enterprise_lvxingzeren != '') {
// this.right_card_list[3].content[0].ok = true;
// } else {
// this.right_card_list[3].content[0].ok = false;
// }
// //4
// if (this.right_card_list[3].content[0].ok) {
// this.right_card_list[3].ok = true;
// }
// //5.1
// if (newVal.if_abroad != null) {
// this.right_card_list[4].content[0].ok = true;
// } else {
// this.right_card_list[4].content[0].ok = false;
// }
// if (newVal.if_abroad == 1) {
// if (newVal.abroad_region_arr.length > 0 && newVal.staff_size != '') {
// this.right_card_list[4].content[1].ok = true;
// }
// if (newVal.business_case != '') {
// this.right_card_list[4].content[2].ok = true;
// }
// if (newVal.economic_and_trade_exchanges_with_china != '') {
// this.right_card_list[4].content[3].ok = true;
// }
// }
// //5.1
// if (newVal.if_party != null) {
// this.right_card_list[5].content[0].ok = true;
// }
// //5.2
// if (newVal.if_organization != null) {
// this.right_card_list[5].content[1].ok = true;
// }
// if (this.right_card_list[5].content[0].ok && this.right_card_list[5].content[1].ok) {
// this.right_card_list[5].ok = true;
// }
// if (newVal.if_abroad == 1) {
// this.right_card_list[4].ok = true;
// } else {
// this.right_card_list[4].content = [
// {
// title: '1.',
// active: false,
// id: 'haiwaijiben',
// ok: false,
// }
// ];
// if (this.right_card_list[4].content[1].ok && this.right_card_list[4].content[2].ok && this.right_card_list[4].content[3].ok) {
// this.right_card_list[4].ok = true;
// }
// }
// },
// deep: true //
// }
// },
beforeDestroy() {
},
destroyed() {
},
mounted() { mounted() {
// console.log(this.$route.query.id);
window.addEventListener('scroll', this.handleScroll, true)
//console.log(this.$route.query.id);
//this.formData.token = this.$route.query.token;
//this.formData.openid = this.$route.query.openid;
//
this.getIndustry(); this.getIndustry();
// //
this.getRegion(); this.getRegion();
// //
this.getInternationa(''); this.getInternationa('');
this.getUserList(); this.getUserList();
//this.getInfo(); //this.getInfo();
}, },
@ -1599,7 +1437,7 @@ export default {
return; return;
} }
const link = document.createElement('a'); const link = document.createElement('a');
link.href = `https://hnyea.0rui.cn/api/move/pdf_member/exportPdf?openid=${this.formData.openid}`; link.href = `http://192.168.10.140/api/move/pdf_member/exportPdf?openid=${this.formData.openid}`;
link.target = '_blank'; // link.target = '_blank'; //
link.rel = 'noopener noreferrer'; // link.rel = 'noopener noreferrer'; //
link.style.display = 'none'; link.style.display = 'none';
@ -1607,6 +1445,21 @@ export default {
link.click(); link.click();
document.body.removeChild(link); // DOM document.body.removeChild(link); // DOM
}, },
onCloseMy() {
this.caiMode = false;
},
realTime(data) {
this.previews = data;
},
imgLoad(msg) {
console.log(msg);
},
openCai() {
this.caiImg = store.state.user.apiUrl + this.formData.photo_image;
this.$refs.cropper.startCrop();
this.caiMode = true;
},
getRegion() { getRegion() {
this.$request this.$request
.post('/region') .post('/region')
@ -1743,7 +1596,7 @@ export default {
this.$message.error('请输入手机号码!'); this.$message.error('请输入手机号码!');
return; return;
} }
if (this.formData.region_id == '' || this.formData.region_id == null || this.formData.region_id.length == 0) { if (this.formData.region_id == '' || this.formData.region_id == null) {
this.$message.error('请选择所在区域!'); this.$message.error('请选择所在区域!');
return; return;
} }
@ -1997,7 +1850,7 @@ export default {
// setTimeout(() => { // setTimeout(() => {
// this.$router.push(`/login?id=`+this.id); // this.$router.push(`/login?id=`+this.id);
// }, 1000); // }, 1000);
this.getInfo(); //this.getInfo();
}) })
.catch((e) => { .catch((e) => {
console.log(e); console.log(e);
@ -2064,135 +1917,33 @@ export default {
phone: '', phone: '',
}); });
}, },
scrollTo(v, k, item, index) {
// First set all cards to inactive
this.right_card_list.forEach((card, i) => {
card.active = (i === index);
if (card.key != 7) {
card.content.forEach(content => {
content.active = false;
});
}
});
// Then set the specific content item to active
this.right_card_list[index].content[k].active = true;
},
handleScroll() {
console.log('handleScroll', window);
//const scrollY = window.scrollY || document.documentElement.scrollTop;
var scrollTop = this.$parent.$el.scrollTop
console.log(scrollTop);
if (scrollY >= 0 && scrollY <= 150) {
this.collapse = [1];
this.clearActive();
this.right_card_list[0].active = true;
this.right_card_list[0].content[0].active = true;
} else if (scrollY > 150 && scrollY <= 305) {
this.collapse = [1];
this.clearActive();
this.right_card_list[0].active = true;
this.right_card_list[0].content[1].active = true;
} else if (scrollY > 305 && scrollY <= 555) {
this.collapse = [1];
this.clearActive();
this.right_card_list[0].active = true;
this.right_card_list[0].content[2].active = true;
} else if (scrollY > 555 && scrollY <= 1181) {
this.collapse = [2];
this.clearActive();
this.right_card_list[1].active = true;
this.right_card_list[1].content[0].active = true;
} else if (scrollY > 1181 && scrollY <= 1639) {
this.collapse = [2];
this.clearActive();
this.right_card_list[1].active = true;
this.right_card_list[1].content[1].active = true;
} else if (scrollY > 1639 && scrollY <= 1842) {
this.collapse = [2];
this.clearActive();
this.right_card_list[1].active = true;
this.right_card_list[1].content[2].active = true;
} else if (scrollY > 1842 && scrollY <= 1957) {
this.collapse = [2];
this.clearActive();
this.right_card_list[1].active = true;
this.right_card_list[1].content[3].active = true;
} else if (scrollY > 1700 && scrollY <= 2455) {
this.collapse = [3];
this.clearActive();
this.right_card_list[2].active = true;
this.right_card_list[2].content[0].active = true;
} else if (scrollY > 2455 && scrollY <= 2894) {
this.collapse = [3];
this.clearActive();
this.right_card_list[2].active = true;
this.right_card_list[2].content[1].active = true;
} else if (scrollY > 2894 && scrollY <= 3331) {
this.collapse = [3];
this.clearActive();
this.right_card_list[2].active = true;
this.right_card_list[2].content[2].active = true;
} else if (scrollY > 3243 && scrollY <= 4900) {
this.collapse = [4];
this.clearActive();
this.right_card_list[3].active = true;
this.right_card_list[3].content[0].active = true;
} else if (scrollY > 4900 && scrollY <= 4975) {
this.collapse = [5];
this.clearActive();
this.right_card_list[4].active = true;
this.right_card_list[4].content[0].active = true;
} else if (scrollY > 4975 && scrollY <= 5112) {
this.collapse = [5];
this.clearActive();
this.right_card_list[4].active = true;
this.right_card_list[4].content[1].active = true;
} else if (scrollY > 5112 && scrollY <= 5246) {
this.collapse = [5];
this.clearActive();
this.right_card_list[4].active = true;
this.right_card_list[4].content[2].active = true;
} else if (scrollY > 5246 && scrollY <= 5723) {
this.collapse = [5];
this.clearActive();
this.right_card_list[4].active = true;
this.right_card_list[4].content[3].active = true;
} else if (scrollY > 5723 && scrollY <= 6340) {
this.collapse = [6];
this.clearActive();
this.right_card_list[5].active = true;
this.right_card_list[5].content[0].active = true;
} else if (scrollY > 6340 && scrollY <= 6506) {
this.collapse = [6];
this.clearActive();
this.right_card_list[5].active = true;
this.right_card_list[5].content[1].active = true;
}
},
clearActive() {
this.right_card_list.forEach(item => {
item.active = false;
if (item.key != 7) {
item.content.forEach(content => {
content.active = false;
});
}
});
},
getExt(url) { getExt(url) {
if (url == null) { if (url == null) {
return ''; return '';
} }
return url.split('.').pop(); return url.split('.').pop();
}, },
scrollToSubmit(item) { checkPhone() {
console.log(item); if (this.formData.phone == '') {
if (item.key == 7) { this.phoneStatus = 'error';
this.collapse = [7]; this.phoneTips = '请输入手机号';
this.clearActive(); this.right_card_list[0].content[2].ok = false;
this.right_card_list[6].active = true; return;
} }
if (!/^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$/.test(this.formData.phone)) {
this.phoneStatus = 'error';
this.phoneTips = '请输入正确的手机号';
this.right_card_list[0].content[2].ok = false;
return;
}
this.phoneStatus = '';
this.phoneTips = '';
},
handleChange1(value, context) {
const { node } = context;
const path = node.getPath();
const labelPath = path.map((item) => item.label).join(' / ');
this.inputProps.value = labelPath;
}, },
}, },

View File

@ -1,10 +1,9 @@
<template> <template>
<div v-if="show" <div style="display: flex;justify-content: space-between;gap:20px;">
style="display: flex;justify-content: space-between;gap:20px;">
<!-- <div> <!-- <div>
<img src="https://hnyea.0rui.cn/uploads/1/20240820/7c06389c1dd2fbd4f2d191cdb6c67bb1.png" style="width: 100%"/> <img src="https://hnyea.0rui.cn/uploads/1/20240820/7c06389c1dd2fbd4f2d191cdb6c67bb1.png" style="width: 100%"/>
</div> --> </div> -->
<div> <div class="reg_box" style="width: 100%;">
<div> <div>
<div style="background-color: #fff;border-radius: 10px;padding: 20px;"> <div style="background-color: #fff;border-radius: 10px;padding: 20px;">
<div <div
@ -75,7 +74,7 @@
:data="{ association_id: 1 }" accept="image/*" :data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 1)"> :format-response="(response) => formatResponse(response, 1)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.cardz_image == ''" src="/src/assets/card1.png" <img v-if="formData.cardz_image == ''" src="@/assets/card1.png"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<img v-if="formData.cardz_image != ''" :src="$store.state.user.apiUrl + formData.cardz_image" <img v-if="formData.cardz_image != ''" :src="$store.state.user.apiUrl + formData.cardz_image"
style="width: 220px; height: 124px;object-fit: cover;" /> style="width: 220px; height: 124px;object-fit: cover;" />
@ -90,7 +89,7 @@
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" :data="{ association_id: 1 }" <t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" :data="{ association_id: 1 }"
theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 2)"> theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 2)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.cardf_image == ''" src="/src/assets/card2.png" <img v-if="formData.cardf_image == ''" src="@/assets/card2.png"
style="width: 220px; height: 124px;"> style="width: 220px; height: 124px;">
<img v-if="formData.cardf_image != ''" :src="$store.state.user.apiUrl + formData.cardf_image" <img v-if="formData.cardf_image != ''" :src="$store.state.user.apiUrl + formData.cardf_image"
style="width: 220px; height: 124px;object-fit: cover;" /> style="width: 220px; height: 124px;object-fit: cover;" />
@ -110,10 +109,10 @@
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" :data="{ association_id: 1 }" <t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" :data="{ association_id: 1 }"
theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 0)"> theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 0)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.photo_image == ''" src="/src/assets/card3.png" <img v-if="formData.photo_image == ''" src="@/assets/card3.png"
style="width: 220px; height: 310px" /> style="width: 220px; height: 310px" />
<img v-if="formData.photo_image != ''" :src="$store.state.user.apiUrl + formData.photo_image" <img v-if="formData.photo_image != ''" :src="$store.state.user.apiUrl + formData.photo_image"
style="width: 220px; height: 310px;object-fit: cover;" /> style="width: 220px; height: 310px" />
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -123,7 +122,7 @@
"> ">
<img :src="$store.state.user.apiUrl + formData.photo_image" style="width: 200px; display: block" <img :src="$store.state.user.apiUrl + formData.photo_image" style="width: 200px; display: block"
v-if="formData.photo_image != ''" /> v-if="formData.photo_image != ''" />
<img v-if="formData.photo_image == ''" src="/src/assets/card3.png"> <img v-if="formData.photo_image == ''" src="@/assets/card3.png">
</div> </div>
</div> --> </div> -->
<t-form layout="inline" labelAlign="top"> <t-form layout="inline" labelAlign="top">
@ -207,7 +206,8 @@
<t-input size="large" v-model="formData.zip_code" placeholder="请输入邮编" class="input_box" /> <t-input size="large" v-model="formData.zip_code" placeholder="请输入邮编" class="input_box" />
</t-form-item> </t-form-item>
<t-form-item label="手机号" :requiredMark="true"> <t-form-item label="手机号" :requiredMark="true">
<t-input size="large" v-model="formData.phone" placeholder="请输入手机号" class="input_box" /> <t-input @blur="checkPhone" :status="phoneStatus" :tips="phoneTips" size="large"
v-model="formData.phone" placeholder="请输入手机号" class="input_box" />
</t-form-item> </t-form-item>
<t-form-item label="微信"> <t-form-item label="微信">
<t-input size="large" v-model="formData.wx_number" placeholder="请输入微信" class="input_box" /> <t-input size="large" v-model="formData.wx_number" placeholder="请输入微信" class="input_box" />
@ -269,7 +269,7 @@
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
<img src="/src/assets/del.png" @click="delHj(index)" <img src="@/assets/del.png" @click="delHj(index)"
style="cursor: pointer;width: 30px;height: 30px;" /> style="cursor: pointer;width: 30px;height: 30px;" />
</div> </div>
</t-form-item> </t-form-item>
@ -295,7 +295,7 @@
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
<img src="/src/assets/del.png" @click="delWork(index)" <img src="@/assets/del.png" @click="delWork(index)"
style="cursor: pointer;width: 30px;height: 30px;" /> style="cursor: pointer;width: 30px;height: 30px;" />
</div> </div>
</t-form-item> </t-form-item>
@ -451,7 +451,7 @@
:data="{ association_id: 1 }" accept="image/*,.pdf" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 3)"> :format-response="(response) => formatResponse(response, 3)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.business_license_image == ''" src="/src/assets/c4.png" <img v-if="formData.business_license_image == ''" src="@/assets/c4.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <img
v-if="formData.business_license_image != '' && getExt(formData.business_license_image) != 'pdf'" v-if="formData.business_license_image != '' && getExt(formData.business_license_image) != 'pdf'"
@ -472,8 +472,7 @@
:data="{ association_id: 1 }" accept="image/*" :data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 6)"> :format-response="(response) => formatResponse(response, 6)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.company_image == ''" src="/src/assets/c5.png" <img v-if="formData.company_image == ''" src="@/assets/c5.png" style="width:220px; height: 124px" />
style="width:220px; height: 124px" />
<img v-if="formData.company_image != ''" :src="$store.state.user.apiUrl + formData.company_image" <img v-if="formData.company_image != ''" :src="$store.state.user.apiUrl + formData.company_image"
style="width:220px; height: 124px;object-fit: cover;" /> style="width:220px; height: 124px;object-fit: cover;" />
</div> </div>
@ -488,7 +487,7 @@
:data="{ association_id: 1 }" accept="image/*,.pdf" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 7)"> :format-response="(response) => formatResponse(response, 7)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.enterprise_credit_report == ''" src="/src/assets/c3.png" <img v-if="formData.enterprise_credit_report == ''" src="@/assets/c3.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <img
v-if="formData.enterprise_credit_report != '' && getExt(formData.enterprise_credit_report) != 'pdf'" v-if="formData.enterprise_credit_report != '' && getExt(formData.enterprise_credit_report) != 'pdf'"
@ -510,7 +509,7 @@
:data="{ association_id: 1 }" accept="image/*,.pdf" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 9)"> :format-response="(response) => formatResponse(response, 9)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.certificate_of_no_criminal_record == ''" src="/src/assets/c1.png" <img v-if="formData.certificate_of_no_criminal_record == ''" src="@/assets/c1.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <img
v-if="formData.certificate_of_no_criminal_record != '' && getExt(formData.certificate_of_no_criminal_record) != 'pdf'" v-if="formData.certificate_of_no_criminal_record != '' && getExt(formData.certificate_of_no_criminal_record) != 'pdf'"
@ -533,7 +532,7 @@
:format-response="(response) => formatResponse(response, 10)"> :format-response="(response) => formatResponse(response, 10)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.certificate_of_business_tax_payment_for_the_previous_year == ''" <img v-if="formData.certificate_of_business_tax_payment_for_the_previous_year == ''"
src="/src/assets/c1.png" style="width:220px; height: 124px" /> src="@/assets/c1.png" style="width:220px; height: 124px" />
<img <img
v-if="formData.certificate_of_business_tax_payment_for_the_previous_year != '' && getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) != 'pdf'" v-if="formData.certificate_of_business_tax_payment_for_the_previous_year != '' && getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) != 'pdf'"
:src="$store.state.user.apiUrl + formData.certificate_of_business_tax_payment_for_the_previous_year" :src="$store.state.user.apiUrl + formData.certificate_of_business_tax_payment_for_the_previous_year"
@ -554,7 +553,7 @@
:data="{ association_id: 1 }" accept="image/*" :data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 8)"> :format-response="(response) => formatResponse(response, 8)">
<div class="sfz"> <div class="sfz">
<img v-if="formData.enterprise_credit_information_report == ''" src="/src/assets/c1.png" <img v-if="formData.enterprise_credit_information_report == ''" src="@/assets/c1.png"
style="width:220px; height: 124px" /> style="width:220px; height: 124px" />
<img <img
v-if="formData.enterprise_credit_information_report != '' && getExt(formData.enterprise_credit_information_report) != 'pdf'" v-if="formData.enterprise_credit_information_report != '' && getExt(formData.enterprise_credit_information_report) != 'pdf'"
@ -587,7 +586,7 @@
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
<img src="/src/assets/del.png" @click="delContacts(index)" <img src="@/assets/del.png" @click="delContacts(index)"
style="cursor: pointer;width: 30px;height: 30px;" /> style="cursor: pointer;width: 30px;height: 30px;" />
</div> </div>
</t-form-item> </t-form-item>
@ -644,8 +643,8 @@
</div> </div>
<div style="display: flex; justify-content: start;margin-top: 10px;"> <div style="display: flex; justify-content: start;margin-top: 10px;">
<div style="text-align: center"> <div style="text-align: center">
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" theme="custom" <t-upload :allowUploadDuplicateFile="true" :action="$store.state.user.apiUrl + '/api/common/upload'"
:data="{ association_id: 1 }" accept="image/*,.pdf" theme="custom" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 5)"> :format-response="(response) => formatResponse(response, 5)">
<div class="sfz" style="display: flex;justify-content: start;"> <div class="sfz" style="display: flex;justify-content: start;">
<div v-if="formData.enterprise.length > 0" v-for="(item, index) in formData.enterprise" <div v-if="formData.enterprise.length > 0" v-for="(item, index) in formData.enterprise"
@ -653,7 +652,7 @@
<div @click.stop="delZl(index)" <div @click.stop="delZl(index)"
style="z-index: 100;width: 100%; height: 100%;background-color: rgba(0, 0, 0, 0.5);position: absolute;top: 0;left: 0;"> style="z-index: 100;width: 100%; height: 100%;background-color: rgba(0, 0, 0, 0.5);position: absolute;top: 0;left: 0;">
<div style="position: absolute;left: 0;right: 0;top:35%;bottom: 0;margin: auto;"> <div style="position: absolute;left: 0;right: 0;top:35%;bottom: 0;margin: auto;">
<img src="/src/assets/del.png" style="width: 30px;height: 30px;"> <img src="@/assets/del.png" style="width: 30px;height: 30px;">
<div style="color: #ffffff;font-size: 14px;">删除文件</div> <div style="color: #ffffff;font-size: 14px;">删除文件</div>
</div> </div>
</div> </div>
@ -662,7 +661,7 @@
<img v-if="getExt(item) != 'pdf'" :src="$store.state.user.apiUrl + item" <img v-if="getExt(item) != 'pdf'" :src="$store.state.user.apiUrl + item"
style="width: 100%; height: 100%;object-fit: cover;" /> style="width: 100%; height: 100%;object-fit: cover;" />
</div> </div>
<img src="/src/assets/card4.png" style="width: 220px;height: 293px;" /> <img src="@/assets/card4.png" style="width: 220px;height: 293px;" />
</div> </div>
</t-upload> </t-upload>
</div> </div>
@ -737,8 +736,9 @@
<span style="color: #d54941;">*</span> <span style="color: #d54941;">*</span>
<span>国家/城市</span> <span>国家/城市</span>
</div> </div>
<t-cascader :load="load" size="large" :input-props="inputProps" v-model="formData.abroad_region_arr" <t-cascader @change="handleChange1" :load="load" size="large" :input-props="inputProps"
value-type="full" :options="internationa_list" style="width:500px;"></t-cascader> v-model="formData.abroad_region_arr" value-type="full" :options="internationa_list"
style="width:500px;"></t-cascader>
</div> </div>
<div> <div>
<div style="margin-bottom: 10px;"> <div style="margin-bottom: 10px;">
@ -869,7 +869,7 @@
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
<img src="/src/assets/del.png" @click="delParty(index)" <img src="@/assets/del.png" @click="delParty(index)"
style="cursor: pointer;width: 30px;height: 30px;" /> style="cursor: pointer;width: 30px;height: 30px;" />
</div> </div>
</t-form-item> </t-form-item>
@ -942,7 +942,7 @@
</t-form-item> </t-form-item>
<t-form-item label=" "> <t-form-item label=" ">
<div> <div>
<img src="/src/assets/del.png" @click="delTuan(index)" <img src="@/assets/del.png" @click="delTuan(index)"
style="cursor: pointer;width: 30px;height: 30px;" /> style="cursor: pointer;width: 30px;height: 30px;" />
</div> </div>
</t-form-item> </t-form-item>
@ -953,7 +953,7 @@
</div> </div>
</div> </div>
<div style="height: 1px; background-color: #EEEEEE; width: 100%; margin-top: 20px"></div> <div style="height: 1px; background-color: #EEEEEE; width: 100%; margin-top: 20px"></div>
<div id="submit" style="padding: 50px 0px; text-align: center"> <div id="submit" style="text-align: center;margin-top: 20px;">
<t-button @click="submit" size="large">确定保存</t-button> <t-button @click="submit" size="large">确定保存</t-button>
<!-- <t-button size="large" @click="download" theme="warning" style="margin-left: 50px">生成PDF</t-button> --> <!-- <t-button size="large" @click="download" theme="warning" style="margin-left: 50px">生成PDF</t-button> -->
</div> </div>
@ -998,37 +998,6 @@
</div> </div>
</t-dialog> --> </t-dialog> -->
</div> </div>
<!-- <div class="right_card_box"
style="background-color: #fff;border-radius: 10px;width: 12%;height: 80%;;position: fixed;right: 0;overflow-y: auto;">
<t-collapse v-model="collapse" :expand-icon="false" :borderless="true" style="width: 100%;">
<t-collapse-panel v-for="(item, index) in right_card_list" :key="index">
<template #header>
<div @click="scrollToSubmit(item)"
:class="item.active ? 'top_title top_title_active' : 'top_title top_title_no_active'">
<div style="height: 50px;line-height: 50px">{{ item.title }}</div>
<div v-if="item.key != 7">
<img v-if="item.ok" src="@/assets/top_ok.png" style="width: 15px;height: 15px;">
<img v-else src="@/assets/top_no.png" style="width: 15px;height: 15px;">
</div>
</div>
</template>
<template #default>
<div v-for="(v, k) in item.content" :key="k">
<div style="display: flex;justify-content: space-between;align-items: center;padding-bottom: 10px;">
<div>
<a :href="'#' + v.id" :class="v.active ? 'nei_color_active' : 'nei_color'"
@click="scrollTo(v, k, item, index)">{{ v.title }}</a>
</div>
<div>
<img v-if="v.ok" src="@/assets/nei_ok.png" style="width: 15px;height: 15px;">
<img v-else src="@/assets/nei_no.png" style="width: 15px;height: 15px;">
</div>
</div>
</div>
</template>
</t-collapse-panel>
</t-collapse>
</div> -->
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
@ -1050,7 +1019,6 @@ export default {
}, },
data() { data() {
return { return {
id: 0,
isSubmit: false, isSubmit: false,
editorJJ: null, editorJJ: null,
editorCJ: null, editorCJ: null,
@ -1123,20 +1091,10 @@ export default {
introduction: '',// introduction: '',//
//achievement_award: '',// //achievement_award: '',//
achievement_award: '', achievement_award: '',
achievement: [ achievement: [],
{
time: '',
name: '',
organ: ''
}
],
// //
work_experience: '', work_experience: '',
work: [{ work: [],
time: '',
address: '',
book: '',
}],
//other_contacts: '',// //other_contacts: '',//
other_contacts: '', other_contacts: '',
other: [{ other: [{
@ -1355,174 +1313,13 @@ export default {
ok: false, ok: false,
} }
], ],
phoneStatus: '',
phoneTips: '',
id: 0,
}; };
}, },
watch: {
// formData
formData: {
handler(newVal, oldVal) {
console.log('formData发生变化:', newVal);
//1.1
if (newVal.reporting_method == 1) {
this.right_card_list[0].content[0].ok = false;
if (newVal.recommended_cities != '' && newVal.intentional_association_position != '') {
this.right_card_list[0].content[0].ok = true;
}
} else if (newVal.reporting_method == 2) {
this.right_card_list[0].content[0].ok = false;
if (newVal.recommendation_name != '' && newVal.recommendation_content != '' && newVal.intentional_association_position != '') {
this.right_card_list[0].content[0].ok = true;
}
} else {
this.right_card_list[0].content[0].ok = false;
if (newVal.source_channel != '' && newVal.intentional_association_position != '') {
this.right_card_list[0].content[0].ok = true;
}
}
//1.2
if (newVal.cardz_image != '' && newVal.cardf_image != '') {
this.right_card_list[0].content[1].ok = true;
}
//1.3
if (newVal.region_id != '' && newVal.mail_address != '' && newVal.phone != '' && newVal.zip_code != '' && newVal.photo_image != '' && newVal.nikename != '' && newVal.gender != null && newVal.birth_time != '' && newVal.nation != '' && newVal.political != '' && newVal.jiguan != '' && newVal.institution != '' && newVal.education != '' && newVal.academic_degree != '' && newVal.card_number != '' && newVal.work_unit != '' && newVal.unit_position != '') {
this.right_card_list[0].content[2].ok = true;
}
//1111111
if (this.right_card_list[0].content[0].ok && this.right_card_list[0].content[1].ok && this.right_card_list[0].content[2].ok) {
this.right_card_list[0].ok = true;
}
//2.1
if (newVal.introduction != '') {
this.right_card_list[1].content[0].ok = true;
}
//2.2
if (newVal.achievement.length > 0) {
if (newVal.achievement[0].time != '' && newVal.achievement[0].name != '' && newVal.achievement[0].organ != '') {
this.right_card_list[1].content[1].ok = true;
}
}
//2.3
if (newVal.work.length > 0) {
if (newVal.work[0].time != '' && newVal.work[0].address != '' && newVal.work[0].book != '') {
this.right_card_list[1].content[2].ok = true;
}
}//2.4
if (newVal.main_social.length > 0) {
this.right_card_list[1].content[3].ok = true;
} else {
this.right_card_list[1].content[3].ok = false;
}
if (this.right_card_list[1].content[0].ok && this.right_card_list[1].content[1].ok && this.right_card_list[1].content[2].ok && this.right_card_list[1].content[3].ok) {
this.right_card_list[1].ok = true;
}
//3.1
this.right_card_list[2].content[0].ok = false;
if (newVal.enterprise_name != '' && newVal.unified_code != '' && newVal.enterprise_location != '' && newVal.longitude != '' && newVal.dimension != '' && newVal.registered_capital != '' && newVal.if_list != null && newVal.employee != '' && newVal.industry_id != '' && newVal.enterprise_nature != '' && newVal.previous_revenue != '' && newVal.previous_tax != '' && newVal.previous_profit != '' && newVal.previous_donation != '') {
this.right_card_list[2].content[0].ok = true;
}
//3.2
this.right_card_list[2].content[1].ok = false;
if (newVal.business_license_image != '' && newVal.company_image != '' && newVal.enterprise_credit_report != '' && newVal.certificate_of_no_criminal_record != '' && newVal.certificate_of_business_tax_payment_for_the_previous_year != '' && newVal.enterprise_credit_information_report != '') {
this.right_card_list[2].content[1].ok = true;
}
//3.3
if (newVal.other.length > 0) {
if (newVal.other[0].name != '' && newVal.other[0].post != '' && newVal.other[0].phone != '') {
this.right_card_list[2].content[2].ok = true;
}
} else {
this.right_card_list[2].content[2].ok = false;
}
if (this.right_card_list[2].content[0].ok && this.right_card_list[2].content[1].ok && this.right_card_list[2].content[2].ok) {
this.right_card_list[2].ok = true;
}
//4.1
if (newVal.enterprise_Introduction != '' && newVal.introdiction != '' && newVal.qitaqiyerenzhiqingkuang != '' && newVal.enterprise_lvxingzeren != '') {
this.right_card_list[3].content[0].ok = true;
} else {
this.right_card_list[3].content[0].ok = false;
}
//4
if (this.right_card_list[3].content[0].ok) {
this.right_card_list[3].ok = true;
}
//5.1
if (newVal.if_abroad != null) {
this.right_card_list[4].content[0].ok = true;
} else {
this.right_card_list[4].content[0].ok = false;
}
if (newVal.if_abroad == 1) {
if (newVal.abroad_region_arr.length > 0 && newVal.staff_size != '') {
this.right_card_list[4].content[1].ok = true;
}
if (newVal.business_case != '') {
this.right_card_list[4].content[2].ok = true;
}
if (newVal.economic_and_trade_exchanges_with_china != '') {
this.right_card_list[4].content[3].ok = true;
}
}
//5.1
if (newVal.if_party != null) {
this.right_card_list[5].content[0].ok = true;
}
//5.2
if (newVal.if_organization != null) {
this.right_card_list[5].content[1].ok = true;
}
if (this.right_card_list[5].content[0].ok && this.right_card_list[5].content[1].ok) {
this.right_card_list[5].ok = true;
}
if (newVal.if_abroad == 1) {
this.right_card_list[4].ok = true;
// this.right_card_list[4].content.push(
// {
// title: '2.',
// active: false,
// id: 'haiwiquyu',
// ok: false,
// },
// {
// title: '3.',
// active: false,
// id: 'caiwuyunying',
// ok: false,
// },
// {
// title: '4.',
// active: false,
// id: 'duihuahezuo',
// ok: false,
// });
//console.log(this.right_card_list[4].content);
} else {
this.right_card_list[4].content = [
{
title: '1.基本信息',
active: false,
id: 'haiwaijiben',
ok: false,
}
];
if (this.right_card_list[4].content[1].ok && this.right_card_list[4].content[2].ok && this.right_card_list[4].content[3].ok) {
this.right_card_list[4].ok = true;
}
}
},
deep: true //
}
},
beforeDestroy() {
window.removeEventListener('scroll', this.handleScroll);
},
destroyed() {
window.removeEventListener('scroll', this.handleScroll)
},
mounted() { mounted() {
window.addEventListener('scroll', this.handleScroll);
this.id = this.$route.query.id; this.id = this.$route.query.id;
this.show = true;
// //
this.getIndustry(); this.getIndustry();
// //
@ -1643,7 +1440,7 @@ export default {
return; return;
} }
const link = document.createElement('a'); const link = document.createElement('a');
link.href = `https://hnyea.0rui.cn/api/move/pdf_member/exportPdf?openid=${this.formData.openid}`; link.href = `http://192.168.10.140/api/move/pdf_member/exportPdf?openid=${this.formData.openid}`;
link.target = '_blank'; // link.target = '_blank'; //
link.rel = 'noopener noreferrer'; // link.rel = 'noopener noreferrer'; //
link.style.display = 'none'; link.style.display = 'none';
@ -1733,13 +1530,13 @@ export default {
.then((res) => { .then((res) => {
console.log(res); console.log(res);
if (res.code == 0) { if (res.code == 0) {
this.$message.error('获取会员信息失败', 5000); this.$message.error('获取会员信息!', 5000);
} else { } else {
// //
if (res.data.reporting_method == '' || res.data.reporting_method == null) { if (res.data.reporting_method != '' && res.data.reporting_method != null) {
this.formData.reporting_method = null;
} else {
this.formData.reporting_method = parseInt(res.data.reporting_method); this.formData.reporting_method = parseInt(res.data.reporting_method);
} else {
this.formData.reporting_method = null;
} }
// //
this.formData.source_channel = res.data.source_channel; this.formData.source_channel = res.data.source_channel;
@ -1804,11 +1601,7 @@ export default {
if (res.data.achievement_award == '' || res.data.achievement_award == null) { if (res.data.achievement_award == '' || res.data.achievement_award == null) {
this.formData.achievement = []; this.formData.achievement = [];
} else { } else {
try {
this.formData.achievement = JSON.parse(res.data.achievement_award); this.formData.achievement = JSON.parse(res.data.achievement_award);
} catch (e) {
this.formData.achievement = [];
}
} }
// //
this.formData.work_experience = res.data.work_experience; this.formData.work_experience = res.data.work_experience;
@ -1889,11 +1682,7 @@ export default {
if (res.data.enterprise_honor == '' || res.data.enterprise_honor == null) { if (res.data.enterprise_honor == '' || res.data.enterprise_honor == null) {
this.formData.enterprise = []; this.formData.enterprise = [];
} else { } else {
try {
this.formData.enterprise = JSON.parse(res.data.enterprise_honor); this.formData.enterprise = JSON.parse(res.data.enterprise_honor);
} catch (e) {
this.formData.enterprise = [];
}
} }
// //
this.formData.qitaqiyerenzhiqingkuang = res.data.qitaqiyerenzhiqingkuang; this.formData.qitaqiyerenzhiqingkuang = res.data.qitaqiyerenzhiqingkuang;
@ -1925,18 +1714,16 @@ export default {
// //
if (res.data.abroad_region_id == '' || res.data.abroad_region_id == null) { if (res.data.abroad_region_id == '' || res.data.abroad_region_id == null) {
this.formData.abroad_region_id = ''; this.formData.abroad_region_id = '';
this.formData.abroad_region_arr = [];
} else { } else {
//var arr = res.data.abroad_region_id.split(',');
//const result = arr.map((_, i) => arr.slice(0, i + 1).join('-'));
// //
this.formData.abroad_region_arr = res.data.abroad_region_id.split(','); // this.formData.abroad_region_arr = result;
// //
this.formData.abroad_region_id = res.data.abroad_region_id; this.formData.abroad_region_id = res.data.abroad_region_id;
// //
this.inputProps.value = res.data.abroad_region; this.inputProps.value = res.data.abroad_region;
} }
//var arr =
//const result = arr.map((_, i) => arr.slice(0, i + 1).join('-'));
// //
this.formData.staff_size = res.data.staff_size; this.formData.staff_size = res.data.staff_size;
// //
@ -2367,8 +2154,8 @@ export default {
if (this.formData.achievement.length > 0) { if (this.formData.achievement.length > 0) {
this.formData.achievement_award = JSON.stringify(this.formData.achievement); this.formData.achievement_award = JSON.stringify(this.formData.achievement);
} }
this.formData.id = this.id;
console.log(this.formData); console.log(this.formData);
this.formData.member_id = this.id;
this.$request this.$request
.post('/member/update', this.formData) .post('/member/update', this.formData)
.then((res) => { .then((res) => {
@ -2448,140 +2235,40 @@ export default {
phone: '', phone: '',
}); });
}, },
scrollTo(v, k, item, index) {
// First set all cards to inactive
this.right_card_list.forEach((card, i) => {
card.active = (i === index);
if (card.key != 7) {
card.content.forEach(content => {
content.active = false;
});
}
});
// Then set the specific content item to active
this.right_card_list[index].content[k].active = true;
},
handleScroll() {
const scrollY = window.scrollY || document.documentElement.scrollTop;
//console.log(scrollY);
if (scrollY >= 0 && scrollY <= 150) {
this.collapse = [1];
this.clearActive();
this.right_card_list[0].active = true;
this.right_card_list[0].content[0].active = true;
} else if (scrollY > 150 && scrollY <= 305) {
this.collapse = [1];
this.clearActive();
this.right_card_list[0].active = true;
this.right_card_list[0].content[1].active = true;
} else if (scrollY > 305 && scrollY <= 555) {
this.collapse = [1];
this.clearActive();
this.right_card_list[0].active = true;
this.right_card_list[0].content[2].active = true;
} else if (scrollY > 555 && scrollY <= 1181) {
this.collapse = [2];
this.clearActive();
this.right_card_list[1].active = true;
this.right_card_list[1].content[0].active = true;
} else if (scrollY > 1181 && scrollY <= 1639) {
this.collapse = [2];
this.clearActive();
this.right_card_list[1].active = true;
this.right_card_list[1].content[1].active = true;
} else if (scrollY > 1639 && scrollY <= 1842) {
this.collapse = [2];
this.clearActive();
this.right_card_list[1].active = true;
this.right_card_list[1].content[2].active = true;
} else if (scrollY > 1842 && scrollY <= 1957) {
this.collapse = [2];
this.clearActive();
this.right_card_list[1].active = true;
this.right_card_list[1].content[3].active = true;
} else if (scrollY > 1700 && scrollY <= 2455) {
this.collapse = [3];
this.clearActive();
this.right_card_list[2].active = true;
this.right_card_list[2].content[0].active = true;
} else if (scrollY > 2455 && scrollY <= 2894) {
this.collapse = [3];
this.clearActive();
this.right_card_list[2].active = true;
this.right_card_list[2].content[1].active = true;
} else if (scrollY > 2894 && scrollY <= 3331) {
this.collapse = [3];
this.clearActive();
this.right_card_list[2].active = true;
this.right_card_list[2].content[2].active = true;
} else if (scrollY > 3243 && scrollY <= 4900) {
this.collapse = [4];
this.clearActive();
this.right_card_list[3].active = true;
this.right_card_list[3].content[0].active = true;
} else if (scrollY > 4900 && scrollY <= 4975) {
this.collapse = [5];
this.clearActive();
this.right_card_list[4].active = true;
this.right_card_list[4].content[0].active = true;
} else if (scrollY > 4975 && scrollY <= 5112) {
this.collapse = [5];
this.clearActive();
this.right_card_list[4].active = true;
this.right_card_list[4].content[1].active = true;
} else if (scrollY > 5112 && scrollY <= 5246) {
this.collapse = [5];
this.clearActive();
this.right_card_list[4].active = true;
this.right_card_list[4].content[2].active = true;
} else if (scrollY > 5246 && scrollY <= 5723) {
this.collapse = [5];
this.clearActive();
this.right_card_list[4].active = true;
this.right_card_list[4].content[3].active = true;
} else if (scrollY > 5723 && scrollY <= 6340) {
this.collapse = [6];
this.clearActive();
this.right_card_list[5].active = true;
this.right_card_list[5].content[0].active = true;
} else if (scrollY > 6340 && scrollY <= 6506) {
this.collapse = [6];
this.clearActive();
this.right_card_list[5].active = true;
this.right_card_list[5].content[1].active = true;
}
},
clearActive() {
this.right_card_list.forEach(item => {
item.active = false;
if (item.key != 7) {
item.content.forEach(content => {
content.active = false;
});
}
});
},
getExt(url) { getExt(url) {
if (url == null) { if (url == null) {
return ''; return '';
} }
return url.split('.').pop(); return url.split('.').pop();
}, },
scrollToSubmit(item) { checkPhone() {
console.log(item); if (this.formData.phone == '') {
if (item.key == 7) { this.phoneStatus = 'error';
this.collapse = [7]; this.phoneTips = '请输入手机号';
this.clearActive(); this.right_card_list[0].content[2].ok = false;
this.right_card_list[6].active = true; return;
} }
if (!/^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$/.test(this.formData.phone)) {
this.phoneStatus = 'error';
this.phoneTips = '请输入正确的手机号';
this.right_card_list[0].content[2].ok = false;
return;
}
this.phoneStatus = '';
this.phoneTips = '';
},
handleChange1(value, context) {
const { node } = context;
const path = node.getPath();
const labelPath = path.map((item) => item.label).join(' / ');
this.inputProps.value = labelPath;
}, },
}, },
}; };
</script> </script>
<style src="@wangeditor/editor/dist/css/style.css"></style> <style src="@wangeditor/editor/dist/css/style.css"></style>
<style lang="less"> <style lang="less" scoped>
.result-success { .result-success {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -2769,4 +2456,29 @@ export default {
.input_box_end { .input_box_end {
width: 565px; width: 565px;
} }
.reg_box {
width: 88%;
}
.right_card_box {
background-color: #fff;
border-radius: 10px;
width: 12%;
height: 80%;
position: fixed;
right: 0;
overflow-y: auto;
}
@media screen and (max-width: 1440px) {
.reg_box {
width: 84%;
}
.right_card_box {
width: 16%;
right: 0px;
}
}
</style> </style>

View File

@ -344,30 +344,49 @@
<tbody> <tbody>
<tr> <tr>
<td> <td>
<div v-if="info.business_license_image == '' || info.business_license_image == null">
未上传
</div>
<div v-else>
<a v-if="getImage(info.business_license_image) == 'pdf'" <a v-if="getImage(info.business_license_image) == 'pdf'"
:href="$store.state.user.apiUrl + info.business_license_image" target="_blank">查看</a> :href="$store.state.user.apiUrl + info.business_license_image" target="_blank">查看</a>
<a v-else :href="$store.state.user.apiUrl + info.business_license_image" target="_blank"> <a v-else :href="$store.state.user.apiUrl + info.business_license_image" target="_blank">
<img :src="$store.state.user.apiUrl + info.business_license_image" <img :src="$store.state.user.apiUrl + info.business_license_image"
style="width: 100px;max-height: 200px;object-fit: cover;"> style="width: 100px;max-height: 200px;object-fit: cover;">
</a> </a>
</div>
</td> </td>
<td> <td>
<div v-if="info.company_image == '' || info.company_image == null">
未上传
</div>
<div v-else>
<a v-if="getImage(info.company_image) == 'pdf'" <a v-if="getImage(info.company_image) == 'pdf'"
:href="$store.state.user.apiUrl + info.company_image" target="_blank">查看</a> :href="$store.state.user.apiUrl + info.company_image" target="_blank">查看</a>
<a v-else :href="$store.state.user.apiUrl + info.company_image" target="_blank"> <a v-else :href="$store.state.user.apiUrl + info.company_image" target="_blank">
<img :src="$store.state.user.apiUrl + info.company_image" <img :src="$store.state.user.apiUrl + info.company_image"
style="width: 100px;max-height: 200px;object-fit: cover;"> style="width: 100px;max-height: 200px;object-fit: cover;">
</a> </a>
</div>
</td> </td>
<td> <td>
<div v-if="info.enterprise_credit_report == '' || info.enterprise_credit_report == null">
未上传
</div>
<div v-else>
<a v-if="getImage(info.enterprise_credit_report) == 'pdf'" <a v-if="getImage(info.enterprise_credit_report) == 'pdf'"
:href="$store.state.user.apiUrl + info.enterprise_credit_report" target="_blank">查看</a> :href="$store.state.user.apiUrl + info.enterprise_credit_report" target="_blank">查看</a>
<a v-else :href="$store.state.user.apiUrl + info.enterprise_credit_report" target="_blank"> <a v-else :href="$store.state.user.apiUrl + info.enterprise_credit_report" target="_blank">
<img :src="$store.state.user.apiUrl + info.enterprise_credit_report" <img :src="$store.state.user.apiUrl + info.enterprise_credit_report"
style="width: 100px;max-height: 200px;object-fit: cover;"> style="width: 100px;max-height: 200px;object-fit: cover;">
</a> </a>
</div>
</td> </td>
<td> <td>
<div v-if="info.certificate_of_no_criminal_record == '' || info.certificate_of_no_criminal_record == null">
未上传
</div>
<div v-else>
<a v-if="getImage(info.certificate_of_no_criminal_record) == 'pdf'" <a v-if="getImage(info.certificate_of_no_criminal_record) == 'pdf'"
:href="$store.state.user.apiUrl + info.certificate_of_no_criminal_record" :href="$store.state.user.apiUrl + info.certificate_of_no_criminal_record"
target="_blank">查看</a> target="_blank">查看</a>
@ -376,8 +395,13 @@
<img :src="$store.state.user.apiUrl + info.certificate_of_no_criminal_record" <img :src="$store.state.user.apiUrl + info.certificate_of_no_criminal_record"
style="width: 100px;max-height: 200px;object-fit: cover;"> style="width: 100px;max-height: 200px;object-fit: cover;">
</a> </a>
</div>
</td> </td>
<td> <td>
<div v-if="info.certificate_of_business_tax_payment_for_the_previous_year == '' || info.certificate_of_business_tax_payment_for_the_previous_year == null">
未上传
</div>
<div v-else>
<a v-if="getImage(info.certificate_of_business_tax_payment_for_the_previous_year) == 'pdf'" <a v-if="getImage(info.certificate_of_business_tax_payment_for_the_previous_year) == 'pdf'"
:href="$store.state.user.apiUrl + info.certificate_of_business_tax_payment_for_the_previous_year" :href="$store.state.user.apiUrl + info.certificate_of_business_tax_payment_for_the_previous_year"
target="_blank">查看</a> target="_blank">查看</a>
@ -388,8 +412,13 @@
:src="$store.state.user.apiUrl + info.certificate_of_business_tax_payment_for_the_previous_year" :src="$store.state.user.apiUrl + info.certificate_of_business_tax_payment_for_the_previous_year"
style="width: 100px;max-height: 200px;object-fit: cover;"> style="width: 100px;max-height: 200px;object-fit: cover;">
</a> </a>
</div>
</td> </td>
<td> <td>
<div v-if="info.enterprise_credit_information_report == '' || info.enterprise_credit_information_report == null">
未上传
</div>
<div v-else>
<a v-if="getImage(info.enterprise_credit_information_report) == 'pdf'" <a v-if="getImage(info.enterprise_credit_information_report) == 'pdf'"
:href="$store.state.user.apiUrl + info.enterprise_credit_information_report" :href="$store.state.user.apiUrl + info.enterprise_credit_information_report"
target="_blank">查看</a> target="_blank">查看</a>
@ -398,6 +427,7 @@
<img :src="$store.state.user.apiUrl + info.enterprise_credit_information_report" <img :src="$store.state.user.apiUrl + info.enterprise_credit_information_report"
style="width: 100px;max-height: 200px;object-fit: cover;"> style="width: 100px;max-height: 200px;object-fit: cover;">
</a> </a>
</div>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -635,7 +665,14 @@ export default {
key.work_experience = key.work_experience != '' ? JSON.parse(key.work_experience) : ''; key.work_experience = key.work_experience != '' ? JSON.parse(key.work_experience) : '';
key.other_contacts = key.other_contacts != '' ? JSON.parse(key.other_contacts) : ''; key.other_contacts = key.other_contacts != '' ? JSON.parse(key.other_contacts) : '';
key.tuanweifuzerenxinxi = key.tuanweifuzerenxinxi != '' ? JSON.parse(key.tuanweifuzerenxinxi) : ''; key.tuanweifuzerenxinxi = key.tuanweifuzerenxinxi != '' ? JSON.parse(key.tuanweifuzerenxinxi) : '';
key.achievement_award = key.achievement_award != '' ? JSON.parse(key.achievement_award) : '';
try {
key.achievement_award=JSON.parse(key.achievement_award);
key.enterprise_honor = JSON.parse(key.enterprise_honor);
} catch (error) {
key.achievement_award='';
key.enterprise_honor ='';
}
key.enterprise_honor = key.enterprise_honor != '' ? JSON.parse(key.enterprise_honor) : ''; key.enterprise_honor = key.enterprise_honor != '' ? JSON.parse(key.enterprise_honor) : '';
key.party_json = key.party_json != '' ? JSON.parse(key.party_json) : ''; key.party_json = key.party_json != '' ? JSON.parse(key.party_json) : '';
this.info = key; this.info = key;

View File

@ -2,6 +2,7 @@ import axios from 'axios';
import store from '../store'; import store from '../store';
//const API_HOST = env === 'mock' ? '/' : proxy[env].API; // 如果是mock模式 就不配置host 会走本地Mock拦截 //const API_HOST = env === 'mock' ? '/' : proxy[env].API; // 如果是mock模式 就不配置host 会走本地Mock拦截
//const API_HOST = 'https://hnyea.0rui.cn/api/'; //const API_HOST = 'https://hnyea.0rui.cn/api/';
//const API_HOST = 'http://192.168.10.140/api/';
const API_HOST = '/api/'; const API_HOST = '/api/';
const CODE = { const CODE = {
LOGIN_TIMEOUT: 1000000, LOGIN_TIMEOUT: 1000000,