Browse Source

入驻企业名录详情

master
lucky 4 years ago
parent
commit
a742b043a3
  1. 4
      src/common/portrait.styl
  2. 6
      src/components/Introduce/CompanyProfile.vue
  3. 44
      src/components/ServiceDemand/ServiceDemand.vue
  4. 24
      src/components/SettledEnterprise/SettledEnterprise.vue
  5. 3
      src/config/api.js
  6. 3
      src/views/FirstPage/FirstPage.vue
  7. 99
      src/views/IncubationPlatform/components/AddModel.vue

4
src/common/portrait.styl

@ -519,6 +519,10 @@ h2{
color: #fff color: #fff
} }
.grey--text{
color: #616161
}
.title-color{ .title-color{
color: rgba(0,0,0,.85) color: rgba(0,0,0,.85)
} }

6
src/components/Introduce/CompanyProfile.vue

@ -2,11 +2,15 @@
<div> <div>
<a-modal <a-modal
:footer="null" :footer="null"
:title="profile.title" :title="profile.company"
:visible="showProfile" :visible="showProfile"
@cancel="handleCancel" @cancel="handleCancel"
@ok="handleCancel" @ok="handleCancel"
> >
<div class="fill-width grey--text font-14" style="text-align: right">
<span class="mr-6">联系人{{ profile.name || '暂无' }}</span>
<span>联系电话{{ profile.phone || '暂无' }}</span>
</div>
<p v-if="profile.description"> <p v-if="profile.description">
<span class="font-16 white line-height-36" v-dompurify-html="profile.description"></span> <span class="font-16 white line-height-36" v-dompurify-html="profile.description"></span>
</p> </p>

44
src/components/ServiceDemand/ServiceDemand.vue

