guhongwei 4 tahun lalu
induk
melakukan
f2ae0e46e5
7 mengubah file dengan 102 tambahan dan 137 penghapusan
  1. 1 1
      .env
  2. 0 11
      src/components/common/Sidebar.vue
  3. 0 54
      src/store/car.js
  4. 0 4
      src/store/index.js
  5. 0 54
      src/store/repair.js
  6. 97 10
      src/views/test/index.vue
  7. 4 3
      vue.config.js

+ 1 - 1
.env

@@ -1,2 +1,2 @@
 VUE_APP_AXIOS_BASE_URL = ''
-VUE_APP_ROUTER="/study"
+VUE_APP_ROUTER="/livecms"

+ 0 - 11
src/components/common/Sidebar.vue

@@ -56,17 +56,6 @@ export default {
           index: 'test',
           title: '测试菜单',
         },
-        // {
-        //   icon: 'el-icon-s-home',
-        //   index: '1',
-        //   title: '测试菜单',
-        //   subs: [
-        //     {
-        //       index: 'test',
-        //       title: '测试菜单',
-        //     },
-        //   ],
-        // },
       ],
     };
   },

+ 0 - 54
src/store/car.js

@@ -1,54 +0,0 @@
-//第一步
-import Vue from 'vue';
-import Vuex from 'vuex';
-import _ from 'lodash';
-Vue.use(Vuex);
-const api = {
-  //接口地址
-  car: `/api/servicetest/carorder`,
-};
-const state = () => ({});
-const mutations = {};
-
-const actions = {
-  //查询列表 skip:第一页,limit:第一页显示的数据,info:其余查询参数
-  async query({ commit }, { skip = 0, limit, ...info } = {}) {
-    //连接接口。。。。
-    const res = await this.$axios.$get(`${api.car}`, {
-      skip,
-      limit,
-      ...info,
-    });
-    //把数据集合res返回
-    return res;
-  },
-  //创建数据  payload是添加form表单中的数据集合  创建数据的时候需要拿到form表单里面的数据
-  async create({ commit }, payload) {
-    //通过$axios提交post请求????
-    const res = await this.$axios.$post(`${api.car}`, payload);
-    return res;
-  },
-  //查询详情,payload:参数位,一般传当前数据id
-  async fetch({ commit }, payload) {
-    //有/一般都是路径
-    const res = await this.$axios.$get(`${api.car}/${payload}`);
-    return res;
-  },
-  //修改:id: 当前数据id, data: 当前修改数据的新form表单
-  async update({ commit }, { id, ...data }) {
-    const res = await this.$axios.$post(`${api.car}/update/${id}`, data);
-    return res;
-  },
-  //删除:payload:参数位,一般传当前数据id
-  async delete({ commit }, payload) {
-    const res = await this.$axios.$delete(`${api.car}/${payload}`);
-    return res;
-  },
-};
-
-export default {
-  namespaced: true,
-  state,
-  mutations,
-  actions,
-};

+ 0 - 4
src/store/index.js

@@ -3,8 +3,6 @@ import Vuex from 'vuex';
 import * as ustate from './user/state';
 import * as umutations from './user/mutations';
 import login from './login';
-import repair from './repair';
-import car from './car';
 
 Vue.use(Vuex);
 
@@ -14,7 +12,5 @@ export default new Vuex.Store({
   actions: {},
   modules: {
     login,
-    repair,
-    car,
   },
 });

+ 0 - 54
src/store/repair.js

@@ -1,54 +0,0 @@
-//第一步
-import Vue from 'vue';
-import Vuex from 'vuex';
-import _ from 'lodash';
-Vue.use(Vuex);
-const api = {
-  //接口地址
-  repair: `/api/servicetest/repair`,
-};
-const state = () => ({});
-const mutations = {};
-
-const actions = {
-  //查询列表 skip:第一页,limit:第一页显示的数据,info:其余查询参数
-  async query({ commit }, { skip = 0, limit, ...info } = {}) {
-    //连接接口。。。。
-    const res = await this.$axios.$get(`${api.repair}`, {
-      skip,
-      limit,
-      ...info,
-    });
-    //把数据集合res返回
-    return res;
-  },
-  //创建数据  payload是添加form表单中的数据集合  创建数据的时候需要拿到form表单里面的数据
-  async create({ commit }, payload) {
-    //通过$axios提交post请求????
-    const res = await this.$axios.$post(`${api.repair}`, payload);
-    return res;
-  },
-  //查询详情,payload:参数位,一般传当前数据id
-  async fetch({ commit }, payload) {
-    //有/一般都是路径
-    const res = await this.$axios.$get(`${api.repair}/${payload}`);
-    return res;
-  },
-  //修改:id: 当前数据id, data: 当前修改数据的新form表单
-  async update({ commit }, { id, ...data }) {
-    const res = await this.$axios.$post(`${api.repair}/update/${id}`, data);
-    return res;
-  },
-  //删除:payload:参数位,一般传当前数据id
-  async delete({ commit }, payload) {
-    const res = await this.$axios.$delete(`${api.repair}/${payload}`);
-    return res;
-  },
-};
-
-export default {
-  namespaced: true,
-  state,
-  mutations,
-  actions,
-};

