lrf402788946 4 jaren geleden
bovenliggende
commit
acb48c9e5e
6 gewijzigde bestanden met toevoegingen van 90 en 9 verwijderingen
  1. 1 0
      src/main.js
  2. 10 0
      src/plugins/components.js
  3. 6 0
      src/router/index.js
  4. 8 3
      src/store/index.js
  5. 52 0
      src/views/adminCnter/news/index.vue
  6. 13 6
      src/views/login.vue

+ 1 - 0
src/main.js

@@ -12,6 +12,7 @@ import '@/plugins/var';
 import '@/plugins/methods';
 import '@/plugins/setting';
 import '@a/icon/iconfont.css';
+import '@/plugins/components';
 Vue.config.productionTip = false;
 new Vue({
   router,

+ 10 - 0
src/plugins/components.js

@@ -0,0 +1,10 @@
+import Vue from 'vue';
+import dataTable from '@common/src/components/frame/filter-page-table.vue';
+import dataForm from '@common/src/components/frame/form.vue';
+console.log(dataTable);
+const Plugin = (vue) => {
+  vue.component('data-table', dataTable);
+  vue.component('data-form', dataForm);
+};
+
+Vue.use(Plugin);

+ 6 - 0
src/router/index.js

@@ -74,6 +74,12 @@ const web = [
         meta: { title: '测试页面' },
         component: () => import('../views/adminCnter/test/index.vue'),
       },
+      {
+        path: '/adminCnter/news',
+        name: 'admin_news',
+        meta: { title: '新闻管理' },
+        component: () => import('../views/adminCnter/news/index.vue'),
+      },
     ],
   },
 ];

+ 8 - 3
src/store/index.js

@@ -1,11 +1,16 @@
 import Vue from 'vue';
 import Vuex from 'vuex';
+import * as ustate from '@common/src/store/user/state';
+import * as umutations from '@common/src/store/user/mutations';
+import login from '@common/src/store/login';
 
 Vue.use(Vuex);
 
 export default new Vuex.Store({
-  state: {},
-  mutations: {},
+  state: { ...ustate },
+  mutations: { ...umutations },
   actions: {},
-  modules: {},
+  modules: {
+    login,
+  },
 });

+ 52 - 0
src/views/adminCnter/news/index.vue

@@ -0,0 +1,52 @@
+<template>
+  <div id="news-index">
+    <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search"></data-table>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'newsIndex',
+  props: {},
+  components: {},
+  data: function () {
+    return {
+      list: [],
+      total: 0,
+      opera: [
+        {
+          label: '审核',
+          method: 'check',
+        },
+      ],
+      fields: [
+        { label: '产品名称', prop: 'name' },
+        { label: '类型', prop: 'type', format: (i) => (i == '1' ? '技术成果' : i == '2' ? '商务服务' : '科技需求') },
+        { label: '联系人', prop: 'contacts' },
+        { label: '联系电话', prop: 'phone' },
+        { label: '所属领域', prop: 'field' },
+        { label: '合作方式', prop: 'cooperation' },
+        { label: '审核状态', prop: 'dockStatus', format: (i) => (i == '1' ? '已通过' : i == '2' ? '已拒绝' : '未审核') },
+      ],
+    };
+  },
+  created() {},
+  methods: {
+    async search() {
+      console.log('in function:');
+    },
+  },
+  computed: {
+    ...mapState(['user', 'menuParams']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 13 - 6
src/views/login.vue

@@ -4,10 +4,10 @@
       <el-col :span="24" class="main">
         <el-form ref="form" :model="form" label-width="80px">
           <el-form-item label="用户账号">
-            <el-input v-model="form.phone" maxlength="11" placeholder="请输入账号"></el-input>
+            <el-input v-model="form.code_phone" maxlength="11" placeholder="请输入账号"></el-input>
           </el-form-item>
           <el-form-item label="用户密码">
-            <el-input v-model="form.password" placeholder="请输入账号" show-password></el-input>
+            <el-input v-model="form.passwd" placeholder="请输入账号" show-password></el-input>
           </el-form-item>
           <el-form-item>
             <el-button type="danger" size="mini">取消登录</el-button>
@@ -20,7 +20,10 @@
 </template>
 
 <script>
+const _ = require('lodash');
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: login } = createNamespacedHelpers('login');
+
 export default {
   name: 'login',
   props: {},
@@ -32,10 +35,14 @@ export default {
   },
   created() {},
   methods: {
-    onSubmit() {
-      let data = this.form;
-      console.log(data);
-      this.$router.push({ path: '/adminCnter/homeIndex' });
+    ...login(['login']),
+    async onSubmit() {
+      let data = _.get(this, 'form');
+      const res = await this.login(data);
+      console.log(res);
+      if (this.$checkRes(res)) {
+        this.$router.push({ path: '/adminCnter/homeIndex' });
+      }
     },
   },
   computed: {