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