21 changed files with 1000 additions and 16485 deletions
File diff suppressed because it is too large
@ -0,0 +1,140 @@ |
|||
<template> |
|||
<div style="width:100%" v-if="record"> |
|||
<div class="d-flex flex-nowrap mb-3"> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">成立时间:</span> |
|||
{{ record.buildTime }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">营业收入:</span> |
|||
{{ record.businessIncome }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">集成电路布图设计:</span> |
|||
{{ record.electricDesign }} |
|||
</div> |
|||
</div> |
|||
<div class="d-flex flex-nowrap mb-3"> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">电子邮箱:</span> |
|||
{{ record.email }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">合作单位:</span> |
|||
{{ record.friendCompany }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">性别:</span> |
|||
{{ record.gender }} |
|||
</div> |
|||
<!--性别0-女,1-男--> |
|||
</div> |
|||
<div class="d-flex flex-nowrap mb-3"> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">身份证号:</span> |
|||
{{ record.idCard }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">大专以上人员:</span> |
|||
{{ record.juniorCollege }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">法人代码:</span> |
|||
{{ record.legalPerson }} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="d-flex flex-nowrap mb-3"> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">主营业务:</span> |
|||
{{ record.mainBusiness }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">申请专利数:</span> |
|||
{{ record.patentApply }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">专利授权数:</span> |
|||
{{ record.patentGrented }} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="d-flex flex-nowrap mb-3"> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">发明专利数:</span> |
|||
{{ record.patentInvent }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">申请入驻场地类型:</span> |
|||
{{ record.placeType }} |
|||
</div> |
|||
<!--申请入驻场地类型 0-虚拟,1-实体--> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">动植物新品种:</span> |
|||
{{ record.plantKind }} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="d-flex flex-nowrap mb-3"> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">职务:</span> |
|||
{{ record.position }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">产品阶段:</span> |
|||
{{ record.productTech }} |
|||
</div> |
|||
<!--产品阶段 0-创意阶段 1-研发阶段 2-转化阶段 3-原型样品 4-产业化开发--> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">注册资金:</span> |
|||
{{ record.registerMoney }} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="d-flex flex-nowrap mb-3"> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">现注册地址:</span> |
|||
{{ record.registerSite }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">研发人员:</span> |
|||
{{ record.resarchStaff }} |
|||
</div> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">软件著作权:</span> |
|||
{{ record.softwareRegister }} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="d-flex flex-nowrap mb-3"> |
|||
<div class="flex-1"> |
|||
<span class="font-bold-14">员工人数:</span> |
|||
{{ record.staffCount }} |
|||
</div> |
|||
<div class="flex-2"> |
|||
<span class="font-bold-14">文件:</span> |
|||
<span v-if="record.list && record.list.length>0">{{ record.list }}</span> |
|||
<span v-else>暂无</span> |
|||
</div> |
|||
</div> |
|||
<div> |
|||
<span class="font-bold-14">公司介绍:</span> |
|||
<span v-dompurify-html="record.introduce"></span> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'Detail', |
|||
props: { record: { type: Object, default: () => {} } }, |
|||
|
|||
data() { |
|||
return {}; |
|||
}, |
|||
|
|||
methods: {}, |
|||
}; |
|||
</script> |
|||
|
|||
<style scoped lang="stylus"></style> |
@ -0,0 +1,284 @@ |
|||
<template> |
|||
<div class="d-flex flex-wrap pb-3"> |
|||
<!-- 添加 --> |
|||
<a-modal :closable="false" footer title="入驻申请添加" v-model="visible" width="700px"> |
|||
<a-form :form="form" @submit="handleSubmit"> |
|||
<!-- 标题 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="标题" |
|||
> |
|||
<a-input |
|||
placeholder="标题" |
|||
v-decorator="[ |
|||
'title', |
|||
{ |
|||
rules: [ |
|||
{ required: true, message: '标题不能为空' }, |
|||
{ whitespace: true, message: '标题不能为空' }, |
|||
{ max: 140, massage: '地点最多140个字符' }, |
|||
], |
|||
}, |
|||
]" |
|||
/> |
|||
</a-form-item> |
|||
<!-- 地点 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="地点" |
|||
> |
|||
<a-input |
|||
placeholder="地点" |
|||
v-decorator="[ |
|||
'address', |
|||
{ |
|||
rules: [ |
|||
{ required: true, message: '地点不能为空' }, |
|||
{ whitespace: true, message: '地点不能为空' }, |
|||
{ max: 140, massage: '地点最多140个字符' }, |
|||
], |
|||
}, |
|||
]" |
|||
/> |
|||
</a-form-item> |
|||
<!-- 时间 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="时间" |
|||
required |
|||
> |
|||
<a-range-picker |
|||
@change="onChange" |
|||
format="YYYY-MM-DD HH:mm:ss" |
|||
show-time |
|||
style="width:100%" |
|||
/> |
|||
</a-form-item> |
|||
<!-- 活动类型 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="活动类型" |
|||
> |
|||
<a-select @change="changeType" placeholder="活动类型" style="width:100%"> |
|||
<a-select-option |
|||
:key="index" |
|||
:value="category.id" |
|||
v-for="(category, index) in types" |
|||
>{{ category.name }}</a-select-option> |
|||
</a-select> |
|||
</a-form-item> |
|||
|
|||
<!-- 主讲人 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="主讲人" |
|||
> |
|||
<a-input |
|||
placeholder="主讲人" |
|||
v-decorator="[ |
|||
'name', |
|||
{ |
|||
rules: [ |
|||
{ required: true, message: '主讲人不能为空' }, |
|||
{ whitespace: true, message: '主讲人不能为空' }, |
|||
{ max: 140, massage: '主讲人最多140个字符' }, |
|||
], |
|||
}, |
|||
]" |
|||
/> |
|||
</a-form-item> |
|||
|
|||
<!-- 组织单位 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="组织单位" |
|||
> |
|||
<a-input |
|||
placeholder="组织单位" |
|||
v-decorator="[ |
|||
'organization' |
|||
]" |
|||
/> |
|||
</a-form-item> |
|||
|
|||
<!-- 其他事宜 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="其他事宜" |
|||
> |
|||
<a-input |
|||
placeholder="其他事宜" |
|||
v-decorator="[ |
|||
'other' |
|||
]" |
|||
/> |
|||
</a-form-item> |
|||
|
|||
<!-- 会议主题 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="会议主题" |
|||
> |
|||
<a-input |
|||
placeholder="会议主题" |
|||
v-decorator="[ |
|||
'theme' |
|||
]" |
|||
/> |
|||
</a-form-item> |
|||
|
|||
<!-- 培训对象 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="培训对象" |
|||
> |
|||
<a-input |
|||
placeholder="培训对象" |
|||
v-decorator="[ |
|||
'trainees' |
|||
]" |
|||
/> |
|||
</a-form-item> |
|||
|
|||
<!-- 报名方式 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="报名方式" |
|||
> |
|||
<a-input |
|||
placeholder="报名方式" |
|||
v-decorator="[ |
|||
'way' |
|||
]" |
|||
/> |
|||
</a-form-item> |
|||
|
|||
<!-- 活动结束内容 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="活动结束内容" |
|||
> |
|||
<a-textarea |
|||
placeholder="活动结束内容" |
|||
v-decorator="[ |
|||
'endContent', |
|||
]" |
|||
/> |
|||
</a-form-item> |
|||
|
|||
<!-- 详情 --> |
|||
<a-form-item |
|||
:label-col="formItemLayout.labelCol" |
|||
:wrapper-col="formItemLayout.wrapperCol" |
|||
label="详情" |
|||
required |
|||
> |
|||
<quill-editor :max-size="maxSize" :placeholder="placeholder" @changeInput="changeInput" /> |
|||
</a-form-item> |
|||
|
|||
<a-form-item class="d-flex flex-row-reverse"> |
|||
<a-button @click="$emit('closeModal')" class="mr-3">取消</a-button> |
|||
<a-button class="white--text" html-type="submit" type="primary">保存</a-button> |
|||
</a-form-item> |
|||
</a-form> |
|||
</a-modal> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { handleApplyBackend } from 'config/api'; |
|||
import QuillEditor from 'components/QuillEditor/QuillEditor.vue'; |
|||
|
|||
const formItemLayout = { |
|||
labelCol: { span: 6 }, |
|||
wrapperCol: { span: 16 }, |
|||
}; |
|||
const tailItemLayout = { wrapperCol: { span: 16, offset: 6 } }; |
|||
export default { |
|||
name: 'EntityApplyAdd', |
|||
props: { visible: { type: Boolean, default: false } }, |
|||
components: { QuillEditor }, |
|||
data() { |
|||
return { |
|||
formItemLayout, |
|||
tailItemLayout, |
|||
form: this.$form.createForm(this, { name: 'activity-add' }), |
|||
types: [ |
|||
{ id: 0, name: '路演' }, |
|||
{ id: 1, name: '沙龙' }, |
|||
{ id: 2, name: '论坛' }, |
|||
], |
|||
activityType: '', |
|||
maxSize: 2048, |
|||
content: '', |
|||
placeholder: '请输入...', |
|||
releaseTime: '', // 开始时间 |
|||
closeTime: '', // 结束时间 |
|||
}; |
|||
}, |
|||
|
|||
methods: { |
|||
// 类型 |
|||
changeType(value) { |
|||
console.log('value: ', value); |
|||
this.activityType = value; |
|||
}, |
|||
|
|||
// 举办时间 |
|||
onChange(dates, dateStrings) { |
|||
console.log('From: ', dates[0], ', to: ', dates[1]); |
|||
console.log('From: ', dateStrings[0], ', to: ', dateStrings[1]); |
|||
this.releaseTime = dateStrings[0]; |
|||
this.closeTime = dateStrings[1]; |
|||
}, |
|||
|
|||
// 修改内容 |
|||
changeInput(value) { |
|||
this.content = value; |
|||
}, |
|||
|
|||
// 提交表单 |
|||
handleSubmit(e) { |
|||
e.preventDefault(); |
|||
this.form.validateFieldsAndScroll(async (err, values) => { |
|||
if (!err) { |
|||
try { |
|||
console.log('values: ', values); |
|||
const { releaseTime, closeTime, content, activityType } = this; |
|||
const params = { param: values }; |
|||
params.param.releaseTime = releaseTime; |
|||
params.param.closeTime = closeTime; |
|||
params.param.content = content; |
|||
params.param.activityType = activityType; |
|||
console.log('params: ', params); |
|||
const res = await handleApplyBackend(params); |
|||
const { data, msg, code } = res.data; |
|||
if (code === 200) { |
|||
this.$message.success('添加成功'); |
|||
this.$emit('closeModal'); |
|||
} else { |
|||
this.$emit('closeModal'); |
|||
throw msg; |
|||
} |
|||
} catch (error) { |
|||
this.$message.error(error || '添加失败'); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style scoped lang="stylus"></style> |
@ -0,0 +1,86 @@ |
|||
<template> |
|||
<div class="pa-3 white fill-height d-flex flex-column"> |
|||
<entity-apply-search @entityApplicationSearch="entityApplicationSearch" /> |
|||
<entity-apply-date |
|||
:lists="lists" |
|||
:pagination="pagination" |
|||
@entityApplicationSearch="entityApplicationSearch" |
|||
/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import EntityApplySearch from 'components/EntityApply/EntityApplySearch.vue'; |
|||
import EntityApplyDate from 'components/EntityApply/EntityApplyDate.vue'; |
|||
import { entityApplicationSearch } from 'config/api'; |
|||
import { mapMutations, mapState } from 'vuex'; |
|||
|
|||
export default { |
|||
name: 'VirtualApplication', |
|||
components: { |
|||
EntityApplySearch, |
|||
EntityApplyDate, |
|||
}, |
|||
|
|||
data() { |
|||
return { |
|||
lists: [], |
|||
pagination: { current: 1, pageSize: 10 }, |
|||
}; |
|||
}, |
|||
|
|||
computed: mapState(['placeType']), |
|||
|
|||
async created() { |
|||
this.setPlaceType(0); |
|||
await this.entityApplicationSearch(); |
|||
}, |
|||
|
|||
methods: { |
|||
...mapMutations(['setPlaceType']), |
|||
|
|||
async entityApplicationSearch(condition) { |
|||
try { |
|||
const params = { |
|||
param: { |
|||
placeType: this.placeType, |
|||
pageNum: (condition && condition.current) || 1, |
|||
pageSize: (condition && condition.pageSize) || 10, |
|||
}, |
|||
}; |
|||
if (condition) { |
|||
if (condition.name) { |
|||
params.param.name = condition.name; |
|||
} |
|||
if (condition.position) { |
|||
params.param.position = condition.position; |
|||
} |
|||
if (condition.phone) { |
|||
params.param.phone = condition.phone; |
|||
} |
|||
if (condition.company) { |
|||
params.param.company = condition.company; |
|||
} |
|||
if (condition.dealStatus) { |
|||
params.param.dealStatus = condition.dealStatus; |
|||
} |
|||
} |
|||
const res = await entityApplicationSearch(params); |
|||
const { code, msg, data } = res.data; |
|||
if (code === 200) { |
|||
this.lists = data.list; |
|||
const paper = { ...this.pagination }; |
|||
paper.current = data.pageNum; |
|||
paper.total = +data.total; |
|||
paper.pageSize = data.pageSize; |
|||
this.pagination = paper; |
|||
} else { |
|||
throw msg || '获取失败'; |
|||
} |
|||
} catch (error) { |
|||
this.$message.error('123'); |
|||
} |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
Loading…
Reference in new issue