Browse Source

Merge branch 'master' of http://git.cc-lotus.info/free-lab/lab-mobile

lrf 3 years ago
parent
commit
a21ee3f416
62 changed files with 1117 additions and 524 deletions
  1. BIN
      src/assets/lab-1.png
  2. BIN
      src/assets/lab-2.png
  3. BIN
      src/assets/lab-3.png
  4. 54 0
      src/layout/activity/time/info-1.vue
  5. 91 0
      src/layout/activity/time/list-1.vue
  6. 68 0
      src/layout/activity/time/search-1.vue
  7. 0 0
      src/layout/infoview/achievement/info-1.vue
  8. 0 0
      src/layout/infoview/achievement/list-1.vue
  9. 0 0
      src/layout/infoview/equipment/equipment-total.vue
  10. 0 0
      src/layout/infoview/equipment/info-1.vue
  11. 0 0
      src/layout/infoview/equipment/list-1.vue
  12. 0 0
      src/layout/infoview/laboratory/info-1.vue
  13. 0 0
      src/layout/infoview/laboratory/list-1.vue
  14. 1 1
      src/layout - 副本/research/info-1.vue
  15. 0 0
      src/layout/infoview/research/list-1.vue
  16. 0 0
      src/layout/infoview/task/info-1.vue
  17. 0 0
      src/layout/infoview/task/list-1.vue
  18. 0 0
      src/layout/infoview/task/search-1.vue
  19. 0 0
      src/layout/personnel/director/info-1.vue
  20. 0 0
      src/layout/personnel/director/list-1.vue
  21. 0 0
      src/layout/personnel/director/search-1.vue
  22. 0 0
      src/layout/personnel/learning/info-1.vue
  23. 0 0
      src/layout/personnel/learning/list-1.vue
  24. 0 0
      src/layout/personnel/learning/search-1.vue
  25. 0 0
      src/layout/scientific/award/info-1.vue
  26. 0 0
      src/layout/scientific/award/list-1.vue
  27. 0 0
      src/layout/scientific/award/search-1.vue
  28. 55 0
      src/layout/scientific/otherachieve/info-1.vue
  29. 91 0
      src/layout/scientific/otherachieve/list-1.vue
  30. 68 0
      src/layout/scientific/otherachieve/search-1.vue
  31. 0 0
      src/layout/scientific/paper/info-1.vue
  32. 0 0
      src/layout/scientific/paper/list-1.vue
  33. 0 0
      src/layout/scientific/paper/search-1.vue
  34. 0 171
      src/router/index copy.js
  35. 132 1
      src/router/index.js
  36. 0 89
      src/views - 副本/index.vue
  37. 0 68
      src/views - 副本/learning/index.vue
  38. 0 64
      src/views - 副本/ranks/index.vue
  39. 0 36
      src/views - 副本/ranks/title/index.vue
  40. 0 36
      src/views - 副本/scientific/otherachieve/index.vue
  41. 110 0
      src/views/activity/time/index.vue
  42. 32 15
      src/views/index.vue
  43. 2 2
      src/views - 副本/infoview-achievement/index.vue
  44. 3 3
      src/views - 副本/infoview-equipment/index.vue
  45. 2 2
      src/views - 副本/infoview-laboratory/index.vue
  46. 2 2
      src/views - 副本/infoview-research/index.vue
  47. 4 8
      src/views - 副本/scientific/task/index.vue
  48. 140 0
      src/views/learning/index.vue
  49. 0 0
      src/views/learning/report/index.vue
  50. 0 0
      src/views/learning/science/index.vue
  51. 0 0
      src/views/learning/sociology/index.vue
  52. 0 0
      src/views/learning/technology/index.vue
  53. 4 4
      src/views - 副本/scientific/personnel/index.vue
  54. 4 8
      src/views - 副本/scientific/index.vue
  55. 4 4
      src/views - 副本/scientific/learning/index.vue
  56. 0 0
      src/views/ranks/boshuo/index.vue
  57. 136 0
      src/views/ranks/index.vue
  58. 0 0
      src/views/ranks/personnel/index.vue
  59. 0 0
      src/views/ranks/title/index.vue
  60. 1 5
      src/views - 副本/scientific/award/index.vue
  61. 112 0
      src/views/scientific/otherachieve/index.vue
  62. 1 5
      src/views - 副本/scientific/paper/index.vue

BIN
src/assets/lab-1.png


BIN
src/assets/lab-2.png


BIN
src/assets/lab-3.png


+ 54 - 0
src/layout/activity/time/info-1.vue

@@ -0,0 +1,54 @@
+<template>
+  <div id="info-1">
+    <van-row>
+      <van-col span="24" class="main">
+        <van-col span="24" class="one">
+          <van-form label-width="5em">
+            <van-field v-model="info.title" name="title" label="活动名称" readonly />
+            <van-field v-model="info.startTime" name="startTime" label="开始时间" readonly />
+            <van-field v-model="info.endTime" name="endTime" label="结束时间" readonly />
+          </van-form>
+        </van-col>
+      </van-col>
+    </van-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'info-1',
+  props: {
+    info: { type: Object },
+  },
+  components: {},
+  data: function () {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .one {
+    .van-divider {
+      margin: 10px 0;
+    }
+  }
+}
+</style>

+ 91 - 0
src/layout/activity/time/list-1.vue

