Переглянути джерело

Merge branch 'master' of http://git.cc-lotus.info/live/web-achieve

lrf402788946 4 роки тому
батько
коміт
8b41b7ff82

+ 40 - 21
src/views/adminCenter/adminCate/detail.vue

@@ -8,25 +8,25 @@
         <el-col :span="24" class="down">
           <el-col :span="24" class="setp">
             <el-steps :active="active" align-center>
-              <el-step title="(一)吉林省科技成果评价证书"> </el-step>
-              <el-step title="()成果评价基础信息"> </el-step>
-              <el-step title="(三)研究(开发,转化,试试,建设)内筒和技术(创新点)"></el-step>
-              <el-step title="()成果取得的技术,经济指标(目标)"></el-step>
-              <el-step title="()成果参加人员"></el-step>
-              <el-step title="()现场测试(监测,测产)意见"></el-step>
-              <el-step title="()评价意见"></el-step>
-              <el-step title="()评价专家组名单"></el-step>
+              <el-step title="吉林省科技成果评价证书"> </el-step>
+              <el-step title="()成果评价基础信息"> </el-step>
+              <el-step title="(二)研究(开发,转化,实施,建设)内筒和技术(创新点)"></el-step>
+              <el-step title="()成果取得的技术,经济指标(目标)"></el-step>
+              <el-step title="()成果参加人员"></el-step>
+              <el-step title="()现场测试(监测,测产)意见"></el-step>
+              <el-step title="()评价意见"></el-step>
+              <el-step title="()评价专家组名单"></el-step>
             </el-steps>
           </el-col>
           <el-col :span="24" class="form">
-            <one :form="form" @next="oneNext" v-if="active == '1'"></one>
-            <two :form="form" v-else-if="active == '2'"></two>
-            <thr v-else-if="active == '3'"></thr>
-            <four v-else-if="active == '4'"></four>
-            <five v-else-if="active == '5'"></five>
-            <six v-else-if="active == '6'"></six>
-            <seven v-else-if="active == '7'"></seven>
-            <eight v-else-if="active == '8'"></eight>
+            <one :form="form" @next="next('2')" v-if="active == '1'"></one>
+            <two :form="form" @up="up('1')" @next="next('3')" v-else-if="active == '2'"></two>
+            <thr :form="form" @up="up('2')" @next="next('4')" v-else-if="active == '3'"></thr>
+            <four :form="form" @up="up('3')" @next="next('5')" v-else-if="active == '4'"></four>
+            <five :form="form" @up="up('4')" @next="next('6')" v-else-if="active == '5'"></five>
+            <six :form="form" @up="up('5')" @next="next('7')" v-else-if="active == '6'"></six>
+            <seven :form="form" @up="up('6')" @next="next('8')" v-else-if="active == '7'"></seven>
+            <eight :form="form" @up="up('7')" @onSubmit="onSubmit" v-else-if="active == '8'"></eight>
           </el-col>
         </el-col>
       </el-col>