@ -16,6 +16,7 @@
:label-col="formItemLayout.labelCol" :label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol" :wrapper-col="formItemLayout.wrapperCol"
label="所属社区" label="所属社区"
v-if="source === 'index'"
> >
<a-radio-group @change="onChange" v-model.trim="platform.platform"> <a-radio-group @change="onChange" v-model.trim="platform.platform">
<a-radio :value="1">创新社区</a-radio> <a-radio :value="1">创新社区</a-radio>
@ -49,7 +50,7 @@
@change="changePhone" @change="changePhone"
placeholder="请输入联系电话.." placeholder="请输入联系电话.."
type="tel" type="tel"
v-decorator="['tel', { rules: phoneRules }]" v-model.trim="platform.tel"
/> />
</a-form-item> </a-form-item>
<a-form-item <a-form-item
@ -158,6 +159,10 @@ export default {
type: String, type: String,
default: '', default: '',
}, },
source: {
type: String,
default: '',
},
}, },
data() { data() {
return { return {
@ -186,9 +191,6 @@ export default {
showInterval: false, showInterval: false,
codeTimer: null, codeTimer: null,
interval: 120, // interval: 120, //
phoneRules: [
{ required: true, pattern: new RegExp(/^[1][3,4,5,6,7,8,9][0-9]{9}$/), whitespace: true, message: '请输入正确的手机号' },
],
typeData: { typeData: {
type: 0, type: 0,
Id: '', Id: '',
@ -222,7 +224,6 @@ export default {
// //
onChange(e) { onChange(e) {
console.log('radio checked', e.target.value);
this.platform.platform = e.target.value; this.platform.platform = e.target.value;
}, },
// //
@ -236,7 +237,9 @@ export default {
// //
changePhone(e) { changePhone(e) {
this.platform.tel = e.target.value; this.platform.tel = e.target.value;
console.log('this.platform.tel: ', this.platform.tel);
this.platform.isTel = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(this.platform.tel); this.platform.isTel = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(this.platform.tel);
console.log('this.platform.isTel: ', this.platform.isTel);
}, },
// //
handleOk() { handleOk() {
@ -244,6 +247,8 @@ export default {
this.$message.error('请输入联系人'); this.$message.error('请输入联系人');
} else if (!this.platform.tel) { } else if (!this.platform.tel) {
this.$message.error('请输入联系电话'); this.$message.error('请输入联系电话');
} else if (!this.verification(this.platform.tel)) {
this.$message.error('请输入正确的联系电话');
} else if (!this.platform.code) { } else if (!this.platform.code) {
this.$message.error('请输入验证码'); this.$message.error('请输入验证码');
} else { } else {
@ -257,6 +262,16 @@ export default {
} }
} }
}, },
//
verification(phone) {
if (/^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone)) {
return true;
} else {
return false;
}
},
// //
async subMitAdd() { async subMitAdd() {
this.confirmLoading = true; this.confirmLoading = true;
@ -271,10 +286,11 @@ export default {
filesId: this.platform.files, filesId: this.platform.files,
serviceId: this.typeData.Id, serviceId: this.typeData.Id,
type: this.typeData.type, type: this.typeData.type,
platform: this.platform.platform,
}, },
}; };
console.log('params: ', params); if (this.source === 'index') {
params.param.platform = this.platform.platform;
}
const res = await serviceApply(params); const res = await serviceApply(params);
const { code, msg, data } = res.data; const { code, msg, data } = res.data;
if (code === 200) { if (code === 200) {
@ -283,10 +299,12 @@ export default {
for (let key in this.platform) { for (let key in this.platform) {
this.platform[key] = ''; this.platform[key] = '';
} }
for (let key in this.typeData) { this.platform.platform = 0;
this.typeData[key] = ''; this.typeData.Id = '';
} this.typeData.type = 0;
this.platform.files = [];
this.platform.isTel = false; this.platform.isTel = false;
this.codeNum = '';
} else { } else {
throw msg; throw msg;
} }
@ -296,6 +314,7 @@ export default {
this.confirmLoading = false; this.confirmLoading = false;
} }
}, },
// //
async getCode() { async getCode() {
try { try {
@ -308,7 +327,7 @@ export default {
this.getCodeInterval(); this.getCodeInterval();
} catch (error) { } catch (error) {
// throw new Error(`SignIn.vue method getCode: ${error}`); // throw new Error(`SignIn.vue method getCode: ${error}`);
// console.log(error); console.log(error);
} }
}, },
@ -329,6 +348,9 @@ export default {
// //
changePicCode() { changePicCode() {
if (!this.verification(this.platform.tel)) {
this.$message.error('请输入正确的联系电话');
}
this.sendPicCode(); this.sendPicCode();
}, },
beforeUpload(file) { beforeUpload(file) {

24
src/components/SettledEnterprise/SettledEnterprise.vue

@ -12,7 +12,7 @@
<div class="con-box" id="bobaodiv"> <div class="con-box" id="bobaodiv">
<div <div
:key="0 + `${i}`" :key="0 + `${i}`"
@click="openProfile(item.company,item.introduce)" @click="openProfile(item.id)"
class="ent-box-div" class="ent-box-div"
v-for="(item, i) in lists" v-for="(item, i) in lists"
> >
@ -31,6 +31,7 @@
<script> <script>
import { mapState, mapMutations } from 'vuex'; import { mapState, mapMutations } from 'vuex';
import CompanyProfile from '../Introduce/CompanyProfile.vue'; import CompanyProfile from '../Introduce/CompanyProfile.vue';
import { placeQuery } from 'config/api';
export default { export default {
name: 'SettledEnterprise', name: 'SettledEnterprise',
@ -121,15 +122,22 @@ export default {
}, },
// //
openProfile(title, description) { async openProfile(id) {
// if (!description) return; try {
this.setProfile(null); this.setProfile(null);
const profile = { const params = { param: { id } };
title, const res = await placeQuery(params);
description, const { code, msg, data } = res.data;
}; if (code === 200) {
this.setProfile(profile); console.log('data: ', data);
this.setProfile(data);
this.showProfile = true; this.showProfile = true;
} else {
this.$message.error(msg || '查询失败');
}
} catch (error) {
console.log('error: ', error);
}
}, },
closeProfile() { closeProfile() {

3
src/config/api.js

@ -139,6 +139,9 @@ export const addEnterprise = params => axios.post(`${greenvalley}/place/addEnter
// 入驻企业名录查询 // 入驻企业名录查询
export const searchEnt = params => axios.post(`${greenvalley}/place/searchFront`, params); export const searchEnt = params => axios.post(`${greenvalley}/place/searchFront`, params);
// 入驻企业名录详情查询
export const placeQuery = params => axios.post(`${greenvalley}/place/query`, params);
// 查询 创业导师 // 查询 创业导师
export const selTeacher = params => axios.post(`${tutorRelated}/selTeacher`, params); export const selTeacher = params => axios.post(`${tutorRelated}/selTeacher`, params);

3
src/views/FirstPage/FirstPage.vue

@ -62,7 +62,7 @@
</a-col> </a-col>
</a-row> </a-row>
</div> </div>
<service-demand :model-intro="modelIntro" ref="child" /> <service-demand :model-intro="modelIntro" :source="source" ref="child" />
</div> </div>
</template> </template>
@ -165,6 +165,7 @@ export default {
height: 150, height: 150,
timer: null, timer: null,
modelIntro: '', modelIntro: '',
source: 'index',
}; };
}, },

99
src/views/IncubationPlatform/components/AddModel.vue

@ -1,7 +1,19 @@
<template> <template>
<div> <div>
<a-button @click="showModal" style="height: 100%; width: 100%" type="primary" v-if="value !== 1">{{ str }}</a-button> <a-button
<a-modal :confirm-loading="confirmLoading" :title="title" :visible="visible" @cancel="handleCancel" @ok="handleOk" width="50%"> @click="showModal"
style="height: 100%; width: 100%"
type="primary"
v-if="value !== 1"
>{{ str }}</a-button>
<a-modal
:confirm-loading="confirmLoading"
:title="title"
:visible="visible"
@cancel="handleCancel"
@ok="handleOk"
width="50%"
>
<p style="text-align: center" v-show="value === 1"> <p style="text-align: center" v-show="value === 1">
<a-radio-group style="margin-bottom: 20px !important" v-model="platform.val"> <a-radio-group style="margin-bottom: 20px !important" v-model="platform.val">
<a-radio :value="2" style="margin-right: 100px">实体空间</a-radio> <a-radio :value="2" style="margin-right: 100px">实体空间</a-radio>
@ -9,34 +21,85 @@
</a-radio-group> </a-radio-group>
</p> </p>
<a-form :form="form"> <a-form :form="form">
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="公司名称"> <a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="公司名称"
>
<a-input placeholder="请输入公司名称..." v-model.trim="platform.companyName" /> <a-input placeholder="请输入公司名称..." v-model.trim="platform.companyName" />
</a-form-item> </a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="联系人" required> <a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="联系人"
required
>
<a-input placeholder="请输入联系人..." v-model.trim="platform.manName" /> <a-input placeholder="请输入联系人..." v-model.trim="platform.manName" />
</a-form-item> </a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="联系电话" required> <a-form-item
<a-input @change="changePhone" placeholder="请输入联系电话.." type="tel" v-decorator="['tel', { rules: phoneRules }]" /> :label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="联系电话"
required
>
<a-input
@change="changePhone"
placeholder="请输入联系电话.."
type="tel"
v-decorator="['tel', { rules: phoneRules }]"
/>
</a-form-item> </a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="图片验证码" required> <a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="图片验证码"
required
>
<div class="d-flex flex-nowrap"> <div class="d-flex flex-nowrap">
<a-input placeholder="图片验证码" type="number" v-model="codeNum" /> <a-input placeholder="图片验证码" type="number" v-model="codeNum" />
<img :src="picCode.imageBase64" @click="changePicCode" class="code_img ml-2" v-if="picCode && picCode.imageBase64" /> <img
:src="picCode.imageBase64"
@click="changePicCode"
class="code_img ml-2"
v-if="picCode && picCode.imageBase64"
/>
<a-button @click="changePicCode" class="code_img ml-2" size="small" v-else>获取验证码</a-button> <a-button @click="changePicCode" class="code_img ml-2" size="small" v-else>获取验证码</a-button>
<!-- <a-input v-decorator="['account', { rules: rules.account }]" /> --> <!-- <a-input v-decorator="['account', { rules: rules.account }]" /> -->
</div> </div>
</a-form-item> </a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="短信验证码" required> <a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="短信验证码"
required
>
<div class="d-flex flex-nowrap"> <div class="d-flex flex-nowrap">
<a-input placeholder="请输入验证码" type="number" v-model="platform.code" /> <a-input placeholder="请输入验证码" type="number" v-model="platform.code" />
<a-button class="code_img ml-2" disabled type="primary" v-if="showInterval">重新发送 {{ interval }}</a-button> <a-button
<a-button :disabled="platform.isTel === false" @click="getCode" class="code_img ml-2" type="primary" v-else> class="code_img ml-2"
获取验证码 disabled
</a-button> type="primary"
v-if="showInterval"
>重新发送 {{ interval }}</a-button>
<a-button
:disabled="platform.isTel === false"
@click="getCode"
class="code_img ml-2"
type="primary"
v-else
>获取验证码</a-button>
</div> </div>
</a-form-item> </a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="合作信息简述"> <a-form-item
<a-textarea placeholder="请输入合作信息简述..." style="height: 120px" v-model.trim="platform.describe" /> :label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="合作信息简述"
>
<a-textarea
placeholder="请输入合作信息简述..."
style="height: 120px"
v-model.trim="platform.describe"
/>
</a-form-item> </a-form-item>
</a-form> </a-form>
</a-modal> </a-modal>
@ -172,7 +235,7 @@ export default {
this.confirmLoading = false; this.confirmLoading = false;
} }
} catch (error) { } catch (error) {
this.$message.error(error); console.log('error: ', error);
this.confirmLoading = false; this.confirmLoading = false;
} }
}, },
@ -188,8 +251,8 @@ export default {
await this.sendCode(params); await this.sendCode(params);
this.getCodeInterval(); this.getCodeInterval();
} catch (error) { } catch (error) {
// throw new Error(`SignIn.vue method getCode: ${error}`); throw new Error(`AddModel.vue method getCode: ${error}`);
// console.log(error); console.log(error);
} }
}, },

Loading…
Cancel
Save