guhongwei %!s(int64=4) %!d(string=hai) anos
pai
achega
333b23141a

+ 26 - 9
src/layout/live/frame.vue

@@ -1,13 +1,20 @@
 <template>
   <div id="frame">
-    <div class="pz_banner">
-      <live-head></live-head>
+    <div v-if="display == 'all'">
+      <div class="pz_banner">
+        <live-head></live-head>
+      </div>
+      <div class="pz_main">
+        <router-view></router-view>
+      </div>
+      <div class="pz_down">
+        <live-foot></live-foot>
+      </div>
     </div>
-    <div class="pz_main">
-      <router-view></router-view>
-    </div>
-    <div class="pz_down">
-      <live-foot></live-foot>
+    <div v-else>
+      <div class="pz_main">
+        <router-view></router-view>
+      </div>
     </div>
   </div>
 </template>
@@ -21,9 +28,19 @@ export default {
   props: {},
   components: { liveHead, liveFoot },
   data: () => {
-    return {};
+    return {
+      display: 'all',
+    };
+  },
+  created() {
+    let route = window.location.pathname;
+    console.log(route);
+    if (route == '/notice/index') {
+      this.display = 'notice';
+    } else {
+      this.display = 'all';
+    }
   },
-  created() {},
   methods: {},
   computed: {},
 };

+ 1 - 1
src/router/index.js

