Commit 04147447 by honghong

Merge branch 'feature/v1/plb' of http://git.nyinhong.com/PeiZhen-Java/peizhen-vue into feature_lyj

parents 2014bb03 5e0efc57
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form
<el-form-item label="姓名" prop="name"> :model="queryParams"
<el-input ref="queryForm"
v-model="queryParams.name" size="small"
placeholder="请输入姓名" :inline="true"
clearable v-show="showSearch"
@keyup.enter.native="handleQuery" label-width="68px"
/> >
</el-form-item> <el-form-item label="姓名" prop="name">
<el-form-item label="所属医院" prop="hid"> <el-input
v-model="queryParams.name"
placeholder="请输入姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="所属医院" prop="hid">
<el-input <el-input
v-model="queryParams.hid" v-model="queryParams.hid"
placeholder="请输入所属医院" placeholder="请输入所属医院"
...@@ -40,25 +47,34 @@ ...@@ -40,25 +47,34 @@
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> type="primary"
</el-form-item> icon="el-icon-search"
</el-form> size="mini"
@click="handleQuery"
<el-row :gutter="10" class="mb8"> >搜索</el-button
<el-col :span="1.5"> >
<el-button <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
type="primary" >重置</el-button
plain >
icon="el-icon-plus" </el-form-item>
size="mini" </el-form>
@click="handleAdd"
v-hasPermi="['system:doctor:add']" <el-row :gutter="10" class="mb8">
>新增</el-button> <el-col :span="1.5">
</el-col> <el-button
<el-col :span="1.5"> type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:doctor:add']"
>新增</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button <el-button
type="success" type="success"
plain plain
...@@ -89,233 +105,310 @@ ...@@ -89,233 +105,310 @@
@click="handleExport" @click="handleExport"
v-hasPermi="['system:doctor:export']" v-hasPermi="['system:doctor:export']"
>导出</el-button> >导出</el-button>
</el-col> </el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar
</el-row> :showSearch.sync="showSearch"
@queryTable="getList"
<el-table v-loading="loading" :data="doctorList" @selection-change="handleSelectionChange"> ></right-toolbar>
<el-table-column type="selection" width="55" align="center" /> </el-row>
<el-table-column label="" align="center" prop="id" v-if="true"/>
<el-table-column label="姓名" align="center" prop="name" /> <el-table
<el-table-column label="所属医院" align="center" prop="hid" /> v-loading="loading"
<el-table-column label="所属科室" align="center" prop="did" /> :data="doctorList"
<el-table-column label="" align="center" prop="rank" /> @selection-change="handleSelectionChange"
<el-table-column label="" align="center" prop="degree" /> >
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column type="selection" width="55" align="center" />
<template slot-scope="scope"> <el-table-column label="ID" align="center" prop="id" />
<el-button <el-table-column label="姓名" align="center" prop="name" />
size="mini" <el-table-column label="所属医院" align="center" prop="hid" />
type="text" <el-table-column label="所属科室" align="center" prop="did" />
icon="el-icon-edit" <el-table-column label="职级" align="center" prop="rank" />
@click="handleUpdate(scope.row)" <el-table-column label="学位" align="center" prop="degree" />
v-hasPermi="['system:doctor:edit']" <el-table-column
>修改</el-button> label="操作"
<el-button align="center"
size="mini" class-name="small-padding fixed-width"
type="text" >
icon="el-icon-delete" <template slot-scope="scope">
@click="handleDelete(scope.row)" <el-button
v-hasPermi="['system:doctor:remove']" size="mini"
>删除</el-button> type="text"
</template> icon="el-icon-edit"
</el-table-column> @click="handleUpdate(scope.row)"
</el-table> v-hasPermi="['system:doctor:edit']"
>修改</el-button
<pagination >
v-show="total>0" <el-button
:total="total" size="mini"
:page.sync="queryParams.pageNum" type="text"
:limit.sync="queryParams.pageSize" icon="el-icon-delete"
@pagination="getList" @click="handleDelete(scope.row)"
/> v-hasPermi="['system:doctor:remove']"
>删除</el-button
<!-- 添加或修改医生对话框 --> >
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> </template>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> </el-table-column>
<el-form-item label="姓名" prop="name"> </el-table>
<el-input v-model="form.name" placeholder="请输入姓名" />
</el-form-item> <pagination
<el-form-item label="所属医院" prop="hid"> v-show="total > 0"
<el-input v-model="form.hid" placeholder="请输入所属医院" /> :total="total"
</el-form-item> :page.sync="queryParams.pageNum"
<el-form-item label="所属科室" prop="did"> :limit.sync="queryParams.pageSize"
<el-input v-model="form.did" placeholder="请输入所属科室" /> @pagination="getList"
</el-form-item> />
<el-form-item label="" prop="rank">
<el-input v-model="form.rank" placeholder="请输入" /> <!-- 添加或修改医生对话框 -->
</el-form-item> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form-item label="" prop="degree"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-input v-model="form.degree" placeholder="请输入" /> <el-form-item label="姓名" prop="name">
</el-form-item> <el-input v-model="form.name" placeholder="请输入姓名" />
</el-form> </el-form-item>
<div slot="footer" class="dialog-footer"> <el-form-item label="所属医院" prop="hid">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> <el-select
<el-button @click="cancel">取 消</el-button> v-model="form.hid"
</div> placeholder="请选择所属医院"
</el-dialog> clearable=""
</div> filterable
</template> >
<el-option
<script> v-for="item in []"
import { listDoctor, getDoctor, delDoctor, addDoctor, updateDoctor } from "@/api/hispotalManage/doctor"; :key="item.value"
:label="item.label"
export default { :value="item.value"
name: "Doctor", >
data() { </el-option>
return { </el-select>
// 按钮loading </el-form-item>
buttonLoading: false, <el-form-item label="所属科室" prop="did">
// 遮罩层 <treeselect
loading: true, v-model="form.did"
// 选中数组 :options="deptOptions"
ids: [], :show-count="true"
// 非单个禁用 placeholder="请选择所属科室"
single: true, searchable
// 非多个禁用 />
multiple: true, </el-form-item>
// 显示搜索条件 <el-form-item label="职级" prop="rank">
showSearch: true, <el-input v-model="form.rank" placeholder="请输入职级" />
// 总条数 </el-form-item>
total: 0, <el-form-item label="学位" prop="degree">
// 医生表格数据 <el-input v-model="form.degree" placeholder="请输入学位" />
doctorList: [], </el-form-item>
// 弹出层标题 </el-form>
title: "", <div slot="footer" class="dialog-footer">
// 是否显示弹出层 <el-button :loading="buttonLoading" type="primary" @click="submitForm"
open: false, >确 定</el-button
// 查询参数 >
queryParams: { <el-button @click="cancel">取 消</el-button>
pageNum: 1, </div>
pageSize: 10, </el-dialog>
name: undefined, </div>
hid: undefined, </template>
did: undefined,
rank: undefined, <script>
degree: undefined, import {
}, listDoctor,
// 表单参数 getDoctor,
form: {}, delDoctor,
// 表单校验 addDoctor,
rules: { updateDoctor,
} from "@/api/hispotalManage/doctor";
import { listDepartment } from "@/api/hispotalManage/office";
import { deptTreeSelect } from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Doctor",
components: { Treeselect },
data() {
return {
// 部门树选项
deptOptions: undefined,
// 按钮loading
buttonLoading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 医生表格数据
doctorList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
name: undefined,
// hid: undefined,
// did: undefined,
// rank: undefined,
// degree: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {},
};
},
created() {
this.getList();
this.getDeptTree();
},
methods: {
/** 查询部门下拉树结构 */
getDeptTree() {
listDepartment().then((response) => {
this.deptOptions = response.data;
this.deptOptions = this.treeChange(this.deptOptions);
});
},
treeChange(arr) {
return arr.map((item) => {
if (item.children && item.children.length > 0) {
this.treeChange(item.children);
} else {
delete item.children;
} }
return item;
});
},
/** 查询医生列表 */
getList() {
this.loading = true;
listDoctor(this.queryParams).then((response) => {
this.doctorList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
name: undefined,
hid: undefined,
did: undefined,
rank: undefined,
degree: undefined,
createBy: undefined,
createTime: undefined,
updateBy: undefined,
updateTime: undefined,
delFlag: undefined,
}; };
this.resetForm("form");
}, },
created() { /** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList(); this.getList();
}, },
methods: { /** 重置按钮操作 */
/** 查询医生列表 */ resetQuery() {
getList() { this.resetForm("queryForm");
this.loading = true; this.handleQuery();
listDoctor(this.queryParams).then(response => { },
this.doctorList = response.rows; // 多选框选中数据
this.total = response.total; handleSelectionChange(selection) {
this.loading = false; this.ids = selection.map((item) => item.id);
}); this.single = selection.length !== 1;
}, this.multiple = !selection.length;
// 取消按钮 },
cancel() { /** 新增按钮操作 */
this.open = false; handleAdd() {
this.reset(); this.reset();
}, this.open = true;
// 表单重置 this.title = "添加医生";
reset() { this.getDeptTree();
this.form = { },
id: undefined, /** 修改按钮操作 */
name: undefined, handleUpdate(row) {
hid: undefined, this.loading = true;
did: undefined, this.reset();
rank: undefined, const id = row.id || this.ids;
degree: undefined, this.getDeptTree();
createBy: undefined, getDoctor(id).then((response) => {
createTime: undefined, this.loading = false;
updateBy: undefined, this.form = response.data;
updateTime: undefined,
delFlag: undefined
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true; this.open = true;
this.title = "添加医生"; this.title = "修改医生";
}, });
/** 修改按钮操作 */ },
handleUpdate(row) { /** 提交按钮 */
this.loading = true; submitForm() {
this.reset(); this.$refs["form"].validate((valid) => {
const id = row.id || this.ids if (valid) {
getDoctor(id).then(response => { this.buttonLoading = true;
this.loading = false; if (this.form.id != null) {
this.form = response.data; updateDoctor(this.form)
this.open = true; .then((response) => {
this.title = "修改医生";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
if (this.form.id != null) {
updateDoctor(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}).finally(() => { })
.finally(() => {
this.buttonLoading = false; this.buttonLoading = false;
}); });
} else { } else {
addDoctor(this.form).then(response => { addDoctor(this.form)
.then((response) => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}).finally(() => { })
.finally(() => {
this.buttonLoading = false; this.buttonLoading = false;
}); });
}
} }
}); }
}, });
/** 删除按钮操作 */ },
handleDelete(row) { /** 删除按钮操作 */
const ids = row.id || this.ids; handleDelete(row) {
this.$modal.confirm('是否确认删除医生编号为"' + ids + '"的数据项?').then(() => { const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除医生编号为"' + ids + '"的数据项?')
.then(() => {
this.loading = true; this.loading = true;
return delDoctor(ids); return delDoctor(ids);
}).then(() => { })
.then(() => {
this.loading = false; this.loading = false;
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => { })
}).finally(() => { .catch(() => {})
.finally(() => {
this.loading = false; this.loading = false;
}); });
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/doctor/export', { this.download(
...this.queryParams "system/doctor/export",
}, `doctor_${new Date().getTime()}.xlsx`) {
} ...this.queryParams,
} },
}; `doctor_${new Date().getTime()}.xlsx`
</script> );
},
\ No newline at end of file },
};
</script>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form
<el-form-item label="城市" prop="cityId"> :model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<!-- <el-form-item label="城市" prop="cityId">
<el-input <el-input
v-model="queryParams.cityId" v-model="queryParams.cityId"
placeholder="请输入城市" placeholder="请输入城市"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item label="医院名称" prop="name"> <el-form-item label="医院名称" prop="name">
<el-input <el-input
v-model="queryParams.name" v-model="queryParams.name"
placeholder="请输入医院名称" placeholder="请输入医院名称"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="医院logo" prop="logo"> <!-- <el-form-item label="医院logo" prop="logo">
<el-input <el-input
v-model="queryParams.logo" v-model="queryParams.logo"
placeholder="请输入医院logo" placeholder="请输入医院logo"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item label="医院等级,0-未定义,具体查看model中定义" prop="level"> <!-- <el-form-item label="医院等级,0-未定义,具体查看model中定义" prop="level">
<el-input <el-input
v-model="queryParams.level" v-model="queryParams.level"
placeholder="请输入医院等级,0-未定义,具体查看model中定义" placeholder="请输入医院等级,0-未定义,具体查看model中定义"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item label="经度" prop="lng"> <!-- <el-form-item label="经度" prop="lng">
<el-input <el-input
v-model="queryParams.lng" v-model="queryParams.lng"
placeholder="请输入经度" placeholder="请输入经度"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item label="纬度" prop="lat"> <!-- <el-form-item label="纬度" prop="lat">
<el-input <el-input
v-model="queryParams.lat" v-model="queryParams.lat"
placeholder="请输入纬度" placeholder="请输入纬度"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item label="医院类别" prop="category"> <!-- <el-form-item label="医院类别" prop="category">
<el-input <el-input
v-model="queryParams.category" v-model="queryParams.category"
placeholder="请输入医院类别" placeholder="请输入医院类别"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item label="医院介绍" prop="introduce"> <!-- <el-form-item label="医院介绍" prop="introduce">
<el-input <el-input
v-model="queryParams.introduce" v-model="queryParams.introduce"
placeholder="请输入医院介绍" placeholder="请输入医院介绍"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item label="科室" prop="departments"> <!-- <el-form-item label="科室" prop="departments">
<el-input <el-input
v-model="queryParams.departments" v-model="queryParams.departments"
placeholder="请输入科室" placeholder="请输入科室"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> type="primary"
</el-form-item> icon="el-icon-search"
</el-form> size="mini"
@click="handleQuery"
<el-row :gutter="10" class="mb8"> >搜索</el-button
<el-col :span="1.5"> >
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:hospital:add']"
>新增</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:hospital:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:hospital:remove']"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:hospital:export']"
>导出</el-button
>
</el-col> -->
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="hospitalList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="医院名称" align="center" prop="name" />
<el-table-column label="Logo" align="center" prop="logo" />
<el-table-column label="等级" align="center" prop="level" />
<el-table-column label="类别" align="center" prop="lng" />
<el-table-column label="城市" align="center" prop="cityId" />
<el-table-column label="介绍" align="center" prop="cityId" />
<el-table-column label="科室" align="center" prop="departments" />
<el-table-column label="状态" align="center" prop="status" />
<!-- <el-table-column label="经度" align="center" prop="lng" />
<el-table-column label="纬度" align="center" prop="lat" />
<el-table-column label="医院类别" align="center" prop="category" />
<el-table-column label="医院介绍" align="center" prop="introduce" /> -->
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button <el-button
type="primary"
plain
icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" type="text"
v-hasPermi="['system:hospital:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit" icon="el-icon-edit"
size="mini" @click="handleUpdate(scope.row)"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:hospital:edit']" v-hasPermi="['system:hospital:edit']"
>修改</el-button> >修改</el-button
</el-col> >
<el-col :span="1.5">
<el-button <el-button
type="danger"
plain
icon="el-icon-delete"
size="mini" size="mini"
:disabled="multiple" type="text"
@click="handleDelete" icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:hospital:remove']" v-hasPermi="['system:hospital:remove']"
>删除</el-button> >删除</el-button
</el-col> >
<el-col :span="1.5"> </template>
<el-button </el-table-column>
type="warning" </el-table>
plain
icon="el-icon-download" <pagination
size="mini" v-show="total > 0"
@click="handleExport" :total="total"
v-hasPermi="['system:hospital:export']" :page.sync="queryParams.pageNum"
>导出</el-button> :limit.sync="queryParams.pageSize"
</el-col> @pagination="getList"
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> />
</el-row>
<!-- 添加或修改医院对话框 -->
<el-table v-loading="loading" :data="hospitalList" @selection-change="handleSelectionChange"> <el-dialog :title="title" :visible.sync="open" width="80%" append-to-body>
<el-table-column type="selection" width="55" align="center" /> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-table-column label="" align="center" prop="id" v-if="true"/> <el-form-item label="医院名称" prop="name">
<el-table-column label="城市" align="center" prop="cityId" /> <el-input v-model="form.name" placeholder="请输入医院名称" />
<el-table-column label="医院名称" align="center" prop="name" /> </el-form-item>
<el-table-column label="医院logo" align="center" prop="logo" /> <el-form-item label="Logo" prop="logo">
<el-table-column label="医院等级,0-未定义,具体查看model中定义" align="center" prop="level" /> <imageUpload v-model="form.logo" />
<el-table-column label="经度" align="center" prop="lng" /> </el-form-item>
<el-table-column label="纬度" align="center" prop="lat" /> <el-form-item label="等级" prop="level">
<el-table-column label="医院类别" align="center" prop="category" /> <el-select
<el-table-column label="医院介绍" align="center" prop="introduce" /> v-model="form.level"
<el-table-column label="科室" align="center" prop="departments" /> placeholder="请选择等级"
<el-table-column label="状态:0-禁用,1-启用" align="center" prop="status" /> clearable=""
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> >
<template slot-scope="scope"> <el-option
<el-button v-for="item in []"
size="mini" :key="item.value"
type="text" :label="item.label"
icon="el-icon-edit" :value="item.value"
@click="handleUpdate(scope.row)" >
v-hasPermi="['system:hospital:edit']" </el-option>
>修改</el-button> </el-select>
<el-button </el-form-item>
size="mini" <el-form-item label="城市" prop="cityId">
type="text" <el-select
icon="el-icon-delete" v-model="form.cityId"
@click="handleDelete(scope.row)" placeholder="请选择城市"
v-hasPermi="['system:hospital:remove']" clearable=""
>删除</el-button> filterable
</template> >
</el-table-column> <el-option
</el-table> v-for="item in []"
:key="item.value"
<pagination :label="item.label"
v-show="total>0" :value="item.value"
:total="total" >
:page.sync="queryParams.pageNum" </el-option>
:limit.sync="queryParams.pageSize" </el-select>
@pagination="getList" </el-form-item>
/> <el-form-item label="经度" prop="lng">
<el-input v-model="form.lng" placeholder="请输入经度" />
<!-- 添加或修改医院对话框 --> </el-form-item>
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-form-item label="纬度" prop="lat">
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-input v-model="form.lat" placeholder="请输入纬度" />
<el-form-item label="城市" prop="cityId"> </el-form-item>
<el-input v-model="form.cityId" placeholder="请输入城市" /> <el-form-item label="类别" prop="category">
</el-form-item> <el-select
<el-form-item label="医院名称" prop="name"> v-model="form.category"
<el-input v-model="form.name" placeholder="请输入医院名称" /> placeholder="请选择类别"
</el-form-item> clearable=""
<el-form-item label="医院logo" prop="logo"> >
<el-input v-model="form.logo" type="textarea" placeholder="请输入内容" /> <el-option
</el-form-item> v-for="item in []"
<el-form-item label="医院等级,0-未定义,具体查看model中定义" prop="level"> :key="item.value"
<el-input v-model="form.level" placeholder="请输入医院等级,0-未定义,具体查看model中定义" /> :label="item.label"
</el-form-item> :value="item.value"
<el-form-item label="经度" prop="lng"> >
<el-input v-model="form.lng" placeholder="请输入经度" /> </el-option>
</el-form-item> </el-select>
<el-form-item label="纬度" prop="lat"> </el-form-item>
<el-input v-model="form.lat" placeholder="请输入纬度" /> <el-form-item label="介绍" prop="introduce">
</el-form-item> <editor v-model="form.introduce" :min-height="192" />
<el-form-item label="医院类别" prop="category"> </el-form-item>
<el-input v-model="form.category" placeholder="请输入医院类别" /> <el-form-item label="科室" prop="departments">
</el-form-item> <treeselect
<el-form-item label="医院介绍" prop="introduce"> v-model="form.departments"
<el-input v-model="form.introduce" type="textarea" placeholder="请输入内容" /> :options="deptOptions"
</el-form-item> :show-count="true"
<el-form-item label="科室" prop="departments"> placeholder="请选择科室"
<el-input v-model="form.departments" type="textarea" placeholder="请输入内容" /> searchable
</el-form-item> />
</el-form> </el-form-item>
<div slot="footer" class="dialog-footer"> <el-form-item label="状态" prop="departments">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> <el-radio v-model="form.departments" label="1">禁用</el-radio>
<el-button @click="cancel">取 消</el-button> <el-radio v-model="form.departments" label="2">启用</el-radio>
</div> </el-form-item>
</el-dialog> </el-form>
</div> <div slot="footer" class="dialog-footer">
</template> <el-button :loading="buttonLoading" type="primary" @click="submitForm"
>确 定</el-button
<script> >
import { listHospital, getHospital, delHospital, addHospital, updateHospital } from "@/api/hispotalManage/hospital"; <el-button @click="cancel">取 消</el-button>
</div>
export default { </el-dialog>
name: "Hospital", </div>
data() { </template>
return {
// 按钮loading <script>
buttonLoading: false, import {
// 遮罩层 listHospital,
loading: true, getHospital,
// 选中数组 delHospital,
ids: [], addHospital,
// 非单个禁用 updateHospital,
single: true, } from "@/api/hispotalManage/hospital";
// 非多个禁用 import { listDepartment } from "@/api/hispotalManage/office";
multiple: true, import { deptTreeSelect } from "@/api/system/user";
// 显示搜索条件 import Treeselect from "@riophae/vue-treeselect";
showSearch: true, import "@riophae/vue-treeselect/dist/vue-treeselect.css";
// 总条数
total: 0, export default {
// 医院表格数据 name: "Hospital",
hospitalList: [], components: { Treeselect },
// 弹出层标题 data() {
title: "", return {
// 是否显示弹出层 // 部门树选项
open: false, deptOptions: undefined,
// 查询参数 // 按钮loading
queryParams: { buttonLoading: false,
pageNum: 1, // 遮罩层
pageSize: 10, loading: true,
cityId: undefined, // 选中数组
name: undefined, ids: [],
logo: undefined, // 非单个禁用
level: undefined, single: true,
lng: undefined, // 非多个禁用
lat: undefined, multiple: true,
category: undefined, // 显示搜索条件
introduce: undefined, showSearch: true,
departments: undefined, // 总条数
status: undefined, total: 0,
}, // 医院表格数据
// 表单参数 hospitalList: [],
form: {}, // 弹出层标题
// 表单校验 title: "",
rules: { // 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
// cityId: undefined,
name: undefined,
// logo: undefined,
// level: undefined,
// lng: undefined,
// lat: undefined,
// category: undefined,
// introduce: undefined,
// departments: undefined,
// status: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {},
};
},
created() {
this.getList();
this.getDeptTree();
},
methods: {
/** 查询部门下拉树结构 */
getDeptTree() {
listDepartment().then((response) => {
this.deptOptions = response.data;
this.deptOptions = this.treeChange(this.deptOptions);
});
},
treeChange(arr) {
return arr.map((item) => {
if (item.children && item.children.length > 0) {
this.treeChange(item.children);
} else {
delete item.children;
} }
return item;
});
},
/** 查询医院列表 */
getList() {
this.loading = true;
listHospital(this.queryParams).then((response) => {
this.hospitalList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
cityId: undefined,
name: undefined,
logo: undefined,
level: undefined,
lng: undefined,
lat: undefined,
category: undefined,
introduce: undefined,
departments: undefined,
status: undefined,
createBy: undefined,
createTime: undefined,
updateBy: undefined,
updateTime: undefined,
delFlag: undefined,
}; };
this.resetForm("form");
}, },
created() { /** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList(); this.getList();
}, },
methods: { /** 重置按钮操作 */
/** 查询医院列表 */ resetQuery() {
getList() { this.resetForm("queryForm");
this.loading = true; this.handleQuery();
listHospital(this.queryParams).then(response => { },
this.hospitalList = response.rows; // 多选框选中数据
this.total = response.total; handleSelectionChange(selection) {
this.loading = false; this.ids = selection.map((item) => item.id);
}); this.single = selection.length !== 1;
}, this.multiple = !selection.length;
// 取消按钮 },
cancel() { /** 新增按钮操作 */
this.open = false; handleAdd() {
this.reset(); this.reset();
}, this.open = true;
// 表单重置 this.title = "添加医院";
reset() { },
this.form = { /** 修改按钮操作 */
id: undefined, handleUpdate(row) {
cityId: undefined, this.loading = true;
name: undefined, this.reset();
logo: undefined, const id = row.id || this.ids;
level: undefined, getHospital(id).then((response) => {
lng: undefined, this.loading = false;
lat: undefined, this.form = response.data;
category: undefined,
introduce: undefined,
departments: undefined,
status: undefined,
createBy: undefined,
createTime: undefined,
updateBy: undefined,
updateTime: undefined,
delFlag: undefined
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true; this.open = true;
this.title = "添加医院"; this.title = "修改医院";
}, });
/** 修改按钮操作 */ },
handleUpdate(row) { /** 提交按钮 */
this.loading = true; submitForm() {
this.reset(); this.$refs["form"].validate((valid) => {
const id = row.id || this.ids if (valid) {
getHospital(id).then(response => { this.buttonLoading = true;
this.loading = false; if (this.form.id != null) {
this.form = response.data; updateHospital(this.form)
this.open = true; .then((response) => {
this.title = "修改医院";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
if (this.form.id != null) {
updateHospital(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}).finally(() => { })
.finally(() => {
this.buttonLoading = false; this.buttonLoading = false;
}); });
} else { } else {
addHospital(this.form).then(response => { addHospital(this.form)
.then((response) => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}).finally(() => { })
.finally(() => {
this.buttonLoading = false; this.buttonLoading = false;
}); });
}
} }
}); }
}, });
/** 删除按钮操作 */ },
handleDelete(row) { /** 删除按钮操作 */
const ids = row.id || this.ids; handleDelete(row) {
this.$modal.confirm('是否确认删除医院编号为"' + ids + '"的数据项?').then(() => { const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除医院编号为"' + ids + '"的数据项?')
.then(() => {
this.loading = true; this.loading = true;
return delHospital(ids); return delHospital(ids);
}).then(() => { })
.then(() => {
this.loading = false; this.loading = false;
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => { })
}).finally(() => { .catch(() => {})
.finally(() => {
this.loading = false; this.loading = false;
}); });
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/hospital/export', { this.download(
...this.queryParams "system/hospital/export",
}, `hospital_${new Date().getTime()}.xlsx`) {
} ...this.queryParams,
} },
}; `hospital_${new Date().getTime()}.xlsx`
</script> );
},
\ No newline at end of file },
};
</script>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="上级科室" prop="parentId"> <el-form-item label="上级科室" prop="parentId">
<el-input <el-input
v-model="queryParams.parentId" v-model="queryParams.parentId"
...@@ -29,20 +29,31 @@ ...@@ -29,20 +29,31 @@
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form> -->
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="primary" type="primary"
plain plain
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['system:department:add']" v-hasPermi="['system:department:add']"
>新增</el-button> >新增</el-button
</el-col> >
<el-col :span="1.5"> </el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-sort"
size="mini"
@click="toggleExpandAll"
>展开/折叠</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button <el-button
type="success" type="success"
plain plain
...@@ -73,221 +84,320 @@ ...@@ -73,221 +84,320 @@
@click="handleExport" @click="handleExport"
v-hasPermi="['system:department:export']" v-hasPermi="['system:department:export']"
>导出</el-button> >导出</el-button>
</el-col> </el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar
</el-row> :showSearch.sync="showSearch"
@queryTable="getList"
<el-table v-loading="loading" :data="departmentList" @selection-change="handleSelectionChange"> ></right-toolbar>
<el-table-column type="selection" width="55" align="center" /> </el-row>
<el-table-column label="" align="center" prop="id" v-if="true"/>
<el-table-column label="上级科室" align="center" prop="parentId" /> <el-tree
<el-table-column label="排序" align="center" prop="order" /> :data="departmentList"
<el-table-column label="名称" align="center" prop="title" /> node-key="id"
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> :expand-on-click-node="false"
<template slot-scope="scope"> :default-expand-all="isExpandAll"
v-if="refreshTable"
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<div style="display: flex; justify-content: space-between; width: 45vw">
<span>{{ node.label }}</span>
<span style="margin-left: 20px">
<el-button <el-button
size="mini"
type="text" type="text"
size="mini"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="() => handleUpdate(node, data)"
v-hasPermi="['system:department:edit']" >
>修改</el-button> 修改
</el-button>
<el-button <el-button
size="mini"
type="text" type="text"
size="mini"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="() => handleDelete(node, data)"
v-hasPermi="['system:department:remove']" >
>删除</el-button> 删除
</template> </el-button>
</el-table-column> </span>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改科室对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="上级科室" prop="parentId">
<el-input v-model="form.parentId" placeholder="请输入上级科室" />
</el-form-item>
<el-form-item label="排序" prop="order">
<el-input v-model="form.order" placeholder="请输入排序" />
</el-form-item>
<el-form-item label="名称" prop="title">
<el-input v-model="form.title" placeholder="请输入名称" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </span>
</div> </el-tree>
</template>
<!-- <el-table
<script> v-if="refreshTable"
import { listDepartment, getDepartment, delDepartment, addDepartment, updateDepartment } from "@/api/hispotalManage/office"; v-loading="loading"
:data="departmentList"
export default { row-key="menuId"
name: "Department", :default-expand-all="isExpandAll"
data() { :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
return { >
// 按钮loading <el-table-column label="科室" width="55" align="center" />
buttonLoading: false, <el-table-column type="selection" width="55" align="center" />
// 遮罩层 <el-table-column label="" align="center" prop="id" v-if="true" />
loading: true, <el-table-column label="上级科室" align="center" prop="parentId" />
// 选中数组 <el-table-column label="排序" align="center" prop="order" />
ids: [], <el-table-column label="名称" align="center" prop="title" />
// 非单个禁用 <el-table-column
single: true, label="操作"
// 非多个禁用 align="center"
multiple: true, class-name="small-padding fixed-width"
// 显示搜索条件 >
showSearch: true, <template slot-scope="scope">
// 总条数 <el-button
total: 0, size="mini"
// 科室表格数据 type="text"
departmentList: [], icon="el-icon-edit"
// 弹出层标题 @click="handleUpdate(scope.row)"
title: "", v-hasPermi="['system:department:edit']"
// 是否显示弹出层 >修改</el-button
open: false, >
// 查询参数 <el-button
queryParams: { size="mini"
pageNum: 1, type="text"
pageSize: 10, icon="el-icon-delete"
parentId: undefined, @click="handleDelete(scope.row)"
order: undefined, v-hasPermi="['system:department:remove']"
title: undefined, >删除</el-button
}, >
// 表单参数 </template>
form: {}, </el-table-column>
// 表单校验 </el-table> -->
rules: {
<!-- <pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/> -->
<!-- 添加或修改科室对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="上级科室" prop="parentId">
<el-input v-model="form.parentId" placeholder="请输入上级科室" />
</el-form-item>
<el-form-item label="名称" prop="title">
<el-input v-model="form.title" placeholder="请输入名称" />
</el-form-item>
<el-form-item label="排序" prop="order">
<el-input-number
v-model="form.order"
:min="0"
:precision="0"
label="请输入排序"
></el-input-number>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listDepartment,
getDepartment,
delDepartment,
addDepartment,
updateDepartment,
} from "@/api/hispotalManage/office";
export default {
name: "Department",
data() {
return {
// 是否展开,默认全部折叠
isExpandAll: false,
// 重新渲染表格状态
refreshTable: true,
// 按钮loading
buttonLoading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 科室表格数据
departmentList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
// pageNum: 1,
// pageSize: 10,
// parentId: undefined,
// order: undefined,
// title: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {},
};
},
created() {
this.getList();
},
methods: {
/** 展开/折叠操作 */
toggleExpandAll() {
this.refreshTable = false;
this.isExpandAll = !this.isExpandAll;
this.$nextTick(() => {
this.refreshTable = true;
});
},
/** 查询科室列表 */
getList() {
this.loading = true;
listDepartment(this.queryParams).then((response) => {
// this.departmentList = response.rows;
// this.total = response.total;
// this.loading = false;
this.departmentList = response.data;
this.total = response.total;
this.loading = false;
this.refreshTable = true;
this.deptOptions = this.treeChange(this.deptOptions);
});
},
treeChange(arr) {
return arr.map((item) => {
if (item.children && item.children.length > 0) {
this.treeChange(item.children);
} else {
delete item.children;
} }
return item;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
parentId: undefined,
order: undefined,
title: undefined,
createBy: undefined,
createTime: undefined,
updateBy: undefined,
updateTime: undefined,
delFlag: undefined,
}; };
this.resetForm("form");
}, },
created() { /** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList(); this.getList();
}, },
methods: { /** 重置按钮操作 */
/** 查询科室列表 */ resetQuery() {
getList() { this.resetForm("queryForm");
this.loading = true; this.handleQuery();
listDepartment(this.queryParams).then(response => { },
this.departmentList = response.rows; // 多选框选中数据
this.total = response.total; handleSelectionChange(selection) {
this.loading = false; this.ids = selection.map((item) => item.id);
}); this.single = selection.length !== 1;
}, this.multiple = !selection.length;
// 取消按钮 },
cancel() { /** 新增按钮操作 */
this.open = false; handleAdd() {
this.reset(); this.reset();
}, this.open = true;
// 表单重置 this.title = "添加科室";
reset() { },
this.form = { /** 修改按钮操作 */
id: undefined, handleUpdate(node, row) {
parentId: undefined, this.loading = true;
order: undefined, this.reset();
title: undefined, const id = row.id || this.ids;
createBy: undefined, getDepartment(id).then((response) => {
createTime: undefined, this.loading = false;
updateBy: undefined, this.form = response.data;
updateTime: undefined,
delFlag: undefined
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true; this.open = true;
this.title = "添加科室"; this.title = "修改科室";
}, });
/** 修改按钮操作 */ },
handleUpdate(row) { /** 提交按钮 */
this.loading = true; submitForm() {
this.reset(); this.$refs["form"].validate((valid) => {
const id = row.id || this.ids if (valid) {
getDepartment(id).then(response => { this.buttonLoading = true;
this.loading = false; if (this.form.id != null) {
this.form = response.data; updateDepartment(this.form)
this.open = true; .then((response) => {
this.title = "修改科室";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
if (this.form.id != null) {
updateDepartment(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}).finally(() => { })
.finally(() => {
this.buttonLoading = false; this.buttonLoading = false;
}); });
} else { } else {
addDepartment(this.form).then(response => { addDepartment(this.form)
.then((response) => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}).finally(() => { })
.finally(() => {
this.buttonLoading = false; this.buttonLoading = false;
}); });
}
} }
}); }
}, });
/** 删除按钮操作 */ },
handleDelete(row) { /** 删除按钮操作 */
const ids = row.id || this.ids; handleDelete(node, row) {
this.$modal.confirm('是否确认删除科室编号为"' + ids + '"的数据项?').then(() => { const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除科室编号为"' + ids + '"的数据项?')
.then(() => {
this.loading = true; this.loading = true;
return delDepartment(ids); return delDepartment(ids);
}).then(() => { })
.then(() => {
this.loading = false; this.loading = false;
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => { })
}).finally(() => { .catch(() => {})
.finally(() => {
this.loading = false; this.loading = false;
}); });
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/department/export', { this.download(
...this.queryParams "system/department/export",
}, `department_${new Date().getTime()}.xlsx`) {
} ...this.queryParams,
} },
}; `department_${new Date().getTime()}.xlsx`
</script> );
},
\ No newline at end of file },
};
</script>
...@@ -105,7 +105,8 @@ ...@@ -105,7 +105,8 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['system:user:add']" v-hasPermi="['system:user:add']"
>新增</el-button> >新增</el-button
>
</el-col> </el-col>
<!-- <el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
...@@ -284,8 +285,8 @@ ...@@ -284,8 +285,8 @@
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="24">
<el-form-item label="用户昵称" prop="nickName"> <el-form-item label="用户" prop="nickName">
<el-input <el-input
v-model="form.nickName" v-model="form.nickName"
placeholder="请输入用户昵称" placeholder="请输入用户昵称"
...@@ -293,7 +294,16 @@ ...@@ -293,7 +294,16 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="24">
<el-form-item label="名称" prop="userName">
<el-input
v-model="form.userName"
placeholder="请输入名称"
maxlength="30"
/>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="归属部门" prop="deptId"> <el-form-item label="归属部门" prop="deptId">
<treeselect <treeselect
v-model="form.deptId" v-model="form.deptId"
...@@ -302,10 +312,62 @@ ...@@ -302,10 +312,62 @@
placeholder="请选择归属部门" placeholder="请选择归属部门"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col> -->
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="24">
<el-form-item label="密码" prop="password">
<el-input
v-model="form.password"
placeholder="请输入密码"
type="password"
maxlength="20"
show-password
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="确认密码" prop="password">
<el-input
v-model="form.password"
placeholder="请输入确认密码"
type="password"
maxlength="20"
show-password
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="角色">
<el-select
v-model="form.roleIds"
multiple
placeholder="请选择角色"
>
<el-option
v-for="item in roleOptions"
:key="item.roleId"
:label="item.roleName"
:value="item.roleId"
:disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item>
</el-col>
<template v-if="title === '修改'">
<el-col :span="24">
<el-form-item label="创建时间" prop="">
<el-input disabled />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="更新时间" prop="">
<el-input disabled />
</el-form-item>
</el-col>
</template>
<!-- <el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber"> <el-form-item label="手机号码" prop="phonenumber">
<el-input <el-input
v-model="form.phonenumber" v-model="form.phonenumber"
...@@ -322,9 +384,9 @@ ...@@ -322,9 +384,9 @@
maxlength="50" maxlength="50"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col> -->
</el-row> </el-row>
<el-row> <!-- <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item
v-if="form.userId == undefined" v-if="form.userId == undefined"
...@@ -426,7 +488,7 @@ ...@@ -426,7 +488,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row> -->
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
...@@ -727,7 +789,8 @@ export default { ...@@ -727,7 +789,8 @@ export default {
this.postOptions = response.data.posts; this.postOptions = response.data.posts;
this.roleOptions = response.data.roles; this.roleOptions = response.data.roles;
this.open = true; this.open = true;
this.title = "添加用户"; // this.title = "添加用户";
this.title = "新增";
this.form.password = this.initPassword; this.form.password = this.initPassword;
}); });
}, },
...@@ -742,7 +805,8 @@ export default { ...@@ -742,7 +805,8 @@ export default {
this.$set(this.form, "postIds", response.data.postIds); this.$set(this.form, "postIds", response.data.postIds);
this.$set(this.form, "roleIds", response.data.roleIds); this.$set(this.form, "roleIds", response.data.roleIds);
this.open = true; this.open = true;
this.title = "修改用户"; // this.title = "修改用户";
this.title = "修改";
this.form.password = ""; this.form.password = "";
}); });
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment