소스 검색

Merge branch 'master' of http://git.cc-lotus.info/service-platform/web-test

lrf402788946 4 년 전
부모
커밋
6bf990c19f

+ 1 - 1
src/components/pagination.vue

@@ -27,12 +27,12 @@ export default {
   props: {
     position: { type: String, default: 'right' },
     total: { type: Number, default: 0 },
-    limit: { type: Number, default: 10 },
   },
   components: {},
   data: () => {
     return {
       currentPage: 1,
+      limit: 10,
     };
   },
   created() {},

+ 2 - 12
src/components/wang-editor.vue

@@ -1,5 +1,5 @@
 <template>
-  <div ref="editor" style="text-align:left;"></div>
+  <div ref="editor" style="text-align:left"></div>
 </template>
 <script>
 import E from 'wangeditor';
@@ -38,7 +38,6 @@ export default {
   data() {
     return {
       editorContent: this.value,
-      editor: undefined,
     };
   },
   mounted() {
@@ -50,7 +49,7 @@ export default {
     // 自定义菜单配置
     editor.customConfig.menus = menus;
     editor.customConfig.zIndex = 0;
-    editor.customConfig.uploadImgServer = '/files/chat/images/upload';
+    editor.customConfig.uploadImgServer = '/files/cms/images/upload';
     editor.customConfig.uploadImgMaxLength = 1;
     editor.customConfig.uploadImgHooks = {
       // 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式,可使用该配置
@@ -68,20 +67,11 @@ export default {
     };
     editor.create();
     editor.txt.html(this.value);
-    this.$set(this, `editor`, editor);
   },
   methods: {
     getContent: function() {
       return this.editorContent;
     },
-    setContent() {
-      this.editor.txt.clear();
-    },
   },
 };
 </script>
-<style lang="less" scoped>
-/deep/.w-e-text-container {
-  height: 200px !important;
-}
-</style>

+ 2 - 3
src/layout/technical/eduDetail.vue

@@ -29,6 +29,7 @@
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: news } = createNamespacedHelpers('news');
+const { mapActions: newsguidance } = createNamespacedHelpers('newsguidance');
 export default {
   name: 'eduDetail',
   props: {
@@ -50,10 +51,8 @@ export default {
     this.search();
   },
   methods: {
-    ...news(['fetch']),
+    ...newsguidance(['fetch']),
     async search() {
-      console.log(this.newsid);
-
       const res = await this.fetch(this.newsid);
       this.$set(this, `detailinfo`, res.data);
     },

+ 130 - 0
src/layout/technical/luyanDetail.vue

@@ -0,0 +1,130 @@
+<template>
+  <div id="eduDetail" style="background-color: #F5F5F54f;">
+    <div class="w_0100">
+      <div class="w_1200">
+        <div class="detailmain">
+          <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">
+            <video :src="detailinfo.filepath" controls="controls">
+              您的浏览器不支持 video 标签。
+            </video>
+          </div>
+          <div class="detailcontext">
+            <p v-html="detailinfo.content"></p>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: news } = createNamespacedHelpers('news');
+const { mapActions: newsroadshow } = createNamespacedHelpers('newsroadshow');
+export default {
+  name: 'eduDetail',
+  props: {
+    newsid: null,
+  },
+  components: {},
+  data: () => {
+    return {
+      img: {
+        top_bg: require('@/assets/live/top_bg.png'),
+        logo: require('@/assets/live/logo.png'),
+        img1: require('@/assets/live/1.jpg'),
+      },
+      detailinfo: {},
+      videoUrl: require('@/assets/video.mp4'),
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    ...newsroadshow(['fetch']),
+    async search() {
+      const res = await this.fetch(this.newsid);
+      this.$set(this, `detailinfo`, res.data);
+    },
+  },
+  computed: {
+    id() {
+      return this.$route.query.id;
+    },
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+@import '~@/style/style.css';
+.w_1200 {
+  width: 95%;
+  margin: 0 auto;
+}
+.detailmain {
+  min-height: 500px;
+}
+
+.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;
+}
+.detailVideo {
+  float: left;
+  width: 100%;
+  text-align: center;
+  height: 400px;
+  overflow: hidden;
+  margin: 20px 0;
+}
+.detailVideo video {
+  height: 400px;
+  width: 50%;
+  border: 1px dashed #ccc;
+}
+
+.detailimg {
+  width: 500px;
+  height: 300px;
+}
+
+.detailcontext {
+  padding: 20px 0;
+}
+</style>

+ 6 - 0
src/store/index.js

@@ -9,6 +9,10 @@ import news from './live/news';
 import personalchat from './live/personalchat';
 import personalroom from './live/personalroom';
 import comment from './live/comment';
+// 在线指导
+import newsguidance from './live/newsguidance';
+// 项目路演
+import newsroadshow from './live/newsroadshow';
 import market from './market/market';
 import transaction from './market/transaction';
 import expertsaudit from './market/expertsaudit';
@@ -65,5 +69,7 @@ export default new Vuex.Store({
     wxchattest,
     authUser,
     dockLogin,
+    newsguidance,
+    newsroadshow,
   },
 });

+ 41 - 0
src/store/live/newsguidance.js

@@ -0,0 +1,41 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+import _ from 'lodash';
+Vue.use(Vuex);
+const api = {
+  newsInfo: `/api/live/newsguidance`,
+};
+const state = () => ({});
+const mutations = {};
+
+const actions = {
+  async query({ commit }, { skip = 0, limit = undefined, ...info } = {}) {
+    const res = await this.$axios.$get(api.newsInfo, { skip, limit, ...info });
+    return res;
+  },
+  async create({ commit }, payload) {
+    const res = await this.$axios.$post(`${api.newsInfo}`, payload);
+    return res;
+  },
+  async fetch({ commit }, payload) {
+    const res = await this.$axios.$get(`${api.newsInfo}/${payload}`);
+    return res;
+  },
+  async update({ commit }, { id, ...info } = {}) {
+    const res = await this.$axios.$post(`${api.newsInfo}/update/${id}`, {
+      ...info,
+    });
+    return res;
+  },
+  async delete({ commit }, payload) {
+    const res = await this.$axios.$delete(`${api.newsInfo}/${payload}`);
+    return res;
+  },
+};
+
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions,
+};

+ 41 - 0
src/store/live/newsroadshow.js

@@ -0,0 +1,41 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+import _ from 'lodash';
+Vue.use(Vuex);
+const api = {
+  newsInfo: `/api/live/newsroadshow`,
+};
+const state = () => ({});
+const mutations = {};
+
+const actions = {
+  async query({ commit }, { skip = 0, limit = undefined, ...info } = {}) {
+    const res = await this.$axios.$get(api.newsInfo, { skip, limit, ...info });
+    return res;
+  },
+  async create({ commit }, payload) {
+    const res = await this.$axios.$post(`${api.newsInfo}`, payload);
+    return res;
+  },
+  async fetch({ commit }, payload) {
+    const res = await this.$axios.$get(`${api.newsInfo}/${payload}`);
+    return res;
+  },
+  async update({ commit }, { id, ...info } = {}) {
+    const res = await this.$axios.$post(`${api.newsInfo}/update/${id}`, {
+      ...info,
+    });
+    return res;
+  },
+  async delete({ commit }, payload) {
+    const res = await this.$axios.$delete(`${api.newsInfo}/${payload}`);
+    return res;
+  },
+};
+
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions,
+};

+ 6 - 5
src/views/adminCenter/vipInfo/index.vue

@@ -44,9 +44,9 @@
           <el-form-item label="手机号" :label-width="formLabelWidth">
             <el-input v-model="form.phone" autocomplete="off" maxlength="11" placeholder="请输入手机号" :disabled="disabled"></el-input>
           </el-form-item>
-          <el-form-item label="密码" :label-width="formLabelWidth">
+          <!-- <el-form-item label="密码" :label-width="formLabelWidth">
             <el-input v-model="form.passwd" autocomplete="off" placeholder="请输入密码" show-password :disabled="disabled"></el-input>
-          </el-form-item>
+          </el-form-item> -->
           <el-form-item label="单位名称" :label-width="formLabelWidth">
             <el-input v-model="form.company" autocomplete="off" placeholder="请输入单位名称"></el-input>
           </el-form-item>
@@ -84,6 +84,7 @@ export default {
       list: [], //显示数据列表
       total: 0,
       dock_id: '', //对接会id
+      room_id: '', //房间id
       dialogVisible: false,
       form: {},
       disabled: false,
@@ -102,6 +103,7 @@ export default {
       if (this.$checkRes(res)) {
         this.$set(this, `vipuserList`, res.data.vipuser);
         this.$set(this, `dock_id`, res.data.id);
+        this.$set(this, `room_id`, res.data.room_id);
         this.$set(this, `total`, res.data.vipuser.length);
       }
     },
@@ -157,11 +159,13 @@ export default {
           });
         } else {
           this.form.role = '8';
+          this.form.passwd = this.room_id;
           const res = await this.authUserCreate(this.form);
           if (this.$checkRes(res)) {
             let data = {
               vipname: this.form.name,
               vipphone: this.form.phone,
+              passwd: this.room_id,
               company: this.form.company,
               email: this.form.email,
               content: this.form.content,
@@ -184,14 +188,11 @@ export default {
       let newDate = {};
       newDate.name = data.vipname;
       newDate.phone = data.vipphone;
-      newDate.passwd = data.passwd;
       newDate.company = data.company;
       newDate.email = data.email;
       newDate.content = data.content;
       newDate.id = data.uid;
       newDate.vipid = data._id;
-      console.log(newDate);
-
       this.disabled = true;
       this.$set(this, `form`, newDate);
     },

+ 180 - 7
src/views/adminCenter/xmly/index.vue

@@ -2,24 +2,173 @@
   <div id="index">
     <el-row>
       <el-col :span="24">
-        项目路演
+        <el-col :span="24" class="leftTop"> <span>|</span> <span>项目路演</span> </el-col>
+        <el-col :span="24" class="info">
+          <span v-if="view == 'list'">
+            <el-col :span="24" class="add">
+              <el-button type="primary" size="mini" @click="add()">添加信息</el-button>
+            </el-col>
+            <el-col :span="24" class="list">
+              <data-table :fields="fields" :opera="opera" :data="list" :total="total" @edit="toEdit" @delete="toDelete" @query="search"></data-table>
+            </el-col>
+          </span>
+          <span v-else>
+            <el-col :span="24">
+              <el-col :span="24" class="back">
+                <el-button type="primary" size="mini" @click="back()">返回</el-button>
+              </el-col>
+              <el-col :span="24">
+                <el-form ref="form" :rules="rules" :model="form" label-width="80px">
+                  <el-form-item label="信息标题" prop="title">
+                    <el-input v-model="form.title" placeholder="请输入信息标题"></el-input>
+                  </el-form-item>
+                  <el-form-item label="来源">
+                    <el-input v-model="form.orgin" placeholder="请输入信息来源"></el-input>
+                  </el-form-item>
+                  <el-form-item label="标题简介">
+                    <el-input type="textarea" v-model="form.titlejj" placeholder="请输入标题简介"></el-input>
+                  </el-form-item>
+                  <el-form-item label="信息图片" prop="picture">
+                    <upload :limit="1" :data="form.picture" type="picture" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+                  </el-form-item>
+                  <el-form-item label="视频" prop="filepath">
+                    <upload :limit="1" :data="form.filepath" type="filepath" listType="" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+                  </el-form-item>
+                  <el-form-item label="信息内容">
+                    <wang-editor v-model="form.content" placeholder="请输入信息内容"></wang-editor>
+                  </el-form-item>
+                  <el-form-item label="发布时间">
+                    <el-col :span="11">
+                      <el-date-picker
+                        type="date"
+                        placeholder="发布时间"
+                        value-format="yyyy-MM-dd"
+                        v-model="form.publish_time"
+                        style="width: 100%;"
+                      ></el-date-picker>
+                    </el-col>
+                  </el-form-item>
+                  <el-form-item>
+                    <el-button type="primary" @click="onSubmit()">提交</el-button>
+                  </el-form-item>
+                </el-form>
+              </el-col>
+            </el-col>
+          </span>
+        </el-col>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import WangEditor from '@/components/wang-editor.vue';
+import upload from '@/components/upload.vue';
+import dataTable from '@/components/data-table.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: newsroadshow } = createNamespacedHelpers('newsroadshow');
 export default {
   name: 'index',
   props: {},
-  components: {},
+  components: {
+    dataTable,
+    WangEditor,
+    upload,
+  },
   data: function() {
-    return {};
+    return {
+      opera: [
+        {
+          label: '修改',
+          icon: 'el-icon-edit',
+          method: 'edit',
+        },
+        {
+          label: '删除',
+          icon: 'el-icon-delete',
+          method: 'delete',
+        },
+      ],
+      fields: [
+        { label: '信息标题', prop: 'title', filter: 'input' },
+        { label: '来源', prop: 'orgin' },
+        { label: '标题简介', prop: 'titlejj' },
+        { label: '发布时间', prop: 'publish_time' },
+      ],
+      list: [],
+      total: 0,
+      dock_id: '',
+      view: 'list',
+      // 添加信息
+      form: {},
+      rules: {},
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    ...dock(['fetch']),
+    ...newsroadshow(['query', 'create', 'update', 'delete']),
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      let res = await this.fetch(this.user.uid);
+      this.$set(this, `dock_id`, res.data.id);
+      let arr = await this.query({ skip, limit, dockid: this.dock_id, ...info });
+      this.$set(this, `list`, arr.data);
+      this.$set(this, `total`, arr.total);
+    },
+    toEdit({ data }) {
+      this.view = 'detail';
+      this.$set(this, `form`, data);
+    },
+    async toDelete({ data }) {
+      let res = await this.delete(data.id);
+      this.$message({
+        message: '刪除信息成功',
+        type: 'success',
+      });
+      this.search();
+    },
+    // 添加
+    add() {
+      this.view = 'detail';
+      this.form = {};
+    },
+    // 提交
+    async onSubmit() {
+      if (this.form.id) {
+        let res = await this.update(this.form);
+        if (this.$checkRes(res)) {
+          this.$message({
+            message: '修改信息成功',
+            type: 'success',
+          });
+          this.back();
+          this.search();
+        }
+      } else {
+        let data = this.form;
+        data.dock_id = this.dock_id;
+        let res = await this.create(data);
+        if (this.$checkRes(res)) {
+          this.$message({
+            message: '添加信息成功',
+            type: 'success',
+          });
+          this.back();
+          this.search();
+        }
+      }
+    },
+    // 返回
+    back() {
+      this.view = 'list';
+    },
+    uploadSuccess({ type, data }) {
+      this.$set(this.form, `${type}`, data.uri);
+    },
   },
-
-  created() {},
-  methods: {},
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -32,4 +181,28 @@ export default {
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.leftTop {
+  font-size: 18px;
+  width: 96%;
+  height: 41px;
+  line-height: 35px;
+  border-bottom: 1px solid #e5e5e5;
+  position: relative;
+  bottom: 1px;
+  margin: 10px;
+  font-weight: 600;
+  color: #22529a;
+}
+.info {
+  padding: 0 40px 0 10px;
+  .add {
+    text-align: right;
+    padding: 10px 0;
+  }
+}
+.back {
+  text-align: right;
+  padding: 10px 0;
+}
+</style>

+ 180 - 6
src/views/adminCenter/zxzd/index.vue

@@ -2,23 +2,173 @@
   <div id="index">
     <el-row>
       <el-col :span="24">
-        在线指导
+        <el-col :span="24" class="leftTop"> <span>|</span> <span>在线指导</span> </el-col>
+        <el-col :span="24" class="info">
+          <span v-if="view == 'list'">
+            <el-col :span="24" class="add">
+              <el-button type="primary" size="mini" @click="add()">添加信息</el-button>
+            </el-col>
+            <el-col :span="24" class="list">
+              <data-table :fields="fields" :opera="opera" :data="list" :total="total" @edit="toEdit" @delete="toDelete" @query="search"></data-table>
+            </el-col>
+          </span>
+          <span v-else>
+            <el-col :span="24">
+              <el-col :span="24" class="back">
+                <el-button type="primary" size="mini" @click="back()">返回</el-button>
+              </el-col>
+              <el-col :span="24">
+                <el-form ref="form" :rules="rules" :model="form" label-width="80px">
+                  <el-form-item label="信息标题" prop="title">
+                    <el-input v-model="form.title" placeholder="请输入信息标题"></el-input>
+                  </el-form-item>
+                  <el-form-item label="来源">
+                    <el-input v-model="form.orgin" placeholder="请输入信息来源"></el-input>
+                  </el-form-item>
+                  <el-form-item label="标题简介">
+                    <el-input type="textarea" v-model="form.titlejj" placeholder="请输入标题简介"></el-input>
+                  </el-form-item>
+                  <el-form-item label="信息图片" prop="picture">
+                    <upload :limit="1" :data="form.picture" type="picture" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+                  </el-form-item>
+                  <el-form-item label="视频" prop="filepath">
+                    <upload :limit="1" :data="form.filepath" type="filepath" listType="" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+                  </el-form-item>
+                  <el-form-item label="信息内容">
+                    <wang-editor v-model="form.content" placeholder="请输入信息内容"></wang-editor>
+                  </el-form-item>
+                  <el-form-item label="发布时间">
+                    <el-col :span="11">
+                      <el-date-picker
+                        type="date"
+                        placeholder="发布时间"
+                        value-format="yyyy-MM-dd"
+                        v-model="form.publish_time"
+                        style="width: 100%;"
+                      ></el-date-picker>
+                    </el-col>
+                  </el-form-item>
+                  <el-form-item>
+                    <el-button type="primary" @click="onSubmit()">提交</el-button>
+                  </el-form-item>
+                </el-form>
+              </el-col>
+            </el-col>
+          </span>
+        </el-col>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import WangEditor from '@/components/wang-editor.vue';
+import upload from '@/components/upload.vue';
+import dataTable from '@/components/data-table.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: newsguidance } = createNamespacedHelpers('newsguidance');
 export default {
   name: 'index',
   props: {},
-  components: {},
+  components: {
+    dataTable,
+    WangEditor,
+    upload,
+  },
   data: function() {
-    return {};
+    return {
+      opera: [
+        {
+          label: '修改',
+          icon: 'el-icon-edit',
+          method: 'edit',
+        },
+        {
+          label: '删除',
+          icon: 'el-icon-delete',
+          method: 'delete',
+        },
+      ],
+      fields: [
+        { label: '信息标题', prop: 'title', filter: 'input' },
+        { label: '来源', prop: 'orgin' },
+        { label: '标题简介', prop: 'titlejj' },
+        { label: '发布时间', prop: 'publish_time' },
+      ],
+      list: [],
+      total: 0,
+      dock_id: '',
+      view: 'list',
+      // 添加信息
+      form: {},
+      rules: {},
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    ...dock(['fetch']),
+    ...newsguidance(['query', 'create', 'update', 'delete']),
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      let res = await this.fetch(this.user.uid);
+      this.$set(this, `dock_id`, res.data.id);
+      let arr = await this.query({ skip, limit, dockid: this.dock_id, ...info });
+      this.$set(this, `list`, arr.data);
+      this.$set(this, `total`, arr.total);
+    },
+    toEdit({ data }) {
+      this.view = 'detail';
+      this.$set(this, `form`, data);
+    },
+    async toDelete({ data }) {
+      let res = await this.delete(data.id);
+      this.$message({
+        message: '刪除信息成功',
+        type: 'success',
+      });
+      this.search();
+    },
+    // 添加
+    add() {
+      this.view = 'detail';
+      this.form = {};
+    },
+    // 提交
+    async onSubmit() {
+      if (this.form.id) {
+        let res = await this.update(this.form);
+        if (this.$checkRes(res)) {
+          this.$message({
+            message: '修改信息成功',
+            type: 'success',
+          });
+          this.back();
+          this.search();
+        }
+      } else {
+        let data = this.form;
+        data.dock_id = this.dock_id;
+        let res = await this.create(data);
+        if (this.$checkRes(res)) {
+          this.$message({
+            message: '添加信息成功',
+            type: 'success',
+          });
+          this.back();
+          this.search();
+        }
+      }
+    },
+    // 返回
+    back() {
+      this.view = 'list';
+    },
+    uploadSuccess({ type, data }) {
+      this.$set(this.form, `${type}`, data.uri);
+    },
   },
-  created() {},
-  methods: {},
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -31,4 +181,28 @@ export default {
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.leftTop {
+  font-size: 18px;
+  width: 96%;
+  height: 41px;
+  line-height: 35px;
+  border-bottom: 1px solid #e5e5e5;
+  position: relative;
+  bottom: 1px;
+  margin: 10px;
+  font-weight: 600;
+  color: #22529a;
+}
+.info {
+  padding: 0 40px 0 10px;
+  .add {
+    text-align: right;
+    padding: 10px 0;
+  }
+}
+.back {
+  text-align: right;
+  padding: 10px 0;
+}
+</style>

+ 2 - 2
src/views/dynamic/parts/userTwo.vue

@@ -146,7 +146,7 @@ export default {
   margin: 20px 5px 20px 14px;
 }
 .one {
-  background: url(../../../assets/dynamic1.png) no-repeat;
+  background: url('~@/assets/dynamic1.png') no-repeat;
   background-size: 100% 100%;
   height: 150px;
 }
@@ -161,7 +161,7 @@ export default {
   font-size: 12px;
 }
 .two {
-  background: url(../../../assets/dynamic2.png) no-repeat;
+  background: url('~@/assets/dynamic1.png') no-repeat;
   background-size: 100% 100%;
 }
 .three {

+ 10 - 45
src/views/technical/index.vue

@@ -1,30 +1,6 @@
 <template>
   <div id="technical">
     <el-col :span="24" class="main">
-      <!-- <el-col :span="12" class="left">
-        <el-col :span="24" class="downLeftTop">
-          <el-image :src="downLeftTopImage"></el-image>
-          <span class="topText">
-            <span>专题研讨</span>
-            <span
-              ><p>S</p>
-              <p>eminar</p></span
-            >
-            <span @click="turnToList('专题研讨')">更多</span>
-          </span>
-        </el-col>
-        <el-col :span="24" class="infoLeft">
-          <el-col class="infoLeftList" :span="24" v-for="(item, index) in zhuantiList" :key="index">
-            <p>{{ item.publish_time }}</p>
-            <p>
-              <span @click="$router.push({ path: '/technical/list', query: { id: item.id, display: 2, column_name: '专题研讨' } })" class="textOver">{{
-                item.title
-              }}</span>
-              <span>{{ item.titlejj }}</span>
-            </p>
-          </el-col>
-        </el-col>
-      </el-col> -->
       <el-col :span="12" class="left">
         <el-col :span="24" class="downLeftTop">
           <el-image :src="downLeftTopImage"></el-image>
@@ -39,7 +15,7 @@
         </el-col>
         <el-col :span="24" class="infoLeft">
           <el-col :span="24" class="infoLeft">
-            <el-col class="infoLeftList" :span="24" v-for="(item, index) in jishuList" :key="index">
+            <el-col class="infoLeftList" :span="24" v-for="(item, index) in zhuanjiaList" :key="index">
               <p>{{ item.publish_time }}</p>
               <p></p>
               <p>
@@ -50,16 +26,6 @@
               </p>
             </el-col>
           </el-col>
-
-          <!-- 
-          <el-col class="infoRightList" :span="24" v-for="(item, index) in jishuList" :key="index">
-            <p>
-              <span class="textOver" @click="$router.push({ path: '/technical/list', query: { id: item.id, display: 3, column_name: '专家问诊' } })">{{
-                item.title
-              }}</span
-              ><span class="textOver">{{ item.publish_time }}</span>
-            </p>
-          </el-col> -->
         </el-col>
       </el-col>
       <el-col :span="12" class="right">
@@ -144,6 +110,8 @@ import _ from 'lodash';
 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');
 export default {
   name: 'technical',
   props: {},
@@ -151,10 +119,8 @@ export default {
   data: () => ({
     downLeftTopImage: require('@/assets/live/square_big.png'),
     jishuImage: require('@/assets/live/main3.png'),
-    zhuantiList: [],
-    jishuList: [],
+    zhuanjiaList: [],
     hangyeList: [],
-    jiaoyuList: [],
     zhidaolist: [],
     luyanlist: [],
   }),
@@ -173,6 +139,8 @@ export default {
   methods: {
     ...column({ columnList: 'query', columnInfo: 'fetch' }),
     ...news({ newsList: 'query' }),
+    ...newsguidance({ danceQuery: 'query' }),
+    ...newsroadshow({ adshowQuery: 'query' }),
     async searchInfo({ ...info } = {}) {
       const res = await this.columnList({ ...info });
       for (const val of res.data) {
@@ -180,20 +148,17 @@ export default {
       }
     },
     async tpxwSearch({ column_id, column_name, site } = {}) {
-      if (column_name == '专题研讨') {
-        const res = await this.newsList({ skip: 0, limit: 5, column_id: column_id });
-        if (this.$checkRes(res)) this.$set(this, `zhuantiList`, res.data);
-      } else if (column_name == '专家问诊') {
+      if (column_name == '专家问诊') {
         const res = await this.newsList({ skip: 0, limit: 8, column_id: column_id });
-        if (this.$checkRes(res)) this.$set(this, `jishuList`, res.data);
+        if (this.$checkRes(res)) this.$set(this, `zhuanjiaList`, res.data);
       } else if (column_name == '行业研究') {
         const res = await this.newsList({ skip: 0, limit: 8, column_id: column_id });
         if (this.$checkRes(res)) this.$set(this, `hangyeList`, res.data);
       } else if (column_name == '在线指导') {
-        const res = await this.newsList({ skip: 0, limit: 8, column_id: column_id });
+        const res = await this.danceQuery({ skip: 0, limit: 8, column_id: column_id });
         if (this.$checkRes(res)) this.$set(this, `zhidaolist`, res.data);
       } else if (column_name == '项目路演') {
-        const res = await this.newsList({ skip: 0, limit: 5, column_id: column_id });
+        const res = await this.adshowQuery({ skip: 0, limit: 5, column_id: column_id });
         if (this.$checkRes(res)) this.$set(this, `luyanlist`, res.data);
       }
     },

+ 12 - 11
src/views/technical/list.vue

@@ -76,6 +76,9 @@
       <el-col :span="19" v-if="display == 4" class="info">
         <eduDetail :newsid="newsid"></eduDetail>
       </el-col>
+      <el-col :span="19" v-if="display == 5" class="info">
+        <luyanDetail :newsid="newsid"></luyanDetail>
+      </el-col>
     </el-col>
   </div>
 </template>
@@ -85,8 +88,11 @@ import _ from 'lodash';
 import semDetail from '@/layout/technical/semDetail.vue';
 import detail from '@/layout/technical/detail.vue';
 import eduDetail from '@/layout/technical/eduDetail.vue';
+import luyanDetail from '@/layout/technical/luyanDetail.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: news } = createNamespacedHelpers('news');
+const { mapActions: newsguidance } = createNamespacedHelpers('newsguidance');
+const { mapActions: newsroadshow } = createNamespacedHelpers('newsroadshow');
 export default {
   name: 'list',
   props: {},
@@ -94,6 +100,7 @@ export default {
     semDetail,
     detail,
     eduDetail,
+    luyanDetail,
   },
   data: () => ({
     newsid: '',
@@ -120,10 +127,6 @@ export default {
     id() {
       return this.$route.query.id;
     },
-
-    // display() {
-    //   return this.$route.query.display;
-    // },
     pageTitle() {
       return `${this.$route.meta.title}`;
     },
@@ -134,6 +137,8 @@ export default {
 
   methods: {
     ...news(['query']),
+    ...newsguidance({ danceQuery: 'query' }),
+    ...newsroadshow({ adshowQuery: 'query' }),
     async searchList({ skip = 0, limit = 10, ...info } = {}) {
       if (this.$route.query.column_name == '专家问诊') {
         this.changeMenu(this.$route.query.column_name, 0);
@@ -164,11 +169,11 @@ export default {
         this.$set(this, `exportList`, res.data);
       } else if (name == '在线指导') {
         this.pageSize = 10;
-        res = await this.query({ skip, limit, column_name: '在线指导', ...info });
+        res = await this.danceQuery({ skip, limit, column_name: '在线指导', ...info });
         this.$set(this, `hangyeList`, res.data);
       } else if (name == '项目路演') {
         this.pageSize = 5;
-        res = await this.query({ skip, limit, column_name: '项目路演', ...info });
+        res = await this.adshowQuery({ skip, limit, column_name: '项目路演', ...info });
         this.$set(this, `jiaoyuList`, res.data);
       }
       this.$set(this, `pageTotal`, res.total);
@@ -180,17 +185,13 @@ export default {
       }
       this.initList({ name: name, skip: (val - 1) * this.limit, limit: this.limit });
     },
-
     async search() {
       this.display = this.$route.query.display;
-
       this.newsid = this.id;
     },
     clickzhuanti(id) {
-      // this.$router.push({ path: '/live/semDetail', query: { id: id } });
       this.display = '3';
       this.newsid = id;
-      console.log(this.display);
     },
     clickjishu(id) {
       this.display = '3';
@@ -202,7 +203,7 @@ export default {
     },
 
     clickjiaoyu(id) {
-      this.display = '3';
+      this.display = '5';
       this.newsid = id;
     },
   },