Visual Studio Code 运用vue2简单信息系统管理页面,内容实现页面基本布局、axios异步加载、vue路由

1.main.js 导入所需要库

import Vue from 'vue'
import App from './App.vue'
import router from './router'

//引入Element组件
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);


Vue.config.productionTip = false


new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

2.在views文件夹下创建tlias文件夹,再在tlias文件夹里创建文件EmView.vue

<template>
  <div>
    <!-- 页面结构 -->
    <el-container style="height: 700px; border: 1px solid #eee">
      <el-header style="font-size: 40px">tlias智能学习辅助系统</el-header>
      <el-container>
        <el-aside width="230px" style="border: 1px solid #eee">
          <el-menu :default-openeds="['1', '3']">
            <el-submenu index="1">
              <template slot="title"
                ><i class="el-icon-message"></i>信息系统管理</template
              >
              <el-menu-item index="1-1">
                <router-link to="/dept">部门管理</router-link>
              </el-menu-item>
              <el-menu-item index="1-2">
                <router-link to="/em">员工管理</router-link>
              </el-menu-item>
            </el-submenu>
          </el-menu>
        </el-aside>
        <el-main>
          <!-- 添加一个FORM表单 -->
          <el-form :inline="true" :model="searchForm" class="demo-form-inline">
            <el-form-item label="姓名">
              <el-input v-model="searchForm.name" placeholder="姓名"></el-input>
            </el-form-item>
            <el-form-item label="性别">
              <el-select v-model="searchForm.gender" placeholder="性别">
                <el-option label="男" value="1"></el-option>
                <el-option label="女" value="2"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="入职日期">
              <el-date-picker
                v-model="searchForm.ertydate"
                type="daterange"
                range-separator="至"
                start-placeholder="开始日期"
                end-placeholder="结束日期"
              >
              </el-date-picker>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" @click="onSubmit">查询</el-button>
            </el-form-item>
          </el-form>

          <!-- table表格 -->
          <el-table :data="tableData" border>
            <el-table-column
              prop="name"
              label="姓名"
              width="180"
            ></el-table-column>
            <el-table-column label="图像" width="180">
              <template slot-scope="scope">
                <img :src="scope.row.image" width="100px" height="70px" />
              </template>
            </el-table-column>
            <el-table-column label="性别" width="140">
              <template slot-scope="scope">
                {{ scope.row.gender == 1 ? "男" : "女" }}
              </template>
            </el-table-column>
            <el-table-column
              prop="job"
              label="职位"
              width="140"
            ></el-table-column>
            <el-table-column
              prop="entrydate"
              label="入职日期"
              width="180"
            ></el-table-column>
            <el-table-column
              prop="updatetime"
              label="最后操作时间"
              width="230"
            ></el-table-column>
            <el-table-column label="操作">
              <el-button type="primary" size="mini">编辑</el-button>
              <el-button type="danger" size="mini">删除</el-button>
            </el-table-column>
          </el-table>

          <!-- 分页 -->
          <span class="demonstration">直接前往</span>
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page.sync="currentPage3"
            :page-size="100"
            layout="prev, pager, next, jumper"
            :total="1000"
          >
          </el-pagination>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>


<script>
import axios from "axios";

export default {
  data() {
    return {
      tableData: [],
      searchForm: {
        name: "",
        gender: "",
        ertydate: [],
      },
    };
  },
  methods: {
    onSubmit: function () {
      alert("查询数据");
    },
    handleSizeChange: function (url) {
      alert("查询" + url + "页数");
    },
    handleCurrentChange: function (url) {
      alert("查询" + url + "页");
    },
  },
  mounted() {
    //发送异步请求
    axios
      .get("http://yapi.smart-xwork.cn/mock/169327/emp/list")
      .then((result) => {
        this.tableData = result.data.data;
      });
  },
};
</script>

<style>
</style>

    3.在views文件夹里创建 element文件夹,再在element文件夹里创建 DeptView.vue   

<template>
  <div>
    <!-- 设置页面框架及内容 -->
    <!-- 1.设置标题 -->
    <el-container style="height: 700px; border: 1px solid #eee">
      <el-header style="font-size: 40px; background-color: rgb(238, 241, 246)"
        >tlias智能学习辅助系统</el-header
      >
      <!-- 2.设置侧边栏 -->
      <el-container>
        <el-aside width="200px">
          <el-menu :default-openeds="['1', '3']">
            <el-submenu index="1">
              <template slot="title"
                ><i class="el-icon-message"></i>系统信息管理</template>
              <el-menu-item-group>
                <el-menu-item index="1-1">
                  <router-link to="/dept">部门管理</router-link>
                </el-menu-item>
                <el-menu-item index="1-2">
                  <router-link to="/em">员工管理</router-link>
                </el-menu-item>
              </el-menu-item-group>
            </el-submenu>
          </el-menu>
        </el-aside>
        <el-main>
          <!-- 3.创建表单 -->
          <el-table :data="tableData">
            <el-table-column
              prop="name"
              label="姓名"
              width="180"
            ></el-table-column>

            <el-table-column
              prop="updatetime"
              label="最后操作时间"
              width="230"
            ></el-table-column>

            <el-table-column label="操作">
              <el-button type="primary" size="mini">编辑</el-button>
              <el-button type="danger" size="mini">删除</el-button>
            </el-table-column>
          </el-table>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>