@@ -52,9 +52,16 @@ export default {
   data: function() {
     return {
       // 成果详情
-      active: 2,
+      active: 1,
       form: {
+        // 基本信息
         basic: {},
+        // 内容简介
+        brief: {},
+        // 参加人员
+        research: [],
+        // 会审照片
+        file: {},
       },
     };
   },
@@ -62,7 +69,7 @@ export default {
     await this.search();
   },
   methods: {
-    ...achieveApply(['fetch']),
+    ...achieveApply(['fetch', 'update']),
     async search() {
       if (this.id) {
         let res = await this.fetch(this.id);
@@ -74,9 +81,21 @@ export default {
     back() {
       this.$router.push({ path: '/adminCate' });
     },
-    // 第一步-下一步
-    oneNext() {
-      this.active = 2;
+    // 提交
+    async onSubmit({ data }) {
+      console.log(data);
+      let res = await this.update(data);
+      if (this.$checkRes(res)) {
+        console.log(res);
+      }
+    },
+    // 上一步
+    up(type) {
+      this.active = parseInt(type);
+    },
+    // 下一步
+    next(type) {
+      this.active = parseInt(type);
     },
   },
   computed: {

+ 59 - 12
src/views/adminCenter/adminCate/parts/eight.vue

@@ -2,37 +2,84 @@
   <div id="eight">
     <el-row>
       <el-col :span="24" class="main">
-        test
+        <el-col :span="24" class="top" id="demo">
+          <el-col :span="24" class="title">
+            七.评价专家组名单
+          </el-col>
+          <el-col :span="24" class="info">
+            <el-image :src="form.file.nameList"></el-image>
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="down">
+          <el-button type="primary" size="mini" @click="up">上一步</el-button>
+          <el-button type="primary" size="mini" @click="onSubmit">保存</el-button>
+          <el-button type="primary" size="mini" @click="handleDown">下载</el-button>
+        </el-col>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import htmlToPdf from '@/unit/htmlToPdf.js';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'eight',
-  props: {},
+  props: {
+    form: { type: Object },
+  },
   components: {},
   data: function() {
-    return {};
+    return {
+      img_url: require('@a/logo.png'),
+    };
   },
   created() {},
-  methods: {},
+  methods: {
+    // 上一步
+    up() {
+      this.$emit('up');
+    },
+    // 下一步
+    onSubmit() {
+      this.$emit('onSubmit', { data: this.form });
+    },
+    handleDown() {
+      htmlToPdf.downloadPDF(document.querySelector('#demo'), '测试');
+    },
+  },
   computed: {
     ...mapState(['user']),
   },
   metaInfo() {
     return { title: this.$route.meta.title };
   },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
+  watch: {},
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.main {
+  padding: 0 20%;
+  .top {
+    width: 1000px;
+    height: 1410px;
+    border: 1px solid #000;
+    padding: 40px 20px;
+    .title {
+      font-size: 20px;
+      font-family: 'emoji';
+      margin: 0 0 10px 0;
+    }
+    .info {
+      height: 1310px;
+      border: 2px solid #000;
+      padding: 10px;
+    }
+  }
+  .down {
+    text-align: center;
+    margin: 15px 0 0 0;
+  }
+}
+</style>

+ 83 - 11
src/views/adminCenter/adminCate/parts/five.vue

@@ -2,37 +2,109 @@
   <div id="five">
     <el-row>
       <el-col :span="24" class="main">
-        test
+        <el-col :span="24" class="top" id="demo">
+          <el-col :span="24" class="title">
+            四.成果参加人员
+          </el-col>
+          <el-col :span="24" class="info">
+            <el-table :data="form.research" border style="width: 100%" :highlight-current-row="false">
+              <el-table-column prop="research_name" label="姓名" align="center"> </el-table-column>
+              <el-table-column prop="gender" label="性别" align="center"> </el-table-column>
+              <el-table-column prop="research_company" label="工作单位" align="center"> </el-table-column>
+              <el-table-column prop="position" label="技术职称" align="center"> </el-table-column>
+            </el-table>
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="down">
+          <el-button type="primary" size="mini" @click="up">上一步</el-button>
+          <el-button type="primary" size="mini" @click="next">下一步</el-button>
+          <el-button type="primary" size="mini" @click="handleDown">下载</el-button>
+        </el-col>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import htmlToPdf from '@/unit/htmlToPdf.js';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'five',
-  props: {},
+  props: {
+    form: { type: Object },
+  },
   components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {},
+  methods: {
+    // 上一步
+    up() {
+      this.$emit('up');
+    },
+    // 下一步
+    next() {
+      this.$emit('next');
+    },
+    handleDown() {
+      htmlToPdf.downloadPDF(document.querySelector('#demo'), '测试');
+    },
+  },
   computed: {
     ...mapState(['user']),
   },
   metaInfo() {
     return { title: this.$route.meta.title };
   },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
+  watch: {},
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.main {
+  padding: 0 20%;
+  .top {
+    width: 1000px;
+    height: 1410px;
+    border: 1px solid #000;
+    padding: 40px 20px;
+    .title {
+      font-size: 20px;
+      font-family: 'emoji';
+      // font-weight: bold;
+      margin: 0 0 10px 0;
+    }
+    .info {
+      height: 1310px;
+      border: 2px solid #000;
+      padding: 10px;
+      // /deep/.el-table thead {
+      //   color: #000;
+      // }
+      // /deep/.el-table td,
+      // .el-table th.is-leaf {
+      //   border-bottom: 1px solid #000;
+      // }
+      // /deep/.el-table--border td {
+      //   border-right: 1px solid #000;
+      // }
+      // /deep/.el-table th.is-leaf {
+      //   border-bottom: 1px solid #000;
+      //   border-top: 1px solid #000;
+      // }
+      // /deep/.el-table--border th {
+      //   border-right: 1px solid #000;
+      // }
+      // /deep/.el-table th {
+      //   background-color: #fff !important;
+      //   border-right: 1px solid #000;
+      // }
+    }
+  }
+  .down {
+    text-align: center;
+    margin: 15px 0 0 0;
+  }
+}
+</style>

+ 69 - 11
src/views/adminCenter/adminCate/parts/four.vue

@@ -2,37 +2,95 @@
   <div id="four">
     <el-row>
       <el-col :span="24" class="main">
-        test
+        <el-col :span="24" class="top" id="demo">
+          <el-col :span="24" class="title">
+            三.成果取得的技术,经济指标(目标)
+          </el-col>
+          <el-col :span="24" class="info">
+            <el-input v-model="form.brief.kpi_index" type="textarea" placeholder="请输入"></el-input>
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="down">
+          <el-button type="primary" size="mini" @click="up">上一步</el-button>
+          <el-button type="primary" size="mini" @click="next">下一步</el-button>
+          <el-button type="primary" size="mini" @click="handleDown">下载</el-button>
+        </el-col>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import htmlToPdf from '@/unit/htmlToPdf.js';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'four',
-  props: {},
+  props: {
+    form: { type: Object },
+  },
   components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {},
+  methods: {
+    // 上一步
+    up() {
+      this.$emit('up');
+    },
+    // 下一步
+    next() {
+      this.$emit('next');
+    },
+    handleDown() {
+      htmlToPdf.downloadPDF(document.querySelector('#demo'), '测试');
+    },
+  },
   computed: {
     ...mapState(['user']),
   },
   metaInfo() {
     return { title: this.$route.meta.title };
   },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
+  watch: {},
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.main {
+  padding: 0 20%;
+  .top {
+    width: 1000px;
+    height: 1410px;
+    border: 1px solid #000;
+    padding: 40px 20px;
+    .title {
+      font-size: 20px;
+      font-family: 'emoji';
+      // font-weight: bold;
+      margin: 0 0 10px 0;
+    }
+    .info {
+      height: 1310px;
+      border: 2px solid #000;
+      padding: 10px;
+      /deep/.el-textarea {
+        vertical-align: top;
+      }
+      /deep/.el-textarea__inner {
+        height: 1275px;
+        line-height: 20px;
+        border-radius: 0;
+        border: none;
+        padding: 0;
+        font-size: 16px;
+        color: #000;
+      }
+    }
+  }
+  .down {
+    text-align: center;
+    margin: 15px 0 0 0;
+  }
+}
+</style>

+ 107 - 97
src/views/adminCenter/adminCate/parts/one.vue

@@ -3,37 +3,52 @@
     <el-row>
       <el-col :span="24" class="main">
         <el-col :span="24" class="top" id="demo">
-          <el-form ref="form" :model="form" label-width="100px">
-            <el-col :span="24" class="title">
-              吉林省科技成果评价证书
-            </el-col>
-            <el-col :span="24" class="num">
-              <p>吉发号[<el-input v-model="form.basic.jf_num"></el-input>]第<el-input v-model="form.basic.jf_nums"></el-input>号</p>
-            </el-col>
-            <el-col :span="24" class="info">
-              <el-col :span="24" class="infoMess">
-                <span>成果名称:</span>
+          <el-col :span="24" class="one">
+            吉林省科技成果评价证书
+          </el-col>
+          <el-col :span="24" class="two">
+            <span>吉发字</span>
+            <span>[<el-input v-model="form.basic.cert_jfh" maxlength="4"></el-input>]</span>
+            <span>第</span>
+            <span><el-input v-model="form.basic.cert_num" maxlength="5"></el-input></span>
+            <span>号</span>
+          </el-col>
+          <el-col :span="24" class="thr">
+            <el-col :span="24" class="thr_info">
+              <el-col :span="3" class="left">
+                成果名称:
+              </el-col>
+              <el-col :span="21" class="right">
                 <el-input v-model="form.basic.achieve_name"></el-input>
               </el-col>
-              <el-col :span="24" class="infoMess">
-                <span>完成单位(盖章):</span>
-                <el-input v-model="form.basic.apply_company"></el-input>
+            </el-col>
+            <el-col :span="24" class="thr_info">
+              <el-col :span="5" class="left">
+                完成单位(盖章):
               </el-col>
-              <el-col :span="24" class="infoMess">
-                <span>完成人(签字):</span>
-                <el-input v-model="form.basic.contacts"></el-input>
+              <el-col :span="19" class="right">
+                <el-input v-model="form.basic.apply_company"></el-input>
               </el-col>
             </el-col>
-            <el-col :span="24" class="date">
-              <p>
-                申请评价日期:<span>{{ getDate('yyyy') }}年</span><span>{{ getDate('MM') }}月</span><span>{{ getDate('DD') }}日</span>
-              </p>
-            </el-col>
-            <el-col :span="24" class="make">
-              <p>吉林省发明协会</p>
-              <p>二0一八年十二月制</p>
+            <el-col :span="24" class="thr_info">
+              <el-col :span="5" class="left">
+                完成人(签字):
+              </el-col>
+              <el-col :span="19" class="right">
+                <el-input v-model="form.basic.cert_sign"></el-input>
+              </el-col>
             </el-col>
-          </el-form>
+          </el-col>
+          <el-col :span="24" class="four">
+            <span>申请评价日期:</span>
+            <span>{{ getDate('yyyy') }}年</span>
+            <span>{{ getDate('MM') }}月</span>
+            <span>{{ getDate('DD') }}日</span>
+          </el-col>
+          <el-col :span="24" class="five">
+            <p>吉林省发明协会</p>
+            <p>二0一八年十二月制</p>
+          </el-col>
         </el-col>
         <el-col :span="24" class="down">
           <el-button type="primary" size="mini" @click="next">下一步</el-button>
@@ -45,8 +60,8 @@
 </template>
 
 <script>
-import htmlToPdf from '@/unit/htmlToPdf.js';
 const moment = require('moment');
+import htmlToPdf from '@/unit/htmlToPdf.js';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'one',
@@ -59,6 +74,13 @@ export default {
   },
   created() {},
   methods: {
+    // 下一步
+    next() {
+      this.$emit('next');
+    },
+    handleDown() {
+      htmlToPdf.downloadPDF(document.querySelector('#demo'), '测试');
+    },
     getDate(date) {
       if (date == 'yyyy') {
         return moment().format('YYYY');
@@ -68,12 +90,6 @@ export default {
         return moment().format('DD');
       }
     },
-    next() {
-      this.$emit('next');
-    },
-    handleDown() {
-      htmlToPdf.downloadPDF(document.querySelector('#demo'), '测试');
-    },
   },
   computed: {
     ...mapState(['user']),
@@ -81,104 +97,98 @@ export default {
   metaInfo() {
     return { title: this.$route.meta.title };
   },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
+  watch: {},
 };
 </script>
 
 <style lang="less" scoped>
 .main {
-  padding: 0 28%;
+  padding: 0 20%;
   .top {
-    width: 700px;
-    height: 990px;
-    // border: 1px solid #ccc;
-    padding: 0 15px;
-    .title {
-      font-size: 45px;
+    width: 1000px;
+    height: 1410px;
+    border: 1px solid #000;
+    padding: 40px 20px;
+    position: relative;
+    .one {
       text-align: center;
+      font-size: 40px;
+      margin: 110px 0 50px 0;
+      font-family: monospace;
       font-weight: bold;
-      padding: 120px 0 0 0;
-      font-family: cursive;
-      margin: 0 0 30px 0;
     }
-    .num {
+    .two {
       text-align: center;
-      margin: 0 0 90px 0;
-      p {
-        font-size: 24px;
-        font-family: cursive;
-      }
+      font-size: 18px;
+      margin: 0 0 150px 0;
+      font-family: monospace;
+      color: #000;
+      font-weight: bold;
       /deep/.el-input {
-        width: 10%;
+        width: 8%;
       }
       /deep/.el-input__inner {
         border: none;
-        border-bottom: 2px solid #000;
-        border-radius: 0;
-        font-size: 20px;
-        padding: 0 0;
+        color: #000;
         text-align: center;
+        font-size: 16px;
+      }
+      span:nth-child(2) {
+        padding: 0 0 0 10px;
+      }
+      span:nth-child(3) {
+        padding: 0 0 0 10px;
       }
     }
-    .info {
-      padding: 0 40px;
-      .infoMess {
-        height: 40px;
-        line-height: 40px;
-        margin: 10px 0;
-        span {
-          display: inline-block;
-          width: 37%;
-          height: 45px;
-          line-height: 45px;
-          font-size: 24px;
-          font-family: cursive;
-        }
-        /deep/.el-input {
-          width: 63%;
-        }
-        /deep/.el-input__inner {
-          border: none;
-          border-bottom: 2px solid #000;
-          border-radius: 0;
+    .thr {
+      padding: 0 100px;
+      margin: 0 0 70px 0;
+      .thr_info {
+        margin: 0 0 15px 0;
+        .left {
           font-size: 20px;
-          line-height: 45px;
-          height: 45px;
+          color: #000;
+        }
+        .right {
+          /deep/.el-input__inner {
+            border: none;
+            border-bottom: 1px solid #000;
+            border-radius: 0;
+            color: #000;
+            font-size: 20px;
+          }
         }
       }
+      .thr_info:first-child {
+        margin: 0 0 80px 0;
+      }
     }
-    .date {
-      height: 45px;
-      line-height: 45px;
-      margin: 60px 0 0 0;
-      font-size: 25px;
-      padding: 0 40px;
-      font-family: cursive;
+    .four {
+      padding: 0 100px;
+      font-size: 20px;
+      color: #000;
       span {
-        display: inline-block;
-        height: 45px;
-        line-height: 45px;
-        padding: 0 10px;
+        padding: 0 0 0 15px;
+      }
+      span:nth-child(1) {
+        padding: 0;
       }
     }
-    .make {
-      margin: 220px 0 0 0;
+    .five {
       text-align: center;
+      position: absolute;
+      bottom: 200px;
+      width: 96%;
       p {
         font-size: 20px;
+        color: #000;
         padding: 5px 0;
       }
     }
   }
   .down {
-    margin: 15px 0 0 0;
     text-align: center;
+    margin: 15px 0 0 0;
   }
 }
 </style>

+ 56 - 11
src/views/adminCenter/adminCate/parts/seven.vue

@@ -2,37 +2,82 @@
   <div id="seven">
     <el-row>
       <el-col :span="24" class="main">
-        test
+        <el-col :span="24" class="top" id="demo">
+          <el-col :span="24" class="title">
+            六.评价意见
+          </el-col>
+          <el-col :span="24" class="info">
+            <el-image :src="form.file.page6"></el-image>
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="down">
+          <el-button type="primary" size="mini" @click="up">上一步</el-button>
+          <el-button type="primary" size="mini" @click="next">下一步</el-button>
+          <el-button type="primary" size="mini" @click="handleDown">下载</el-button>
+        </el-col>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import htmlToPdf from '@/unit/htmlToPdf.js';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'seven',
-  props: {},
+  props: {
+    form: { type: Object },
+  },
   components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {},
+  methods: {
+    // 上一步
+    up() {
+      this.$emit('up');
+    },
+    // 下一步
+    next() {
+      this.$emit('next');
+    },
+    handleDown() {
+      htmlToPdf.downloadPDF(document.querySelector('#demo'), '测试');
+    },
+  },
   computed: {
     ...mapState(['user']),
   },
   metaInfo() {
     return { title: this.$route.meta.title };
   },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
+  watch: {},
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.main {
+  padding: 0 20%;
+  .top {
+    width: 1000px;
+    height: 1410px;
+    border: 1px solid #000;
+    padding: 40px 20px;
+    .title {
+      font-size: 20px;
+      font-family: 'emoji';
+      margin: 0 0 10px 0;
+    }
+    .info {
+      height: 1310px;
+      border: 2px solid #000;
+      padding: 10px;
+    }
+  }
+  .down {
+    text-align: center;
+    margin: 15px 0 0 0;
+  }
+}
+</style>

+ 58 - 13
src/views/adminCenter/adminCate/parts/six.vue

@@ -1,38 +1,83 @@
 <template>
-  <div id="six">
+  <div id="five">
     <el-row>
       <el-col :span="24" class="main">
-        test
+        <el-col :span="24" class="top" id="demo">
+          <el-col :span="24" class="title">
+            五.现场测试(监测,测产)意见
+          </el-col>
+          <el-col :span="24" class="info">
+            <el-image :src="form.file.page5"></el-image>
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="down">
+          <el-button type="primary" size="mini" @click="up">上一步</el-button>
+          <el-button type="primary" size="mini" @click="next">下一步</el-button>
+          <el-button type="primary" size="mini" @click="handleDown">下载</el-button>
+        </el-col>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import htmlToPdf from '@/unit/htmlToPdf.js';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
-  name: 'six',
-  props: {},
+  name: 'five',
+  props: {
+    form: { type: Object },
+  },
   components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {},
+  methods: {
+    // 上一步
+    up() {
+      this.$emit('up');
+    },
+    // 下一步
+    next() {
+      this.$emit('next');
+    },
+    handleDown() {
+      htmlToPdf.downloadPDF(document.querySelector('#demo'), '测试');
+    },
+  },
   computed: {
     ...mapState(['user']),
   },
   metaInfo() {
     return { title: this.$route.meta.title };
   },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
+  watch: {},
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.main {
+  padding: 0 20%;
+  .top {
+    width: 1000px;
+    height: 1410px;
+    border: 1px solid #000;
+    padding: 40px 20px;
+    .title {
+      font-size: 20px;
+      font-family: 'emoji';
+      margin: 0 0 10px 0;
+    }
+    .info {
+      height: 1310px;
+      border: 2px solid #000;
+      padding: 10px;
+    }
+  }
+  .down {
+    text-align: center;
+    margin: 15px 0 0 0;
+  }
+}
+</style>

+ 69 - 11
src/views/adminCenter/adminCate/parts/thr.vue

@@ -2,37 +2,95 @@
   <div id="thr">
     <el-row>
       <el-col :span="24" class="main">
-        test
+        <el-col :span="24" class="top" id="demo">
+          <el-col :span="24" class="title">
+            二.研究(或开发,转化,实施,建设)内容和技术(或创新点)
+          </el-col>
+          <el-col :span="24" class="info">
+            <el-input v-model="form.brief.field" type="textarea" placeholder="请输入"></el-input>
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="down">
+          <el-button type="primary" size="mini" @click="up">上一步</el-button>
+          <el-button type="primary" size="mini" @click="next">下一步</el-button>
+          <el-button type="primary" size="mini" @click="handleDown">下载</el-button>
+        </el-col>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import htmlToPdf from '@/unit/htmlToPdf.js';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'thr',
-  props: {},
+  props: {
+    form: { type: Object },
+  },
   components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {},
+  methods: {
+    // 上一步
+    up() {
+      this.$emit('up');
+    },
+    // 下一步
+    next() {
+      this.$emit('next');
+    },
+    handleDown() {
+      htmlToPdf.downloadPDF(document.querySelector('#demo'), '测试');
+    },
+  },
   computed: {
     ...mapState(['user']),
   },
   metaInfo() {
     return { title: this.$route.meta.title };
   },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
+  watch: {},
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.main {
+  padding: 0 20%;
+  .top {
+    width: 1000px;
+    height: 1410px;
+    border: 1px solid #000;
+    padding: 40px 20px;
+    .title {
+      font-size: 20px;
+      font-family: 'emoji';
+      // font-weight: bold;
+      margin: 0 0 10px 0;
+    }
+    .info {
+      height: 1310px;
+      border: 2px solid #000;
+      padding: 10px;
+      /deep/.el-textarea {
+        vertical-align: top;
+      }
+      /deep/.el-textarea__inner {
+        height: 1275px;
+        line-height: 20px;
+        border-radius: 0;
+        border: none;
+        padding: 0;
+        font-size: 16px;
+        color: #000;
+      }
+    }
+  }
+  .down {
+    text-align: center;
+    margin: 15px 0 0 0;
+  }
+}
+</style>

Різницю між файлами не показано, бо вона завелика
+ 652 - 551
src/views/adminCenter/adminCate/parts/two.vue


+ 4 - 0
src/views/userCenter/common/parts/research.vue

@@ -25,6 +25,10 @@ export default {
         { label: '姓名', prop: 'research_name', showTip: true },
         { label: '身份证号', prop: 'card', showTip: true },
         { label: '性别', prop: 'gender', showTip: true },
+        { label: '出生日期', prop: 'birth', showTip: true },
+        { label: '电话', prop: 'phone', showTip: true },
+        { label: '邮箱', prop: 'email', showTip: true },
+        { label: '职务', prop: 'zw', showTip: true },
         { label: '技术职称', prop: 'position', showTip: true },
         { label: '文化程度', prop: 'education', showTip: true },
         { label: '学位', prop: 'degree', showTip: true },

+ 1 - 1
src/views/userCenter/common/update.vue

@@ -45,7 +45,7 @@ export default {
   data: function() {
     return {
       // 步骤
-      active: 1,
+      active: 3,
       form: {
         basic: {},
         brief: {},

+ 19 - 3
src/views/userCenter/common/updateParts/research.vue

@@ -11,7 +11,11 @@
               <el-table-column prop="research_name" label="姓名" align="center" show-overflow-tooltip> </el-table-column>
               <el-table-column prop="card" label="身份证号" align="center" show-overflow-tooltip> </el-table-column>
               <el-table-column prop="gender" label="性别" align="center" show-overflow-tooltip> </el-table-column>
-              <el-table-column prop="position" label="技术职称" align="center" show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="birth" label="出生日期" align="center" show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="phone" label="电话" align="center" show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="email" label="邮箱" align="center" show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="zw" label="职务" align="center" show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="position" label="职称" align="center" show-overflow-tooltip> </el-table-column>
               <el-table-column prop="education" label="文化程度" align="center" show-overflow-tooltip> </el-table-column>
               <el-table-column prop="degree" label="学位" align="center" show-overflow-tooltip> </el-table-column>
               <el-table-column prop="abroad" label="是否留学归国" align="center" show-overflow-tooltip> </el-table-column>
@@ -46,8 +50,20 @@
             <el-radio label="女"></el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item label="技术职称" prop="position">
-          <el-input v-model="form.position" placeholder="请输入技术职称"></el-input>
+        <el-form-item label="出生日期" prop="birth">
+          <el-date-picker v-model="form.birth" type="date" placeholder="选择日期时间" format="yyyy-MM-dd" value-format="yyyy-MM-dd"> </el-date-picker>
+        </el-form-item>
+        <el-form-item label="电话" prop="phone">
+          <el-input v-model="form.phone" placeholder="请输入电话"></el-input>
+        </el-form-item>
+        <el-form-item label="email" prop="email">
+          <el-input v-model="form.email" placeholder="请输入邮箱"></el-input>
+        </el-form-item>
+        <el-form-item label="职务" prop="zw">
+          <el-input v-model="form.zw" placeholder="请输入职务"></el-input>
+        </el-form-item>
+        <el-form-item label="职称" prop="position">
+          <el-input v-model="form.position" placeholder="请输入职称"></el-input>
         </el-form-item>
         <el-form-item label="文化程度" prop="education">
           <el-input v-model="form.education" placeholder="请输入文化程度"></el-input>

+ 124 - 51
src/views/userDeclare/index.vue

@@ -52,66 +52,139 @@ export default {
       active: 1,
       // 基本信息
       basic: {
-        // achieve_date: '2021-03-18 15:54:57',
-        // achieve_form: '成果形式',
-        // achieve_name: '成果名称',
-        // achieve_num: '成果编号',
-        // achieve_type: '成果类别',
-        // address: '地址',
-        // apply_company: '申请单位',
-        // apply_nature: '申请属性',
-        // apply_personal: '申请人',
-        // apply_phone: '13943018185',
-        // contacts: '长春市福瑞科技有限公司',
-        // email: 'myhope1977@163.com',
-        // fax: '传真',
-        // objective: '评价目的',
-        // output: '效益产值',
-        // phone: '13943018186',
-        // profit: '效益利润',
-        // revenue: '效益税收',
-        // stage: '所处阶段',
+        achieve_date: '2021-04-13 09:32:30',
+        achieve_form: '新工艺',
+        achieve_name: '0413-测试成果',
+        achieve_num: '1',
+        achieve_type: '发明专利',
+        address: '吉林省长春市',
+        apply_company: '长春市福瑞科技有限公司',
+        apply_nature: '企业',
+        apply_personal: '长春市福瑞科技有限公司',
+        apply_phone: '13943018186',
+        contacts: '联系人',
+        email: '123456',
+        fax: '123456',
+        objective: '申报奖励',
+        output: '100',
+        phone: '13943018186',
+        profit: '200',
+        revenue: '300',
+        stage: '实验室',
       },
       // 内容简介
       brief: {
-        // achieve_brief: '成果简介',
-        // advanced: '先进性',
-        // compare: '技术比较',
-        // field: '技术原理',
-        // kpi_index: '性能指标',
-        // opinion: '改进意见',
-        // prospect: '推广前景',
-        // sense: '作用意义',
+        achieve_brief: '简介',
+        advanced: '先进性',
+        compare: '技术比较',
+        field: '技术原理',
+        kpi_index: '性能指标',
+        opinion: '改进意见',
+        prospect: '前景',
+        sense: '作用意义',
       },
       // 研发人员名单
       research: [
-        // {
-        //   abroad: '是',
-        //   card: '1',
-        //   degree: '1',
-        //   devote: '1',
-        //   education: '1',
-        //   gender: '男',
-        //   position: '1',
-        //   research_company: '1',
-        //   research_name: '专家1',
-        // },
+        {
+          abroad: '否',
+          birth: '2021-04-13',
+          card: '220182199603257019',
+          degree: '学士',
+          devote: '1',
+          education: '本科',
+          email: '1',
+          gender: '男',
+          phone: '17319450324',
+          zw: '职务',
+          position: '职称',
+          research_company: '长春市福瑞科技有限公司',
+          research_name: '研发1',
+        },
+        {
+          abroad: '否',
+          birth: '2021-04-13',
+          card: '220182199603257020',
+          degree: '学士',
+          devote: '1',
+          education: '本科',
+          email: '1',
+          gender: '男',
+          phone: '17543727325',
+          zw: '职务',
+          position: '职称',
+          research_company: '长春市福瑞科技有限公司',
+          research_name: '研发2',
+        },
+        {
+          abroad: '否',
+          birth: '2021-04-13',
+          card: '220182199603257021',
+          degree: '学士',
+          devote: '1',
+          education: '本科',
+          email: '1',
+          gender: '男',
+          phone: '14798190770',
+          zw: '职务',
+          position: '职称',
+          research_company: '长春市福瑞科技有限公司',
+          research_name: '研发3',
+        },
       ],
       // 补充材料
       datalist: {
-        // app_prove: '/files/live/userDeclare/appprove/20210318155724.docx',
-        // assess_report: '/files/live/userDeclare/assessreport/20210318155722.docx',
-        // benefit: '/files/live/userDeclare/benefit/20210318155716.docx',
-        // budget: '/files/live/userDeclare/budget/20210318155742.docx',
-        // final: '/files/live/userDeclare/final/20210318155745.docx',
-        // patent: '/files/live/userDeclare/patent/20210318155736.docx',
-        // quality: '/files/live/userDeclare/quality/20210318155733.docx',
-        // science_report: '/files/live/userDeclare/sciencereport/20210318155719.docx',
-        // special: '/files/live/userDeclare/special/20210318155739.docx',
-        // techol_ppt: '/files/live/userDeclare/techolppt/20210318155727.docx',
-        // techol_report: '/files/live/userDeclare/techolreport/20210318155713.docx',
-        // testing_report: '/files/live/userDeclare/testingreport/20210318155730.docx',
-        // work_report: '/files/live/userDeclare/workreport/20210318155710.docx',
+        app_prove: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/appprove/20210413093752.txt',
+        },
+        assess_report: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/assessreport/20210413093750.txt',
+        },
+        benefit: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/benefit/20210413093744.txt',
+        },
+        budget: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/budget/20210413093807.txt',
+        },
+        final: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/final/20210413093810.txt',
+        },
+        patent: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/patent/20210413093802.txt',
+        },
+        quality: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/quality/20210413093800.txt',
+        },
+        science_report: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/sciencereport/20210413093747.txt',
+        },
+        special: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/special/20210413093805.txt',
+        },
+        techol_ppt: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/techolppt/20210413093755.txt',
+        },
+        techol_report: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/techolreport/20210413093742.txt',
+        },
+        testing_report: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/testingreport/20210413093758.txt',
+        },
+        work_report: {
+          name: '程序.txt',
+          url: '/files/live/userDeclare/workreport/20210413093739.txt',
+        },
       },
     };
   },

+ 19 - 3
src/views/userDeclare/parts/research.vue

@@ -11,7 +11,11 @@
               <el-table-column prop="research_name" label="姓名" align="center" show-overflow-tooltip> </el-table-column>
               <el-table-column prop="card" label="身份证号" align="center" show-overflow-tooltip> </el-table-column>
               <el-table-column prop="gender" label="性别" align="center" show-overflow-tooltip> </el-table-column>
-              <el-table-column prop="position" label="技术职称" align="center" show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="birth" label="出生日期" align="center" show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="phone" label="电话" align="center" show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="email" label="邮箱" align="center" show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="zw" label="职务" align="center" show-overflow-tooltip> </el-table-column>
+              <el-table-column prop="position" label="职称" align="center" show-overflow-tooltip> </el-table-column>
               <el-table-column prop="education" label="文化程度" align="center" show-overflow-tooltip> </el-table-column>
               <el-table-column prop="degree" label="学位" align="center" show-overflow-tooltip> </el-table-column>
               <el-table-column prop="abroad" label="是否留学归国" align="center" show-overflow-tooltip> </el-table-column>
@@ -46,8 +50,20 @@
             <el-radio label="女"></el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item label="技术职称" prop="position">
-          <el-input v-model="form.position" placeholder="请输入技术职称"></el-input>
+        <el-form-item label="出生日期" prop="birth">
+          <el-date-picker v-model="form.birth" type="date" placeholder="选择日期时间" format="yyyy-MM-dd" value-format="yyyy-MM-dd"> </el-date-picker>
+        </el-form-item>
+        <el-form-item label="电话" prop="phone">
+          <el-input v-model="form.phone" placeholder="请输入电话"></el-input>
+        </el-form-item>
+        <el-form-item label="email" prop="email">
+          <el-input v-model="form.email" placeholder="请输入邮箱"></el-input>
+        </el-form-item>
+        <el-form-item label="职务" prop="zw">
+          <el-input v-model="form.zw" placeholder="请输入职务"></el-input>
+        </el-form-item>
+        <el-form-item label="职称" prop="position">
+          <el-input v-model="form.position" placeholder="请输入职称"></el-input>
         </el-form-item>
         <el-form-item label="文化程度" prop="education">
           <el-input v-model="form.education" placeholder="请输入文化程度"></el-input>

+ 1 - 1
vue.config.js

@@ -25,7 +25,7 @@ module.exports = {
         target: 'http://broadcast.waityou24.cn',
       },
       '/api/live': {
-        target: 'http://broadcast.waityou24.cn',
+        target: 'http://192.168.1.19:9101',
         changeOrigin: true,
         ws: false,
       },