|
@@ -3,24 +3,25 @@
|
|
|
<el-row>
|
|
|
<el-col :span="24" class="main animate__animated animate__backInRight">
|
|
|
<el-col class="one">
|
|
|
- <el-button type="primary" size="mini" @click="toAdd()">添加用户</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col class="two">
|
|
|
- <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search" @view="toView" @edit="toEdit" @reset="toReset" @del="toDel">
|
|
|
+ <data-table @query="search" :fields="fields" :opera="opera" :data="list" :total="total" @view="toView" @edit="toEdit" @reset="toReset" @del="toDel">
|
|
|
+ <template #selfbtn>
|
|
|
+ <el-button type="primary" size="mini" @click="toAdd()">添加用户</el-button>
|
|
|
+ </template>
|
|
|
</data-table>
|
|
|
</el-col>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<e-dialog :dialog="dialog" @toClose="toClose">
|
|
|
<template slot="info">
|
|
|
- <detail-1 v-if="dialog.type == '1'" :form="form" @onSubmit="onSubmit"></detail-1>
|
|
|
- <info-1 :form="info" v-else></info-1>
|
|
|
+ <detail-1 v-if="dialog.type == '1'" :form="form" :typeList="typeList" @toSave="onSubmit"></detail-1>
|
|
|
+ <info-1 v-else-if="dialog.type == '2'" :form="form" :typeList="typeList"></info-1>
|
|
|
</template>
|
|
|
</e-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+const { type } = require('@common/src/layout/deploy/dict');
|
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
export default {
|
|
|
name: 'index',
|
|
@@ -33,20 +34,33 @@ export default {
|
|
|
return {
|
|
|
// 数据项
|
|
|
fields: [
|
|
|
- { label: '名称', prop: 'name' },
|
|
|
- { label: '电话', prop: 'phone' },
|
|
|
- { label: '邮箱', prop: 'email' },
|
|
|
+ {
|
|
|
+ label: '用户类别',
|
|
|
+ prop: 'type',
|
|
|
+ format: (item) => {
|
|
|
+ let data = this.typeList.find((i) => i.value == item);
|
|
|
+ if (data) return data.label;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ { label: '姓名', prop: 'name', filter: true },
|
|
|
+ { label: '电话', prop: 'phone', filter: true },
|
|
|
+ { label: '电子邮箱', prop: 'email' },
|
|
|
+ { label: '联系地址', prop: 'address' },
|
|
|
+ { label: '部门', prop: 'dept' },
|
|
|
+ { label: '职务', prop: 'zw' },
|
|
|
+ { label: '工作单位', prop: 'company' },
|
|
|
],
|
|
|
total: 0,
|
|
|
opera: [
|
|
|
- { label: '详细信息', method: 'view' },
|
|
|
- { label: '信息变更', method: 'edit' },
|
|
|
+ { label: '详情', method: 'view' },
|
|
|
+ { label: '修改', method: 'edit' },
|
|
|
{ label: '密码重置', method: 'reset', confirm: true },
|
|
|
- { label: '删除信息', method: 'del', type: 'danger', confirm: true },
|
|
|
+ { label: '删除', method: 'del', type: 'danger', confirm: true },
|
|
|
],
|
|
|
// 列表
|
|
|
list: [
|
|
|
{
|
|
|
+ type: '0',
|
|
|
id: '1111',
|
|
|
name: '法外狂徒张三',
|
|
|
phone: '12345678901',
|
|
@@ -59,40 +73,47 @@ export default {
|
|
|
],
|
|
|
// 弹框
|
|
|
dialog: { title: '信息管理', show: false, type: '1' },
|
|
|
- // 添加表单
|
|
|
+ // 表单
|
|
|
form: {},
|
|
|
- //详情
|
|
|
- info: {},
|
|
|
+ // 用户类别
|
|
|
+ typeList: type,
|
|
|
};
|
|
|
},
|
|
|
created() {},
|
|
|
methods: {
|
|
|
- search() {},
|
|
|
- // 添加
|
|
|
- toAdd() {
|
|
|
- this.dialog = { title: '信息管理', show: true, type: '1', widths: '40%' };
|
|
|
- },
|
|
|
- // 提交保存
|
|
|
- onSubmit(data) {
|
|
|
- this.toClose();
|
|
|
- },
|
|
|
+ search({ skip = 0, limit = 10, ...info } = {}) {},
|
|
|
// 详细信息
|
|
|
toView({ data }) {
|
|
|
- this.$set(this, `info`, data);
|
|
|
+ this.$set(this, `form`, data);
|
|
|
this.dialog = { title: '详细信息', show: true, type: '2', widths: '40%' };
|
|
|
},
|
|
|
- // 信息变更
|
|
|
+ // 添加
|
|
|
+ toAdd() {
|
|
|
+ this.dialog = { title: '信息管理', show: true, type: '1', widths: '40%' };
|
|
|
+ },
|
|
|
+ // 修改
|
|
|
toEdit({ data }) {
|
|
|
this.$set(this, `form`, data);
|
|
|
this.dialog = { title: '信息管理', show: true, type: '1', widths: '40%' };
|
|
|
},
|
|
|
+ // 提交保存
|
|
|
+ onSubmit({ data }) {
|
|
|
+ console.log(data);
|
|
|
+ // this.toClose();
|
|
|
+ },
|
|
|
// 密码重置
|
|
|
- toReset() {},
|
|
|
+ toReset({ data }) {
|
|
|
+ console.log(data);
|
|
|
+ },
|
|
|
// 删除信息
|
|
|
- toDel() {},
|
|
|
+ toDel({ data }) {
|
|
|
+ console.log(data);
|
|
|
+ },
|
|
|
// 关闭弹框
|
|
|
toClose() {
|
|
|
+ this.form = {};
|
|
|
this.dialog = { show: false };
|
|
|
+ this.search();
|
|
|
},
|
|
|
},
|
|
|
computed: {
|