|
@@ -0,0 +1,460 @@
|
|
|
|
+<template>
|
|
|
|
+ <div id="twoDetail">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="24" class="info">
|
|
|
|
+ <el-form ref="form" :model="form" :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="请输入企业名称" disabled></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="请输入联系电话" disabled></el-input>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item prop="email">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 电子邮箱
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-input v-model="form.email" placeholder="请输入电子邮箱" disabled></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="qqwx">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ QQ/微信
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-input v-model="form.qqwx" placeholder="请输入QQ/微信"></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 clearable>
|
|
|
|
+ <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="cooperation">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 合作方式
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-select v-model="form.cooperation" filterable clearable>
|
|
|
|
+ <el-option v-for="(item, index) in cooperationList" :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="achievestatus">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 成果状态
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-select v-model="form.achievestatus" filterable>
|
|
|
|
+ <el-option v-for="(item, index) in achievestatusList" :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="achieveown">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 成果权属
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-input v-model="form.achieveown" placeholder="请输入成果权属"></el-input>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12" class="langSelect">
|
|
|
|
+ <el-form-item prop="achievesource">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 成果来源
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-select v-model="form.achievesource" placeholder="请选择成果来源">
|
|
|
|
+ <el-option label="国家项目" value="国家项目"></el-option>
|
|
|
|
+ <el-option label="省级项目" value="省级项目"></el-option>
|
|
|
|
+ <el-option label="市级项目" value="市级项目"></el-option>
|
|
|
|
+ <el-option label="自选项目" value="自选项目"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item prop="intentionprice">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 意向价格
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-input v-model="form.intentionprice" placeholder="请输入意向价格"></el-input>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-form-item prop="patentinfo">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 专利信息
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" style="border:1px solid #ccc;padding:4px 10px;">
|
|
|
|
+ <el-button type="primary" size="mini" @click="viewpatent()">查看信息</el-button>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="roadshow">
|
|
|
|
+ <el-form-item prop="roadshow">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 项目路演
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" style="padding:0 10px">
|
|
|
|
+ <upload
|
|
|
|
+ :limit="1"
|
|
|
|
+ :data="form.roadshow"
|
|
|
|
+ listType=""
|
|
|
|
+ type="roadshow"
|
|
|
|
+ :url="'/files/roadshow/upload'"
|
|
|
|
+ @upload="roadshowSuccess"
|
|
|
|
+ @delete="roadshowDelete"
|
|
|
|
+ ></upload>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
|
+ <el-form-item prop="achievebrief">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 成果简介
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="form.achievebrief"
|
|
|
|
+ type="textarea"
|
|
|
|
+ maxlength="500"
|
|
|
|
+ show-word-limit
|
|
|
|
+ :autosize="{ minRows: 4, maxRows: 5 }"
|
|
|
|
+ placeholder="请输入成果简介"
|
|
|
|
+ ></el-input>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
|
+ <el-form-item prop="features">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 技术特点
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="form.features"
|
|
|
|
+ type="textarea"
|
|
|
|
+ maxlength="500"
|
|
|
|
+ show-word-limit
|
|
|
|
+ :autosize="{ minRows: 4, maxRows: 5 }"
|
|
|
|
+ placeholder="请输入技术特点"
|
|
|
|
+ ></el-input>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
|
+ <el-form-item prop="team">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 技术团队
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="form.team"
|
|
|
|
+ type="textarea"
|
|
|
|
+ maxlength="500"
|
|
|
|
+ show-word-limit
|
|
|
|
+ :autosize="{ minRows: 4, maxRows: 5 }"
|
|
|
|
+ placeholder="请输入技术团队"
|
|
|
|
+ ></el-input>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
|
+ <el-form-item prop="expectations">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 商业预期
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="form.expect"
|
|
|
|
+ type="textarea"
|
|
|
|
+ maxlength="500"
|
|
|
|
+ show-word-limit
|
|
|
|
+ :autosize="{ minRows: 4, maxRows: 5 }"
|
|
|
|
+ placeholder="请输入商业预期"
|
|
|
|
+ ></el-input>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="langInfo">
|
|
|
|
+ <el-form-item prop="condition">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 合作条件及要求
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="form.condition"
|
|
|
|
+ type="textarea"
|
|
|
|
+ maxlength="500"
|
|
|
|
+ show-word-limit
|
|
|
|
+ :autosize="{ minRows: 4, maxRows: 5 }"
|
|
|
|
+ placeholder="请输入合作条件及要求"
|
|
|
|
+ ></el-input>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="langInfoImage">
|
|
|
|
+ <el-form-item prop="image">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 产品图片(6)
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <uploadArray
|
|
|
|
+ :limit="6"
|
|
|
|
+ :data="form.image"
|
|
|
|
+ :uploadBtn="true"
|
|
|
|
+ type="image"
|
|
|
|
+ :url="`/files/image/upload`"
|
|
|
|
+ @upload="uploadSuccess"
|
|
|
|
+ @delete="uploadDelete"
|
|
|
|
+ ></uploadArray>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-form-item prop="status">
|
|
|
|
+ <el-col :span="21" slot="label">
|
|
|
|
+ 信息状态
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-radio-group v-model="form.status" style="width:97%">
|
|
|
|
+ <el-radio label="1" disabled>待审核</el-radio>
|
|
|
|
+ <el-radio label="2">审核通过</el-radio>
|
|
|
|
+ <el-radio label="3">审核拒绝</el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </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>
|
|
|
|
+ <el-dialog title="查看专利信息" :visible.sync="viewpatentdialog" width="40%" :before-close="patentdialogclose">
|
|
|
|
+ <el-table :data="patent" style="width: 100%" border>
|
|
|
|
+ <el-table-column prop="patentinfo" label="专利信息" align="center"> </el-table-column>
|
|
|
|
+ <el-table-column prop="patentstatus" label="专利状态" align="center"> </el-table-column>
|
|
|
|
+ <el-table-column label="操作" align="center">
|
|
|
|
+ <template v-slot="scoped">
|
|
|
|
+ <el-button type="text" @click="delAttend(scoped.$index, scoped.row)" size="small">删除</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script>
|
|
|
|
+import upload from '@common/src/components/frame/upload.vue';
|
|
|
|
+import uploadArray from '@common/src/components/upload/uploadArray.vue';
|
|
|
|
+import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
|
+const { mapActions: code } = createNamespacedHelpers('code');
|
|
|
|
+export default {
|
|
|
|
+ metaInfo() {
|
|
|
|
+ return { title: this.$route.meta.title };
|
|
|
|
+ },
|
|
|
|
+ name: 'twoDetail',
|
|
|
|
+ props: { form: { type: Object } },
|
|
|
|
+ components: { upload, uploadArray },
|
|
|
|
+ data: function() {
|
|
|
|
+ return {
|
|
|
|
+ rules: {},
|
|
|
|
+ fieldList: [],
|
|
|
|
+ cooperationList: [],
|
|
|
|
+ achievestatusList: [],
|
|
|
|
+ // 专利信息
|
|
|
|
+ addpatentform: {},
|
|
|
|
+ patent: [],
|
|
|
|
+ viewpatentdialog: false,
|
|
|
|
+ };
|
|
|
|
+ },
|
|
|
|
+ async created() {
|
|
|
|
+ await this.searchType();
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ ...code({ codeQuery: 'query' }),
|
|
|
|
+ // 查询字典表
|
|
|
|
+ async searchType() {
|
|
|
|
+ // 所属领域;
|
|
|
|
+ let res = await this.codeQuery({ category: '01' });
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ this.$set(this, `fieldList`, res.data);
|
|
|
|
+ }
|
|
|
|
+ // 合作方式;
|
|
|
|
+ res = await this.codeQuery({ category: '03' });
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ this.$set(this, `cooperationList`, res.data);
|
|
|
|
+ }
|
|
|
|
+ // 成果状态
|
|
|
|
+ res = await this.codeQuery({ category: '02' });
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ this.$set(this, `achievestatusList`, res.data);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 图片
|
|
|
|
+ uploadSuccess({ type, data }) {
|
|
|
|
+ let arr = _.get(this.form, type);
|
|
|
|
+ if (_.isArray(arr)) {
|
|
|
|
+ let datas = { name: data.name, url: data.uri };
|
|
|
|
+ this.form[type].push({ name: data.name, url: data.uri });
|
|
|
|
+ } else {
|
|
|
|
+ let newArr = [{ name: data.name, url: data.uri }];
|
|
|
|
+ this.$set(this.form, `${type}`, newArr);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 删除图片
|
|
|
|
+ uploadDelete(index) {
|
|
|
|
+ this.form.image.splice(index, 1);
|
|
|
|
+ },
|
|
|
|
+ // 项目路演文件上传
|
|
|
|
+ roadshowSuccess({ type, data }) {
|
|
|
|
+ this.$set(this.form, `${type}`, data.uri);
|
|
|
|
+ },
|
|
|
|
+ // 项目路演文件删除
|
|
|
|
+ roadshowDelete(data) {
|
|
|
|
+ this.$set(this.form, `${data.type}`, null);
|
|
|
|
+ },
|
|
|
|
+ // 查看专利信息
|
|
|
|
+ viewpatent() {
|
|
|
|
+ this.viewpatentdialog = true;
|
|
|
|
+ },
|
|
|
|
+ // 删除
|
|
|
|
+ delAttend(index, val) {
|
|
|
|
+ this.patent.splice(index, 1);
|
|
|
|
+ this.$message({
|
|
|
|
+ message: '删除专利信息成功',
|
|
|
|
+ type: 'success',
|
|
|
|
+ });
|
|
|
|
+ this.patentdialogclose();
|
|
|
|
+ },
|
|
|
|
+ // 取消
|
|
|
|
+ patentdialogclose() {
|
|
|
|
+ this.addpatentform = {};
|
|
|
|
+ this.addpatentdialog = false;
|
|
|
|
+ this.viewpatentdialog = false;
|
|
|
|
+ },
|
|
|
|
+ // 提交保存
|
|
|
|
+ onSubmit() {
|
|
|
|
+ this.form.patent = this.patent;
|
|
|
|
+ this.$emit('onSubmit', { data: this.form });
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ computed: {
|
|
|
|
+ ...mapState(['user']),
|
|
|
|
+ },
|
|
|
|
+ watch: {
|
|
|
|
+ form: {
|
|
|
|
+ handler() {
|
|
|
|
+ if (this.form.patent) this.$set(this, `patent`, this.form.patent);
|
|
|
|
+ },
|
|
|
|
+ immediate: true,
|
|
|
|
+ deep: true,
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style lang="less" scoped>
|
|
|
|
+.info {
|
|
|
|
+ .form {
|
|
|
|
+ /deep/.el-form-item {
|
|
|
|
+ margin-bottom: 0px;
|
|
|
|
+ }
|
|
|
|
+ /deep/.el-form-item__label {
|
|
|
|
+ border: 1px solid #dcdfe6;
|
|
|
|
+ line-height: 40px;
|
|
|
|
+ }
|
|
|
|
+ /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: 37px 0;
|
|
|
|
+ }
|
|
|
|
+ /deep/.langInfo .el-textarea__inner {
|
|
|
|
+ height: 117px !important;
|
|
|
|
+ }
|
|
|
|
+ /deep/.langSelect .el-select {
|
|
|
|
+ width: 100%;
|
|
|
|
+ }
|
|
|
|
+ /deep/.langInfoImage .el-form-item__label {
|
|
|
|
+ padding: 53px 0;
|
|
|
|
+ }
|
|
|
|
+ .btn {
|
|
|
|
+ text-align: center;
|
|
|
|
+ padding: 10px 0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+.roadshow {
|
|
|
|
+ height: 90px;
|
|
|
|
+ border: 1px solid #ccc;
|
|
|
|
+ /deep/.el-form-item__label {
|
|
|
|
+ height: 90px;
|
|
|
|
+ line-height: 90px;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</style>
|