guhongwei 4 years ago
parent
commit
a9d088e0b3
1 changed files with 640 additions and 5 deletions
  1. 640 5
      src/views/dynamic/product.vue

+ 640 - 5
src/views/dynamic/product.vue

@@ -2,7 +2,510 @@
   <div id="product">
     <el-row>
       <el-col :span="24">
-        <p>product</p>
+        <div class="w_1200">
+          <el-col :span="24" class="top">
+            toubu
+          </el-col>
+          <el-col :span="24" class="down">
+            <el-tabs v-model="activeName" type="card">
+              <el-tab-pane label="技术需求" name="first">
+                <el-col :span="24" class="first">
+                  <el-col :span="24" class="company">
+                    <h1>企业信息</h1>
+                    <el-col :span="24" class="compnayInfo">
+                      <el-col :span="24" class="txt">
+                        <el-col :span="2" class="left">
+                          企业名称:
+                        </el-col>
+                        <el-col :span="22" class="right">
+                          <el-input v-model="technologyForm.company" placeholder="请输入企业名称"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          注册类型:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.companytype" placeholder="请输入注册类型"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          信用代码:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.zzjgdm" placeholder="请输入统一社会信用代码"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          注册时间:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-date-picker
+                            v-model="technologyForm.companydate"
+                            type="date"
+                            placeholder="请选择时间"
+                            format="yyyy-MM-dd"
+                            value-format="yyyy-MM-dd"
+                          >
+                          </el-date-picker>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          注册资金:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.companycapital" placeholder="请输入注册资金"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          企业法人:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.companyperson" placeholder="请输入企业法人"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          企业网址:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.companyweb" placeholder="请输入企业网址"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          联系人:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.contacts" placeholder="请输入联系人"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          联系电话:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.phone" placeholder="请输入联系电话"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          QQ/微信:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.qqwx" placeholder="请输入QQ/微信"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          电子邮箱:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.email" placeholder="请输入电子邮箱"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="6" class="left">
+                          上年度企业总收入:
+                        </el-col>
+                        <el-col :span="18" class="right">
+                          <el-input v-model="technologyForm.sndqyzsr" placeholder="请输入上年度企业总收入"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="6" class="left">
+                          上年度研发费用:
+                        </el-col>
+                        <el-col :span="18" class="right">
+                          <el-input v-model="technologyForm.sndyffy" placeholder="请输入上年度研发费用"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          企业总人数:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.companytotal" placeholder="请输入企业总人数"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="6" class="left">
+                          专&兼职研发人数:
+                        </el-col>
+                        <el-col :span="18" class="right">
+                          <el-input v-model="technologyForm.zjzyfrs" placeholder="请输入专&兼职研发人数"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>企业简介:</p>
+                        <el-input
+                          v-model="technologyForm.companybrief"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入企业简介"
+                        ></el-input>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>主要产品:</p>
+                        <el-input
+                          v-model="technologyForm.mainproduct"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入主要产品"
+                        ></el-input>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>企业资质&荣誉:</p>
+                        <el-input
+                          v-model="technologyForm.qualifications"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入企业资质&荣誉"
+                        ></el-input>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col :span="24" class="product">
+                    <h1>技术需求</h1>
+                    <el-col :span="24" class="productInfo">
+                      <el-col :span="24" class="txt">
+                        <el-col :span="4" class="left">
+                          技术难题&需求名称:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.name" placeholder="请输入技术难题&需求名称"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="5" class="left">
+                          需求紧急程度:
+                        </el-col>
+                        <el-col :span="19" class="right">
+                          <el-select v-model="technologyForm.degreeurgency" placeholder="请选择需求紧急程度">
+                            <el-option label="特急" value="特急"></el-option>
+                            <el-option label="一般" value="一般"></el-option>
+                            <el-option label="储备" value="储备"></el-option>
+                          </el-select>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          所属领域:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-select v-model="technologyForm.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-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          投资预算:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="technologyForm.budget" placeholder="请输入投资预算"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          合作方式:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-select v-model="technologyForm.cooperation" filterable>
+                            <el-option v-for="(item, index) in cooperationList" :key="index" :value="item.name" :label="item.name"></el-option>
+                          </el-select>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>技术难题&需求说明:</p>
+                        <el-input
+                          v-model="technologyForm.requirementdesc"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入技术难题&需求说明"
+                        ></el-input>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>预期技术目标描述:</p>
+                        <el-input
+                          v-model="technologyForm.expect"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入预期技术目标描述"
+                        ></el-input>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>需求现状及应对措施:</p>
+                        <el-input
+                          v-model="technologyForm.present"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入需求现状及应对措施"
+                        ></el-input>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>合作条件及要求:</p>
+                        <el-input
+                          v-model="technologyForm.condition"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入合作条件及要求"
+                        ></el-input>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col :span="24" class="btn">
+                    <el-button type="primary" size="mini" @click="technologyBtn">保存</el-button>
+                  </el-col>
+                </el-col>
+              </el-tab-pane>
+              <el-tab-pane label="科技成果" name="second">
+                <el-col :span="24" class="first">
+                  <el-col :span="24" class="company">
+                    <h1>企业信息</h1>
+                    <el-col :span="24" class="compnayInfo">
+                      <el-col :span="24" class="txt">
+                        <el-col :span="2" class="left">
+                          企业名称:
+                        </el-col>
+                        <el-col :span="22" class="right">
+                          <el-input v-model="achieveForm.company" placeholder="请输入企业名称"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="txt">
+                        <el-col :span="2" class="left">
+                          企业网址:
+                        </el-col>
+                        <el-col :span="22" class="right">
+                          <el-input v-model="achieveForm.companyweb" placeholder="请输入企业网址"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          联系人:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="achieveForm.contacts" placeholder="请输入联系人"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          联系电话:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="achieveForm.phone" placeholder="请输入联系电话"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          QQ/微信:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="achieveForm.qqwx" placeholder="请输入QQ/微信"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          电子邮箱:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="achieveForm.email" placeholder="请输入电子邮箱"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>企业简介:</p>
+                        <el-input
+                          v-model="achieveForm.companybrief"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入企业简介"
+                        ></el-input>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col :span="24" class="product">
+                    <h1>科技成果</h1>
+                    <el-col :span="24" class="productInfo">
+                      <el-col :span="24" class="txt">
+                        <el-col :span="2" class="left">
+                          成果名称:
+                        </el-col>
+                        <el-col :span="22" class="right">
+                          <el-input v-model="achieveForm.name" placeholder="请输入技术难题&需求名称"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          所属领域:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-select v-model="achieveForm.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-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          合作方式:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-select v-model="achieveForm.cooperation" filterable>
+                            <el-option v-for="(item, index) in cooperationList" :key="index" :value="item.name" :label="item.name"></el-option>
+                          </el-select>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          成果状态:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-select v-model="achieveForm.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-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          成果权属:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="achieveForm.achieveown" placeholder="请输入成果权属"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          成果来源:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-select v-model="achieveForm.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-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          意向价格:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="achieveForm.intentionprice" placeholder="请输入意向价格"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          专利信息:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-input v-model="achieveForm.patentinfo" placeholder="请输入专利信息"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="12" class="txt">
+                        <el-col :span="4" class="left">
+                          专利状态:
+                        </el-col>
+                        <el-col :span="20" class="right">
+                          <el-select v-model="achieveForm.patentstatus" placeholder="请选择专利状态">
+                            <el-option label="已申请" value="已申请"></el-option>
+                            <el-option label="已授权" value="已授权"></el-option>
+                          </el-select>
+                        </el-col>
+                      </el-col>
+
+                      <el-col :span="24" class="txt">
+                        <el-col :span="2" class="left">
+                          项目路演:
+                        </el-col>
+                        <el-col :span="22" class="right">
+                          <el-input v-model="achieveForm.roadshow" placeholder="请输入项目路演"></el-input>
+                        </el-col>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>成果简介:</p>
+                        <el-input
+                          v-model="achieveForm.achievebrief"
+                          type="textarea"
+                          maxlength="200"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入成果简介"
+                        ></el-input>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>技术特点:</p>
+                        <el-input
+                          v-model="achieveForm.features"
+                          type="textarea"
+                          maxlength="200"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入技术特点"
+                        ></el-input>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>技术团队:</p>
+                        <el-input
+                          v-model="achieveForm.team"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入技术团队"
+                        ></el-input>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>商业预期:</p>
+                        <el-input
+                          v-model="achieveForm.expectations"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入商业预期"
+                        ></el-input>
+                      </el-col>
+                      <el-col :span="24" class="txtTwo">
+                        <p>合作条件及要求:</p>
+                        <el-input
+                          v-model="achieveForm.condition"
+                          type="textarea"
+                          maxlength="300"
+                          show-word-limit
+                          :autosize="{ minRows: 4, maxRows: 5 }"
+                          placeholder="请输入合作条件及要求"
+                        ></el-input>
+                      </el-col>
+                    </el-col>
+                  </el-col>
+                  <el-col :span="24" class="btn">
+                    <el-button type="primary" size="mini" @click="achieveBtn">保存</el-button>
+                  </el-col>
+                </el-col>
+              </el-tab-pane>
+            </el-tabs>
+          </el-col>
+        </div>
       </el-col>
     </el-row>
   </div>
