This commit is contained in:
王创世 2024-08-20 17:22:07 +08:00
parent 9a653fb891
commit 9cca26dd00
2 changed files with 624 additions and 450 deletions

BIN
src/assets/image110.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 KiB

View File

@ -1,17 +1,31 @@
<template> <template>
<div style="padding: 20px"> <div v-if="show">
<div>
<img src="https://hnyea.0rui.cn/uploads/1/20240820/7c06389c1dd2fbd4f2d191cdb6c67bb1.png" style="width: 100%;">
</div>
<div style="padding: 20px;margin-top: 20px">
<div style="width: 80%;margin: 0 auto;"> <div style="width: 80%;margin: 0 auto;">
<div> <div>
<div style="color: #2E2E2E;font-size: 30px;">1.入会资料</div> <div style="color: #2E2E2E;font-size: 30px;">1.入会资料</div>
<div style="height: 2px;background-color: #999999;width: 100%;margin-top: 20px"></div> <div style="height: 2px;background-color: #999999;width: 100%;margin-top: 20px"></div>
<div style="padding: 30px 0px"> <div style="padding: 30px 0px">
<t-form layout="inline" labelAlign="top" :labelWidth="100"> <t-form layout="inline" labelAlign="top" :labelWidth="100">
<t-form-item name="name" label="推荐方式">
<t-select filterable v-model="formData.reporting_method">
<t-option label="个人自荐" :value="3"/>
<t-option label="会员推荐" :value="2"/>
<t-option label="组织推荐" :value="1"/>
</t-select>
</t-form-item>
<t-form-item name="name" label="推荐人"> <t-form-item name="name" label="推荐人">
<t-select filterable v-model="formData.recommendation_id"> <t-select filterable v-model="formData.recommendation_id">
<t-option label="无" :value="0"/> <t-option label="无" :value="0"/>
<t-option v-for="item in member_list" :label="item.nikename" :value="item.id"/> <t-option v-for="item in member_list" :label="item.nikename" :value="item.id"/>
</t-select> </t-select>
</t-form-item> </t-form-item>
<t-form-item label="推荐人单位名称及职务">
<t-input v-model="formData.recommendation_content" placeholder="推荐人单位名称及职务"/>
</t-form-item>
</t-form> </t-form>
</div> </div>
</div> </div>
@ -20,6 +34,22 @@
<div style="height: 2px;background-color: #999999;width: 100%;margin-top: 20px"></div> <div style="height: 2px;background-color: #999999;width: 100%;margin-top: 20px"></div>
<div style="display: flex;justify-items: center;padding: 30px 0px"> <div style="display: flex;justify-items: center;padding: 30px 0px">
<div> <div>
<div>证件照</div>
<div style="height: 1px;background-color: #999999;width: 100%;margin-top: 10px"></div>
<div class="t-upload" @click="openCai" style="margin-top: 20px">
<div class="t-upload__card-container" style="cursor: pointer">
<img :src="$store.state.user.apiUrl+formData.photo_image" style="width: 110px;height: 110px;"
v-if="formData.photo_image!=''">
<svg fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="t-icon t-icon-add"
v-if="formData.photo_image==''">
<path fill="currentColor" d="M13 4v7h7v2h-7v7h-2v-7H4v-2h7V4h2z"></path>
</svg>
<p class="t-size-s t-upload__add-text" v-if="formData.photo_image==''">点击上传图片</p>
</div>
<small class="t-upload__tips t-size-s">请上传证件照照片将作为会员证照</small>
</div>
</div>
<div style="margin-left: 40px">
<t-space direction="vertical"> <t-space direction="vertical">
<t-form layout="inline" labelAlign="top" :labelWidth="100"> <t-form layout="inline" labelAlign="top" :labelWidth="100">
<t-form-item label="姓名" :rules="[ { required: true, message: '此项必填' }]"> <t-form-item label="姓名" :rules="[ { required: true, message: '此项必填' }]">
@ -28,7 +58,6 @@
<t-form-item label="手机号" :rules="[ { required: true, message: '此项必填' }]"> <t-form-item label="手机号" :rules="[ { required: true, message: '此项必填' }]">
<t-input v-model="formData.phone" placeholder="请输入手机号"/> <t-input v-model="formData.phone" placeholder="请输入手机号"/>
</t-form-item> </t-form-item>
</t-form> </t-form>
<t-form layout="inline" labelAlign="top" :labelWidth="100"> <t-form layout="inline" labelAlign="top" :labelWidth="100">
<t-form-item label="区域" name="region_id"> <t-form-item label="区域" name="region_id">
@ -79,37 +108,13 @@
</t-form-item> </t-form-item>
</t-form> </t-form>
<t-form layout="inline" labelAlign="top" :labelWidth="100"> <t-form layout="inline" labelAlign="top" :labelWidth="100">
<t-form-item label="其他联系人">
<t-input v-model="formData.other_contacts" placeholder="请输入其他联系人"/>
</t-form-item>
<t-form-item label="其他社会职务">
<t-input v-model="formData.other_social_positions" placeholder="请输入其他社会职务"/>
</t-form-item>
</t-form>
<t-form layout="inline" labelAlign="top" :labelWidth="100">
<t-form-item label="学位"> <t-form-item label="学位">
<t-input v-model="formData.academic_degree" placeholder="请输入学位"/> <t-input v-model="formData.academic_degree" placeholder="请输入学位"/>
</t-form-item> </t-form-item>
</t-form> </t-form>
</t-space> </t-space>
</div> </div>
<div>
<div>证件照</div>
<div style="height: 1px;background-color: #999999;width: 100%;margin-top: 10px"></div>
<div class="t-upload" @click="openCai" style="margin-top: 20px">
<div class="t-upload__card-container" style="cursor: pointer">
<img :src="$store.state.user.apiUrl+formData.photo_image" style="width: 110px;height: 110px;"
v-if="formData.photo_image!=''">
<svg fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="t-icon t-icon-add"
v-if="formData.photo_image==''">
<path fill="currentColor" d="M13 4v7h7v2h-7v7h-2v-7H4v-2h7V4h2z"></path>
</svg>
<p class="t-size-s t-upload__add-text" v-if="formData.photo_image==''">点击上传图片</p>
</div>
<small class="t-upload__tips t-size-s">请上传证件照照片将作为会员证照</small>
</div>
</div>
</div> </div>
<div> <div>
<div>身份证照</div> <div>身份证照</div>
@ -170,6 +175,114 @@
</div> </div>
</div> </div>
</div> </div>
<div style="margin-top: 30px">学习工作经历</div>
<div style="height: 1px;background-color: #999999;width: 100%;margin-top: 10px"></div>
<div style="display: flex;margin-top: 20px">
<div style="width: 30%">
<t-space direction="vertical">
<t-form labelAlign="top" :labelWidth="100">
<t-form-item label="起止日期">
<t-input v-model="work.time" placeholder="起止日期"/>
</t-form-item>
<t-form-item label="地区单位">
<t-input v-model="work.address" placeholder="请输入地区单位"/>
</t-form-item>
<t-form-item label="担任职务">
<t-input v-model="work.book" placeholder="请输入担任职务"/>
</t-form-item>
</t-form>
<t-button @click="addWork" theme="primary">添加</t-button>
</t-space>
</div>
<div style="width: 100%">
<div style="display: flex;justify-content: space-around;width: 100%">
<div>起止日期</div>
<div>地区单位</div>
<div>担任职务</div>
<div>操作</div>
</div>
<div v-for="(item,index) in workList" style="display: flex;justify-content: space-around;margin-top: 10px;">
<div style="text-align: center">{{ item.time }}</div>
<div style="text-align: center">{{ item.address }}</div>
<div style="text-align: center">{{ item.book }}</div>
<div style="text-align: center">
<t-button @click="delWork(index)" theme="danger" size="small">移除</t-button>
</div>
</div>
</div>
</div>
<div style="margin-top: 30px">社会职务资料</div>
<div style="height: 1px;background-color: #999999;width: 100%;margin-top: 10px"></div>
<div style="display: flex;margin-top: 20px">
<div style="width: 35%">
<div>主要社会职务(可多选)</div>
<div style="margin-top: 20px">
<t-space direction="vertical">
<t-form>
<t-form-item>
<t-checkbox-group v-model="social_duties">
<t-checkbox value="全国人大代表">全国人大代表</t-checkbox>
<t-checkbox value="全国政协委员">全国政协委员</t-checkbox>
<t-checkbox value="全国青联委员">全国青联委员</t-checkbox>
<t-checkbox value="省级人大代表">省级人大代表</t-checkbox>
<t-checkbox value="省级政协委员">省级政协委员</t-checkbox>
<t-checkbox value="省级青联委员">省级青联委员</t-checkbox>
<t-checkbox value="市级人大代表">市级人大代表</t-checkbox>
<t-checkbox value="市级政协委员">市级政协委员</t-checkbox>
<t-checkbox value="市级青联委员">市级青联委员</t-checkbox>
</t-checkbox-group>
</t-form-item>
</t-form>
</t-space>
</div>
</div>
<div style="width: 100%">
<div style="width: 49%">
<div>其他社会职务</div>
<div style="margin-top: 20px;">
<t-textarea placeholder="其他社会职务" :autosize="{ minRows: 7, maxRows: 7 }"
v-model="formData.other_social_positions"/>
</div>
</div>
</div>
</div>
<div style="margin-top: 30px">联系人</div>
<div style="height: 1px;background-color: #999999;width: 100%;margin-top: 10px"></div>
<div style="display: flex;margin-top: 20px">
<div style="width: 30%">
<t-space direction="vertical">
<t-form labelAlign="top" :labelWidth="100">
<t-form-item label="姓名">
<t-input v-model="contacts.name" placeholder="请输入姓名"/>
</t-form-item>
<t-form-item label="职务">
<t-input v-model="contacts.post" placeholder="请输入职务"/>
</t-form-item>
<t-form-item label="电话">
<t-input v-model="contacts.phone" placeholder="请输入电话"/>
</t-form-item>
</t-form>
<t-button @click="addContacts" theme="primary">添加</t-button>
</t-space>
</div>
<div style="width: 100%">
<div style="display: flex;justify-content: space-around;width: 100%">
<div>姓名</div>
<div>职务</div>
<div>电话</div>
<div>操作</div>
</div>
<div v-for="(item,index) in contactsList"
style="display: flex;justify-content: space-around;margin-top: 10px">
<div>{{ item.name }}</div>
<div>{{ item.post }}</div>
<div>{{ item.phone }}</div>
<div style="text-align: center">
<t-button @click="delContacts(index)" theme="danger" size="small">移除</t-button>
</div>
</div>
</div>
</div>
<div style="margin-top: 30px"> <div style="margin-top: 30px">
<div style="color: #2E2E2E;font-size: 30px;">3.企业信息</div> <div style="color: #2E2E2E;font-size: 30px;">3.企业信息</div>
<div style="height: 2px;background-color: #999999;width: 100%;margin-top: 20px"></div> <div style="height: 2px;background-color: #999999;width: 100%;margin-top: 20px"></div>
@ -425,6 +538,7 @@
</div> </div>
</t-dialog> </t-dialog>
</div> </div>
</div>
</template> </template>
<script lang="ts"> <script lang="ts">
import store from '@/store'; import store from '@/store';
@ -438,9 +552,23 @@ export default {
}, },
data() { data() {
return { return {
show: false,
caiMode: false, caiMode: false,
previews: {}, previews: {},
caiImg: '', caiImg: '',
work: {
time: '',
address: '',
book: '',
},
workList: [],
contacts: {
name: '',
post: '',
phone: '',
},
contactsList: [],
social_duties: [],
formData: { formData: {
region_id: null, region_id: null,
recommendation_id: 0, recommendation_id: 0,
@ -504,6 +632,10 @@ export default {
company_image_show: [], company_image_show: [],
token: '', token: '',
openid: '', openid: '',
work_experience: '',
main_social_positions: '',
reporting_method: 3,
recommendation_content: '',
}, },
current: 2, current: 2,
industry_list: [], industry_list: [],
@ -523,7 +655,6 @@ export default {
// } else { // } else {
// this.$message.error('', 0); // this.$message.error('', 0);
// } // }
console.log();
this.formData.token = this.$route.query.token; this.formData.token = this.$route.query.token;
this.formData.openid = this.$route.query.openid; this.formData.openid = this.$route.query.openid;
this.getIndustry(); this.getIndustry();
@ -532,6 +663,26 @@ export default {
this.getInfo(); this.getInfo();
}, },
methods: { methods: {
addWork() {
var k = {...this.work};
this.workList.push(k);
this.work.time = '';
this.work.address = '';
this.work.book = '';
},
delWork(index) {
this.workList.splice(index, 1);
},
addContacts() {
var k = {...this.contacts};
this.contactsList.push(k);
this.contacts.name = '';
this.contacts.post = '';
this.contacts.phone = '';
},
delContacts(index) {
this.contactsList.splice(index, 1);
},
download() { download() {
//https://hnyea.0rui.cn/api/move/pdf_member/exportPdf PDF //https://hnyea.0rui.cn/api/move/pdf_member/exportPdf PDF
//window.location.href="https://hnyea.0rui.cn/api/move/pdf_member/exportPdf?openid="+this.formData.openid; //window.location.href="https://hnyea.0rui.cn/api/move/pdf_member/exportPdf?openid="+this.formData.openid;
@ -624,6 +775,10 @@ export default {
.post("/move/temporary_token/tokenMember", {openid: this.formData.openid, token: this.formData.token}) .post("/move/temporary_token/tokenMember", {openid: this.formData.openid, token: this.formData.token})
.then((res) => { .then((res) => {
console.log(res); console.log(res);
if (res.code == 0) {
this.$message.error('入会链接有误,请前往小程序重新获取!', 5000);
} else {
this.show = true;
this.formData.phone = res.data.phone; this.formData.phone = res.data.phone;
this.formData.position_id = res.data.position_id; this.formData.position_id = res.data.position_id;
this.formData.industry_id = res.data.industry_id; this.formData.industry_id = res.data.industry_id;
@ -677,6 +832,14 @@ export default {
this.formData.enterprise_location = res.data.enterprise_location; this.formData.enterprise_location = res.data.enterprise_location;
this.formData.introduction = res.data.introduction; this.formData.introduction = res.data.introduction;
this.formData.enterprise_name = res.data.enterprise_name; this.formData.enterprise_name = res.data.enterprise_name;
this.formData.main_social_positions = res.data.main_social_positions;
this.social_duties = res.data.main_social_positions.split(',');
this.contactsList = JSON.parse(res.data.other_contacts);
this.formData.work_experience = res.data.work_experience;
this.workList = JSON.parse(res.data.work_experience);
this.formData.reporting_method = res.data.reporting_method;
this.formData.recommendation_content = res.data.recommendation_content;
}
}) })
.catch((e) => { .catch((e) => {
console.log(e); console.log(e);
@ -753,6 +916,7 @@ export default {
return {url: res.data.fullurl}; return {url: res.data.fullurl};
}, },
submit() { submit() {
if (this.formData.nikename == '') { if (this.formData.nikename == '') {
this.$message.error('请输入姓名!'); this.$message.error('请输入姓名!');
return; return;
@ -836,13 +1000,23 @@ export default {
// } // }
// } // }
this.formData.association_id = 1; this.formData.association_id = 1;
if (this.workList.length > 0) {
this.formData.work_experience = JSON.stringify(this.workList);
}
if (this.contactsList.length > 0) {
this.formData.other_contacts = JSON.stringify(this.contactsList);
}
if (this.social_duties.length > 0) {
const splitAndJoin = this.social_duties.map(item => item.split(',')).flat().join(',');
this.formData.main_social_positions = splitAndJoin;
}
this.$request this.$request
.post("/move/temporary_token/shenqing", this.formData) .post("/move/temporary_token/shenqing", this.formData)
.then((res) => { .then((res) => {
console.log(res); console.log(res);
if (res.code == 1) { if (res.code == 1) {
this.$message.success(res.msg); this.$message.success(res.msg);
this.show = 0;
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
} }