|
@ -1,37 +1,102 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div class="app-container"> |
|
|
<div class="app-container"> |
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" |
|
|
<el-form |
|
|
label-width="80px"> |
|
|
:model="queryParams" |
|
|
|
|
|
ref="queryForm" |
|
|
|
|
|
size="small" |
|
|
|
|
|
:inline="true" |
|
|
|
|
|
v-show="showSearch" |
|
|
|
|
|
label-width="80px" |
|
|
|
|
|
> |
|
|
<el-form-item label="组织名称" prop="tenantName"> |
|
|
<el-form-item label="组织名称" prop="tenantName"> |
|
|
<el-input v-model="queryParams.param.tenantName" placeholder="请输入" clearable |
|
|
<el-input |
|
|
@keyup.enter.native="handleQuery" /> |
|
|
v-model="queryParams.param.tenantName" |
|
|
|
|
|
placeholder="请输入" |
|
|
|
|
|
clearable |
|
|
|
|
|
@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" |
|
|
|
|
|
icon="el-icon-search" |
|
|
|
|
|
size="mini" |
|
|
|
|
|
@click="handleQuery" |
|
|
|
|
|
>搜索</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 type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button> |
|
|
<el-button |
|
|
|
|
|
type="primary" |
|
|
|
|
|
plain |
|
|
|
|
|
icon="el-icon-plus" |
|
|
|
|
|
size="mini" |
|
|
|
|
|
@click="handleAdd" |
|
|
|
|
|
>新增</el-button |
|
|
|
|
|
> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="1.5"> |
|
|
<el-col :span="1.5"> |
|
|
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" |
|
|
<el-button |
|
|
@click="handleDelete">删除</el-button> |
|
|
type="danger" |
|
|
|
|
|
plain |
|
|
|
|
|
icon="el-icon-delete" |
|
|
|
|
|
size="mini" |
|
|
|
|
|
:disabled="multiple" |
|
|
|
|
|
@click="handleDelete" |
|
|
|
|
|
>删除</el-button |
|
|
|
|
|
> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
|
|
<right-toolbar |
|
|
|
|
|
:showSearch.sync="showSearch" |
|
|
|
|
|
@queryTable="getList" |
|
|
|
|
|
></right-toolbar> |
|
|
</el-row> |
|
|
</el-row> |
|
|
|
|
|
|
|
|
<el-table v-loading="loading" :data="listData" @selection-change="handleSelectionChange" max-height="600"> |
|
|
<el-table |
|
|
|
|
|
v-loading="loading" |
|
|
|
|
|
:data="listData" |
|
|
|
|
|
@selection-change="handleSelectionChange" |
|
|
|
|
|
max-height="600" |
|
|
|
|
|
> |
|
|
<el-table-column type="selection" width="55" align="center" /> |
|
|
<el-table-column type="selection" width="55" align="center" /> |
|
|
<el-table-column fixed label="昵称" align="center" prop="nickName" min-width="100" /> |
|
|
<el-table-column |
|
|
<el-table-column fixed label="用户名" align="center" prop="userName" show-overflow-tooltip min-width="100"> |
|
|
fixed |
|
|
|
|
|
label="昵称" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="nickName" |
|
|
|
|
|
min-width="100" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
fixed |
|
|
|
|
|
label="用户名" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="userName" |
|
|
|
|
|
show-overflow-tooltip |
|
|
|
|
|
min-width="100" |
|
|
|
|
|
> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column fixed label="组织名称" align="center" prop="tenantName" show-overflow-tooltip min-width="80" /> |
|
|
<el-table-column |
|
|
<el-table-column label="状态" align="center" show-overflow-tooltip min-width="100"> |
|
|
fixed |
|
|
|
|
|
label="组织名称" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="tenantName" |
|
|
|
|
|
show-overflow-tooltip |
|
|
|
|
|
min-width="80" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="状态" |
|
|
|
|
|
align="center" |
|
|
|
|
|
show-overflow-tooltip |
|
|
|
|
|
min-width="100" |
|
|
|
|
|
> |
|
|
<template slot-scope="scope" v-if="scope.row.status != null"> |
|
|
<template slot-scope="scope" v-if="scope.row.status != null"> |
|
|
<span v-if="scope.row.status == 0" style="color: #67C23A">启用</span> |
|
|
<span v-if="scope.row.status == 0" style="color: #67c23a">启用</span> |
|
|
<span v-if="scope.row.status == 1" style="color: #F56C6C">禁用</span> |
|
|
<span v-if="scope.row.status == 1" style="color: #f56c6c">禁用</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column label="创建人/创建时间" align="center" min-width="140"> |
|
|
<el-table-column label="创建人/创建时间" align="center" min-width="140"> |
|
@ -42,24 +107,62 @@ |
|
|
</span> |
|
|
</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="200"> |
|
|
<el-table-column |
|
|
|
|
|
fixed="right" |
|
|
|
|
|
label="操作" |
|
|
|
|
|
align="center" |
|
|
|
|
|
class-name="small-padding fixed-width" |
|
|
|
|
|
width="200" |
|
|
|
|
|
> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-button size="mini" type="text" icon="el-icon-edit" |
|
|
<el-button |
|
|
@click="handleUpdate(scope.row)">修改</el-button> |
|
|
size="mini" |
|
|
<el-button size="mini" type="text" icon="el-icon-delete" |
|
|
type="text" |
|
|
@click="handleDelete(scope.row)">删除</el-button> |
|
|
icon="el-icon-edit" |
|
|
<el-button size="mini" type="text" icon="el-icon-refresh" |
|
|
@click="handleUpdate(scope.row)" |
|
|
@click="handleResetPwd(scope.row)">重置密码</el-button> |
|
|
>修改</el-button |
|
|
|
|
|
> |
|
|
|
|
|
<el-button |
|
|
|
|
|
size="mini" |
|
|
|
|
|
type="text" |
|
|
|
|
|
icon="el-icon-delete" |
|
|
|
|
|
@click="handleDelete(scope.row)" |
|
|
|
|
|
>删除</el-button |
|
|
|
|
|
> |
|
|
|
|
|
<el-button |
|
|
|
|
|
size="mini" |
|
|
|
|
|
type="text" |
|
|
|
|
|
icon="el-icon-refresh" |
|
|
|
|
|
@click="handleResetPwd(scope.row)" |
|
|
|
|
|
>重置密码</el-button |
|
|
|
|
|
> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
|
|
|
|
|
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" |
|
|
<pagination |
|
|
:limit.sync="queryParams.pageSize" @pagination="getList" /> |
|
|
v-show="total > 0" |
|
|
|
|
|
:total="total" |
|
|
|
|
|
:page.sync="queryParams.pageNum" |
|
|
|
|
|
:limit.sync="queryParams.pageSize" |
|
|
|
|
|
@pagination="getList" |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
<!-- 添加或修改公告对话框 --> |
|
|
<!-- 添加或修改公告对话框 --> |
|
|
<el-dialog class="popup" :title="title" :visible.sync="open" width="780px" append-to-body> |
|
|
<el-dialog |
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px" class="formStep"> |
|
|
class="popup" |
|
|
|
|
|
:title="title" |
|
|
|
|
|
:visible.sync="open" |
|
|
|
|
|
width="780px" |
|
|
|
|
|
append-to-body |
|
|
|
|
|
> |
|
|
|
|
|
<el-form |
|
|
|
|
|
ref="form" |
|
|
|
|
|
:model="form" |
|
|
|
|
|
:rules="rules" |
|
|
|
|
|
label-width="80px" |
|
|
|
|
|
class="formStep" |
|
|
|
|
|
> |
|
|
<el-form-item label="昵称" prop="nickName"> |
|
|
<el-form-item label="昵称" prop="nickName"> |
|
|
<el-input v-model="form.nickName" placeholder="请输入" /> |
|
|
<el-input v-model="form.nickName" placeholder="请输入" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
@ -70,9 +173,13 @@ |
|
|
<el-input v-model="form.password" placeholder="请输入" /> |
|
|
<el-input v-model="form.password" placeholder="请输入" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="组织" prop="tenantId"> |
|
|
<el-form-item label="组织" prop="tenantId"> |
|
|
<el-select v-model="form.tenantId" placeholder="请选择"> |
|
|
<el-select v-model="form.tenantId" placeholder="请选择" filterable> |
|
|
<el-option v-for="item in tenantsDataList" :key="item.id" :label="item.name" |
|
|
<el-option |
|
|
:value="item.id"> |
|
|
v-for="item in tenantsDataList" |
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
:label="item.name" |
|
|
|
|
|
:value="item.id" |
|
|
|
|
|
> |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
@ -83,8 +190,20 @@ |
|
|
</div> |
|
|
</div> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<el-dialog class="popup" title="重置密码" :visible.sync="resetOpen" width="780px" append-to-body> |
|
|
<el-dialog |
|
|
<el-form ref="pasForm" :model="form" :rules="rules" label-width="80px" class="formStep"> |
|
|
class="popup" |
|
|
|
|
|
title="重置密码" |
|
|
|
|
|
:visible.sync="resetOpen" |
|
|
|
|
|
width="780px" |
|
|
|
|
|
append-to-body |
|
|
|
|
|
> |
|
|
|
|
|
<el-form |
|
|
|
|
|
ref="pasForm" |
|
|
|
|
|
:model="form" |
|
|
|
|
|
:rules="rules" |
|
|
|
|
|
label-width="80px" |
|
|
|
|
|
class="formStep" |
|
|
|
|
|
> |
|
|
<el-form-item label="新密码" prop="password"> |
|
|
<el-form-item label="新密码" prop="password"> |
|
|
<el-input v-model="form.password" placeholder="请输入" /> |
|
|
<el-input v-model="form.password" placeholder="请输入" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
@ -105,11 +224,9 @@ |
|
|
tenantUsersUpd, |
|
|
tenantUsersUpd, |
|
|
tenantUsersDel, |
|
|
tenantUsersDel, |
|
|
dataSourcesList, |
|
|
dataSourcesList, |
|
|
resetPwd |
|
|
resetPwd, |
|
|
} from "@/api/member"; |
|
|
} from "@/api/member"; |
|
|
import { |
|
|
import { followupQuery } from "@/api/followupFile"; |
|
|
followupQuery |
|
|
|
|
|
} from "@/api/followupFile"; |
|
|
|
|
|
export default { |
|
|
export default { |
|
|
name: "Notice", |
|
|
name: "Notice", |
|
|
dicts: ["sys_normal_disable", "sys_user_sex"], |
|
|
dicts: ["sys_normal_disable", "sys_user_sex"], |
|
@ -119,10 +236,10 @@ |
|
|
queryParams: { |
|
|
queryParams: { |
|
|
param: { |
|
|
param: { |
|
|
tenantName: "", |
|
|
tenantName: "", |
|
|
} |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
listData: [], |
|
|
listData: [], |
|
|
title: '', |
|
|
title: "", |
|
|
resetOpen: false, |
|
|
resetOpen: false, |
|
|
open: false, |
|
|
open: false, |
|
|
total: 0, |
|
|
total: 0, |
|
@ -132,30 +249,39 @@ |
|
|
multiple: false, |
|
|
multiple: false, |
|
|
// 表单校验 |
|
|
// 表单校验 |
|
|
rules: { |
|
|
rules: { |
|
|
nickName: [{ |
|
|
nickName: [ |
|
|
|
|
|
{ |
|
|
required: true, |
|
|
required: true, |
|
|
message: "昵称不能为空", |
|
|
message: "昵称不能为空", |
|
|
trigger: "blur", |
|
|
trigger: "blur", |
|
|
}], |
|
|
}, |
|
|
userName: [{ |
|
|
], |
|
|
|
|
|
userName: [ |
|
|
|
|
|
{ |
|
|
required: true, |
|
|
required: true, |
|
|
message: "账户不能为空", |
|
|
message: "账户不能为空", |
|
|
trigger: "blur", |
|
|
trigger: "blur", |
|
|
}], |
|
|
}, |
|
|
tenantId: [{ |
|
|
], |
|
|
|
|
|
tenantId: [ |
|
|
|
|
|
{ |
|
|
required: true, |
|
|
required: true, |
|
|
message: "所属组织不能为空", |
|
|
message: "所属组织不能为空", |
|
|
trigger: "blur", |
|
|
trigger: "blur", |
|
|
}], |
|
|
}, |
|
|
password: [{ |
|
|
], |
|
|
|
|
|
password: [ |
|
|
|
|
|
{ |
|
|
required: true, |
|
|
required: true, |
|
|
message: "密码不能为空", |
|
|
message: "密码不能为空", |
|
|
trigger: "blur", |
|
|
trigger: "blur", |
|
|
}, { |
|
|
}, |
|
|
|
|
|
{ |
|
|
pattern: /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[^\da-zA-Z\s]).{8,20}$/, |
|
|
pattern: /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[^\da-zA-Z\s]).{8,20}$/, |
|
|
message: "必须包含数字、字母、特殊字符, 长度为8到20位", |
|
|
message: "必须包含数字、字母、特殊字符, 长度为8到20位", |
|
|
trigger: "blur", |
|
|
trigger: "blur", |
|
|
}], |
|
|
}, |
|
|
|
|
|
], |
|
|
}, |
|
|
}, |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
@ -190,11 +316,11 @@ |
|
|
// 表单重置 |
|
|
// 表单重置 |
|
|
reset() { |
|
|
reset() { |
|
|
this.form = { |
|
|
this.form = { |
|
|
"tenantId": "", |
|
|
tenantId: "", |
|
|
"userName": "", |
|
|
userName: "", |
|
|
"nickName": "", |
|
|
nickName: "", |
|
|
"userName": '', |
|
|
userName: "", |
|
|
"status": "0", |
|
|
status: "0", |
|
|
}; |
|
|
}; |
|
|
this.resetForm("form"); |
|
|
this.resetForm("form"); |
|
|
}, |
|
|
}, |
|
@ -226,7 +352,7 @@ |
|
|
handleUpdate(row) { |
|
|
handleUpdate(row) { |
|
|
this.open = true; |
|
|
this.open = true; |
|
|
this.title = "修改用户"; |
|
|
this.title = "修改用户"; |
|
|
this.form = JSON.parse(JSON.stringify(row)) |
|
|
this.form = JSON.parse(JSON.stringify(row)); |
|
|
}, |
|
|
}, |
|
|
/** 诊疗档案 */ |
|
|
/** 诊疗档案 */ |
|
|
submitForm: function () { |
|
|
submitForm: function () { |
|
@ -249,9 +375,9 @@ |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
handleResetPwd(row) { |
|
|
handleResetPwd(row) { |
|
|
this.resetOpen = true |
|
|
this.resetOpen = true; |
|
|
this.form = JSON.parse(JSON.stringify(row)) |
|
|
this.form = JSON.parse(JSON.stringify(row)); |
|
|
this.form.password = '' |
|
|
this.form.password = ""; |
|
|
}, |
|
|
}, |
|
|
submitPasForm(row) { |
|
|
submitPasForm(row) { |
|
|
this.$refs["pasForm"].validate((valid) => { |
|
|
this.$refs["pasForm"].validate((valid) => { |
|
@ -283,7 +409,8 @@ |
|
|
/** 导出按钮操作 */ |
|
|
/** 导出按钮操作 */ |
|
|
handleExport() { |
|
|
handleExport() { |
|
|
this.download1( |
|
|
this.download1( |
|
|
"/treatment/exportTreatment", { |
|
|
"/treatment/exportTreatment", |
|
|
|
|
|
{ |
|
|
...this.queryParams.params, |
|
|
...this.queryParams.params, |
|
|
}, |
|
|
}, |
|
|
`诊疗档案.xlsx` |
|
|
`诊疗档案.xlsx` |
|
@ -355,7 +482,8 @@ |
|
|
margin-right: 0; |
|
|
margin-right: 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.formStep1>>>.el-form-item__label {} |
|
|
.formStep1 >>> .el-form-item__label { |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.form-item-zd { |
|
|
.form-item-zd { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|