+ 97 - 10
src/views/test/index.vue

@@ -3,36 +3,123 @@
     <el-row>
       <el-col :span="24" class="main">
         <breadcrumb :breadcrumbTitle="this.$route.meta.title"></breadcrumb>
-        <el-col :span="24" class="container">
-          测试菜单
+        <el-col :span="24" class="container info">
+          <el-col :span="24" class="top">
+            <el-button type="primary" size="mini" @click="dialog = true">添加</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>
         </el-col>
       </el-col>
     </el-row>
+    <el-dialog :visible.sync="dialog" title="增加菜单" @close="toClose" :destroy-on-close="true" width="50%">
+      <data-form :data="form" :fields="formFields" :rules="rules" @save="turnSave">
+        <template #custom="{item}">
+          <template v-if="item.model == 'icon'">
+            <el-radio-group v-model="form.icon">
+              <el-radio v-for="(item, index) in iconlist" :key="index" :label="item.iconkey"><i :class="item.iconkey"></i></el-radio>
+            </el-radio-group>
+          </template>
+        </template>
+      </data-form>
+    </el-dialog>
   </div>
 </template>
 
 <script>
+import { iconmenu } from '@/util/iconmenu';
 import breadcrumb from '@c/common/breadcrumb.vue';
+import dataTable from '@/components/frame/filter-page-table.vue';
+import dataForm from '@/components/frame/form.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
-import bus from '@/components/common/bus';
 export default {
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
   name: 'index',
   props: {},
   components: {
     breadcrumb,
+    dataTable,
+    dataForm,
   },
   data: function() {
-    return {};
+    return {
+      opera: [
+        {
+          label: '修改',
+          icon: 'el-icon-edit',
+          method: 'edit',
+        },
+        {
+          label: '删除',
+          icon: 'el-icon-delete',
+          method: 'delete',
+        },
+      ],
+      fields: [
+        { label: '菜单名称', prop: 'title' },
+        { label: '菜单地址', prop: 'index' },
+        { label: '菜单图标', prop: 'icon' },
+      ],
+      list: [],
+      total: 0,
+      // 增加菜单
+      dialog: false,
+      formFields: [
+        { label: '菜单名称', required: true, model: 'title' },
+        { label: '菜单地址', required: true, model: 'index' },
+        { label: '菜单图标', required: true, model: 'icon', custom: true },
+      ],
+      form: {},
+      rules: {
+        title: [{ required: true, message: '请输入菜单名称', trigger: 'blur' }],
+        index: [{ required: true, message: '请输入菜单地址', trigger: 'blur' }],
+        icon: [{ required: true, message: '请输入菜单图标', trigger: 'blur' }],
+      },
+      // 图标
+      iconlist: iconmenu,
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    // 查询列表
+    async search({ skip = 0, limit = 10, ...info } = {}) {},
+    // 修改
+    toEdit({ data }) {
+      console.log(data);
+    },
+    // 删除
+    toDelete({ data }) {
+      console.log(data);
+    },
+    // 增加菜单
+    // 保存
+    turnSave({ data }) {
+      console.log(data);
+    },
+    // 取消增加
+    toClose() {
+      this.form = {};
+      this.dialog = false;
+    },
   },
-  created() {},
-  methods: {},
   computed: {
     ...mapState(['user']),
   },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.main {
+  .info {
+    .top {
+      text-align: right;
+      margin: 15px 0;
+    }
+  }
+}
+</style>

+ 4 - 3
vue.config.js

@@ -1,8 +1,9 @@
 const path = require('path');
+const common = path.resolve(__dirname, '../common');
 module.exports = {
   publicPath: process.env.NODE_ENV === 'development' ? '/' : process.env.VUE_APP_ROUTER,
   // 打包文件
-  outputDir: 'study',
+  outputDir: 'livecms',
   configureWebpack: config => {
     Object.assign(config, {
       // 开发生产共同配置
@@ -11,17 +12,17 @@ module.exports = {
           '@': path.resolve(__dirname, './src'),
           '@c': path.resolve(__dirname, './src/components'),
           '@a': path.resolve(__dirname, './src/assets'),
+          '@common': common,
         },
       },
     });
   },
   devServer: {
-    port: '9002',
+    port: '8001',
     //api地址前缀
     proxy: {
       '/files': {
         target: 'http://free.liaoningdoupo.com',
-        // http://free.liaoningdoupo.com
       },
       '/api': {
         target: 'http://free.liaoningdoupo.com',