@@ -0,0 +1,91 @@
+<template>
+  <div id="list-1">
+    <van-row>
+      <van-col span="24" class="main">
+        <van-col span="24" class="list" v-for="(item, index) in list" :key="index">
+          <van-col span="24" class="title textOver">
+            {{ item.title }}
+          </van-col>
+          <van-col span="24" class="other">
+            <van-col span="24" class="otherInfo">
+              开始时间:<span>{{ item.startTime || '暂无' }}</span>
+            </van-col>
+            <van-col span="24" class="otherInfo">
+              结束时间:<span>{{ item.endTime || '暂无' }}</span>
+            </van-col>
+          </van-col>
+          <van-col span="24" class="btn">
+            <!-- <van-button type="info" size="small" @click="toView(item)">详细信息</van-button> -->
+          </van-col>
+        </van-col>
+      </van-col>
+    </van-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'list-1',
+  props: {
+    list: { type: Array },
+  },
+  components: {},
+  data: function () {
+    return {};
+  },
+  created() {},
+  methods: {
+    // 查看详情
+    toView(data) {
+      this.$emit('toView', data);
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .list {
+    background-color: #fff;
+    margin: 0 0 8px 0;
+    padding: 8px;
+    border-radius: 5px;
+    .title {
+      font-size: 16px;
+      font-weight: bold;
+      margin: 0 0 5px 0;
+    }
+    .other {
+      margin: 0 0 5px 0;
+      .otherInfo {
+        font-size: 14px;
+        color: #666;
+        margin: 0 0 5px 0;
+        span {
+          color: #000;
+        }
+      }
+    }
+    .btn {
+      text-align: center;
+      .van-button {
+        margin: 0 5px;
+      }
+    }
+  }
+}
+</style>

+ 68 - 0
src/layout/activity/time/search-1.vue

@@ -0,0 +1,68 @@
+<template>
+  <div id="search-1">
+    <van-row>
+      <van-col span="24" class="main">
+        <van-col span="24" class="one">
+          <van-form label-width="4em">
+            <van-field v-model="form.title" name="title" label="活动名称" placeholder="请输入活动名称" />
+            <van-field v-model="form.startTime" name="startTime" label="开始时间" placeholder="请输入开始时间" />
+            <van-field v-model="form.endTime" name="endTime" label="结束时间" placeholder="请输入结束时间" />
+            <div class="btn">
+              <van-button type="info" size="small" @click="reseat">重置条件</van-button>
+              <van-button type="primary" size="small" @click="onSubmit">提交查询</van-button>
+            </div>
+          </van-form>
+        </van-col>
+      </van-col>
+    </van-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const moment = require('moment');
+export default {
+  name: 'search-1',
+  props: { form: { type: Object } },
+  components: {},
+  data: function () {
+    return {};
+  },
+  created() {},
+  methods: {
+    reseat() {
+      this.$emit('reseat');
+    },
+    onSubmit() {
+      this.$emit('onSubmit', { data: this.form });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .one {
+    .btn {
+      text-align: center;
+      margin: 10px 0;
+      .van-button {
+        margin: 0 5px;
+      }
+    }
+  }
+}
+</style>

src/layout - 副本/achievement/info-1.vue → src/layout/infoview/achievement/info-1.vue


src/layout - 副本/achievement/list-1.vue → src/layout/infoview/achievement/list-1.vue


src/layout - 副本/equipment/equipment-total.vue → src/layout/infoview/equipment/equipment-total.vue


src/layout - 副本/equipment/info-1.vue → src/layout/infoview/equipment/info-1.vue


src/layout - 副本/equipment/list-1.vue → src/layout/infoview/equipment/list-1.vue


src/layout - 副本/laboratory/info-1.vue → src/layout/infoview/laboratory/info-1.vue


src/layout - 副本/laboratory/list-1.vue → src/layout/infoview/laboratory/list-1.vue


+ 1 - 1
src/layout - 副本/research/info-1.vue

@@ -6,7 +6,7 @@
           <van-form>
             <van-field v-model="info.name" name="name" label="研究方向" readonly />
             <van-field v-model="info.personName" name="personName" label="方向带头人" readonly />
-            <van-field v-model="info.persons" name="核心成员" label="核心成员" readonly />
+            <van-field v-model="info.persons" name="核心成员" label="核心成员" type="textarea" autosize rows="1" readonly />
           </van-form>
         </van-col>
       </van-col>

src/layout - 副本/research/list-1.vue → src/layout/infoview/research/list-1.vue


src/layout - 副本/scientific/task/info-1.vue → src/layout/infoview/task/info-1.vue


src/layout - 副本/scientific/task/list-1.vue → src/layout/infoview/task/list-1.vue


src/layout - 副本/scientific/task/search-1.vue → src/layout/infoview/task/search-1.vue


src/layout - 副本/scientific/personnel/info-1.vue → src/layout/personnel/director/info-1.vue


src/layout - 副本/scientific/personnel/list-1.vue → src/layout/personnel/director/list-1.vue


src/layout - 副本/scientific/personnel/search-1.vue → src/layout/personnel/director/search-1.vue


src/layout - 副本/scientific/learning/info-1.vue → src/layout/personnel/learning/info-1.vue


src/layout - 副本/scientific/learning/list-1.vue → src/layout/personnel/learning/list-1.vue


src/layout - 副本/scientific/learning/search-1.vue → src/layout/personnel/learning/search-1.vue


src/layout - 副本/scientific/award/info-1.vue → src/layout/scientific/award/info-1.vue


src/layout - 副本/scientific/award/list-1.vue → src/layout/scientific/award/list-1.vue


src/layout - 副本/scientific/award/search-1.vue → src/layout/scientific/award/search-1.vue


+ 55 - 0
src/layout/scientific/otherachieve/info-1.vue

@@ -0,0 +1,55 @@
+<template>
+  <div id="info-1">
+    <van-row>
+      <van-col span="24" class="main">
+        <van-col span="24" class="one">
+          <van-form label-width="5em">
+            <van-field v-model="info.name" name="name" label="成果名称" readonly />
+            <van-field v-model="info.type" name="type" label="成果类型" readonly />
+            <van-field v-model="info.directionName" name="directionName" label="研究方向" readonly />
+            <van-field v-model="info.content" name="content" label="成果简介" type="textarea" autosize rows="1" readonly />
+          </van-form>
+        </van-col>
+      </van-col>
+    </van-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'info-1',
+  props: {
+    info: { type: Object },
+  },
+  components: {},
+  data: function () {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .one {
+    .van-divider {
+      margin: 10px 0;
+    }
+  }
+}
+</style>

+ 91 - 0
src/layout/scientific/otherachieve/list-1.vue

@@ -0,0 +1,91 @@
+<template>
+  <div id="list-1">
+    <van-row>
+      <van-col span="24" class="main">
+        <van-col span="24" class="list" v-for="(item, index) in list" :key="index">
+          <van-col span="24" class="title textOver">
+            {{ item.name }}
+          </van-col>
+          <van-col span="24" class="other">
+            <van-col span="24" class="otherInfo">
+              成果类型:<span>{{ item.type || '暂无' }}</span>
+            </van-col>
+            <van-col span="24" class="otherInfo">
+              研究方向:<span>{{ item.directionName || '暂无' }}</span>
+            </van-col>
+          </van-col>
+          <van-col span="24" class="btn">
+            <van-button type="info" size="small" @click="toView(item)">详细信息</van-button>
+          </van-col>
+        </van-col>
+      </van-col>
+    </van-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'list-1',
+  props: {
+    list: { type: Array },
+  },
+  components: {},
+  data: function () {
+    return {};
+  },
+  created() {},
+  methods: {
+    // 查看详情
+    toView(data) {
+      this.$emit('toView', data);
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .list {
+    background-color: #fff;
+    margin: 0 0 8px 0;
+    padding: 8px;
+    border-radius: 5px;
+    .title {
+      font-size: 16px;
+      font-weight: bold;
+      margin: 0 0 5px 0;
+    }
+    .other {
+      margin: 0 0 5px 0;
+      .otherInfo {
+        font-size: 14px;
+        color: #666;
+        margin: 0 0 5px 0;
+        span {
+          color: #000;
+        }
+      }
+    }
+    .btn {
+      text-align: center;
+      .van-button {
+        margin: 0 5px;
+      }
+    }
+  }
+}
+</style>

+ 68 - 0
src/layout/scientific/otherachieve/search-1.vue

@@ -0,0 +1,68 @@
+<template>
+  <div id="search-1">
+    <van-row>
+      <van-col span="24" class="main">
+        <van-col span="24" class="one">
+          <van-form label-width="4em">
+            <van-field v-model="form.name" name="name" label="成果名称" placeholder="请输入成果名称" />
+            <van-field v-model="form.type" name="type" label="成果类型" placeholder="请输入成果类型" />
+            <van-field v-model="form.directionName" name="directionName" label="研究方向" placeholder="请输入研究方向" />
+            <div class="btn">
+              <van-button type="info" size="small" @click="reseat">重置条件</van-button>
+              <van-button type="primary" size="small" @click="onSubmit">提交查询</van-button>
+            </div>
+          </van-form>
+        </van-col>
+      </van-col>
+    </van-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const moment = require('moment');
+export default {
+  name: 'search-1',
+  props: { form: { type: Object } },
+  components: {},
+  data: function () {
+    return {};
+  },
+  created() {},
+  methods: {
+    reseat() {
+      this.$emit('reseat');
+    },
+    onSubmit() {
+      this.$emit('onSubmit', { data: this.form });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .one {
+    .btn {
+      text-align: center;
+      margin: 10px 0;
+      .van-button {
+        margin: 0 5px;
+      }
+    }
+  }
+}
+</style>

src/layout - 副本/scientific/paper/info-1.vue → src/layout/scientific/paper/info-1.vue


src/layout - 副本/scientific/paper/list-1.vue → src/layout/scientific/paper/list-1.vue


src/layout - 副本/scientific/paper/search-1.vue → src/layout/scientific/paper/search-1.vue


+ 0 - 171
src/router/index copy.js

@@ -1,171 +0,0 @@
-import Vue from 'vue';
-import VueRouter from 'vue-router';
-const originalPush = VueRouter.prototype.push;
-VueRouter.prototype.push = function push(location) {
-  return originalPush.call(this, location).catch((err) => err);
-};
-Vue.use(VueRouter);
-// 信息展示
-const infoview = [
-  {
-    path: '/infoview-laboratory/index',
-    meta: { title: '重点实验室信息展示' },
-    component: () => import('../views/infoview-laboratory/index.vue'),
-  },
-  {
-    path: '/infoview-research/index',
-    meta: { title: '研究方向信息展示' },
-    component: () => import('../views/infoview-research/index.vue'),
-  },
-  {
-    path: '/infoview-equipment/index',
-    meta: { title: '设备信息展示' },
-    component: () => import('../views/infoview-equipment/index.vue'),
-  },
-  {
-    path: '/infoview-achievement/index',
-    meta: { title: '重要成果信息展示' },
-    component: () => import('../views/infoview-achievement/index.vue'),
-  },
-];
-// 科研信息
-const scientific = [
-  {
-    path: '/scientific/index',
-    meta: { title: '科研信息' },
-    component: () => import('../views/scientific/index.vue'),
-  },
-  {
-    path: '/scientific/personnel/index',
-    meta: { title: '主任及科研助理信息列表' },
-    component: () => import('../views/scientific/personnel/index.vue'),
-  },
-  {
-    path: '/scientific/learning/index',
-    meta: { title: '学术委员会' },
-    component: () => import('../views/scientific/learning/index.vue'),
-  },
-  {
-    path: '/scientific/task/index',
-    meta: { title: '实验室建设期内承担项目明细' },
-    component: () => import('../views/scientific/task/index.vue'),
-  },
-  {
-    path: '/scientific/award/index',
-    meta: { title: '实验室建设期内获奖明细' },
-    component: () => import('../views/scientific/award/index.vue'),
-  },
-  {
-    path: '/scientific/paper/index',
-    meta: { title: '实验室建设期内发表学术论文明细' },
-    component: () => import('../views/scientific/paper/index.vue'),
-  },
-  {
-    path: '/scientific/otherachieve/index',
-    meta: { title: '其他成果' },
-    component: () => import('../views/scientific/otherachieve/index.vue'),
-  },
-];
-// 学术交流
-const learning = [
-  {
-    path: '/learning/index',
-    meta: { title: '学术交流' },
-    component: () => import('../views/learning/index.vue'),
-  },
-  {
-    path: '/learning/sociology/index',
-    meta: { title: '社会服务活动' },
-    component: () => import('../views/learning/sociology/index.vue'),
-  },
-  {
-    path: '/learning/technology/index',
-    meta: { title: '技术服务活动' },
-    component: () => import('../views/learning/technology/index.vue'),
-  },
-  {
-    path: '/learning/science/index',
-    meta: { title: '科普活动' },
-    component: () => import('../views/learning/science/index.vue'),
-  },
-  {
-    path: '/learning/report/index',
-    meta: { title: '分析/建议/决策/咨询报告' },
-    component: () => import('../views/learning/report/index.vue'),
-  },
-];
-// 队伍建设与人才培养;
-const ranks = [
-  {
-    path: '/ranks/index',
-    meta: { title: '队伍建设与人才培养' },
-    component: () => import('../views/ranks/index.vue'),
-  },
-  {
-    path: '/ranks/personnel/index',
-    meta: { title: '人才称号' },
-    component: () => import('../views/ranks/personnel/index.vue'),
-  },
-  {
-    path: '/ranks/title/index',
-    meta: { title: '职称晋升' },
-    component: () => import('../views/ranks/title/index.vue'),
-  },
-  {
-    path: '/ranks/boshuo/index',
-    meta: { title: '博硕培养' },
-    component: () => import('../views/ranks/boshuo/index.vue'),
-  },
-];
-// 平台活动时间段公式;
-const activity = [
-  {
-    path: '/activity-time/index',
-    meta: { title: '平台活动时间段公示' },
-    component: () => import('../views/activity-time/index.vue'),
-  },
-];
-
-const web = [
-  {
-    path: '/',
-    meta: { title: '网站首页' },
-    component: () => import('../views/index.vue'),
-  },
-  // 信息展示
-  ...infoview,
-  // 科研信息
-  ...scientific,
-  // 学术交流
-  ...learning,
-  // 队伍建设与人才培养
-  ...ranks,
-  // 平台活动时间段公式
-  ...activity,
-];
-const routes = [...web];
-const router = new VueRouter({
-  mode: 'history',
-  base: process.env.VUE_APP_ROUTER,
-  routes,
-});
-// router.beforeEach((to, from, next) => {
-//   document.title = `${to.meta.title} `;
-//   const token = localStorage.getItem('token');
-//   // 不带参数
-//   if (to.path == '/work/userCenter/index') {
-//     if (!token) {
-//       next(`/login?path=${to.path}&&type=2`);
-//     } else {
-//       let user = jwt.decode(token);
-//       store.commit('setUser', user, { root: true });
-//       next();
-//     }
-//   } else {
-//     let user = jwt.decode(token);
-//     store.commit('setUser', user, { root: true });
-//     next();
-//   }
-// });
-
-export default router;

+ 132 - 1
src/router/index.js

@@ -5,13 +5,144 @@ VueRouter.prototype.push = function push(location) {
   return originalPush.call(this, location).catch((err) => err);
 };
 Vue.use(VueRouter);
-
+// 信息展示
+const infoview = [
+  {
+    path: '/infoview/laboratory/index',
+    meta: { title: '重点实验室信息展示' },
+    component: () => import('../views/infoview/laboratory/index.vue'),
+  },
+  {
+    path: '/infoview/research/index',
+    meta: { title: '研究方向信息展示' },
+    component: () => import('../views/infoview/research/index.vue'),
+  },
+  {
+    path: '/infoview/equipment/index',
+    meta: { title: '设备信息展示' },
+    component: () => import('../views/infoview/equipment/index.vue'),
+  },
+  {
+    path: '/infoview/achievement/index',
+    meta: { title: '重要成果信息展示' },
+    component: () => import('../views/infoview/achievement/index.vue'),
+  },
+  {
+    path: '/infoview/task/index',
+    meta: { title: '实验室建设期内承担项目明细' },
+    component: () => import('../views/infoview/task/index.vue'),
+  },
+];
+// 科研信息
+const scientific = [
+  {
+    path: '/scientific/award/index',
+    meta: { title: '实验室建设期内获奖明细' },
+    component: () => import('../views/scientific/award/index.vue'),
+  },
+  {
+    path: '/scientific/paper/index',
+    meta: { title: '实验室建设期内发表学术论文明细' },
+    component: () => import('../views/scientific/paper/index.vue'),
+  },
+  {
+    path: '/scientific/otherachieve/index',
+    meta: { title: '其他成果' },
+    component: () => import('../views/scientific/otherachieve/index.vue'),
+  },
+];
+// 人员信息
+const personnel = [
+  {
+    path: '/personnel/index',
+    meta: { title: '人员信息' },
+    component: () => import('../views/personnel/index.vue'),
+  },
+  {
+    path: '/personnel/director/index',
+    meta: { title: '主任及科研助理信息列表' },
+    component: () => import('../views/personnel/director/index.vue'),
+  },
+  {
+    path: '/personnel/learning/index',
+    meta: { title: '学术委员会' },
+    component: () => import('../views/personnel/learning/index.vue'),
+  },
+];
+// 学术交流
+const learning = [
+  {
+    path: '/learning/index',
+    meta: { title: '学术交流' },
+    component: () => import('../views/learning/index.vue'),
+  },
+  {
+    path: '/learning/sociology/index',
+    meta: { title: '社会服务活动' },
+    component: () => import('../views/learning/sociology/index.vue'),
+  },
+  {
+    path: '/learning/technology/index',
+    meta: { title: '技术服务活动' },
+    component: () => import('../views/learning/technology/index.vue'),
+  },
+  {
+    path: '/learning/science/index',
+    meta: { title: '科普活动' },
+    component: () => import('../views/learning/science/index.vue'),
+  },
+  {
+    path: '/learning/report/index',
+    meta: { title: '分析/建议/决策/咨询报告' },
+    component: () => import('../views/learning/report/index.vue'),
+  },
+];
+// 队伍建设与人才培养;
+const ranks = [
+  {
+    path: '/ranks/index',
+    meta: { title: '队伍建设与人才培养' },
+    component: () => import('../views/ranks/index.vue'),
+  },
+  {
+    path: '/ranks/personnel/index',
+    meta: { title: '人才称号' },
+    component: () => import('../views/ranks/personnel/index.vue'),
+  },
+  {
+    path: '/ranks/title/index',
+    meta: { title: '职称晋升' },
+    component: () => import('../views/ranks/title/index.vue'),
+  },
+  {
+    path: '/ranks/boshuo/index',
+    meta: { title: '博硕培养' },
+    component: () => import('../views/ranks/boshuo/index.vue'),
+  },
+];
 const web = [
   {
     path: '/',
     meta: { title: '网站首页' },
     component: () => import('../views/index.vue'),
   },
+  // 信息展示
+  ...infoview,
+  // 科研信息
+  ...scientific,
+  // 平台活动时间段公示
+  // 人员信息
+  ...personnel,
+  // 学术交流
+  ...learning,
+  // 队伍建设与人才培养
+  ...ranks,
+
+  {
+    path: '/activity/time/index',
+    meta: { title: '活动时间段' },
+    component: () => import('../views/activity/time/index.vue'),
+  },
 ];
 const routes = [...web];
 const router = new VueRouter({

+ 0 - 89
src/views - 副本/index.vue

@@ -1,89 +0,0 @@
-<template>
-  <div id="index">
-    <admin-frame :useTop="false" :usePage="false" :useNav="false">
-      <template v-slot:info>
-        <van-col span="24" class="menu" v-for="(i, index) in menu" :key="index" @click.native="$router.push(i.router)">
-          {{ i.label }}
-        </van-col>
-      </template>
-    </admin-frame>
-  </div>
-</template>
-
-<script>
-import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'index',
-  props: {},
-  components: {
-    adminFrame,
-  },
-  data: function () {
-    return {
-      menu: [
-        // 信息展示
-        {
-          label: '信息展示-重点实验室信息展示',
-          router: '/infoview-laboratory/index',
-        },
-        {
-          label: '信息展示-研究方向信息展示',
-          router: '/infoview-research/index',
-        },
-        {
-          label: '信息展示-设备信息展示',
-          router: '/infoview-equipment/index',
-        },
-        {
-          label: '信息展示-重要成果信息展示',
-          router: '/infoview-achievement/index',
-        },
-        // 科研信息
-        {
-          label: '科研信息',
-          router: '/scientific/index',
-        },
-        // 学术交流
-        {
-          label: '学术交流',
-          router: '/learning/index',
-        },
-        // 队伍建设与人才培养
-        {
-          label: '队伍建设与人才培养',
-          router: '/ranks/index',
-        },
-        // 平台活动时间段公式
-        {
-          label: '平台活动时间段公示',
-          router: '/activity-time/index',
-        },
-      ],
-    };
-  },
-  async created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.menu {
-  border: 1px dashed #ccc;
-  margin: 0 0 10px 0;
-  padding: 10px;
-}
-</style>

+ 0 - 68
src/views - 副本/learning/index.vue

@@ -1,68 +0,0 @@
-<template>
-  <div id="index">
-    <admin-frame :useTop="false" :usePage="false" :useNav="false">
-      <template v-slot:info>
-        <van-col span="24" class="menu" v-for="(i, index) in menu" :key="index" @click.native="$router.push(i.router)">
-          {{ i.label }}
-        </van-col>
-      </template>
-    </admin-frame>
-  </div>
-</template>
-
-<script>
-import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'index',
-  props: {},
-  components: {
-    adminFrame,
-  },
-  data: function () {
-    return {
-      menu: [
-        {
-          label: '学术交流-社会服务活动',
-          router: '/learning/sociology/index',
-        },
-        {
-          label: '学术交流-技术服务活动',
-          router: '/learning/technology/index',
-        },
-        {
-          label: '学术交流-科普活动',
-          router: '/learning/science/index',
-        },
-        {
-          label: '学术交流-分析/建议/决策/咨询报告',
-          router: '/learning/report/index',
-        },
-      ],
-    };
-  },
-  async created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.menu {
-  border: 1px dashed #ccc;
-  margin: 0 0 10px 0;
-  padding: 10px;
-}
-</style>

+ 0 - 64
src/views - 副本/ranks/index.vue

@@ -1,64 +0,0 @@
-<template>
-  <div id="index">
-    <admin-frame :useTop="false" :usePage="false" :useNav="false">
-      <template v-slot:info>
-        <van-col span="24" class="menu" v-for="(i, index) in menu" :key="index" @click.native="$router.push(i.router)">
-          {{ i.label }}
-        </van-col>
-      </template>
-    </admin-frame>
-  </div>
-</template>
-
-<script>
-import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'index',
-  props: {},
-  components: {
-    adminFrame,
-  },
-  data: function () {
-    return {
-      menu: [
-        {
-          label: '人才称号',
-          router: '/ranks/personnel/index',
-        },
-        {
-          label: '职称晋升',
-          router: '/ranks/title/index',
-        },
-        {
-          label: '博硕培养',
-          router: '/ranks/boshuo/index',
-        },
-      ],
-    };
-  },
-  async created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.menu {
-  border: 1px dashed #ccc;
-  margin: 0 0 10px 0;
-  padding: 10px;
-}
-</style>

+ 0 - 36
src/views - 副本/ranks/title/index.vue

@@ -1,36 +0,0 @@
-<template>
-  <div id="index">
-    <van-row>
-      <van-col span="24" class="main"> test </van-col>
-    </van-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'index',
-  props: {},
-  components: {},
-  data: function () {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped></style>

+ 0 - 36
src/views - 副本/scientific/otherachieve/index.vue

@@ -1,36 +0,0 @@
-<template>
-  <div id="index">
-    <van-row>
-      <van-col span="24" class="main"> test </van-col>
-    </van-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'index',
-  props: {},
-  components: {},
-  data: function () {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped></style>

+ 110 - 0
src/views/activity/time/index.vue

@@ -0,0 +1,110 @@
+<template>
+  <div id="index">
+    <admin-frame @search="search" :limit="limit" :total="total" topType="2" :leftArrow="false" @add="toAdd" :useNav="false">
+      <template v-slot:info>
+        <list-1 :list="list" @toView="toView"></list-1>
+      </template>
+    </admin-frame>
+    <van-dialog class="dialog" v-model="dialog.show" :title="dialog.title" :show-confirm-button="false" show-cancel-button cancel-button-text="返回">
+      <info-1 :info="info" v-if="dialog.type == '1'"></info-1>
+      <search-1 :form="searhForm" v-else-if="dialog.type == '2'" @reseat="reseat" @onSubmit="onSubmit"></search-1>
+    </van-dialog>
+  </div>
+</template>
+
+<script>
+import list1 from '@/layout/activity/time/list-1.vue';
+import info1 from '@/layout/activity/time/info-1.vue';
+import search1 from '@/layout/activity/time/search-1.vue';
+import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    adminFrame,
+    list1,
+    info1,
+    search1,
+  },
+  data: function () {
+    return {
+      list: [
+        {
+          createBy: '1',
+          createTime: '2021-11-17 15:20:03',
+          endTime: '2021-12-31',
+          id: '3d927a9ce1b54ba2879b7c6a8aab6370',
+          isOpen: '0',
+          params: {},
+          remark: null,
+          searchValue: null,
+          startTime: '2021-11-01',
+          title: '测试',
+          updateBy: null,
+          updateTime: null,
+        },
+      ],
+      total: 0,
+      limit: 5,
+      // 查询
+      searhForm: {},
+      // 弹框
+      dialog: { show: false, title: '详细信息', type: '1' },
+      // 详细信息
+      info: {},
+    };
+  },
+  async created() {
+    await this.search();
+  },
+  methods: {
+    async search({ skip = 0, limit = this.limit, searchName, ...info } = {}) {
+      if (searchName) info.name = searchName;
+      console.log(this.searhForm);
+    },
+    // 查看信息
+    async toView(data) {
+      this.$set(this, `info`, data);
+      this.dialog = { show: true, title: '详细信息', type: '1' };
+    },
+    // 添加查询条件
+    toAdd() {
+      this.dialog = { show: true, title: '查询条件', type: '2' };
+    },
+    // 重置条件
+    reseat() {
+      this.searhForm = {};
+      this.dialog = { show: false, title: '查询条件', type: '2' };
+      this.search();
+    },
+    // 提交查询
+    onSubmit({ data }) {
+      this.search(data);
+      this.dialog = { show: false, title: '查询条件', type: '2' };
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.dialog {
+  /deep/.van-dialog__content {
+    max-height: 350px;
+    overflow-y: auto;
+  }
+}
+</style>

+ 32 - 15
src/views/index.vue

@@ -25,25 +25,47 @@ export default {
       menu: [
         // 信息展示
         {
-          label: '信息展示-重点实验室信息展示',
-          router: '/infoview-laboratory/index',
+          label: '信息展示-重点实验室',
+          router: '/infoview/laboratory/index',
         },
         {
-          label: '信息展示-研究方向信息展示',
-          router: '/infoview-research/index',
+          label: '信息展示-研究方向',
+          router: '/infoview/research/index',
         },
         {
-          label: '信息展示-设备信息展示',
-          router: '/infoview-equipment/index',
+          label: '信息展示-设备信息',
+          router: '/infoview/equipment/index',
         },
         {
-          label: '信息展示-重要成果信息展示',
-          router: '/infoview-achievement/index',
+          label: '信息展示-重要成果',
+          router: '/infoview/achievement/index',
+        },
+        {
+          label: '信息展示-承担科研任务',
+          router: '/infoview/task/index',
         },
         // 科研信息
         {
-          label: '科研信息',
-          router: '/scientific/index',
+          label: '科研信息-获奖信息',
+          router: '/scientific/award/index',
+        },
+        {
+          label: '科研信息-论文发表情况',
+          router: '/scientific/paper/index',
+        },
+        {
+          label: '科研信息-其他成果',
+          router: '/scientific/otherachieve/index',
+        },
+        // 平台活动时间段
+        {
+          label: '平台活动时间段公示',
+          router: '/activity/time/index',
+        },
+        // 人员信息
+        {
+          label: '人员信息',
+          router: '/personnel/index',
         },
         // 学术交流
         {
@@ -55,11 +77,6 @@ export default {
           label: '队伍建设与人才培养',
           router: '/ranks/index',
         },
-        // 平台活动时间段公式
-        {
-          label: '平台活动时间段公示',
-          router: '/activity-time/index',
-        },
       ],
     };
   },

+ 2 - 2
src/views - 副本/infoview-achievement/index.vue

@@ -12,8 +12,8 @@
 </template>
 
 <script>
-import list1 from '@/layout/achievement/list-1.vue';
-import info1 from '@/layout/achievement/info-1.vue';
+import list1 from '@/layout/infoview/achievement/list-1.vue';
+import info1 from '@/layout/infoview/achievement/info-1.vue';
 import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {

+ 3 - 3
src/views - 副本/infoview-equipment/index.vue

@@ -15,9 +15,9 @@
 </template>
 
 <script>
-import equipmentTotal from '@/layout/equipment/equipment-total.vue';
-import list1 from '@/layout/equipment/list-1.vue';
-import info1 from '@/layout/equipment/info-1.vue';
+import equipmentTotal from '@/layout/infoview/equipment/equipment-total.vue';
+import list1 from '@/layout/infoview/equipment/list-1.vue';
+import info1 from '@/layout/infoview/equipment/info-1.vue';
 import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {

+ 2 - 2
src/views - 副本/infoview-laboratory/index.vue

@@ -12,8 +12,8 @@
 </template>
 
 <script>
-import list1 from '@/layout/laboratory/list-1.vue';
-import info1 from '@/layout/laboratory/info-1.vue';
+import list1 from '@/layout/infoview/laboratory/list-1.vue';
+import info1 from '@/layout/infoview/laboratory/info-1.vue';
 import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {

+ 2 - 2
src/views - 副本/infoview-research/index.vue

@@ -12,8 +12,8 @@
 </template>
 
 <script>
-import list1 from '@/layout/research/list-1.vue';
-import info1 from '@/layout/research/info-1.vue';
+import list1 from '@/layout/infoview/research/list-1.vue';
+import info1 from '@/layout/infoview/research/info-1.vue';
 import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {

+ 4 - 8
src/views - 副本/scientific/task/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div id="index">
-    <admin-frame @search="search" :limit="limit" :total="total" topType="2" @back="back" @add="toAdd" :useNav="false">
+    <admin-frame @search="search" :limit="limit" :total="total" topType="2" :leftArrow="false" @add="toAdd" :useNav="false">
       <template v-slot:info>
         <list-1 :list="list" @toView="toView"></list-1>
       </template>
@@ -13,9 +13,9 @@
 </template>
 
 <script>
-import list1 from '@/layout/scientific/task/list-1.vue';
-import info1 from '@/layout/scientific/task/info-1.vue';
-import search1 from '@/layout/scientific/task/search-1.vue';
+import list1 from '@/layout/infoview/task/list-1.vue';
+import info1 from '@/layout/infoview/task/info-1.vue';
+import search1 from '@/layout/infoview/task/search-1.vue';
 import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
@@ -143,10 +143,6 @@ export default {
       this.search(data);
       this.dialog = { show: false, title: '查询条件', type: '2' };
     },
-    // 返回
-    back() {
-      this.$router.push({ path: '/scientific/index' });
-    },
   },
   computed: {
     ...mapState(['user']),

+ 140 - 0
src/views/learning/index.vue

@@ -0,0 +1,140 @@
+<template>
+  <div id="index">
+    <admin-frame :useTop="false" :usePage="false" :useNav="false">
+      <template v-slot:info>
+        <van-col span="24" class="one">
+          <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
+            <van-swipe-item v-for="(item, index) in imageList" :key="index">
+              <van-image :src="item.url"></van-image>
+            </van-swipe-item>
+          </van-swipe>
+        </van-col>
+        <van-col span="24" class="two">
+          <van-grid :gutter="5" :column-num="2">
+            <van-grid-item class="list" v-for="(item, index) in menu" :key="index" :to="item.router">
+              <p>{{ item.label }}</p>
+            </van-grid-item>
+          </van-grid>
+        </van-col>
+      </template>
+    </admin-frame>
+  </div>
+</template>
+
+<script>
+import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    adminFrame,
+  },
+  data: function () {
+    return {
+      // 轮播图
+      imageList: [{ url: require('@a/lab-2.png') }],
+      menu: [
+        {
+          label: '社会服务活动',
+          router: '/learning/sociology/index',
+        },
+        {
+          label: '技术服务活动',
+          router: '/learning/technology/index',
+        },
+        {
+          label: '科普活动',
+          router: '/learning/science/index',
+        },
+        {
+          label: '分析/建议/决策/咨询报告',
+          router: '/learning/report/index',
+        },
+      ],
+    };
+  },
+  async created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.one {
+  height: 200px;
+  background-color: #fff;
+  margin: 0 0 5px 0;
+  .van-swipe {
+    height: 200px;
+    overflow: hidden;
+  }
+}
+.two {
+  .list {
+    height: 80px;
+    p {
+      color: #fff;
+      font-size: 14px;
+      padding: 0px 5px;
+      text-align: center;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      -webkit-line-clamp: 2;
+      word-break: break-all;
+      display: -webkit-box;
+      -webkit-box-orient: vertical;
+    }
+    /deep/.van-grid-item__content {
+      border-radius: 10px;
+    }
+  }
+  .list:nth-child(1) {
+    /deep/.van-grid-item__content {
+      background-color: #ffc0cb;
+    }
+  }
+  .list:nth-child(2) {
+    /deep/.van-grid-item__content {
+      background-color: #ee82ee;
+    }
+  }
+  .list:nth-child(3) {
+    /deep/.van-grid-item__content {
+      background-color: #7b68ee;
+    }
+  }
+  .list:nth-child(4) {
+    /deep/.van-grid-item__content {
+      background-color: #4169e1;
+    }
+  }
+  .list:nth-child(5) {
+    /deep/.van-grid-item__content {
+      background-color: #00bfff;
+    }
+  }
+  .list:nth-child(6) {
+    /deep/.van-grid-item__content {
+      background-color: #48d1cc;
+    }
+  }
+  .list:nth-child(7) {
+    /deep/.van-grid-item__content {
+      background-color: #98fb98;
+    }
+  }
+}
+</style>

src/views - 副本/activity-time/index.vue → src/views/learning/report/index.vue


src/views - 副本/learning/report/index.vue → src/views/learning/science/index.vue


src/views - 副本/learning/science/index.vue → src/views/learning/sociology/index.vue


src/views - 副本/learning/sociology/index.vue → src/views/learning/technology/index.vue


+ 4 - 4
src/views - 副本/scientific/personnel/index.vue

@@ -13,9 +13,9 @@
 </template>
 
 <script>
-import list1 from '@/layout/scientific/personnel/list-1.vue';
-import info1 from '@/layout/scientific/personnel/info-1.vue';
-import search1 from '@/layout/scientific/personnel/search-1.vue';
+import list1 from '@/layout/personnel/director/list-1.vue';
+import info1 from '@/layout/personnel/director/info-1.vue';
+import search1 from '@/layout/personnel/director/search-1.vue';
 import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
@@ -100,7 +100,7 @@ export default {
     },
     // 返回
     back() {
-      this.$router.push({ path: '/scientific/index' });
+      this.$router.push({ path: '/personnel/index' });
     },
   },
   computed: {

+ 4 - 8
src/views - 副本/scientific/index.vue

@@ -10,7 +10,7 @@
           </van-swipe>
         </van-col>
         <van-col span="24" class="two">
-          <van-grid :gutter="5" :column-num="3">
+          <van-grid :gutter="5" :column-num="2">
             <van-grid-item class="list" v-for="(item, index) in menu" :key="index" :to="item.router">
               <p>{{ item.label }}</p>
             </van-grid-item>
@@ -33,14 +33,10 @@ export default {
   data: function () {
     return {
       // 轮播图
-      imageList: [{ url: require('@a/scientific/image1.jpg') }, { url: require('@a/scientific/image2.jpg') }, { url: require('@a/scientific/image3.jpg') }],
+      imageList: [{ url: require('@a/lab-1.png') }],
       menu: [
-        { label: '主任/助理', router: '/scientific/personnel/index' },
-        { label: '委员会', router: '/scientific/learning/index' },
-        { label: '科研任务', router: '/scientific/task/index' },
-        { label: '获奖信息', router: '/scientific/award/index' },
-        { label: '论文发表', router: '/scientific/paper/index' },
-        { label: '其他成果', router: '/scientific/otherachieve/index' },
+        { label: '主任/科研助理', router: '/personnel/director/index' },
+        { label: '学术委员会', router: '/personnel/learning/index' },
       ],
     };
   },

+ 4 - 4
src/views - 副本/scientific/learning/index.vue

@@ -13,9 +13,9 @@
 </template>
 
 <script>
-import list1 from '@/layout/scientific/learning/list-1.vue';
-import info1 from '@/layout/scientific/learning/info-1.vue';
-import search1 from '@/layout/scientific/learning/search-1.vue';
+import list1 from '@/layout/personnel/learning/list-1.vue';
+import info1 from '@/layout/personnel/learning/info-1.vue';
+import search1 from '@/layout/personnel/learning/search-1.vue';
 import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
@@ -89,7 +89,7 @@ export default {
     },
     // 返回
     back() {
-      this.$router.push({ path: '/scientific/index' });
+      this.$router.push({ path: '/personnel/index' });
     },
   },
   computed: {

src/views - 副本/learning/technology/index.vue → src/views/ranks/boshuo/index.vue


+ 136 - 0
src/views/ranks/index.vue

@@ -0,0 +1,136 @@
+<template>
+  <div id="index">
+    <admin-frame :useTop="false" :usePage="false" :useNav="false">
+      <template v-slot:info>
+        <van-col span="24" class="one">
+          <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
+            <van-swipe-item v-for="(item, index) in imageList" :key="index">
+              <van-image :src="item.url"></van-image>
+            </van-swipe-item>
+          </van-swipe>
+        </van-col>
+        <van-col span="24" class="two">
+          <van-grid :gutter="5" :column-num="2">
+            <van-grid-item class="list" v-for="(item, index) in menu" :key="index" :to="item.router">
+              <p>{{ item.label }}</p>
+            </van-grid-item>
+          </van-grid>
+        </van-col>
+      </template>
+    </admin-frame>
+  </div>
+</template>
+
+<script>
+import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    adminFrame,
+  },
+  data: function () {
+    return {
+      // 轮播图
+      imageList: [{ url: require('@a/lab-3.png') }],
+      menu: [
+        {
+          label: '人才称号',
+          router: '/ranks/personnel/index',
+        },
+        {
+          label: '职称晋升',
+          router: '/ranks/title/index',
+        },
+        {
+          label: '博硕培养',
+          router: '/ranks/boshuo/index',
+        },
+      ],
+    };
+  },
+  async created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.one {
+  height: 200px;
+  background-color: #fff;
+  margin: 0 0 5px 0;
+  .van-swipe {
+    height: 200px;
+    overflow: hidden;
+  }
+}
+.two {
+  .list {
+    height: 80px;
+    p {
+      color: #fff;
+      font-size: 14px;
+      padding: 0px 5px;
+      text-align: center;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      -webkit-line-clamp: 2;
+      word-break: break-all;
+      display: -webkit-box;
+      -webkit-box-orient: vertical;
+    }
+    /deep/.van-grid-item__content {
+      border-radius: 10px;
+    }
+  }
+  .list:nth-child(1) {
+    /deep/.van-grid-item__content {
+      background-color: #ffc0cb;
+    }
+  }
+  .list:nth-child(2) {
+    /deep/.van-grid-item__content {
+      background-color: #ee82ee;
+    }
+  }
+  .list:nth-child(3) {
+    /deep/.van-grid-item__content {
+      background-color: #7b68ee;
+    }
+  }
+  .list:nth-child(4) {
+    /deep/.van-grid-item__content {
+      background-color: #4169e1;
+    }
+  }
+  .list:nth-child(5) {
+    /deep/.van-grid-item__content {
+      background-color: #00bfff;
+    }
+  }
+  .list:nth-child(6) {
+    /deep/.van-grid-item__content {
+      background-color: #48d1cc;
+    }
+  }
+  .list:nth-child(7) {
+    /deep/.van-grid-item__content {
+      background-color: #98fb98;
+    }
+  }
+}
+</style>

src/views - 副本/ranks/boshuo/index.vue → src/views/ranks/personnel/index.vue


src/views - 副本/ranks/personnel/index.vue → src/views/ranks/title/index.vue


+ 1 - 5
src/views - 副本/scientific/award/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div id="index">
-    <admin-frame @search="search" :limit="limit" :total="total" topType="2" @back="back" @add="toAdd" :useNav="false">
+    <admin-frame @search="search" :limit="limit" :total="total" topType="2" :leftArrow="false" @add="toAdd" :useNav="false">
       <template v-slot:info>
         <list-1 :list="list" @toView="toView"></list-1>
       </template>
@@ -137,10 +137,6 @@ export default {
       this.search(data);
       this.dialog = { show: false, title: '查询条件', type: '2' };
     },
-    // 返回
-    back() {
-      this.$router.push({ path: '/scientific/index' });
-    },
   },
   computed: {
     ...mapState(['user']),

+ 112 - 0
src/views/scientific/otherachieve/index.vue

@@ -0,0 +1,112 @@
+<template>
+  <div id="index">
+    <admin-frame @search="search" :limit="limit" :total="total" topType="2" :leftArrow="false" @add="toAdd" :useNav="false">
+      <template v-slot:info>
+        <list-1 :list="list" @toView="toView"></list-1>
+      </template>
+    </admin-frame>
+    <van-dialog class="dialog" v-model="dialog.show" :title="dialog.title" :show-confirm-button="false" show-cancel-button cancel-button-text="返回">
+      <info-1 :info="info" v-if="dialog.type == '1'"></info-1>
+      <search-1 :form="searhForm" v-else-if="dialog.type == '2'" @reseat="reseat" @onSubmit="onSubmit"></search-1>
+    </van-dialog>
+  </div>
+</template>
+
+<script>
+import list1 from '@/layout/scientific/otherachieve/list-1.vue';
+import info1 from '@/layout/scientific/otherachieve/info-1.vue';
+import search1 from '@/layout/scientific/otherachieve/search-1.vue';
+import adminFrame from '@common/src/components/mobile-frame/mobile-main.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    adminFrame,
+    list1,
+    info1,
+    search1,
+  },
+  data: function () {
+    return {
+      list: [
+        {
+          content: '啊吧啊吧',
+          createBy: '1',
+          createTime: '2021-09-16 10:45:35',
+          delFlag: '0',
+          direction: '173d667ff2c04aa68390fefef2519f95',
+          directionName: null,
+          id: '80624b94ad0d4827b7f15699febe5a2c',
+          name: '成果名称',
+          params: {},
+          remark: null,
+          searchValue: null,
+          type: '1',
+          updateBy: null,
+          updateTime: '2021-09-22 20:07:11',
+        },
+      ],
+      total: 0,
+      limit: 5,
+      // 查询
+      searhForm: {},
+      // 弹框
+      dialog: { show: false, title: '详细信息', type: '1' },
+      // 详细信息
+      info: {},
+    };
+  },
+  async created() {
+    await this.search();
+  },
+  methods: {
+    async search({ skip = 0, limit = this.limit, searchName, ...info } = {}) {
+      if (searchName) info.name = searchName;
+      console.log(this.searhForm);
+    },
+    // 查看信息
+    async toView(data) {
+      this.$set(this, `info`, data);
+      this.dialog = { show: true, title: '详细信息', type: '1' };
+    },
+    // 添加查询条件
+    toAdd() {
+      this.dialog = { show: true, title: '查询条件', type: '2' };
+    },
+    // 重置条件
+    reseat() {
+      this.searhForm = {};
+      this.dialog = { show: false, title: '查询条件', type: '2' };
+      this.search();
+    },
+    // 提交查询
+    onSubmit({ data }) {
+      this.search(data);
+      this.dialog = { show: false, title: '查询条件', type: '2' };
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.dialog {
+  /deep/.van-dialog__content {
+    max-height: 350px;
+    overflow-y: auto;
+  }
+}
+</style>

+ 1 - 5
src/views - 副本/scientific/paper/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div id="index">
-    <admin-frame @search="search" :limit="limit" :total="total" topType="2" @back="back" @add="toAdd" :useNav="false">
+    <admin-frame @search="search" :limit="limit" :total="total" topType="2" :leftArrow="false" @add="toAdd" :useNav="false">
       <template v-slot:info>
         <list-1 :list="list" @toView="toView"></list-1>
       </template>
@@ -88,10 +88,6 @@ export default {
       this.search(data);
       this.dialog = { show: false, title: '查询条件', type: '2' };
     },
-    // 返回
-    back() {
-      this.$router.push({ path: '/scientific/index' });
-    },
   },
   computed: {
     ...mapState(['user']),