@@ -10,6 +513,8 @@
 
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: markettype } = createNamespacedHelpers('markettype');
+const { mapActions: collectproduct } = createNamespacedHelpers('collectproduct');
 export default {
   metaInfo() {
     return { title: this.$route.meta.title };
@@ -18,14 +523,144 @@ export default {
   props: {},
   components: {},
   data: function() {
-    return {};
+    return {
+      activeName: 'first',
+      // 所属领域
+      fieldList: [],
+      // 成果状态
+      achievestatusList: [],
+      // 合作方式
+      cooperationList: [],
+      // 技术需求
+      technologyForm: {},
+      // 科技成果
+      achieveForm: {},
+    };
+  },
+  created() {
+    this.searchtype();
+  },
+  methods: {
+    ...markettype({ markettypeList: 'query' }),
+    // 查询字典表
+    async searchtype() {
+      // 所属领域;
+      let res = await this.markettypeList({ category: '01' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `fieldList`, res.data);
+      }
+      // 成果状态;
+      res = await this.markettypeList({ category: '02' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `achievestatusList`, res.data);
+      }
+      // 合作方式;
+      res = await this.markettypeList({ category: '03' });
+      if (this.$checkRes(res)) {
+        this.$set(this, `cooperationList`, res.data);
+      }
+    },
+    // 技术需求提交
+    async technologyBtn() {
+      let data = this.technologyForm;
+      if (data.company != null) {
+        data.type = '0';
+        data.status = '0';
+        console.log(data);
+      } else {
+        this.$message({
+          message: '企业名称不能为空哦',
+          type: 'warning',
+        });
+      }
+    },
+    // 科技成果提交
+    async achieveBtn() {
+      let data = this.achieveForm;
+      if (data.company != null) {
+        data.type = '1';
+        data.status = '0';
+        console.log(data);
+      } else {
+        this.$message({
+          message: '企业名称不能为空哦',
+          type: 'warning',
+        });
+      }
+    },
   },
-  created() {},
-  methods: {},
   computed: {
     ...mapState(['user']),
   },
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.down {
+  margin: 15px 0;
+  .first {
+    .company {
+      border: 1px solid #ccc;
+      padding: 0 15px 15px 15px;
+      h1 {
+        margin: 10px 10px;
+        border-bottom: 1px solid red;
+        height: 40px;
+        line-height: 40px;
+      }
+      .compnayInfo {
+        .txt {
+          margin: 0 0 5px 0;
+          border-bottom: 1px dashed #ccc;
+          padding: 10px 0;
+          .left {
+            text-align: center;
+            height: 40px;
+            line-height: 40px;
+            font-size: 15px;
+          }
+        }
+        .txtTwo {
+          p {
+            font-size: 15px;
+            padding: 10px;
+          }
+        }
+      }
+    }
+    .product {
+      border: 1px solid #ccc;
+      padding: 0 15px 15px 15px;
+      h1 {
+        margin: 10px 10px;
+        border-bottom: 1px solid red;
+        height: 40px;
+        line-height: 40px;
+      }
+      .productInfo {
+        .txt {
+          margin: 0 0 5px 0;
+          border-bottom: 1px dashed #ccc;
+          padding: 10px 0;
+          .left {
+            text-align: center;
+            height: 40px;
+            line-height: 40px;
+            font-size: 15px;
+          }
+        }
+        .txtTwo {
+          p {
+            font-size: 15px;
+            padding: 10px;
+          }
+        }
+      }
+    }
+    .btn {
+      text-align: center;
+      margin: 15px 0;
+    }
+  }
+}
+</style>