|
@@ -0,0 +1,329 @@
|
|
|
+<template>
|
|
|
+ <div id="projectForm">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24" class="main">
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="140px">
|
|
|
+ <el-col :span="24" class="form">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item prop="company">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 建议单位
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input v-model="form.company" placeholder="请输入建议单位"></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="contacts">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 联系人
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input v-model="form.contacts" placeholder="请输入联系人"></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="phone">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 联系电话
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input v-model="form.phone" placeholder="请输入联系电话"></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item prop="apply_code">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 申请代码
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input v-model="form.apply_code" placeholder="请输入申请代码"></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item prop="name">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 项目名称
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input v-model="form.name" placeholder="请输入项目名称"></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="langSelect">
|
|
|
+ <el-form-item prop="field">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 所属领域
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-select v-model="form.field" filterable>
|
|
|
+ <el-option v-for="(item, index) in fieldList" :key="index" :value="item.name" :label="item.name"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="langSelect">
|
|
|
+ <el-form-item prop="techol_level">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 项目技术水平
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-select v-model="form.techol_level" filterable>
|
|
|
+ <el-option v-for="(item, index) in techollevelList" :key="index" :value="item.name" :label="item.name"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="langSelect">
|
|
|
+ <el-form-item prop="proposal">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 建议类别
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-select v-model="form.proposal" filterable>
|
|
|
+ <el-option v-for="(item, index) in proposalList" :key="index" :value="item.name" :label="item.name"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="scale">
|
|
|
+ <el-col :span="21" slot="label" style="font-size:13px">
|
|
|
+ 市场规模(亿元/年)
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input v-model="form.scale" placeholder="请输入关键技术所支撑的产品市场规模"></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
+ <el-form-item prop="project_back">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 立项背景
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input
|
|
|
+ v-model="form.project_back"
|
|
|
+ type="textarea"
|
|
|
+ maxlength="500"
|
|
|
+ show-word-limit
|
|
|
+ :autosize="{ minRows: 5, maxRows: 5 }"
|
|
|
+ placeholder="请输入立项背景"
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
+ <el-form-item prop="sign">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 研究意义
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input
|
|
|
+ v-model="form.sign"
|
|
|
+ type="textarea"
|
|
|
+ maxlength="500"
|
|
|
+ show-word-limit
|
|
|
+ :autosize="{ minRows: 5, maxRows: 5 }"
|
|
|
+ placeholder="请输入研究意义"
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
+ <el-form-item prop="work_basics">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 现有工作基础
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input
|
|
|
+ v-model="form.work_basics"
|
|
|
+ type="textarea"
|
|
|
+ maxlength="500"
|
|
|
+ show-word-limit
|
|
|
+ :autosize="{ minRows: 5, maxRows: 5 }"
|
|
|
+ placeholder="请输入现有工作基础"
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
+ <el-form-item prop="content">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 研发内容
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input
|
|
|
+ v-model="form.content"
|
|
|
+ type="textarea"
|
|
|
+ maxlength="500"
|
|
|
+ show-word-limit
|
|
|
+ :autosize="{ minRows: 5, maxRows: 5 }"
|
|
|
+ placeholder="请输入研发内容"
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
+ <el-form-item prop="crux_techol">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 拟解决关键技术
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input
|
|
|
+ v-model="form.crux_techol"
|
|
|
+ type="textarea"
|
|
|
+ maxlength="500"
|
|
|
+ show-word-limit
|
|
|
+ :autosize="{ minRows: 5, maxRows: 5 }"
|
|
|
+ placeholder="请输入拟解决关键技术"
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
+ <el-form-item prop="route">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 技术路线
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input
|
|
|
+ v-model="form.route"
|
|
|
+ type="textarea"
|
|
|
+ maxlength="500"
|
|
|
+ show-word-limit
|
|
|
+ :autosize="{ minRows: 5, maxRows: 5 }"
|
|
|
+ placeholder="请输入技术路线"
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
+ <el-form-item prop="quota">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 主要考核指标
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input
|
|
|
+ v-model="form.quota"
|
|
|
+ type="textarea"
|
|
|
+ maxlength="500"
|
|
|
+ show-word-limit
|
|
|
+ :autosize="{ minRows: 5, maxRows: 5 }"
|
|
|
+ placeholder="请输入主要考核指标"
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
+ <el-form-item prop="influence">
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
+ 对省行业/产业影响
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input
|
|
|
+ v-model="form.influence"
|
|
|
+ type="textarea"
|
|
|
+ maxlength="500"
|
|
|
+ show-word-limit
|
|
|
+ :autosize="{ minRows: 5, maxRows: 5 }"
|
|
|
+ placeholder="请输入对省行业/产业影响"
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="btn">
|
|
|
+ <el-button type="primary" size="mini" @click="onSubmit">保存</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
+const { mapActions: markettype } = createNamespacedHelpers('markettype');
|
|
|
+export default {
|
|
|
+ name: 'projectForm',
|
|
|
+ props: {
|
|
|
+ form: { type: Object },
|
|
|
+ },
|
|
|
+ components: {},
|
|
|
+ data: function() {
|
|
|
+ return {
|
|
|
+ rules: {},
|
|
|
+ // 所属领域
|
|
|
+ fieldList: [],
|
|
|
+ // 项目技术水平
|
|
|
+ techollevelList: [{ name: '国际领先' }, { name: '国际先进' }, { name: '国内领先' }, { name: '国内先进' }],
|
|
|
+ // 建议类别
|
|
|
+ proposalList: [],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ async created() {
|
|
|
+ await this.searchOther();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ ...markettype(['query']),
|
|
|
+ async searchOther() {
|
|
|
+ // 所属领域;
|
|
|
+ let res = await this.query({ category: '01' });
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
+ this.$set(this, `fieldList`, res.data);
|
|
|
+ }
|
|
|
+ // 建议类别;
|
|
|
+ res = await this.query({ category: '07' });
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
+ this.$set(this, `proposalList`, res.data);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 保存
|
|
|
+ onSubmit() {
|
|
|
+ this.$emit('onSubmit', { data: this.form });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapState(['user']),
|
|
|
+ },
|
|
|
+ watch: {},
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+.main {
|
|
|
+ .form {
|
|
|
+ /deep/.el-form-item {
|
|
|
+ margin-bottom: 0px;
|
|
|
+ }
|
|
|
+ /deep/.el-form-item__label {
|
|
|
+ border: 1px solid #dcdfe6;
|
|
|
+ }
|
|
|
+ /deep/.el-input__inner {
|
|
|
+ border-radius: 0;
|
|
|
+ height: 42px;
|
|
|
+ line-height: 42px;
|
|
|
+ }
|
|
|
+ /deep/.el-radio-group {
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ padding: 12px 20px;
|
|
|
+ width: 268px;
|
|
|
+ }
|
|
|
+ /deep/.langInfo .el-form-item__label {
|
|
|
+ padding: 35px 0;
|
|
|
+ }
|
|
|
+ /deep/.langSelect .el-select {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.btn {
|
|
|
+ text-align: center;
|
|
|
+ margin: 15px 0;
|
|
|
+}
|
|
|
+</style>
|