guhongwei hace 4 años
padre
commit
2d30f6f658

+ 2 - 4
src/views/superAdminCenter/user/index.vue

@@ -137,12 +137,12 @@ export default {
     // 审核。查看
     async toEdit({ data }) {
       if (data.role == '4' || data.role == '5') {
-        let res = await this.fetch(data.uid);
+        let res = await this.fetch(data.id);
         if (this.$checkRes(res)) {
           this.$set(this, `form`, res.data);
         }
       } else {
-        let res = await this.expertFetch(data.uid);
+        let res = await this.expertFetch(data.id);
         if (this.$checkRes(res)) {
           this.$set(this, `form`, res.data);
         }
@@ -153,7 +153,6 @@ export default {
     // 提交
     async handleSave(data) {
       if (data.role == '4' || data.role == '5') {
-        data.id = this.editData.uid;
         let res = await this.update(data);
         if (this.$checkRes(res)) {
           this.$message({
@@ -163,7 +162,6 @@ export default {
           this.handleClose();
         }
       } else if (data.role == '6') {
-        data.id = this.editData.uid;
         let res = await this.expertUpdate(data);
         if (this.$checkRes(res)) {
           this.$message({

+ 5 - 1
src/views/superAdminCenter/user/parts/detailInfo.vue

@@ -95,7 +95,11 @@
           </span>
           <span v-else-if="form.role == '6'">
             <el-form-item label="头像">
-              <upload :limit="1" :data="form.expertimage" type="expertimage" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+              <el-image :src="form.expertimage">
+                <div slot="error" class="image-slot">
+                  <i class="el-icon-picture-outline"></i>
+                </div>
+              </el-image>
             </el-form-item>
             <el-form-item label="最高学历">
               <el-input v-model="form.education" placeholder="请输入最高学历"></el-input>

+ 37 - 87
src/views/technical/detail/expdetail.vue

@@ -2,111 +2,61 @@
   <div id="expdetail">
     <el-row>
       <el-col :span="24" class="main">
-        <div class="detailtop">
-          <span>{{ detailinfo.title }}</span>
-        </div>
-        <div class="detailtopleft">
-          <span>时间:{{ detailinfo.publish_time }}&nbsp;&nbsp;&nbsp;&nbsp;来源:{{ detailinfo.orgin }}</span>
-        </div>
-
-        <div class="detailimage" v-if="detailinfo.picture">
-          <img :src="detailinfo.picture" class="detailimg" />
-        </div>
-        <div class="detailvideo" v-if="detailinfo.filepath">
-          <video :src="detailinfo.filepath" controls="controls">
-            您的浏览器不支持 video 标签。
-          </video>
-        </div>
-        <div class="detailcontext">
-          <p v-html="detailinfo.content"></p>
-        </div>
-        <!-- <div class="development">
-          <p>功能开发中</p>
-          <p>功能实现流程:<span>问诊记录展示</span>-<span>在线咨询</span>-<span>专家在线问诊</span></p>
-        </div> -->
+        <el-tabs v-model="active" type="card">
+          <el-tab-pane label="调研调查信息" name="first">
+            <questionInfo :info="detailinfo"></questionInfo>
+          </el-tab-pane>
+          <el-tab-pane label="项目征集信息" name="second">
+            <projectForm :form="form" @onSubmit="onSubmit"></projectForm>
+          </el-tab-pane>
+        </el-tabs>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import questionInfo from './parts/questionInfo.vue';
+import projectForm from './parts/projectForm.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: projectsolic } = createNamespacedHelpers('projectsolic');
 export default {
   name: 'expdetail',
   props: {
     detailinfo: { type: Object },
   },
-  components: {},
+  components: {
+    questionInfo,
+    projectForm,
+  },
   data: function() {
-    return {};
+    return {
+      active: 'first',
+      form: {},
+    };
   },
   created() {},
-  methods: {},
+  methods: {
+    ...projectsolic(['create']),
+    async onSubmit({ data }) {
+      data.question_id = this.detailinfo._id;
+      data.user_id = this.user.userid;
+      let res = await this.create(data);
+      if (this.$checkRes(res)) {
+        this.$message({
+          message: '数据添加成功',
+          type: 'success',
+        });
+        this.form = {};
+        this.active = 'first';
+      }
+    },
+  },
   computed: {
     ...mapState(['user']),
   },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
+  watch: {},
 };
 </script>
 
-<style lang="less" scoped>
-.main {
-  .detailtop {
-    padding: 20px 0px;
-    font-size: 18px;
-    line-height: 40px;
-    font-weight: normal;
-    text-align: left;
-    margin: 0;
-    text-align: center;
-    color: #005293;
-  }
-  .detailtopleft {
-    text-align: center;
-    padding: 0 0 10px 0;
-    border-bottom: 1px solid #ccc;
-    font-size: 16px;
-    color: #666666;
-  }
-  .detailimage {
-    text-align: center;
-    padding: 20px 0 0 0;
-  }
-  .detailimg {
-    width: 500px;
-    height: 300px;
-  }
-  .detailvideo {
-    text-align: center;
-    padding: 10px 0;
-    video {
-      width: 100%;
-      height: 460px;
-    }
-  }
-  .detailcontext {
-    padding: 20px 0;
-    min-height: 370px;
-  }
-  .development {
-    height: 50px;
-    border: 1px dashed red;
-    padding: 0 30px;
-    p:first-child {
-      text-align: center;
-      font-size: 18px;
-      color: red;
-      font-weight: bold;
-    }
-    p:last-child {
-      text-align: center;
-      height: 25px;
-      line-height: 25px;
-      font-size: 16px;
-      font-weight: bold;
-    }
-  }
-}
-</style>
+<style lang="less" scoped></style>

+ 329 - 0
src/views/technical/detail/parts/projectForm.vue

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

+ 82 - 0
src/views/technical/detail/parts/questionInfo.vue

@@ -0,0 +1,82 @@
+<template>
+  <div id="questionInfo">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="title textOver">
+          {{ info.title }}
+        </el-col>
+        <el-col :span="24" class="other">
+          <span>发布时间:{{ info.create_date || '暂无' }}</span>
+          <span>信息来源:{{ info.origin || '暂无' }}</span>
+        </el-col>
+        <el-col :span="24" class="image">
+          <el-image :src="info.img_path"></el-image>
+        </el-col>
+        <el-col :span="24" class="content">
+          <p v-html="info.content"></p>
+        </el-col>
+        <el-col :span="24" class="link">
+          <el-link :href="info.file_path" :underline="false">附件下载</el-link>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'questionInfo',
+  props: {
+    info: { type: Object },
+  },
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .title {
+    font-size: 25px;
+    padding: 15px 0;
+    text-align: center;
+    color: #005293;
+  }
+  .other {
+    text-align: center;
+    font-size: 18px;
+    margin: 0 0 15px 0;
+    span {
+      padding: 0 10px;
+    }
+  }
+  .image {
+    text-align: center;
+    height: 300px;
+    margin: 0 0 15px 0;
+    .el-image {
+      width: 50%;
+      height: 300px;
+      overflow: hidden;
+    }
+  }
+  .content {
+    margin: 0 0 15px 0;
+  }
+  .link {
+    margin: 0 0 15px 0;
+    .el-link {
+      font-size: 16px;
+    }
+  }
+}
+</style>

+ 13 - 11
src/views/technical/index.vue

@@ -56,6 +56,7 @@ import jbyx from './gzcy/jbyx.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: column } = createNamespacedHelpers('column');
 const { mapActions: news } = createNamespacedHelpers('news');
+const { mapActions: mapQuestion } = createNamespacedHelpers('question');
 export default {
   metaInfo() {
     return { title: this.$route.meta.title };
@@ -117,6 +118,7 @@ export default {
   methods: {
     ...column({ columnQuery: 'query' }),
     ...news({ newsQuery: 'query' }),
+    ...mapQuestion({ questionQuery: 'query' }),
     async search({ skip = 0, limit = 5, ...info } = {}) {
       //查询栏目
       let res = await this.columnQuery({ ...info });
@@ -127,19 +129,19 @@ export default {
     },
     //查询列表
     async searchList({ skip = 0, limit = 5, ...info } = {}) {
-      for (const i of this.columnList) {
-        if (i.name == '调查问卷') {
-          const res = await this.newsQuery({ skip, limit, column_id: i._id });
-          if (this.$checkRes(res)) {
-            this.$set(this, `questionList`, res.data);
-          }
-        } else if (i.name == '行业研究') {
-          const res = await this.newsQuery({ skip, limit, column_id: i._id });
-          if (this.$checkRes(res)) {
-            this.$set(this, `workList`, res.data);
-          }
+      // 查询行业研究
+      let column = this.columnList.find(i => i.name == '行业研究');
+      if (column) {
+        let res = await this.newsQuery({ skip, limit, column_id: column._id, ...info });
+        if (this.$checkRes(res)) {
+          this.$set(this, `workList`, res.data);
         }
       }
+      // 查询调研调查
+      let res = await this.questionQuery({ skip, limit: 6, ...info });
+      if (this.$checkRes(res)) {
+        this.$set(this, `questionList`, res.data);
+      }
     },
     show(data) {
       if (data.title == '展会服务') {

+ 20 - 42
src/views/technical/index/question.vue

@@ -6,22 +6,14 @@
           <top :topInfo="topInfo" @moreBtn="moreBtn"></top>
         </el-col>
         <el-col :span="24" class="down">
-          <el-col
-            :span="24"
-            class="expertList"
-            v-for="(item, index) in questionList"
-            :key="index"
-            @click.native="$router.push({ path: '/technical/list', query: { type: '1', column_name: '调查问卷', id: item._id } })"
-          >
-            <el-col :span="4" class="date">
-              <span>{{ item.publish_time || '暂无' }}</span>
-            </el-col>
+          <el-col :span="24" class="list" v-for="(item, index) in questionList" :key="index" @click.native="detailBtn(item)">
             <el-col :span="20" class="title textOver">
               {{ item.title }}
             </el-col>
-            <el-col :span="24" class="brief">
-              {{ item.titlejj || '暂无' }}
+            <el-col :span="4" class="date">
+              {{ item.create_date || '暂无' }}
             </el-col>
+            <el-col :span="24" class="orgin"> 信息来源:{{ item.origin || '暂无' }} </el-col>
           </el-col>
         </el-col>
       </el-col>
@@ -46,7 +38,7 @@ export default {
   data: function() {
     return {
       topInfo: {
-        title: '调查问卷',
+        title: '调研调查',
         engTitle: 'question',
       },
     };
@@ -55,7 +47,11 @@ export default {
   methods: {
     // 更多
     moreBtn() {
-      this.$router.push({ path: '/technical/list', query: { type: '1', column_name: '调查问卷' } });
+      this.$router.push({ path: '/technical/list', query: { type: '1', column_name: '调研调查' } });
+    },
+    // 详情
+    detailBtn(data) {
+      this.$router.push({ path: '/technical/list', query: { type: '1', column_name: '调研调查', id: data._id } });
     },
   },
   computed: {
@@ -73,41 +69,23 @@ export default {
   .down {
     height: 450px;
     position: relative;
-    .expertList {
+    .list {
       border-bottom: 1px dashed #000;
-      padding: 10px 0;
-      .date {
-        text-align: center;
-        span {
-          background: #044b79;
-          padding: 2px 5px 4px 5px;
-          font-size: 14px;
-          border-radius: 5px;
-          font-weight: bold;
-          color: #fff;
-        }
-      }
+      padding: 11px 0;
       .title {
         font-size: 16px;
         font-weight: bold;
-        padding: 0 0 0 5px;
       }
-      .brief {
-        font-size: 14px;
-        overflow: hidden;
-        text-overflow: ellipsis;
-        -webkit-line-clamp: 2;
-        word-break: break-all;
-        display: -webkit-box;
-        -webkit-box-orient: vertical;
-        padding: 5px 0 0 0;
-        height: 43px;
+      .date {
+        text-align: right;
+        font-size: 16px;
+      }
+      .orgin {
+        font-size: 16px;
+        margin: 10px 0 0 0;
       }
     }
-    .expertList:last-child {
-      border-bottom: none;
-    }
-    .expertList:hover {
+    .list:hover {
       cursor: pointer;
       .title {
         color: #409eff;

+ 14 - 14
src/views/technical/list.vue

@@ -12,7 +12,7 @@
           </el-col>
           <el-col :span="18" class="listInfo">
             <span v-if="display == 'list'">
-              <span v-if="column_name == '调查问卷'">
+              <span v-if="column_name == '调研调查'">
                 <exports :zhuantiList="zhuantiList" :total="zhuantiTotal" :menuName="column_name" @clickDetail="clickDetail"></exports>
               </span>
               <span v-else-if="column_name == '行业研究'">
@@ -20,7 +20,7 @@
               </span>
             </span>
             <span v-else>
-              <span v-if="column_name == '调查问卷'">
+              <span v-if="column_name == '调研调查'">
                 <el-col :span="24" style="text-align:right;">
                   <el-button type="primary" size="mini" @click="display = 'list'">返回</el-button>
                 </el-col>
@@ -52,12 +52,12 @@ import industry from './list/industry.vue';
 // 详情
 import expdetail from './detail/expdetail.vue';
 import inddetail from './detail/inddetail.vue';
-
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: column } = createNamespacedHelpers('column');
 const { mapActions: news } = createNamespacedHelpers('news');
 const { mapActions: newsguidance } = createNamespacedHelpers('newsguidance');
 const { mapActions: newsroadshow } = createNamespacedHelpers('newsroadshow');
+const { mapActions: mapQuestion } = createNamespacedHelpers('question');
 export default {
   name: 'list',
   props: {},
@@ -71,23 +71,23 @@ export default {
     return {
       squareImage: require('@/assets/live/square_big.png'),
       // 菜单
-      menuList: [{ name: '调查问卷' }, { name: '行业研究' }],
+      menuList: [{ name: '调研调查' }, { name: '行业研究' }],
       menuIndex: '0',
       menuColor: 'rgb(254, 149, 14)',
       // 右侧显示
       // list:列表,detail:详情
       display: 'list',
       // 右侧头部栏目
-      column_name: '调查问卷',
-      // 调查问卷,行业研究栏目
+      column_name: '调研调查',
+      // 调研调
       columnLists: [],
-      // 调查问卷
+      // 调研调
       zhuantiList: [],
-      zhuantiTotal: 0,
+      zhuantiTotal: 10,
       // 行业研究
       industryList: [],
       industryTotal: 0,
-      // 调查问卷
+      // 调研调
       expdetail: {},
       // 行业研究
       inddetail: {},
@@ -102,6 +102,7 @@ export default {
     ...news({ newsList: 'query', newsFetch: 'fetch' }),
     ...newsguidance({ danceQuery: 'query', danceFetch: 'fetch' }),
     ...newsroadshow({ adshowQuery: 'query', adshowFetch: 'fetch' }),
+    ...mapQuestion({ mapQuestionQuery: 'query', mapQuestionFetch: 'fetch' }),
     // 查询栏目,列表,详情
     async searchColumn() {
       if (this.type == 1) {
@@ -131,9 +132,8 @@ export default {
     },
     // 查看列表
     async searchInfo({ skip = 0, columnName, name, ...info } = {}) {
-      if (columnName == '调查问卷') {
-        let column = this.columnLists.find(i => i.name == '调查问卷');
-        const res = await this.newsList({ column_id: column._id });
+      if (columnName == '调研调查') {
+        const res = await this.mapQuestionQuery();
         if (this.$checkRes(res)) {
           this.$set(this, `zhuantiList`, res.data);
           this.$set(this, `zhuantiTotal`, res.total);
@@ -149,8 +149,8 @@ export default {
     },
     // 查看详情
     async searchDetail(columnName, id) {
-      if (columnName == '调查问卷') {
-        let res = await this.newsFetch(id);
+      if (columnName == '调研调查') {
+        let res = await this.mapQuestionFetch(id);
         if (this.$checkRes(res)) {
           this.$set(this, `expdetail`, res.data);
         }

+ 21 - 44
src/views/technical/list/export.vue

@@ -7,17 +7,13 @@
         </el-col>
         <el-col :span="24" class="list">
           <el-col class="infoLeftList" :span="24" v-for="(item, index) in list" :key="index" @click.native="clickDetail(item.id)">
-            <el-col :span="4" class="date">
-              <span>{{ item.publish_time || '暂无' }}</span>
+            <el-col :span="20" class="title textOver">
+              {{ item.title }}
             </el-col>
-            <el-col :span="20" class="info">
-              <el-col :span="24" class="title textOver">
-                {{ item.title }}
-              </el-col>
-              <el-col :span="24" class="brief">
-                {{ item.titlejj || '暂无' }}
-              </el-col>
+            <el-col :span="4" class="date">
+              {{ item.create_date || '暂无' }}
             </el-col>
+            <el-col :span="24" class="orgin"> 信息来源:{{ item.origin || '暂无' }} </el-col>
           </el-col>
         </el-col>
         <el-col :span="24" class="page">
@@ -48,7 +44,7 @@ export default {
   data: function() {
     return {
       currentPage: 1, //默认数据1
-      pageSize: 5, //每页显示数据数量
+      pageSize: 6, //每页显示数据数量
       origin: [], //分割数据
       list: [], //显示数据列表
     };
@@ -63,7 +59,7 @@ export default {
     },
     // 详情
     clickDetail(id) {
-      this.$emit('clickDetail', { columnName: '调查问卷', id: id });
+      this.$emit('clickDetail', { columnName: '调研调查', id: id });
     },
   },
   watch: {
@@ -102,38 +98,21 @@ export default {
   .list {
     height: 455px;
     overflow: hidden;
+    padding: 0 25px 0 10px;
     .infoLeftList {
-      width: 97%;
-      padding: 9px 0;
-      border-bottom: 1px dashed #ccc;
+      border-bottom: 1px dashed #000;
+      padding: 11px 0;
+      .title {
+        font-size: 16px;
+        font-weight: bold;
+      }
       .date {
-        text-align: center;
-        margin: 6px 0 0 0;
-        span {
-          background-color: #22529a;
-          color: #fff;
-          font-size: 18px;
-          border-radius: 5px;
-          padding: 3px 7px;
-        }
+        text-align: right;
+        font-size: 16px;
       }
-      .info {
-        .title {
-          font-size: 18px;
-          font-weight: bold;
-          padding: 5px 0 0 0;
-        }
-        .brief {
-          font-size: 14px;
-          overflow: hidden;
-          text-overflow: ellipsis;
-          -webkit-line-clamp: 2;
-          word-break: break-all;
-          display: -webkit-box;
-          -webkit-box-orient: vertical;
-          padding: 5px 0 0 0;
-          height: 43px;
-        }
+      .orgin {
+        font-size: 16px;
+        margin: 10px 0 0 0;
       }
     }
     .infoLeftList:last-child {
@@ -141,10 +120,8 @@ export default {
     }
     .infoLeftList:hover {
       cursor: pointer;
-      .info {
-        .title {
-          color: #409eff;
-        }
+      .title {
+        color: #409eff;
       }
     }
   }

+ 3 - 3
src/views/userCenter/projectInfo/index.vue

@@ -101,7 +101,7 @@ export default {
     ...question({ questionQuery: 'query' }),
     ...projectsolic(['query', 'create', 'update', 'delete']),
     async search({ skip = 0, limit = 10, ...info } = {}, exist) {
-      const res = await this.questionQuery({ skip, limit, ...info, exist, user_id: this.user.uid });
+      const res = await this.questionQuery({ skip, limit, ...info, exist, user_id: this.user.userid });
       if (this.$checkRes(res)) {
         let type = 'one';
         if (exist) type = 'two';
@@ -113,10 +113,10 @@ export default {
       this.display = 'detail';
       this.$set(this, 'info', data);
       this.form.question_id = data._id;
-      this.form.user_id = this.user.uid;
+      this.form.user_id = this.user.userid;
     },
     async toEdit({ data }) {
-      const res = await this.query({ question_id: data._id, user_id: this.user.uid });
+      const res = await this.query({ question_id: data._id, user_id: this.user.userid });
       if (this.$checkRes(res)) {
         const data = _.head(res.data);
         if (!data) throw new Error('未找到要修改的数据');