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

View File

@ -1,6 +1,6 @@
<template>
<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>
<img src="https://hnyea.0rui.cn/uploads/1/20240820/7c06389c1dd2fbd4f2d191cdb6c67bb1.png" style="width: 100%"/>
</div> -->
@ -77,8 +77,10 @@
<div class="sfz">
<img v-if="formData.cardz_image == ''" src="@/assets/card1.png"
style="width: 220px; height: 124px;">
<img v-if="formData.cardz_image != ''" :src="$store.state.user.apiUrl + formData.cardz_image"
style="width: 220px; height: 124px;object-fit: cover;" />
<div class="sfzzheng">
<img v-if="formData.cardz_image != ''" :src="$store.state.user.apiUrl + formData.cardz_image"
style="width: 220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</div>
</div>
</t-upload>
</div>
@ -92,8 +94,10 @@
<div class="sfz">
<img v-if="formData.cardf_image == ''" src="@/assets/card2.png"
style="width: 220px; height: 124px;">
<img v-if="formData.cardf_image != ''" :src="$store.state.user.apiUrl + formData.cardf_image"
style="width: 220px; height: 124px;object-fit: cover;" />
<div class="sfzzheng">
<img v-if="formData.cardf_image != ''" :src="$store.state.user.apiUrl + formData.cardf_image"
style="width: 220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</div>
</div>
</t-upload>
</div>
@ -112,8 +116,10 @@
<div class="sfz">
<img v-if="formData.photo_image == ''" src="@/assets/card3.png"
style="width: 220px; height: 310px" />
<img v-if="formData.photo_image != ''" :src="$store.state.user.apiUrl + formData.photo_image"
style="width: 220px; height: 310px" />
<div class="zhengjian">
<img v-if="formData.photo_image != ''" :src="$store.state.user.apiUrl + formData.photo_image"
style="width: 220px; height: 310px;object-fit: cover;border-radius: 5px;" />
</div>
</div>
</t-upload>
</div>
@ -207,7 +213,8 @@
<t-input size="large" v-model="formData.zip_code" placeholder="请输入邮编" class="input_box" />
</t-form-item>
<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 label="微信">
<t-input size="large" v-model="formData.wx_number" placeholder="请输入微信" class="input_box" />
@ -453,12 +460,15 @@
<div class="sfz">
<img v-if="formData.business_license_image == ''" src="@/assets/c4.png"
style="width:220px; height: 124px" />
<img
v-if="formData.business_license_image != '' && getExt(formData.business_license_image) != 'pdf'"
:src="$store.state.user.apiUrl + formData.business_license_image"
style="width:220px; height: 124px;object-fit: cover;" />
<div v-if="getExt(formData.business_license_image) == 'pdf'" style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
<div class="sfzzheng"
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;" />
</div>
<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>
</t-upload>
@ -473,8 +483,10 @@
:format-response="(response) => formatResponse(response, 6)">
<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="$store.state.user.apiUrl + formData.company_image"
style="width:220px; height: 124px;object-fit: cover;" />
<div class="sfzzheng">
<img v-if="formData.company_image != ''" :src="$store.state.user.apiUrl + formData.company_image"
style="width:220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</div>
</div>
</t-upload>
</div>
@ -489,14 +501,15 @@
<div class="sfz">
<img v-if="formData.enterprise_credit_report == ''" src="@/assets/c3.png"
style="width:220px; height: 124px" />
<img
v-if="formData.enterprise_credit_report != '' && getExt(formData.enterprise_credit_report) != 'pdf'"
:src="$store.state.user.apiUrl + formData.enterprise_credit_report"
style="width:220px; height: 124px;object-fit: cover;" />
<div v-if="getExt(formData.enterprise_credit_report) == 'pdf'" style="width: 220px; height: 124px;">
<div class="sfzzheng"
v-if="formData.enterprise_credit_report != '' && getExt(formData.enterprise_credit_report) != 'pdf'">
<img :src="$store.state.user.apiUrl + formData.enterprise_credit_report"
style="width:220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</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;" />
</div>
</div>
</t-upload>
</div>
@ -511,11 +524,12 @@
<div class="sfz">
<img v-if="formData.certificate_of_no_criminal_record == ''" src="@/assets/c1.png"
style="width:220px; height: 124px" />
<img
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"
style="width:220px; height: 124px;object-fit: cover;" />
<div v-if="getExt(formData.certificate_of_no_criminal_record) == 'pdf'"
<div class="sfzzheng"
v-if="formData.certificate_of_no_criminal_record != '' && getExt(formData.certificate_of_no_criminal_record) != 'pdf'">
<img :src="$store.state.user.apiUrl + formData.certificate_of_no_criminal_record"
style="width:220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</div>
<div class="sfzzheng" v-if="getExt(formData.certificate_of_no_criminal_record) == 'pdf'"
style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div>
@ -533,11 +547,15 @@
<div class="sfz">
<img v-if="formData.certificate_of_business_tax_payment_for_the_previous_year == ''"
src="@/assets/c1.png" style="width:220px; height: 124px" />
<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"
style="width:220px; height: 124px;object-fit: cover;" />
<div v-if="getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) == 'pdf'"
<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
:src="$store.state.user.apiUrl + formData.certificate_of_business_tax_payment_for_the_previous_year"
style="width:220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</div>
<div class="sfzzheng"
v-if="getExt(formData.certificate_of_business_tax_payment_for_the_previous_year) == 'pdf'"
style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div>
@ -555,11 +573,12 @@
<div class="sfz">
<img v-if="formData.enterprise_credit_information_report == ''" src="@/assets/c1.png"
style="width:220px; height: 124px" />
<img
v-if="formData.enterprise_credit_information_report != '' && getExt(formData.enterprise_credit_information_report) != 'pdf'"
:src="$store.state.user.apiUrl + formData.enterprise_credit_information_report"
style="width:220px; height: 124px;object-fit: cover;" />
<div v-if="getExt(formData.enterprise_credit_information_report) == 'pdf'"
<div class="sfzzheng"
v-if="formData.enterprise_credit_information_report != '' && getExt(formData.enterprise_credit_information_report) != 'pdf'">
<img :src="$store.state.user.apiUrl + formData.enterprise_credit_information_report"
style="width:220px; height: 124px;object-fit: cover;border-radius: 5px;" />
</div>
<div class="sfzzheng" v-if="getExt(formData.enterprise_credit_information_report) == 'pdf'"
style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div>
@ -582,7 +601,9 @@
<t-input size="large" v-model="item.post" placeholder="请输入职务" />
</t-form-item>
<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 label=" ">
<div>
@ -643,18 +664,18 @@
</div>
<div style="display: flex; justify-content: start;margin-top: 10px;">
<div style="text-align: center">
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" theme="custom"
:data="{ association_id: 1 }" accept="image/*,.pdf"
<t-upload :allowUploadDuplicateFile="true" :action="$store.state.user.apiUrl + '/api/common/upload'"
theme="custom" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 5)">
<div class="sfz" style="display: flex;justify-content: start;">
<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;">
<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;">
<div style="position: absolute;left: 0;right: 0;top:35%;bottom: 0;margin: auto;">
:key="index"
style="margin-right: 20px;width: 220px; height: 293px;position: relative;border-radius: 5px;overflow: hidden;">
<div @click.stop="delZl(index)" class="rongyu">
<!-- <div style="position: absolute;left: 0;right: 0;top:35%;bottom: 0;margin: auto;">
<img src="@/assets/del.png" style="width: 30px;height: 30px;">
<div style="color: #ffffff;font-size: 14px;">删除文件</div>
</div>
</div> -->
</div>
<FilePowerpointIcon v-if="getExt(item) == 'pdf'"
style="width: 100%; height: 100%;object-fit: cover;" />
@ -736,8 +757,9 @@
<span style="color: #d54941;">*</span>
<span>国家/城市</span>
</div>
<t-cascader :load="load" size="large" :input-props="inputProps" v-model="formData.abroad_region_arr"
value-type="full" :options="internationa_list" style="width:500px;"></t-cascader>
<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>
</div>
<div>
<div style="margin-bottom: 10px;">
@ -864,7 +886,9 @@
<t-input size="large" v-model="item.party_zhiwu" placeholder="请输入党务职位" />
</t-form-item>
<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 label=" ">
<div>
@ -937,7 +961,9 @@
<t-input size="large" v-model="item.tun_job" placeholder="请输入团委职务" />
</t-form-item>
<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 label=" ">
<div>
@ -1005,14 +1031,20 @@
: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 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-else src="@/assets/top_no.png" style="width: 15px;height: 15px;">
</div>
</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 style="display: flex;justify-content: space-between;align-items: center;padding-bottom: 10px;width: 159px;">
<div>
<a :href="'#' + v.id" :class="v.active ? 'nei_color_active' : 'nei_color'"
@click="scrollTo(v, k, item, index)">{{ v.title }}</a>
@ -1120,20 +1152,10 @@ export default {
introduction: '',//
//achievement_award: '',//
achievement_award: '',
achievement: [
{
time: '',
name: '',
organ: ''
}
],
achievement: [],
//
work_experience: '',
work: [{
time: '',
address: '',
book: '',
}],
work: [],
//other_contacts: '',//
other_contacts: '',
other: [{
@ -1352,6 +1374,8 @@ export default {
ok: false,
}
],
phoneStatus: '',
phoneTips: '',
};
},
watch: {
@ -1396,16 +1420,17 @@ export default {
}
//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;
}
this.right_card_list[1].content[1].ok = true;
} else {
this.right_card_list[1].content[1].ok = false;
}
//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
this.right_card_list[1].content[2].ok = true;
} else {
this.right_card_list[1].content[2].ok = false;
}
//2.4
if (newVal.main_social.length > 0) {
this.right_card_list[1].content[3].ok = true;
} else {
@ -1418,11 +1443,15 @@ export default {
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;
} else {
this.right_card_list[2].content[0].ok = false;
}
//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;
} else {
this.right_card_list[2].content[1].ok = false;
}
//3.3
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) {
this.right_card_list[2].ok = true;
} else {
this.right_card_list[2].ok = false;
}
//4.1
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;
}
if (newVal.if_abroad == 1) {
if (newVal.abroad_region_arr.length > 0 || newVal.abroad_region_id != '' && newVal.staff_size != '') {
this.right_card_list[4].content[1].ok = true;
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;
} else {
this.right_card_list[4].content[1].ok = false;
}
} else {
this.right_card_list[4].content[1].ok = false;
}
if (newVal.business_case != '') {
this.right_card_list[4].content[2].ok = true;
@ -1464,37 +1501,37 @@ export default {
}
//5.1
if (newVal.if_party != null) {
this.right_card_list[5].content[0].ok = true;
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;
} else {
this.right_card_list[5].content[0].ok = false;
}
} else {
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 (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;
} 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) {
this.right_card_list[5].ok = true;
} else {
this.right_card_list[5].ok = false;
}
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 = [
{
@ -1504,9 +1541,11 @@ export default {
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;
}
}
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;
} else {
this.right_card_list[4].ok = false;
}
},
deep: true //
@ -1918,7 +1957,7 @@ export default {
//var arr = res.data.abroad_region_id.split(',');
//const result = arr.map((_, i) => arr.slice(0, i + 1).join('-'));
//
// this.formData.abroad_region_arr = result;
// this.formData.abroad_region_arr = result;
//
this.formData.abroad_region_id = res.data.abroad_region_id;
//
@ -2112,6 +2151,11 @@ export default {
if (this.formData.phone == '' || this.formData.phone == null) {
this.$message.error('请输入手机号码!');
return;
} else {
if (!this.checkPhone()) {
this.$message.error('请输入正确的手机号码!');
return;
}
}
if (this.formData.region_id == '' || this.formData.region_id == null) {
this.$message.error('请选择所在区域!');
@ -2244,6 +2288,13 @@ export default {
this.$message.error('请输入紧急联系人!');
return;
} 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);
}
if (this.formData.enterprise_Introduction == null || this.formData.enterprise_Introduction == '') {
@ -2314,6 +2365,13 @@ export default {
this.$message.error('请输入党委负责人信息!');
return;
} 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);
}
}
@ -2348,6 +2406,12 @@ export default {
this.$message.error('请输入团组织负责人信息!');
return;
} 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);
}
}
@ -2435,7 +2499,6 @@ export default {
});
},
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) {
@ -2444,8 +2507,6 @@ export default {
});
}
});
// Then set the specific content item to active
this.right_card_list[index].content[k].active = true;
},
handleScroll() {
@ -2560,14 +2621,69 @@ export default {
this.collapse = [7];
this.clearActive();
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>
<style src="@wangeditor/editor/dist/css/style.css"></style>
<style lang="less">
<style lang="less" scoped>
.result-success {
display: flex;
flex-direction: column;
@ -2757,7 +2873,7 @@ export default {
}
.reg_box {
width: 88%;
width: 87%;
}
.right_card_box {
@ -2766,16 +2882,75 @@ export default {
width: 12%;
height: 80%;
position: fixed;
right: 0;
right: 10px;
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) {
.reg_box {
width: 84%;
}
.right_card_box{
.right_card_box {
width: 16%;
right: 0px;
right: 10px;
}
}
</style>

View File

@ -1,9 +1,10 @@
<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>
<img src="https://hnyea.0rui.cn/uploads/1/20240820/7c06389c1dd2fbd4f2d191cdb6c67bb1.png" style="width: 100%"/>
</div> -->
<div>
<div class="reg_box" style="width: 100%;">
<div>
<div style="background-color: #fff;border-radius: 10px;padding: 20px;">
<div
@ -74,10 +75,10 @@
:data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 1)">
<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;">
<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>
</t-upload>
</div>
@ -89,10 +90,10 @@
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" :data="{ association_id: 1 }"
theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 2)">
<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;">
<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>
</t-upload>
</div>
@ -109,10 +110,10 @@
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" :data="{ association_id: 1 }"
theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 0)">
<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" />
<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>
</t-upload>
</div>
@ -122,7 +123,7 @@
">
<img :src="$store.state.user.apiUrl + formData.photo_image" style="width: 200px; display: block"
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> -->
<t-form layout="inline" labelAlign="top">
@ -206,7 +207,8 @@
<t-input size="large" v-model="formData.zip_code" placeholder="请输入邮编" class="input_box" />
</t-form-item>
<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 label="微信">
<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="请输入固定电话"
class="input_box" />
</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"
class="input_box"></t-cascader>
</t-form-item>
@ -268,7 +270,7 @@
</t-form-item>
<t-form-item label=" ">
<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;" />
</div>
</t-form-item>
@ -294,7 +296,7 @@
</t-form-item>
<t-form-item label=" ">
<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;" />
</div>
</t-form-item>
@ -450,12 +452,12 @@
:data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 3)">
<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" />
<img
v-if="formData.business_license_image != '' && getExt(formData.business_license_image) != 'pdf'"
: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;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div>
@ -471,10 +473,9 @@
:data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 6)">
<div class="sfz">
<img v-if="formData.company_image == ''" src="/src/assets/c5.png"
style="width:220px; height: 124px" />
<img v-if="formData.company_image == ''" src="@/assets/c5.png" style="width:220px; height: 124px" />
<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>
</t-upload>
</div>
@ -487,12 +488,12 @@
:data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 7)">
<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" />
<img
v-if="formData.enterprise_credit_report != '' && getExt(formData.enterprise_credit_report) != 'pdf'"
: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;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
</div>
@ -509,12 +510,12 @@
:data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 9)">
<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" />
<img
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"
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'"
style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
@ -532,11 +533,11 @@
:format-response="(response) => formatResponse(response, 10)">
<div class="sfz">
<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
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"
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'"
style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
@ -553,12 +554,12 @@
:data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 8)">
<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" />
<img
v-if="formData.enterprise_credit_information_report != '' && getExt(formData.enterprise_credit_information_report) != 'pdf'"
: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'"
style="width: 220px; height: 124px;">
<FilePowerpointIcon style="width: 100%; height: 100%;object-fit: cover;" />
@ -586,7 +587,7 @@
</t-form-item>
<t-form-item label=" ">
<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;" />
</div>
</t-form-item>
@ -643,7 +644,7 @@
</div>
<div style="display: flex; justify-content: start;margin-top: 10px;">
<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"
:format-response="(response) => formatResponse(response, 5)">
<div class="sfz" style="display: flex;justify-content: start;">
@ -652,16 +653,16 @@
<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;">
<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>
</div>
<FilePowerpointIcon v-if="getExt(item) == 'pdf'"
style="width: 100%; height: 100%;object-fit: cover;" />
<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>
<img src="/src/assets/card4.png" style="width: 220px;height: 293px;" />
<img src="@/assets/card4.png" style="width: 220px;height: 293px;" />
</div>
</t-upload>
</div>
@ -736,7 +737,7 @@
<span style="color: #d54941;">*</span>
<span>国家/城市</span>
</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>
</div>
<div>
@ -868,7 +869,7 @@
</t-form-item>
<t-form-item label=" ">
<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;" />
</div>
</t-form-item>
@ -941,7 +942,7 @@
</t-form-item>
<t-form-item label=" ">
<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;" />
</div>
</t-form-item>
@ -952,7 +953,7 @@
</div>
</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 size="large" @click="download" theme="warning" style="margin-left: 50px">生成PDF</t-button> -->
</div>
@ -974,38 +975,29 @@
</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 class="show-preview"
:style="{ width: previews.w + 'px', height: previews.h + 'px', overflow: 'hidden', margin: '5px' }">
<div :style="previews.div" class="preview">
<img :src="previews.url" :style="previews.img" />
</div>
</div>
</div>
<div class="footer-btn">
<div class="scope-btn">
<label class="btn" for="uploads">上传图片</label>
<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 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>
</template>
<script lang="ts">
@ -1094,25 +1086,15 @@ export default {
phone: '',//
wx_number: '',//
fixed_telephone: '',//
region_id: [],//
region_id: null,//
mail_address: '',//
introduction: '',//
//achievement_award: '',//
achievement_award: '',
achievement: [
{
time: '',
name: '',
organ: ''
}
],
achievement: [],
//
work_experience: '',
work: [{
time: '',
address: '',
book: '',
}],
work: [],
//other_contacts: '',//
other_contacts: '',
other: [{
@ -1331,161 +1313,17 @@ export default {
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() {
//
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;
//
console.log(this.$route.query.id);
this.getIndustry();
//
this.getRegion();
//
this.getInternationa('');
this.getUserList();
//this.getInfo();
},
@ -1599,7 +1437,7 @@ export default {
return;
}
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.rel = 'noopener noreferrer'; //
link.style.display = 'none';
@ -1607,6 +1445,21 @@ export default {
link.click();
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() {
this.$request
.post('/region')
@ -1743,7 +1596,7 @@ export default {
this.$message.error('请输入手机号码!');
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('请选择所在区域!');
return;
}
@ -1997,7 +1850,7 @@ export default {
// setTimeout(() => {
// this.$router.push(`/login?id=`+this.id);
// }, 1000);
this.getInfo();
//this.getInfo();
})
.catch((e) => {
console.log(e);
@ -2064,135 +1917,33 @@ export default {
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) {
if (url == null) {
return '';
}
return url.split('.').pop();
},
scrollToSubmit(item) {
console.log(item);
if (item.key == 7) {
this.collapse = [7];
this.clearActive();
this.right_card_list[6].active = true;
checkPhone() {
if (this.formData.phone == '') {
this.phoneStatus = 'error';
this.phoneTips = '请输入手机号';
this.right_card_list[0].content[2].ok = false;
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>
<div v-if="show"
style="display: flex;justify-content: space-between;gap:20px;">
<div style="display: flex;justify-content: space-between;gap:20px;">
<!-- <div>
<img src="https://hnyea.0rui.cn/uploads/1/20240820/7c06389c1dd2fbd4f2d191cdb6c67bb1.png" style="width: 100%"/>
</div> -->
<div>
<div class="reg_box" style="width: 100%;">
<div>
<div style="background-color: #fff;border-radius: 10px;padding: 20px;">
<div
@ -75,7 +74,7 @@
:data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 1)">
<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;">
<img v-if="formData.cardz_image != ''" :src="$store.state.user.apiUrl + formData.cardz_image"
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 }"
theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 2)">
<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;">
<img v-if="formData.cardf_image != ''" :src="$store.state.user.apiUrl + formData.cardf_image"
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 }"
theme="custom" accept="image/*" :format-response="(response) => formatResponse(response, 0)">
<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" />
<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>
</t-upload>
</div>
@ -123,7 +122,7 @@
">
<img :src="$store.state.user.apiUrl + formData.photo_image" style="width: 200px; display: block"
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> -->
<t-form layout="inline" labelAlign="top">
@ -207,7 +206,8 @@
<t-input size="large" v-model="formData.zip_code" placeholder="请输入邮编" class="input_box" />
</t-form-item>
<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 label="微信">
<t-input size="large" v-model="formData.wx_number" placeholder="请输入微信" class="input_box" />
@ -269,7 +269,7 @@
</t-form-item>
<t-form-item label=" ">
<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;" />
</div>
</t-form-item>
@ -295,7 +295,7 @@
</t-form-item>
<t-form-item label=" ">
<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;" />
</div>
</t-form-item>
@ -451,7 +451,7 @@
:data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 3)">
<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" />
<img
v-if="formData.business_license_image != '' && getExt(formData.business_license_image) != 'pdf'"
@ -472,8 +472,7 @@
:data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 6)">
<div class="sfz">
<img v-if="formData.company_image == ''" src="/src/assets/c5.png"
style="width:220px; height: 124px" />
<img v-if="formData.company_image == ''" src="@/assets/c5.png" style="width:220px; height: 124px" />
<img v-if="formData.company_image != ''" :src="$store.state.user.apiUrl + formData.company_image"
style="width:220px; height: 124px;object-fit: cover;" />
</div>
@ -488,7 +487,7 @@
:data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 7)">
<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" />
<img
v-if="formData.enterprise_credit_report != '' && getExt(formData.enterprise_credit_report) != 'pdf'"
@ -510,7 +509,7 @@
:data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 9)">
<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" />
<img
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)">
<div class="sfz">
<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
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"
@ -554,7 +553,7 @@
:data="{ association_id: 1 }" accept="image/*"
:format-response="(response) => formatResponse(response, 8)">
<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" />
<img
v-if="formData.enterprise_credit_information_report != '' && getExt(formData.enterprise_credit_information_report) != 'pdf'"
@ -587,7 +586,7 @@
</t-form-item>
<t-form-item label=" ">
<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;" />
</div>
</t-form-item>
@ -644,8 +643,8 @@
</div>
<div style="display: flex; justify-content: start;margin-top: 10px;">
<div style="text-align: center">
<t-upload :action="$store.state.user.apiUrl + '/api/common/upload'" theme="custom"
:data="{ association_id: 1 }" accept="image/*,.pdf"
<t-upload :allowUploadDuplicateFile="true" :action="$store.state.user.apiUrl + '/api/common/upload'"
theme="custom" :data="{ association_id: 1 }" accept="image/*,.pdf"
:format-response="(response) => formatResponse(response, 5)">
<div class="sfz" style="display: flex;justify-content: start;">
<div v-if="formData.enterprise.length > 0" v-for="(item, index) in formData.enterprise"
@ -653,7 +652,7 @@
<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;">
<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>
</div>
@ -662,7 +661,7 @@
<img v-if="getExt(item) != 'pdf'" :src="$store.state.user.apiUrl + item"
style="width: 100%; height: 100%;object-fit: cover;" />
</div>
<img src="/src/assets/card4.png" style="width: 220px;height: 293px;" />
<img src="@/assets/card4.png" style="width: 220px;height: 293px;" />
</div>
</t-upload>
</div>
@ -737,8 +736,9 @@
<span style="color: #d54941;">*</span>
<span>国家/城市</span>
</div>
<t-cascader :load="load" size="large" :input-props="inputProps" v-model="formData.abroad_region_arr"
value-type="full" :options="internationa_list" style="width:500px;"></t-cascader>
<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>
</div>
<div>
<div style="margin-bottom: 10px;">
@ -869,7 +869,7 @@
</t-form-item>
<t-form-item label=" ">
<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;" />
</div>
</t-form-item>
@ -942,7 +942,7 @@
</t-form-item>
<t-form-item label=" ">
<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;" />
</div>
</t-form-item>
@ -953,7 +953,7 @@
</div>
</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 size="large" @click="download" theme="warning" style="margin-left: 50px">生成PDF</t-button> -->
</div>
@ -998,37 +998,6 @@
</div>
</t-dialog> -->
</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>
</template>
<script lang="ts">
@ -1050,7 +1019,6 @@ export default {
},
data() {
return {
id: 0,
isSubmit: false,
editorJJ: null,
editorCJ: null,
@ -1123,20 +1091,10 @@ export default {
introduction: '',//
//achievement_award: '',//
achievement_award: '',
achievement: [
{
time: '',
name: '',
organ: ''
}
],
achievement: [],
//
work_experience: '',
work: [{
time: '',
address: '',
book: '',
}],
work: [],
//other_contacts: '',//
other_contacts: '',
other: [{
@ -1355,174 +1313,13 @@ export default {
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() {
window.addEventListener('scroll', this.handleScroll);
this.id = this.$route.query.id;
this.show = true;
//
this.getIndustry();
//
@ -1643,7 +1440,7 @@ export default {
return;
}
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.rel = 'noopener noreferrer'; //
link.style.display = 'none';
@ -1733,13 +1530,13 @@ export default {
.then((res) => {
console.log(res);
if (res.code == 0) {
this.$message.error('获取会员信息失败', 5000);
this.$message.error('获取会员信息!', 5000);
} else {
//
if (res.data.reporting_method == '' || res.data.reporting_method == null) {
this.formData.reporting_method = null;
} else {
if (res.data.reporting_method != '' && res.data.reporting_method != null) {
this.formData.reporting_method = parseInt(res.data.reporting_method);
} else {
this.formData.reporting_method = null;
}
//
this.formData.source_channel = res.data.source_channel;
@ -1804,11 +1601,7 @@ export default {
if (res.data.achievement_award == '' || res.data.achievement_award == null) {
this.formData.achievement = [];
} else {
try {
this.formData.achievement = JSON.parse(res.data.achievement_award);
} catch (e) {
this.formData.achievement = [];
}
this.formData.achievement = JSON.parse(res.data.achievement_award);
}
//
this.formData.work_experience = res.data.work_experience;
@ -1889,11 +1682,7 @@ export default {
if (res.data.enterprise_honor == '' || res.data.enterprise_honor == null) {
this.formData.enterprise = [];
} else {
try {
this.formData.enterprise = JSON.parse(res.data.enterprise_honor);
} catch (e) {
this.formData.enterprise = [];
}
this.formData.enterprise = JSON.parse(res.data.enterprise_honor);
}
//
this.formData.qitaqiyerenzhiqingkuang = res.data.qitaqiyerenzhiqingkuang;
@ -1925,18 +1714,16 @@ export default {
//
if (res.data.abroad_region_id == '' || res.data.abroad_region_id == null) {
this.formData.abroad_region_id = '';
this.formData.abroad_region_arr = [];
} 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.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;
//
@ -2367,8 +2154,8 @@ export default {
if (this.formData.achievement.length > 0) {
this.formData.achievement_award = JSON.stringify(this.formData.achievement);
}
this.formData.id = this.id;
console.log(this.formData);
this.formData.member_id = this.id;
this.$request
.post('/member/update', this.formData)
.then((res) => {
@ -2448,140 +2235,40 @@ export default {
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) {
if (url == null) {
return '';
}
return url.split('.').pop();
},
scrollToSubmit(item) {
console.log(item);
if (item.key == 7) {
this.collapse = [7];
this.clearActive();
this.right_card_list[6].active = true;
checkPhone() {
if (this.formData.phone == '') {
this.phoneStatus = 'error';
this.phoneTips = '请输入手机号';
this.right_card_list[0].content[2].ok = false;
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>
<style src="@wangeditor/editor/dist/css/style.css"></style>
<style lang="less">
<style lang="less" scoped>
.result-success {
display: flex;
flex-direction: column;
@ -2769,4 +2456,29 @@ export default {
.input_box_end {
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>

View File

@ -344,41 +344,65 @@
<tbody>
<tr>
<td>
<a v-if="getImage(info.business_license_image) == 'pdf'"
<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'"
: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">
<img :src="$store.state.user.apiUrl + info.business_license_image"
style="width: 100px;max-height: 200px;object-fit: cover;">
</a>
</a>
</div>
</td>
<td>
<a v-if="getImage(info.company_image) == 'pdf'"
:href="$store.state.user.apiUrl + info.company_image" target="_blank">查看</a>
<div v-if="info.company_image == '' || info.company_image == null">
未上传
</div>
<div v-else>
<a v-if="getImage(info.company_image) == 'pdf'"
:href="$store.state.user.apiUrl + info.company_image" target="_blank">查看</a>
<a v-else :href="$store.state.user.apiUrl + info.company_image" target="_blank">
<img :src="$store.state.user.apiUrl + info.company_image"
style="width: 100px;max-height: 200px;object-fit: cover;">
</a>
</div>
</td>
<td>
<a v-if="getImage(info.enterprise_credit_report) == 'pdf'"
<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'"
: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">
<img :src="$store.state.user.apiUrl + info.enterprise_credit_report"
style="width: 100px;max-height: 200px;object-fit: cover;">
</a>
</a>
</div>
</td>
<td>
<a v-if="getImage(info.certificate_of_no_criminal_record) == 'pdf'"
<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'"
:href="$store.state.user.apiUrl + info.certificate_of_no_criminal_record"
target="_blank">查看</a>
<a v-else :href="$store.state.user.apiUrl + info.certificate_of_no_criminal_record"
target="_blank">
<img :src="$store.state.user.apiUrl + info.certificate_of_no_criminal_record"
style="width: 100px;max-height: 200px;object-fit: cover;">
</a>
</a>
</div>
</td>
<td>
<a v-if="getImage(info.certificate_of_business_tax_payment_for_the_previous_year) == 'pdf'"
<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'"
:href="$store.state.user.apiUrl + info.certificate_of_business_tax_payment_for_the_previous_year"
target="_blank">查看</a>
<a v-else
@ -388,16 +412,22 @@
:src="$store.state.user.apiUrl + info.certificate_of_business_tax_payment_for_the_previous_year"
style="width: 100px;max-height: 200px;object-fit: cover;">
</a>
</div>
</td>
<td>
<a v-if="getImage(info.enterprise_credit_information_report) == 'pdf'"
<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'"
:href="$store.state.user.apiUrl + info.enterprise_credit_information_report"
target="_blank">查看</a>
<a v-else :href="$store.state.user.apiUrl + info.enterprise_credit_information_report"
target="_blank">
<img :src="$store.state.user.apiUrl + info.enterprise_credit_information_report"
style="width: 100px;max-height: 200px;object-fit: cover;">
</a>
</a>
</div>
</td>
</tr>
</tbody>
@ -635,7 +665,14 @@ export default {
key.work_experience = key.work_experience != '' ? JSON.parse(key.work_experience) : '';
key.other_contacts = key.other_contacts != '' ? JSON.parse(key.other_contacts) : '';
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.party_json = key.party_json != '' ? JSON.parse(key.party_json) : '';
this.info = key;

View File

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