Commit 0477261e authored by 何鹏程's avatar 何鹏程

完成绿道业务

parent 9b0edb9f
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- IE使用当前浏览器的最高文档模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- 多核浏览器使用webkit内核 -->
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>明医咨询认证平台</title>
<!-- 引入阿里云oss-sdk -->
<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"></script>
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
<head>
<meta charset="utf-8">
<!-- IE使用当前浏览器的最高文档模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- 多核浏览器使用webkit内核 -->
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>区域急危重症救治协同平台</title>
<!-- 引入阿里云oss-sdk -->
<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"></script>
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
import request from '../util/ajax'
export function queryEmergencyGreenwayPageList(params) {
return request({
url: '/api/team/greenWay/queryEmergencyGreenwayPageList',
method: 'POST',
data: params
})
}
export function saveOrUpdateEmergencyGreenway(params) {
return request({
url: '/api/team/greenWay/saveOrUpdateEmergencyGreenway',
method: 'POST',
data: params
})
}
export function queryInfoById(params) {
return request({
url: '/api/team/greenWay/queryInfoById',
method: 'POST',
data: params
})
}
export function deleteEmergencyGreenway(params) {
return request({
url: '/api/team/greenWay/deleteEmergencyGreenway',
method: 'POST',
data: params
})
}
<template>
<el-form-item
:label="columnMean"
:prop="columnName"
>
<el-input
v-bind="$attrs"
v-on="$listeners"
:placeholder="'请输入' + columnMean"
v-if="chooseType === 1"
/>
<el-select
v-bind="$attrs"
v-on="$listeners"
:placeholder="'请选择' + columnMean"
style="width: 100%"
v-else-if="chooseType === 2"
>
<el-option
v-for="_item in chooseList"
:label="_item.chooseValue"
:key="_item.chooseKey"
:value="_item.chooseKey"
/>
</el-select>
<el-radio-group
v-else-if="chooseType === 3"
v-bind="$attrs"
v-on="$listeners"
>
<el-radio
:label="_item.chooseKey"
:key="_item.chooseKey"
v-for="_item in chooseList"
>{{_item.chooseValue}}</el-radio>
</el-radio-group>
<el-checkbox-group
v-else-if="chooseType === 4"
v-bind="$attrs"
v-on="$listeners"
>
<el-checkbox
v-for="_item in chooseList"
:label="_item.chooseKey"
:key="_item.chooseKey"
>{{_item.chooseValue}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</template>
<script>
export default {
props: {
columnMean: {
type: String, //字段说明
default: ''
},
columnName: {
type: String, //字段名称
default: ''
},
chooseType: {
type: Number, //字段选择类型(1.输入框;2.下拉;3.单选;4.多选)
default: 1
},
columnLength: {
type: Number, //字段长度
default: 10
},
chooseList: {
type: Array,
default: function() {
return []
}
}
},
mounted() {
}
}
</script>
<style lang="scss">
.radioOnlyItem {
line-height: 32px;
// display: block;
margin-bottom: 14px;
width: 100%;
&:last-child {
margin-bottom: 0;
}
.el-radio__label {
// display: inline-block;
// // line-height: 20px;
// white-space: normal;
width: calc(100% - 38px);
}
.el-radio {
// white-space: normal;
}
}
</style>
<template>
<el-form
:model="dynamicForm"
size="small"
:label-width="labelWidth"
v-loading="loading"
>
<dynamic-form
v-for="item in formItemList"
:key="item.columnName"
:value="dynamicForm[item.columnName]"
:columnName="item.columnName"
:chooseType="item.chooseType"
:columnMean="item.columnMean"
:columnLength="item.columnLength"
:chooseList="item.chooseList"
@input="handleInput($event, item.columnName)"
/>
</el-form>
</template>
<script>
import dynamicForm from './dynamic-form.vue'
export default {
name: 'FormItem',
components: { dynamicForm },
props: {
labelWidth: {
type: String, //label长度
default: '100px'
},
formItemList: {
type: Array,
default: function() {
return []
}
}
},
data() {
return {
dynamicForm: {},
loading: false,
dataList: []
}
},
created() {
this.formItemList.forEach(item => {
if (item.chooseType === 4) {
this.dynamicForm[item.columnName] = []
} else {
this.dynamicForm[item.columnName] = ''
}
})
},
methods: {
init(dataList) {
this.loading = true
const formData = {}
this.dataList = dataList
this.formItemList.forEach(item => {
if (item.chooseType === 4) {
formData[item.columnName] = []
} else {
formData[item.columnName] = ''
}
const itemData = dataList.find(i => i.columnName === item.columnName)
if (itemData && itemData.columnValue) {
formData[item.columnName] = itemData.columnValue
if (item.chooseType === 4) {
formData[item.columnName] = itemData.columnValue.split(',')
} else {
formData[item.columnName] = itemData.columnValue
}
}
})
this.dynamicForm = formData
this.$nextTick(() => {
this.loading = false
})
},
handleInput(val, key) {
this.dynamicForm[key] = val
},
getDataForm() {
const formList = []
this.formItemList.forEach(item => {
const params = {}
params.columnName = item.columnName
if (item.chooseType === 4) {
params.columnValue = this.dynamicForm[item.columnName].join()
} else {
params.columnValue = this.dynamicForm[item.columnName]
}
if (this.dataList.length > 0) {
const itemData = this.dataList.find(i => i.columnName === item.columnName)
if (itemData && itemData.id) {
params.id = itemData.id
}
}
formList.push(params)
})
return formList
}
}
}
</script>
<style>
</style>
\ No newline at end of file
......@@ -2,10 +2,12 @@
import Vue from 'vue'
import TableMixin from './TableMixin'
import FormItem from './FormItem'
// 组件库
const Components = [
TableMixin
TableMixin,
FormItem
]
// 注册全局组件
......
<template>
<el-dialog
title="绑定站点"
title="武汉市医院急救专家资源信息填写"
:visible.sync="dialogVisible"
width="500px"
@closed="closedHandler"
......@@ -15,29 +15,12 @@
v-loading="loading"
>
<el-form-item
label="站点名称"
prop="siteId"
>
<el-select
v-model="dataForm.siteId"
placeholder="请选择站点"
style="width: 100%"
>
<el-option
v-for="item in siteList"
:label="item.siteName"
:key="item.id"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item
label="上级医院名称"
label="医院名称"
prop="hospitalCode"
>
<el-select
v-model="dataForm.hospitalCode"
placeholder="请选择上级医院"
placeholder="请选择医院"
style="width: 100%"
>
<el-option
......@@ -48,7 +31,58 @@
/>
</el-select>
</el-form-item>
<el-form-item
label="专家姓名"
prop="expertName"
>
<el-input
placeholder="请输入专家姓名"
v-model="dataForm.expertName"
/>
</el-form-item>
<el-form-item
label="是否值班"
prop="isDuty"
>
<el-radio-group v-model="dataForm.isDuty">
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label="性别"
prop="expertSex"
>
<el-radio-group v-model="dataForm.expertSex">
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
<el-radio :label="3">未知</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label="职称"
prop="expertTitle"
>
<el-input
placeholder="请输入职称"
v-model="dataForm.expertTitle"
/>
</el-form-item>
<el-form-item
label="科室"
prop="emergencyName"
>
<el-input
placeholder="请输入科室"
v-model="dataForm.emergencyName"
/>
</el-form-item>
</el-form>
<formItem
labelWidth="150px"
ref="formItem"
:formItemList="formItemList"
/>
<span
slot="footer"
class="dialog-footer"
......@@ -67,26 +101,32 @@
</template>
<script>
import { queryTeamEmergencyCarInfo, bindSiteToEmergencyCar } from '@/api/emergencyCar'
import { queryEmergencyHospitalList } from '@/api/common'
import { queryEmergencySiteList } from '@/api/site'
import { queryEmergencyHospitalList, queryExtendConfig } from '@/api/common'
import { queryInfoById, addOrUpdateEmergencyExpert } from '@/api/expert'
export default {
data() {
return {
dialogVisible: false,
loading: false,
dataForm: {
siteId: '',
hospitalCode: ''
hospitalCode: '',
expertName: '',
isDuty: '',
expertSex: '',
expertTitle: '',
emergencyName: ''
},
siteList: [],
hospitalList: [],
formItemList: [],
rules: {
siteId: [
{ required: true, message: '请选择站点' },
],
hospitalCode: [
{ required: true, message: '请选择上级医院' },
{ required: true, message: '请选择医院' },
],
expertName: [
{ required: true, message: '请输入专家名称' },
],
emergencyName: [
{ required: true, message: '请输入科室' },
]
}
}
......@@ -96,62 +136,67 @@ export default {
queryEmergencyHospitalList().then(res => {
this.hospitalList = res.respData
})
queryEmergencySiteList().then(res => {
this.siteList = res.respData
queryExtendConfig({ tableType: 2 }).then(res => {
if (res.msg === 201 && res.respData && res.respData.length > 0) {
this.formItemList = res.respData
}
})
},
methods: {
init(id) {
init(type, id) {
this.dialogVisible = true
this.loading = true
if (!id) {
this.$message.error('救护车id不能为空')
return
}
queryTeamEmergencyCarInfo({ id: id }).then(res => {
if (res.msg === 201) {
const { hospitalCode, siteId } = res.respData
this.dataForm = {
id: id,
hospitalCode: hospitalCode,
siteId: siteId
}
this.$nextTick(() => {
this.loading = false
this.$refs.dataForm.clearValidate()
})
} else {
this.$message.error(res.content);
this.type = type
if (type === 'update') {
if (!id) {
this.$message.error('id不能为空')
return
}
})
queryInfoById({ id: id }).then(res => {
if (res.msg === 201) {
this.dataForm = res.respData
if (res.respData && res.respData.extendValueDtoList && res.respData.extendValueDtoList.length > 0) {
this.$refs.formItem.init(res.respData.extendValueDtoList)
} else {
this.$refs.formItem.init([])
}
this.$nextTick(() => {
this.loading = false
this.$refs.dataForm.clearValidate()
})
} else {
this.$message.error(res.content);
}
})
} else {
this.dataForm = {}
this.$nextTick(() => {
this.loading = false
this.$refs.formItem.init([])
this.$refs.dataForm.clearValidate()
})
}
},
submitForm() {
this.$refs.dataForm.validate((valid) => {
if (valid) {
const params = {
...this.dataForm
...this.dataForm,
auditStatus: 1
}
const hospital = this.hospitalList.find(i => i.hospitalCode === this.dataForm.hospitalCode)
if (!hospital) {
this.$message.error('无效数据');
return
}
const { hospitalName, id } = hospital
const { hospitalName } = hospital
params.hospitalName = hospitalName
params.hospitalId = id
const site = this.siteList.find(i => i.id === this.dataForm.siteId)
if (!site) {
this.$message.error('无效数据');
return
}
const { siteName } = site
params.siteName = siteName
bindSiteToEmergencyCar(params).then(res => {
params.extendValueDtoList = this.$refs.formItem.getDataForm()
addOrUpdateEmergencyExpert(params).then(res => {
if (res.msg === 201) {
this.dialogVisible = false
this.$message.success('绑定成功')
this.$message.success('保存成功')
this.$emit('subsucc')
} else {
this.$message.error(res.content)
......
......@@ -109,10 +109,10 @@
</el-table-column>
</el-table>
</table-mixin>
<!-- <SaveDialog
<SaveDialog
ref="saveDialog"
@subsucc="search"
/> -->
/>
</div>
</div>
</div>
......@@ -121,12 +121,12 @@
import { tableDataMixin } from '../../common/js/mixin'
import { queryEmergencyHospitalList } from '@/api/common'
import { queryEmergencyExpertPageList, addOrUpdateEmergencyExpert, deleteTeamEmergencyExpert } from '@/api/expert'
// import SaveDialog from './components/saveDialog.vue'
import SaveDialog from './components/saveDialog.vue'
export default {
name: 'sitePage',
name: 'expertPage',
mixins: [tableDataMixin],
components: {
// SaveDialog
SaveDialog
},
data() {
return {
......@@ -151,9 +151,17 @@ export default {
width: '150',
fixed: false
},
{
name: '是否值班',
key: 'isDuty',
sortable: false,
width: '120',
fixed: false,
formatter: this.isDutyFormatter
},
{
name: '性别',
key: 'expertSex',
key: 'expertSexStr',
sortable: false,
width: '120',
fixed: false
......@@ -174,7 +182,7 @@ export default {
},
{
name: '审核状态',
key: 'auditStatusName',
key: 'auditStatusStr',
sortable: false,
width: '100',
fixed: false
......@@ -227,7 +235,7 @@ export default {
})
},
auditData(id, auditStatus) {
auditEmergencySite({ id: id, auditStatus: auditStatus }).then(res => {
addOrUpdateEmergencyExpert({ id: id, auditStatus: auditStatus }).then(res => {
if (res.msg === 201) {
this.$message.success('操作成功!')
} else {
......@@ -236,9 +244,9 @@ export default {
this.search()
})
},
siteStatusFormatter(row, column, cellValue, index) {
const siteStatusList = ['', '启用', '停用']
return siteStatusList[cellValue] || ''
isDutyFormatter(row, column, cellValue, index) {
const list = ['', '是', '否']
return list[cellValue] || ''
},
delHandler(id) {
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
......@@ -246,7 +254,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteEmergencySite({ id: id }).then(res => {
deleteTeamEmergencyExpert({ id: id }).then(res => {
if (res.msg === 201) {
this.$message.success('删除成功!')
} else {
......
<template>
<el-dialog
title="武汉市医疗急救绿道信息填写"
:visible.sync="dialogVisible"
width="900px"
@closed="closedHandler"
:close-on-click-modal="false"
>
<el-form
ref="dataForm"
:model="dataForm"
size="small"
label-width="300px"
:rules="rules"
v-loading="loading"
>
<el-form-item
label="医院名称"
prop="hospitalCode"
>
<el-select
v-model="dataForm.hospitalCode"
placeholder="请选择医院"
style="width: 100%"
>
<el-option
v-for="item in hospitalList"
:label="item.hospitalName"
:key="item.id"
:value="item.hospitalCode"
/>
</el-select>
</el-form-item>
<el-form-item
label="单位性质"
prop="unitType"
>
<el-radio-group v-model="dataForm.unitType">
<el-radio :label="1">公立医疗</el-radio>
<el-radio :label="2">民营医院</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label="辖区(多个院区则填写主院区所属辖区)"
prop="area"
>
<el-select
v-model="dataForm.area"
placeholder="请选择辖区"
style="width: 100%"
>
<el-option
v-for="item in areaList"
:label="item.name"
:key="item.id"
:value="item.val"
/>
</el-select>
</el-form-item>
<el-form-item
label="医院等级"
prop="hospitalStep"
>
<el-select
v-model="dataForm.hospitalStep"
placeholder="请选择医院等级"
style="width: 100%"
>
<el-option
v-for="item in hospitalGradeList"
:label="item.name"
:key="item.id"
:value="item.val"
/>
</el-select>
</el-form-item>
<el-form-item
label="医院等次"
prop="hospitalGrade"
>
<el-select
v-model="dataForm.hospitalGrade"
placeholder="请选择医院等次"
style="width: 100%"
>
<el-option
v-for="item in hospitalClassList"
:label="item.name"
:key="item.id"
:value="item.val"
/>
</el-select>
</el-form-item>
<el-form-item
label="绿道建设"
prop="greenCenter"
>
<el-checkbox-group v-model="dataForm.greenCenter">
<el-checkbox label="1">胸痛中心</el-checkbox>
<el-checkbox label="2">卒中中心</el-checkbox>
<el-checkbox label="3">创伤中心</el-checkbox>
<el-checkbox label="4">烧伤中心</el-checkbox>
<el-checkbox label="5">其它</el-checkbox>
</el-checkbox-group>
<el-input
v-if="dataForm.greenCenter.indexOf('5') > -1"
placeholder="若选择其它,请手动输入"
v-model="dataForm.other"
/>
</el-form-item>
<el-form-item
label="是否建设信息化"
prop="greenInforConstruction"
>
<el-radio-group v-model="dataForm.greenInforConstruction">
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<formItem
labelWidth="300px"
ref="formItem"
:formItemList="formItemList"
/>
<span
slot="footer"
class="dialog-footer"
>
<el-button
size="small"
@click="dialogVisible = false"
>取 消</el-button>
<el-button
type="primary"
size="small"
@click="submitForm()"
>确 定</el-button>
</span>
</el-dialog>
</template>
<script>
import { queryEmergencyHospitalList, queryExtendConfig } from '@/api/common'
import { queryInfoById, saveOrUpdateEmergencyGreenway } from '@/api/greenWay'
import { getDic } from '@/util/dict'
export default {
data() {
const checkGreenCenter = (rule, value, callback) => {
if (value.indexOf('5') > -1 && !(this.dataForm.other)) {
callback(new Error('若选择其他,请手动输入'))
} else {
callback()
}
}
return {
dialogVisible: false,
loading: false,
dataForm: {
hospitalCode: '',
unitType: '',
area: '',
hospitalStep: '',
hospitalGrade: '',
greenCenter: [],
greenInforConstruction: ''
},
hospitalList: [],
formItemList: [],
areaList: [],
hospitalGradeList: [],
hospitalClassList: [],
rules: {
hospitalCode: [
{ required: true, message: '请选择医院' },
],
unitType: [
{ required: true, message: '请选择单位性质' },
],
area: [
{ required: true, message: '请选择辖区' },
],
hospitalStep: [
{ required: true, message: '请选择医院等级' },
],
hospitalGrade: [
{ required: true, message: '请选择医院等次' },
],
greenCenter: [
{ required: true, message: '请选择绿道建设' },
{ validator: checkGreenCenter }
],
greenInforConstruction: [
{ required: true, message: '请选择是否建设信息化' },
]
}
}
},
mounted() {
// 获取字典
getDic(['area', 'hospital_grade', 'hospital_class']).then(res => {
this.areaList = res.area
this.hospitalGradeList = res.hospital_grade
this.hospitalClassList = res.hospital_class
})
//获取可选择的医院
queryEmergencyHospitalList().then(res => {
this.hospitalList = res.respData
})
queryExtendConfig({ tableType: 1 }).then(res => {
if (res.msg === 201 && res.respData && res.respData.length > 0) {
this.formItemList = res.respData
}
})
},
methods: {
init(type, id) {
this.dialogVisible = true
this.loading = true
this.type = type
if (type === 'update') {
if (!id) {
this.$message.error('id不能为空')
return
}
queryInfoById({ id: id }).then(res => {
if (res.msg === 201) {
this.dataForm = res.respData
this.dataForm.greenCenter = res.respData.greenCenter ? res.respData.greenCenter.split(',') : []
if (res.respData && res.respData.extendValueDtoList && res.respData.extendValueDtoList.length > 0) {
this.$refs.formItem.init(res.respData.extendValueDtoList)
} else {
this.$refs.formItem.init([])
}
this.$nextTick(() => {
this.loading = false
this.$refs.dataForm.clearValidate()
})
} else {
this.$message.error(res.content);
}
})
} else {
this.dataForm = {
greenCenter: []
}
this.$nextTick(() => {
this.loading = false
this.$refs.formItem.init([])
this.$refs.dataForm.clearValidate()
})
}
},
submitForm() {
this.$refs.dataForm.validate((valid) => {
if (valid) {
const params = {
...this.dataForm,
auditStatus: 1,
greenCenter: this.dataForm.greenCenter.join()
}
const hospital = this.hospitalList.find(i => i.hospitalCode === this.dataForm.hospitalCode)
if (!hospital) {
this.$message.error('无效数据');
return
}
const { hospitalName } = hospital
params.hospitalName = hospitalName
const area = this.areaList.find(i => i.id === this.dataForm.area)
if (!area) {
this.$message.error('无效数据');
return
}
const { name } = area
params.areaName = name
params.extendValueDtoList = this.$refs.formItem.getDataForm()
saveOrUpdateEmergencyGreenway(params).then(res => {
if (res.msg === 201) {
this.dialogVisible = false
this.$message.success('保存成功')
this.$emit('subsucc')
} else {
this.$message.error(res.content)
}
})
}
})
},
closedHandler() {
this.$refs.dataForm.resetFields()
}
}
}
</script>
<style>
</style>
\ No newline at end of file
<template>
<div>
绿道
<div class="main-page">
<div class="main-page-header">
<p class="title">急救绿道资源</p>
<el-form
:inline="true"
:model="searchForm"
ref="searchForm"
size="small"
>
<el-form-item
prop="hospitalCode"
label="医院名称"
>
<el-select
v-model="searchForm.hospitalCode"
placeholder="请选择医院"
style="width: 100%"
:clearable="true"
>
<el-option
v-for="item in hospitalList"
:label="item.hospitalName"
:key="item.id"
:value="item.hospitalCode"
/>
</el-select>
</el-form-item>
<el-form-item
prop="greenType"
label="绿色通道"
>
<el-radio-group v-model="searchForm.greenType">
<el-radio label="">全部</el-radio>
<el-radio label="1">胸痛中心</el-radio>
<el-radio label="2">卒中中心</el-radio>
<el-radio label="3">创伤中心</el-radio>
<el-radio label="3">烧伤中心</el-radio>
</el-radio-group>
</el-form-item>
<div class="btns">
<el-button
type="primary"
size="small"
@click="search"
>查询</el-button>
<el-button
size="small"
@click="resetForm('searchForm')"
>重置</el-button>
</div>
</el-form>
</div>
<div class="main-page-body">
<div class="mainContent">
<div class="bt">
<el-button
type="primary"
size="small"
@click="showSaveDialog()"
>新增</el-button>
</div>
<table-mixin
:pageSize="pageSize"
:pageNum="pageNum"
:total="total"
:pagination="pagination"
:handleSizeChange="handleSizeChange"
:handleCurrentChange="handleCurrentChange"
>
<el-table
v-loading="tableData.loading"
:data="tableData.body"
@sort-change="handleSortChange"
>
<div
slot="empty"
class="noData"
></div>
<el-table-column
label="序号"
type="index"
width="50"
>
</el-table-column>
<el-table-column
v-for="(item,index) in tableData.head"
:prop="item.key"
:label="item.name"
align="left"
:formatter="item.formatter"
:sortable="item.sortable"
:fixed="item.fixed"
:key="index"
:width="item.width"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
label="操作"
align="left"
width="auto"
min-width="200px"
>
<template slot-scope="scope">
<el-link
type="primary"
@click="showSaveDialog('update', scope.row.id)"
>修改</el-link>
<el-link
type="primary"
@click="delHandler(scope.row.id)"
>删除</el-link>
<el-link
type="primary"
v-if="scope.row.auditStatus === 1"
@click="auditHandler(scope.row.id)"
>审核</el-link>
</template>
</el-table-column>
</el-table>
</table-mixin>
<SaveDialog
ref="saveDialog"
@subsucc="search"
/>
</div>
</div>
</div>
</template>
<script>
import { tableDataMixin } from '../../common/js/mixin'
import { queryEmergencyHospitalList } from '@/api/common'
import { queryEmergencyGreenwayPageList, saveOrUpdateEmergencyGreenway, deleteEmergencyGreenway } from '@/api/greenWay'
import SaveDialog from './components/saveDialog.vue'
export default {
name: 'expertPage',
mixins: [tableDataMixin],
components: {
SaveDialog
},
data() {
return {
searchForm: {
hospitalCode: '',
greenType: ''
},
hospitalList: [],
tableData: {
loading: false,
head: [
{
name: '医院名称',
key: 'hospitalName',
sortable: false,
width: '200',
fixed: false
},
{
name: '医院级别',
key: 'hospitalStepStr',
sortable: false,
width: '100',
fixed: false
},
{
name: '医院等次',
key: 'hospitalGrade',
sortable: false,
width: '100',
fixed: false
},
{
name: '所在辖区',
key: 'areaName',
sortable: false,
width: '150',
fixed: false
},
{
name: '绿道建设',
key: 'greenCenterStr',
sortable: false,
width: '300',
fixed: false
},
{
name: '是否信息化',
key: 'greenInforConstructionStr',
sortable: false,
width: '80',
fixed: false
},
{
name: '审核状态',
key: 'auditStatusStr',
sortable: false,
width: '100',
fixed: false
}
],
body: [],
option: [],
condition: []
}
}
},
mounted() {
//获取可选择的医院
queryEmergencyHospitalList().then(res => {
this.hospitalList = res.respData
})
this.search()
},
methods: {
getTableData() {
this.tableData.loading = true
const params = {
...this.searchForm,
pageNo: this.pageNum,
pageSize: this.pageSize
}
queryEmergencyGreenwayPageList(params).then((res) => {
if (res.msg == 201) {
this.dealTableResponse(res)
} else {
this.$message.error(res.content)
}
})
},
showSaveDialog(type = 'add', id = '') {
this.$refs.saveDialog.init(type, id)
},
auditHandler(id) {
this.$confirm('是否审批通过?', '提示', {
confirmButtonText: '通过',
cancelButtonText: '拒绝',
distinguishCancelAndClose: true,
type: 'warning'
}).then(() => {
this.auditData(id, 2)
}).catch(action => {
if (action === 'cancel') {
this.auditData(id, 3)
}
})
},
auditData(id, auditStatus) {
saveOrUpdateEmergencyGreenway({ id: id, auditStatus: auditStatus }).then(res => {
if (res.msg === 201) {
this.$message.success('操作成功!')
} else {
this.$message.error(res.content)
}
this.search()
})
},
isDutyFormatter(row, column, cellValue, index) {
const list = ['', '是', '否']
return list[cellValue] || ''
},
delHandler(id) {
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteEmergencyGreenway({ id: id }).then(res => {
if (res.msg === 201) {
this.$message.success('删除成功!')
} else {
this.$message.error(res.content)
}
this.search()
})
})
}
}
}
</script>
<style>
</style>
\ No newline at end of file
<style lang="scss" scoped>
.mainContent {
padding: 20px;
.bt {
text-align: right;
margin-bottom: 16px;
}
}
</style>
......@@ -186,7 +186,8 @@ export default {
this.$refs.dataForm.validate((valid) => {
if (valid) {
const params = {
...this.dataForm
...this.dataForm,
auditStatus: 1
}
const hospital = this.hospitalList.find(i => i.hospitalCode === this.dataForm.hospitalCode)
if (!hospital) {
......@@ -201,8 +202,8 @@ export default {
this.$message.error('无效数据');
return
}
const { areaName } = area
params.areaName = areaName
const { name } = area
params.areaName = name
saveOrUpdateEmergencySite(params).then(res => {
if (res.msg === 201) {
......
......@@ -10,16 +10,16 @@ const timeOut = 1000 * 60 * 15
// 静态字典
const dist = {
hospital_grade: [
{ name: '未分级', val: 1 },
{ name: '一级', val: 2 },
{ name: '二级', val: 3 },
{ name: '三级', val: 4 }
{ name: '一级', val: 1, id: 1 },
{ name: '二级', val: 2, id: 2 },
{ name: '三级', val: 3, id: 3 },
{ name: '未分级', val: 4, id: 4 },
],
hospital_class: [
{ name: '甲等', val: 1 },
{ name: '已等', val: 2 },
{ name: '丙等', val: 3 },
{ name: '未评定', val: 4 }
{ name: '甲等', val: 1, id: 1 },
{ name: '已等', val: 2, id: 2 },
{ name: '丙等', val: 3, id: 3 },
{ name: '未评定', val: 4, id: 4 }
]
}
......
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