7 changed files with 686 additions and 37 deletions
@ -0,0 +1,64 @@ |
|||
import request from "@/utils/request"; |
|||
|
|||
// ------ 上报类型 ------
|
|||
// 查询类型
|
|||
export function reportList(data) { |
|||
return request({ |
|||
url: "/report/list", |
|||
method: "post", |
|||
data: data, |
|||
}); |
|||
} |
|||
export function reportAdd(data) { |
|||
return request({ |
|||
url: "/report/add", |
|||
method: "post", |
|||
data: data, |
|||
}); |
|||
} |
|||
export function reportUpd(data) { |
|||
return request({ |
|||
url: "/report/upd", |
|||
method: "post", |
|||
data: data, |
|||
}); |
|||
} |
|||
|
|||
export function reportDel(data) { |
|||
return request({ |
|||
url: "/report/del", |
|||
method: "post", |
|||
data: data, |
|||
}); |
|||
} |
|||
// ------ 上报管理 ------
|
|||
|
|||
export function managerQuery(data) { |
|||
return request({ |
|||
url: "/report/queryManager", |
|||
method: "post", |
|||
data: data, |
|||
}); |
|||
} |
|||
export function managerAdd(data) { |
|||
return request({ |
|||
url: "/report/addManager", |
|||
method: "post", |
|||
data: data, |
|||
}); |
|||
} |
|||
export function managerUpd(data) { |
|||
return request({ |
|||
url: "/report/updManager", |
|||
method: "post", |
|||
data: data, |
|||
}); |
|||
} |
|||
|
|||
export function managerDel(data) { |
|||
return request({ |
|||
url: "/report/delManager", |
|||
method: "post", |
|||
data: data, |
|||
}); |
|||
} |
@ -0,0 +1,320 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" |
|||
label-width="80px"> |
|||
<el-form-item label="组织名称" prop="name"> |
|||
<el-input v-model="queryParams.param.name" placeholder="请输入" clearable |
|||
@keyup.enter.native="handleQuery" /> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<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> |
|||
<el-row :gutter="10" class="mb8"> |
|||
<el-col :span="1.5"> |
|||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" |
|||
@click="handleDelete">删除</el-button> |
|||
</el-col> |
|||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
|||
</el-row> |
|||
|
|||
<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 fixed label="标题" align="center" prop="name" min-width="100" /> |
|||
<el-table-column fixed label="类型" align="center" prop="contactPhone" show-overflow-tooltip |
|||
min-width="100"> |
|||
</el-table-column> |
|||
<el-table-column fixed label="开始时间" align="center" prop="contactPhone" show-overflow-tooltip |
|||
min-width="100"> |
|||
</el-table-column> |
|||
<el-table-column fixed label="结束时间" align="center" prop="contactPhone" show-overflow-tooltip |
|||
min-width="100"> |
|||
</el-table-column> |
|||
<el-table-column label="创建人/创建时间" align="center" min-width="140"> |
|||
<template slot-scope="scope"> |
|||
<div>{{scope.row.createBy}}</div> |
|||
<span> |
|||
{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}") }} |
|||
</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="200"> |
|||
<template slot-scope="scope"> |
|||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
|||
:disabled="scope.row.id == 1 || scope.row.id == 2">修改</el-button> |
|||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
|||
:disabled="scope.row.id == 1 || scope.row.id == 2">删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<pagination 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-form ref="form" :model="form" :rules="rules" label-width="140px" class="formStep"> |
|||
<el-form-item label="标题" prop="reportTitle"> |
|||
<el-input v-model="form.reportTitle" placeholder="请输入" /> |
|||
</el-form-item> |
|||
<el-form-item label="上报类型" prop="reportType"> |
|||
<el-select v-model="form.reportType" placeholder="请选择"> |
|||
<el-option v-for="item in reporTypeList" :key="item.id" :label="item.dataSourceKey" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="开始时间" prop="timeRangeStart"> |
|||
<el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="form.timeRangeStart" type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="结束时间" prop="timeRangeEnd"> |
|||
<el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="form.timeRangeEnd" type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="submitForm">确 定</el-button> |
|||
<el-button @click="cancel">取 消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
managerQuery, |
|||
managerAdd, |
|||
managerUpd, |
|||
managerDel, |
|||
reportList |
|||
} from "@/api/report"; |
|||
export default { |
|||
name: "Notice", |
|||
data() { |
|||
return { |
|||
reporTypeList: [], |
|||
queryParams: { |
|||
param: { |
|||
name: "", |
|||
} |
|||
}, |
|||
listData: [], |
|||
title: '', |
|||
open: false, |
|||
total: 0, |
|||
form: {}, |
|||
loading: false, |
|||
showSearch: true, |
|||
multiple: false, |
|||
// 表单校验 |
|||
rules: { |
|||
reportTitle: [{ |
|||
required: true, |
|||
message: "标题不能为空", |
|||
trigger: "blur", |
|||
}], |
|||
reportType: [{ |
|||
required: true, |
|||
message: "类型不能为空", |
|||
trigger: "blur", |
|||
}], |
|||
timeRangeStart: [{ |
|||
required: true, |
|||
message: "开始时间不能为空", |
|||
trigger: "blur", |
|||
}], |
|||
timeRangeEnd: [{ |
|||
required: true, |
|||
message: "结束时间不能为空", |
|||
trigger: "blur" |
|||
}], |
|||
}, |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
this.getReportType(); |
|||
}, |
|||
methods: { |
|||
getReportType() { |
|||
reportList({ |
|||
pageNum: -1, |
|||
param: {}, |
|||
}).then((res) => { |
|||
this.reporTypeList = res.data.list; |
|||
}); |
|||
}, |
|||
/** 查询公告列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
managerQuery(this.queryParams).then((res) => { |
|||
this.listData = res.data.list; |
|||
this.total = res.data.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
"reportTitle": "", |
|||
"reportType": "", |
|||
"timeRangeStart": "", |
|||
"timeRangeEnd": "", |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
/** 搜索按钮操作 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1; |
|||
this.getList(); |
|||
}, |
|||
/** 重置按钮操作 */ |
|||
resetQuery() { |
|||
this.queryParams.param = { |
|||
name: "", |
|||
}; |
|||
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.title = "新增上报"; |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.open = true; |
|||
this.title = "修改上报"; |
|||
this.form = JSON.parse(JSON.stringify(row)) |
|||
}, |
|||
/** 诊疗档案 */ |
|||
submitForm: function() { |
|||
this.$refs["form"].validate((valid) => { |
|||
if (valid) { |
|||
if (this.form.id != undefined) { |
|||
managerUpd(this.form).then((response) => { |
|||
this.$modal.msgSuccess("修改成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
}); |
|||
} else { |
|||
managerAdd(this.form).then((response) => { |
|||
this.$modal.msgSuccess("新增成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const idList = row.id ? [row.id] : this.ids; |
|||
this.$modal |
|||
.confirm("是否确认删除当前选择的数据?") |
|||
.then(function() { |
|||
return managerDel({ |
|||
idList: idList, |
|||
}); |
|||
}) |
|||
.then(() => { |
|||
|
|||
this.$modal.msgSuccess("删除成功"); |
|||
this.getList(); |
|||
}) |
|||
.catch(() => {}); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
<style scoped src="@/assets/styles/common.css"></style> |
|||
|
|||
<style scoped> |
|||
.div-title1 { |
|||
font-size: 22px; |
|||
font-weight: bold; |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
.div-title2 { |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
.div-title3 { |
|||
font-size: 18px; |
|||
font-weight: bold; |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
.span-but { |
|||
display: inline-block; |
|||
border-radius: 4px; |
|||
border: 1px solid #dcdfe6; |
|||
line-height: 32px; |
|||
padding: 0 15px; |
|||
margin: 5px; |
|||
} |
|||
|
|||
.span-but-active { |
|||
border: 1px solid #1890ff; |
|||
} |
|||
|
|||
.human-body { |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
} |
|||
|
|||
.human-body>>>.el-form-item { |
|||
width: 49%; |
|||
margin-right: 2%; |
|||
} |
|||
|
|||
.human-body>>>.el-form-item:nth-of-type(2n) { |
|||
margin-right: 0; |
|||
} |
|||
|
|||
.formStep1>>>.el-form-item__label {} |
|||
|
|||
.form-item-zd { |
|||
width: 100%; |
|||
text-align: left; |
|||
} |
|||
|
|||
.form-item-age { |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
|
|||
.form-item-age span { |
|||
margin: 0 10px; |
|||
} |
|||
|
|||
.form-item-age>>>.el-input { |
|||
width: 100px; |
|||
} |
|||
|
|||
>>>.el-drawer.rtl { |
|||
width: 50% !important; |
|||
} |
|||
</style> |
@ -0,0 +1,265 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" |
|||
label-width="80px"> |
|||
<el-form-item label="组织名称" prop="typeName"> |
|||
<el-input v-model="queryParams.param.typeName" placeholder="请输入" clearable |
|||
@keyup.enter.native="handleQuery" /> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<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> |
|||
<el-row :gutter="10" class="mb8"> |
|||
<el-col :span="1.5"> |
|||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" |
|||
@click="handleDelete">删除</el-button> |
|||
</el-col> |
|||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
|||
</el-row> |
|||
|
|||
<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 fixed label="类型名称" align="center" prop="name" min-width="100" /> |
|||
<el-table-column label="创建人/创建时间" align="center" min-width="140"> |
|||
<template slot-scope="scope"> |
|||
<div>{{scope.row.createBy}}</div> |
|||
<span> |
|||
{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}") }} |
|||
</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="200"> |
|||
<template slot-scope="scope"> |
|||
<el-button size="mini" type="text" icon="el-icon-edit" |
|||
@click="handleUpdate(scope.row)">修改</el-button> |
|||
<el-button size="mini" type="text" icon="el-icon-delete" |
|||
@click="handleDelete(scope.row)">删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<pagination 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-form ref="form" :model="form" :rules="rules" label-width="90px" class="formStep"> |
|||
<el-form-item label="类型名称" prop="typeName"> |
|||
<el-input v-model="form.typeName" placeholder="请输入" /> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="submitForm">确 定</el-button> |
|||
<el-button @click="cancel">取 消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
reportList, |
|||
reportAdd, |
|||
reportUpd, |
|||
reportDel |
|||
} from "@/api/report"; |
|||
export default { |
|||
name: "Notice", |
|||
data() { |
|||
return { |
|||
dataSourceList: [], |
|||
queryParams: { |
|||
param: { |
|||
name: "", |
|||
} |
|||
}, |
|||
listData: [], |
|||
title: '', |
|||
open: false, |
|||
total: 0, |
|||
form: {}, |
|||
loading: false, |
|||
showSearch: true, |
|||
multiple: false, |
|||
// 表单校验 |
|||
rules: { |
|||
typeName: [{ |
|||
required: true, |
|||
message: "上报类型不能为空", |
|||
trigger: "blur", |
|||
}], |
|||
}, |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
/** 查询公告列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
reportList(this.queryParams).then((res) => { |
|||
this.listData = res.data.list; |
|||
this.total = res.data.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
"typeName": "", |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
/** 搜索按钮操作 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1; |
|||
this.getList(); |
|||
}, |
|||
/** 重置按钮操作 */ |
|||
resetQuery() { |
|||
this.queryParams.param = { |
|||
name: "", |
|||
}; |
|||
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.title = "新增上报类型"; |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.open = true; |
|||
this.title = "修改诊疗档案"; |
|||
this.form = JSON.parse(JSON.stringify(row)) |
|||
}, |
|||
/** 诊疗档案 */ |
|||
submitForm: function() { |
|||
this.$refs["form"].validate((valid) => { |
|||
if (valid) { |
|||
if (this.form.id != undefined) { |
|||
reportUpd(this.form).then((response) => { |
|||
this.$modal.msgSuccess("修改成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
}); |
|||
} else { |
|||
reportAdd(this.form).then((response) => { |
|||
this.$modal.msgSuccess("新增成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const idList = row.id ? [row.id] : this.ids; |
|||
this.$modal |
|||
.confirm("是否确认删除当前选择的数据?") |
|||
.then(function() { |
|||
return reportDel({ |
|||
idList: idList, |
|||
}); |
|||
}) |
|||
.then(() => { |
|||
this.getList(); |
|||
this.$modal.msgSuccess("删除成功"); |
|||
}) |
|||
.catch(() => {}); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
<style scoped src="@/assets/styles/common.css"></style> |
|||
|
|||
<style scoped> |
|||
.div-title1 { |
|||
font-size: 22px; |
|||
font-weight: bold; |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
.div-title2 { |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
.div-title3 { |
|||
font-size: 18px; |
|||
font-weight: bold; |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
.span-but { |
|||
display: inline-block; |
|||
border-radius: 4px; |
|||
border: 1px solid #dcdfe6; |
|||
line-height: 32px; |
|||
padding: 0 15px; |
|||
margin: 5px; |
|||
} |
|||
|
|||
.span-but-active { |
|||
border: 1px solid #1890ff; |
|||
} |
|||
|
|||
.human-body { |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
} |
|||
|
|||
.human-body>>>.el-form-item { |
|||
width: 49%; |
|||
margin-right: 2%; |
|||
} |
|||
|
|||
.human-body>>>.el-form-item:nth-of-type(2n) { |
|||
margin-right: 0; |
|||
} |
|||
|
|||
.formStep1>>>.el-form-item__label {} |
|||
|
|||
.form-item-zd { |
|||
width: 100%; |
|||
text-align: left; |
|||
} |
|||
|
|||
.form-item-age { |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
|
|||
.form-item-age span { |
|||
margin: 0 10px; |
|||
} |
|||
|
|||
.form-item-age>>>.el-input { |
|||
width: 100px; |
|||
} |
|||
|
|||
>>>.el-drawer.rtl { |
|||
width: 50% !important; |
|||
} |
|||
</style> |
Loading…
Reference in new issue