<script>
import axios from "axios";

export default {
  data() {
    return {
      tableData: [],
    };
  },
  mounted() {
    //发送异步请求(数据来源)
    axios
      .get("http://yapi.smart-xwork.cn/mock/169327/emp/list")
      .then((result) => {
        this.tableData = result.data.data;
      });
  },
};
</script>

<style>
</style>

    4.在index.js文件里添加路由


import Vue from 'vue'
import VueRouter from 'vue-router'


Vue.use(VueRouter)
//返回指定路由
const routes = [
  {
    path: '/em',
    name: 'emp',
    component:() => import(/* webpackChunkName: "about" */ '../views/tlias/EmView.vue')
  },
  {
    path: '/dept',
    name: 'dept',
    
    component: () => import(/* webpackChunkName: "about" */ '../views/element/DeptView.vue')
  },
  {
    //重载页面
    path: '/',
    redirect: '/em'
  }
]

const router = new VueRouter({
  routes
})

export default router

最后,展示一下结果,员工系统

 部门系统

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
当然可以!下面是一个简单的基于Visual Studio CodeVue高级图书管理系统的示例代码: 首先,您需要安装Node.js和Vue CLI。然后,按照以下步骤进行操作: 1. 创建一个新的Vue项目: ``` vue create book-management-system ``` 2. 进入项目目录: ``` cd book-management-system ``` 3. 安装一些必要的依赖项: ``` npm install axios vue-router vuex ``` 4. 在项目根目录下创建一个新的文件夹`src/components`,用于存放组件文件。 5. 创建以下组件文件: - `src/components/Home.vue`:用于显示主页内容。 - `src/components/Books.vue`:用于显示图书列表。 - `src/components/BookDetails.vue`:用于显示图书详情。 6. 在`src/components`目录下创建一个名为`router.js`的文件,设置路由配置: ```javascript import Vue from 'vue' import VueRouter from 'vue-router' import Home from './Home.vue' import Books from './Books.vue' import BookDetails from './BookDetails.vue' Vue.use(VueRouter) const routes = [ { path: '/', component: Home }, { path: '/books', component: Books }, { path: '/books/:id', component: BookDetails } ] const router = new VueRouter({ routes }) export default router ``` 7. 在`src/components`目录下创建一个名为`store.js`的文件,设置Vuex状态管理: ```javascript import Vue from 'vue' import Vuex from 'vuex' import axios from 'axios' Vue.use(Vuex) const store = new Vuex.Store({ state: { books: [] }, mutations: { SET_BOOKS(state, books) { state.books = books } }, actions: { async fetchBooks({ commit }) { try { const response = await axios.get('https://api.example.com/books') // 替换为您的API地址 commit('SET_BOOKS', response.data) } catch (error) { console.error(error) } } } }) export default store ``` 8. 在`src/main.js`文件中添加以下代码: ```javascript import Vue from 'vue' import App from './App.vue' import router from './components/router' import store from './components/store' new Vue({ router, store, render: h => h(App) }).$mount('#app') ``` 9. 在`src/App.vue`文件中添加以下代码: ```vue <template> <div id="app"> <router-view></router-view> </div> </template> <script> export default { name: 'App' } </script> <style> #app { font-family: Avenir, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; } </style> ``` 10. 在`src/components/Home.vue`文件中添加以下代码: ```vue <template> <div> <h1>Welcome to the Book Management System</h1> </div> </template> <script> export default { name: 'Home' } </script> ``` 11. 在`src/components/Books.vue`文件中添加以下代码: ```vue <template> <div> <h2>Book List</h2> <ul> <li v-for="book in books" :key="book.id"> <router-link :to="'/books/' + book.id">{{ book.title }}</router-link> </li> </ul> </div> </template> <script> import { mapState, mapActions } from 'vuex' export default { name: 'Books', computed: { ...mapState(['books']) }, methods: { ...mapActions(['fetchBooks']) }, mounted() { this.fetchBooks() } } </script> ``` 12. 在`src/components/BookDetails.vue`文件中添加以下代码: ```vue <template> <div> <h2>Book Details</h2> <div v-if="book"> <h3>{{ book.title }}</h3> <p>Author: {{ book.author }}</p> <p>ISBN: {{ book.isbn }}</p> </div> <div v-else> <p>Loading...</p> </div> </div> </template> <script> import { mapState } from 'vuex' export default { name: 'BookDetails', computed: { ...mapState(['books']), book() { const bookId = this.$route.params.id return this.books.find(book => book.id === bookId) } } } </script> ``` 现在,您可以在Visual Studio Code中打开该项目,并使用Vue CLI提供的开发服务器运行它: ``` npm run serve ``` 这只是一个简单的示例,您可能需要根据您的实际需求进行进一步的开发和调整。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值