@@ -160,7 +160,7 @@ const live = [
       //技术成果征集信息
       {
         path: '/notice/productForm',
-        name: 'id',
+        name: 'notice',
         meta: { title: '通知详情' },
         component: () => import('../views/notice/productForm.vue'),
       },

+ 4 - 0
src/store/live/dock.js

@@ -60,6 +60,10 @@ const actions = {
     const res = await this.$axios.$post(`${api.dockInfo}/createvipuser/${id}`, data);
     return res;
   },
+  async deletevipuser({ commit }, { id, ...data }) {
+    const res = await this.$axios.$post(`${api.dockInfo}/deletevipuser/${id}`, data);
+    return res;
+  },
   async updateGood({ commit }, { id, ...data }) {
     const res = await this.$axios.$post(`${api.dockInfo}/goods/${id}`, data);
     return res;

+ 9 - 2
src/views/adminCenter/vipInfo/index.vue

@@ -98,7 +98,14 @@ export default {
     this.search();
   },
   methods: {
-    ...dock({ dockquery: 'query', dockFetch: 'fetch', dockUpdate: 'update', dockupdateVip: 'updateVip', createvipuser: 'createvipuser' }),
+    ...dock({
+      dockquery: 'query',
+      dockFetch: 'fetch',
+      dockUpdate: 'update',
+      dockupdateVip: 'updateVip',
+      createvipuser: 'createvipuser',
+      deletevipuser: 'deletevipuser',
+    }),
     ...apply({ applyUpdate: 'update' }),
     ...authUser({ authUserQuery: 'query', authUserCreate: 'create', authUserUpdate: 'update', authUserDelete: 'delete' }),
     async search() {
@@ -203,7 +210,7 @@ export default {
     async deleteViP(data) {
       const res = await this.authUserDelete(data._id);
       if (this.$checkRes(res)) {
-        const res = await this.authUserDelete(data.uid);
+        const res = await this.deletevipuser(data.uid);
         if (this.$checkRes(arr)) {
           this.$message({
             message: '删除用户成功',

+ 82 - 0
src/views/notice/index copy.vue

@@ -0,0 +1,82 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="main">
+        <div class="w_1200">
+          <el-col :span="24" class="bt">{{ noticeInfo.title }}</el-col>
+          <el-col :span="24" class="date">
+            <span>来源:{{ noticeInfo.source }}</span>
+            <span>发布时间:{{ noticeInfo.create_time }}</span>
+          </el-col>
+          <el-col :span="24" class="content" v-html="noticeInfo.content"></el-col>
+          <el-col :span="24" class="sb">
+            <el-button type="primary" size="mini" @click="click(noticeInfo.id)">技术需求%科技成果信息征集填报</el-button>
+          </el-col>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: notice } = createNamespacedHelpers('notice');
+export default {
+  name: 'index',
+  props: {},
+  components: {},
+  data: function() {
+    return {
+      noticeInfo: {},
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    ...notice(['query']),
+    // 列表
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      let arr = await this.query({ skip, limit, ...info });
+      this.$set(this, `noticeInfo`, arr.data[0]);
+    },
+    click(id) {
+      this.$router.push({ path: '/notice/productForm', query: { id: id } });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 80%;
+  margin: 0 auto;
+}
+.main {
+  margin: 0 0 30px 0;
+}
+.bt {
+  font-size: 30px;
+  text-align: center;
+  padding: 60px 0 20px 0;
+}
+.date {
+  text-align: center;
+  font-size: 18px;
+  span {
+    margin: 0 10px;
+  }
+}
+.content {
+  margin: 15px 0;
+}
+</style>

+ 573 - 18
src/views/notice/index.vue

@@ -3,24 +3,432 @@
     <el-row>
       <el-col :span="24" class="main">
         <div class="w_1200">
-          <el-col :span="24" class="bt">{{ noticeInfo.title }}</el-col>
+          <el-col :span="24" class="title">
+            {{ noticeInfo.title }}
+          </el-col>
           <el-col :span="24" class="date">
             <span>来源:{{ noticeInfo.source }}</span>
             <span>发布时间:{{ noticeInfo.create_time }}</span>
           </el-col>
           <el-col :span="24" class="content" v-html="noticeInfo.content"></el-col>
           <el-col :span="24" class="sb">
-            <el-button type="primary" size="mini" @click="click(noticeInfo.id)">技术需求%科技成果信息征集填报</el-button>
+            <el-button type="primary" size="mini" @click="dialog = true">技术需求/科技成果信息征集填报</el-button>
           </el-col>
         </div>
       </el-col>
+      <el-backtop>
+        <div class="backTop">返回顶部</div>
+      </el-backtop>
     </el-row>
+    <el-dialog :visible.sync="dialog" class="down" title="信息征集" @close="toClose" width="61%">
+      <el-tabs v-model="activeName" type="card">
+        <el-tab-pane label="技术需求" name="first">
+          <el-col :span="24" class="first">
+            <el-form ref="technologyForm" :model="technologyForm" :rules="technologyRules" label-width="140px">
+              <el-col :span="24" class="company">
+                <h1>企业信息</h1>
+                <el-col :span="24" class="compnayInfo">
+                  <el-col :span="24" class="txt">
+                    <el-form-item label="企业名称:" prop="company">
+                      <el-input v-model="technologyForm.company" placeholder="请输入企业名称"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="注册类型:">
+                      <el-input v-model="technologyForm.companytype" placeholder="请输入注册类型"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="组织机构代码:">
+                      <el-input v-model="technologyForm.companytype" placeholder="请输入组织机构代码"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="注册时间:">
+                      <el-date-picker v-model="technologyForm.companydate" type="date" placeholder="请选择时间" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
+                      </el-date-picker>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="注册资金:">
+                      <el-input v-model="technologyForm.companycapital" placeholder="请输入注册资金"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="企业法人:">
+                      <el-input v-model="technologyForm.companyperson" placeholder="请输入企业法人"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="企业网址:">
+                      <el-input v-model="technologyForm.companyweb" placeholder="请输入企业网址"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="联系人:">
+                      <el-input v-model="technologyForm.contacts" placeholder="请输入联系人"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="联系电话:" prop="phone">
+                      <el-input v-model="technologyForm.phone" placeholder="请输入联系电话"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="QQ/微信:">
+                      <el-input v-model="technologyForm.qqwx" placeholder="请输入QQ/微信"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="电子邮箱:">
+                      <el-input v-model="technologyForm.email" placeholder="请输入电子邮箱"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="上年度企业总收入:">
+                      <el-input v-model="technologyForm.sndqyzsr" placeholder="请输入上年度企业总收入"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="上年度研发费用:">
+                      <el-input v-model="technologyForm.sndyffy" placeholder="请输入上年度研发费用"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="企业总人数:">
+                      <el-input v-model="technologyForm.companytotal" placeholder="请输入企业总人数"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="专(兼)职研发人数:">
+                      <el-input v-model="technologyForm.zjzyfrs" placeholder="请输入专(兼)职研发人数"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="企业简介:">
+                      <el-input
+                        v-model="technologyForm.companybrief"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入企业简介"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="主要产品:">
+                      <el-input
+                        v-model="technologyForm.mainproduct"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入主要产品"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="企业资质(荣誉):">
+                      <el-input
+                        v-model="technologyForm.qualifications"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入企业资质(荣誉)"
+                      ></el-input>
+                    </el-form-item>
+                  </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-form-item label="名称:" prop="name">
+                      <el-input v-model="technologyForm.name" placeholder="请输入注册类型"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="需求紧急程度:">
+                      <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-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="所属领域:">
+                      <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-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txt">
+                    <el-form-item label="投资预算:">
+                      <el-input v-model="technologyForm.budget" placeholder="请输入投资预算"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="合作方式:">
+                      <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-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="技术说明:">
+                      <el-input
+                        v-model="technologyForm.requirementdesc"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入技术难题/需求说明"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="预期目标:">
+                      <el-input
+                        v-model="technologyForm.expect"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入预期技术目标描述"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="需求现状:">
+                      <el-input
+                        v-model="technologyForm.present"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入需求现状及应对措施"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="合作条件及要求:">
+                      <el-input
+                        v-model="technologyForm.condition"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入合作条件及要求"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-form>
+            <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-form ref="achieveForm" :model="achieveForm" :rules="technologyRules" label-width="140px">
+              <el-col :span="24" class="company">
+                <h1>企业信息</h1>
+                <el-col :span="24" class="compnayInfo">
+                  <el-col :span="24" class="txt">
+                    <el-form-item label="企业名称:" prop="company">
+                      <el-input v-model="achieveForm.company" placeholder="请输入企业名称"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txt">
+                    <el-form-item label="企业网址:">
+                      <el-input v-model="achieveForm.companyweb" placeholder="请输入企业网址"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="联系人:">
+                      <el-input v-model="achieveForm.contacts" placeholder="请输入联系人"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="联系电话:" prop="phone">
+                      <el-input v-model="achieveForm.phone" placeholder="请输入联系电话"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="QQ/微信:">
+                      <el-input v-model="achieveForm.qqwx" placeholder="请输入QQ/微信"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="电子邮箱:">
+                      <el-input v-model="achieveForm.email" placeholder="请输入电子邮箱"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="企业简介:">
+                      <el-input
+                        v-model="achieveForm.companybrief"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入企业简介"
+                      ></el-input>
+                    </el-form-item>
+                  </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-form-item label="成果名称:" prop="name">
+                      <el-input v-model="achieveForm.name" placeholder="请输入注册类型"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="所属领域:">
+                      <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-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="合作方式:">
+                      <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-form-item>
+                  </el-col>
+                  <el-col :span="12" class="txt">
+                    <el-form-item label="成果状态:">
+                      <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-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txt">
+                    <el-form-item label="成果权属:">
+                      <el-input v-model="achieveForm.achieveown" placeholder="请输入成果权属"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txt">
+                    <el-form-item label="成果来源:">
+                      <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-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txt">
+                    <el-form-item label="意向价格:">
+                      <el-input v-model="achieveForm.intentionprice" placeholder="请输入意向价格"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txt">
+                    <el-form-item label="专利信息:">
+                      <el-input v-model="achieveForm.patentinfo" placeholder="请输入专利信息"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txt">
+                    <el-form-item label="专利状态:">
+                      <el-select v-model="achieveForm.patentstatus" placeholder="请选择专利状态">
+                        <el-option label="已申请" value="已申请"></el-option>
+                        <el-option label="已授权" value="已授权"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txt">
+                    <el-form-item label="项目路演:">
+                      <el-input v-model="achieveForm.roadshow" placeholder="请输入项目路演"></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="成果简介:">
+                      <el-input
+                        v-model="achieveForm.achievebrief"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入成果简介"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="技术特点:">
+                      <el-input
+                        v-model="achieveForm.features"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入技术特点"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="技术团队:">
+                      <el-input
+                        v-model="achieveForm.team"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入技术团队"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="商业预期:">
+                      <el-input
+                        v-model="achieveForm.expectations"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入商业预期"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" class="txtTwo">
+                    <el-form-item label="合作条件及要求:">
+                      <el-input
+                        v-model="achieveForm.condition"
+                        type="textarea"
+                        maxlength="300"
+                        show-word-limit
+                        :autosize="{ minRows: 4, maxRows: 5 }"
+                        placeholder="请输入合作条件及要求"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-form>
+            <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-dialog>
   </div>
 </template>
 
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: notice } = createNamespacedHelpers('notice');
+const { mapActions: markettype } = createNamespacedHelpers('markettype');
+const { mapActions: mapMarketproduct } = createNamespacedHelpers('marketproduct');
 export default {
   name: 'index',
   props: {},
@@ -28,20 +436,89 @@ export default {
   data: function() {
     return {
       noticeInfo: {},
+      dialog: false,
+      activeName: 'first',
+      // 所属领域
+      fieldList: [],
+      // 成果状态
+      achievestatusList: [],
+      // 合作方式
+      cooperationList: [],
+      // 技术
+      technologyForm: {},
+      // 成果
+      achieveForm: {},
+      technologyRules: {
+        company: [{ required: true, message: '请输入企业名称', trigger: 'blur' }],
+        phone: [{ required: true, message: '请输入联系电话', trigger: 'blur' }],
+        name: [{ required: true, message: '请输入需求名称', trigger: 'blur' }],
+      },
     };
   },
   created() {
+    this.searchtype();
     this.search();
   },
   methods: {
     ...notice(['query']),
+    ...markettype({ markettypeList: 'query' }),
+    ...mapMarketproduct({ productCreate: 'create' }),
     // 列表
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let arr = await this.query({ skip, limit, ...info });
       this.$set(this, `noticeInfo`, arr.data[0]);
     },
-    click(id) {
-      this.$router.push({ path: '/notice/productForm', query: { id: id } });
+    // 技术提交
+    async technologyBtn() {
+      let data = this.technologyForm;
+      let res = await this.productCreate(data);
+      if (this.$checkRes(res)) {
+        this.$message({
+          message: '信息创建成功',
+          type: 'success',
+        });
+        this.toClose();
+      } else {
+        this.$message.error('信息创建失败');
+      }
+    },
+    // 成果提交
+    async achieveBtn() {
+      let data = this.achieveForm;
+      let res = await this.productCreate(data);
+      if (this.$checkRes(res)) {
+        this.$message({
+          message: '信息创建成功',
+          type: 'success',
+        });
+        this.toClose();
+      } else {
+        this.$message.error('信息创建失败');
+      }
+    },
+    // 查询字典表
+    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);
+      }
+    },
+    // 取消
+    toClose() {
+      this.technologyForm = {};
+      this.achieveForm = {};
+      this.dialog = false;
     },
   },
   computed: {
@@ -58,25 +535,103 @@ export default {
 
 <style lang="less" scoped>
 .w_1200 {
-  width: 80%;
+  width: 1200px;
   margin: 0 auto;
 }
 .main {
-  margin: 0 0 30px 0;
-}
-.bt {
-  font-size: 30px;
-  text-align: center;
-  padding: 60px 0 20px 0;
-}
-.date {
-  text-align: center;
-  font-size: 18px;
-  span {
-    margin: 0 10px;
+  .title {
+    font-size: 60px;
+    text-align: center;
+    margin: 30px 0;
+  }
+  .date {
+    text-align: center;
+    font-size: 18px;
+    span {
+      margin: 0 10px;
+    }
+  }
+  .content {
+    margin: 15px 0;
   }
 }
-.content {
+.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;
+    }
+  }
+}
+/deep/.el-backtop {
+  font-size: 16px;
+}
+.backTop {
+  height: 100%;
+  width: 100%;
+  background-color: #f2f5f6;
+  box-shadow: 0 0 6px rgba(0, 0, 0, 0.12);
+  text-align: center;
+  color: #1989fa;
+  border-radius: 10px;
 }
 </style>