diff --git a/leave-school-vue/src/views/systemmanagement/user/index.vue b/leave-school-vue/src/views/systemmanagement/user/index.vue
new file mode 100644
index 0000000..c069707
--- /dev/null
+++ b/leave-school-vue/src/views/systemmanagement/user/index.vue
@@ -0,0 +1,228 @@
+<template>
+  <div class="app-container">
+    <div class="filter-container">
+      <el-select clearable class="filter-item" v-model="listQuery.zhlb" placeholder="账户类别">
+        <el-option v-for="item in pagedata.zhlbList" :key="item.value" :label="item.label" :value="item.value">
+        </el-option>
+      </el-select>
+      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="(工号/学号)或姓名" v-model="listQuery.ghxhxm">
+      </el-input>
+      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查询</el-button>
+      <el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate(null, 'create')" type="primary" icon="el-icon-edit">添加</el-button>
+      <el-button class="filter-item" style="margin-left: 10px;" @click="handleReset" type="primary" icon="el-icon-edit">重置</el-button>
+    </div>
+    <el-table :height="height" :data="items" v-loading="listLoading" element-loading-text="Loading" border fit highlight-current-row>
+      <el-table-column fixed align="center" label='序号' width="95">
+        <template slot-scope="scope">
+          {{scope.row.rownum}}
+        </template>
+      </el-table-column>
+      <el-table-column fixed label="工号/学号">
+        <template slot-scope="scope">
+          {{scope.row.ghxh}}
+        </template>
+      </el-table-column>
+      <el-table-column label="姓名" align="center">
+        <template slot-scope="scope">
+          <span>{{scope.row.xm}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="帐户类别" align="center">
+        <template slot-scope="scope">
+          {{scope.row.zhlb}}
+        </template>
+      </el-table-column>
+      <el-table-column label="性别" align="center">
+        <template slot-scope="scope">
+          {{scope.row.xb}}
+        </template>
+      </el-table-column>
+      <el-table-column label="状态" align="center">
+        <template slot-scope="scope">
+          {{scope.row.zt}}
+        </template>
+      </el-table-column>
+      <el-table-column label="邮箱" align="center">
+        <template slot-scope="scope">
+          {{scope.row.yx}}
+        </template>
+      </el-table-column>
+      <el-table-column label="学院/部门" align="center">
+        <template slot-scope="scope">
+          {{scope.row.xybm}}
+        </template>
+      </el-table-column>
+      <el-table-column label="工作单位" align="center">
+        <template slot-scope="scope">
+          {{scope.row.gzdw}}
+        </template>
+      </el-table-column>
+      <el-table-column label="手机" align="center">
+        <template slot-scope="scope">
+          {{scope.row.sj}}
+        </template>
+      </el-table-column>
+      <el-table-column label="微信" align="center">
+        <template slot-scope="scope">
+          {{scope.row.wx}}
+        </template>
+      </el-table-column>
+      <el-table-column label="QQ" align="center">
+        <template slot-scope="scope">
+          {{scope.row.qq}}
+        </template>
+      </el-table-column>
+      <el-table-column
+        fixed="right"
+        header-align="center"
+        align="center"
+        width="150"
+        label="操作">
+        <template slot-scope="scope">
+          <el-button type="text" size="small" @click="handleCreate(scope.row.id, 'update')">修改</el-button>
+          <el-button type="text" size="small" @click="handleDelete(scope.row.id)">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="pagination-container">
+      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.pageIndex" 
+      :page-sizes="[10,20,30, 50]" :page-size="listQuery.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="recordCount">
+      </el-pagination>
+    </div>
+    
+    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
+      <el-form :rules="rules" ref="dataForm" :model="temp" label-position="left" label-width="150px" style='width: 400px; margin-left:50px;'>
+        <el-form-item label="账号(工号/学号)" prop="ghxh">
+          <el-input v-model="temp.ghxh"></el-input>
+          <input type="hidden" v-model="temp.id" />
+        </el-form-item>
+        <el-form-item label="密码" prop="mm">
+          <el-input type="password" v-model="temp.mm"></el-input>
+        </el-form-item>
+        <el-form-item label="账户类别" prop="zhlb">
+          <el-select clearable class="filter-item" v-model="temp.zhlb" placeholder="账户类别">
+            <el-option v-for="item in pagedata.zhlbList" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="性别">
+          <el-radio-group v-model="temp.xb">
+            <el-radio v-for="item in pagedata.xbList" :label="item.value" :key="item.value" >{{item.label}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="状态">
+          <el-radio-group v-model="temp.zt">
+            <el-radio v-for="item in pagedata.ztList" :label="item.value" :key="item.value" >{{item.label}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="邮箱">
+          <el-input v-model="temp.yx"></el-input>
+        </el-form-item>
+        <el-form-item label="姓名" prop="xm">
+          <el-input v-model="temp.xm"></el-input>
+        </el-form-item>
+        <el-form-item label="部门">
+          <el-input v-model="temp.bm"></el-input>
+        </el-form-item>
+        <el-form-item label="职务">
+          <el-input v-model="temp.zw"></el-input>
+        </el-form-item>
+        <el-form-item label="电话">
+          <el-input v-model="temp.dh"></el-input>
+        </el-form-item>
+        <el-form-item label="传真">
+          <el-input v-model="temp.cz"></el-input>
+        </el-form-item>
+        <el-form-item label="手机">
+          <el-input v-model="temp.sj"></el-input>
+        </el-form-item>
+        <el-form-item label="QQ">
+          <el-input v-model="temp.qq"></el-input>
+        </el-form-item>
+        <el-form-item label="微信">
+          <el-input v-model="temp.wx"></el-input>
+        </el-form-item>
+        <el-form-item label="地址">
+          <el-input v-model="temp.dz"></el-input>
+        </el-form-item>
+        <el-form-item label="邮编">
+          <el-input v-model="temp.yb"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">返回</el-button>
+        <el-button type="primary" @click="createData">提交</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { getPage, getItem, createUser, deleteUser } from '@/api/user-api'
+import waves from '@/directive/waves' // 水波纹指令
+import { resetForm } from '@/utils'
+import { crudPageList, crudGetItem, crudCreate, crudDelete } from '@/utils/crud'
+import mixindata from '@/utils/crud'
+
+const initData = { xb: 'male', zt: 'on' }
+export default {
+  name: 'user',
+  directives: {
+    waves
+  },
+  mixins: [mixindata],
+  data() {
+    return {
+      rules: {
+        ghxh: [{ required: true, message: '账号(工号/学号)必填', trigger: 'blur' }],
+        mm: [{ required: true, message: '密码必填', trigger: 'blur' }],
+        zhlb: [{ required: true, message: '账户类别必填', trigger: 'change' }],
+        xm: [{ required: true, message: '姓名必填', trigger: 'change' }]
+      }
+    }
+  },
+  filters: {
+    statusFilter(status) {
+      const statusMap = {
+        '1': 'success',
+        '0': 'danger'
+      }
+      return statusMap[status]
+    }
+  },
+  created() {
+    this.handlePageList()
+    this.height = window.innerHeight - 216
+  },
+  methods: {
+    handlePageList() {
+      crudPageList(this, getPage)
+    },
+    handleCreate(rowid, dialogStatus) {
+      this.dialogStatus = dialogStatus
+      crudGetItem(this, getItem, rowid, initData)
+    },
+    handleReset() {
+      resetForm(this.listQuery)
+    },
+    handleFilter() {
+      this.listQuery.pageIndex = 1
+      this.handlePageList()
+    },
+    handleSizeChange(val) {
+      this.listQuery.pageSize = val
+      this.handlePageList()
+    },
+    handleCurrentChange(val) {
+      this.listQuery.pageIndex = val
+      this.handlePageList()
+    },
+    createData() {
+      crudCreate(this, createUser, this.handlePageList)
+    },
+    handleDelete(rowid) {
+      crudDelete(this, deleteUser, rowid, this.handlePageList)
+    }
+  }
+}
+</script>
