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. 28
      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
}
.grey--text{
color: #616161
}
.title-color{
color: rgba(0,0,0,.85)
}

6
src/components/Introduce/CompanyProfile.vue

@ -2,11 +2,15 @@
<div>
<a-modal
:footer="null"
:title="profile.title"
:title="profile.company"
:visible="showProfile"
@cancel="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">
<span class="font-16 white line-height-36" v-dompurify-html="profile.description"></span>
</p>

44
src/components/ServiceDemand/ServiceDemand.vue

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

28
src/components/SettledEnterprise/SettledEnterprise.vue

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

3
src/views/FirstPage/FirstPage.vue

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

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

@ -1,7 +1,19 @@
<template>
<div>
<a-button @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%">
<a-button
@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">
<a-radio-group style="margin-bottom: 20px !important" v-model="platform.val">
<a-radio :value="2" style="margin-right: 100px">实体空间</a-radio>
@ -9,34 +21,85 @@
</a-radio-group>
</p>
<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-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-form-item>
<a-form-item :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
: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 :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">
<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-input v-decorator="['account', { rules: rules.account }]" /> -->
</div>
</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">
<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 :disabled="platform.isTel === false" @click="getCode" class="code_img ml-2" type="primary" v-else>
获取验证码
</a-button>
<a-button
class="code_img ml-2"
disabled
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>
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="合作信息简述">
<a-textarea placeholder="请输入合作信息简述..." style="height: 120px" v-model.trim="platform.describe" />
<a-form-item
: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>
</a-modal>
@ -172,7 +235,7 @@ export default {
this.confirmLoading = false;
}
} catch (error) {
this.$message.error(error);
console.log('error: ', error);
this.confirmLoading = false;
}
},
@ -188,8 +251,8 @@ export default {
await this.sendCode(params);
this.getCodeInterval();
} catch (error) {
// throw new Error(`SignIn.vue method getCode: ${error}`);
// console.log(error);
throw new Error(`AddModel.vue method getCode: ${error}`);
console.log(error);
}
},

Loading…
Cancel
Save