Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
shidongli 2024-04-07 14:52:12 +08:00
commit bdb0a7cc3b
7 changed files with 516 additions and 152 deletions

View File

@ -6,4 +6,54 @@ export function specialDiseaseRoute(id) {
url: `/system/specialDiseaseRoute/${id}`,
method: 'get',
})
}
//查询主路径详情
export function selectSpecialDisease(id) {
return request({
url: `/system/specialDiseaseNode/selectSpecialDisease?specialDiseaseRouteId=${id}`,
method: 'get'
})
}
//查询触发条件详情
export function triggerCondition(id) {
return request({
url: `/system/triggerCondition/${id}`,
method: 'get'
})
}
//修改保存触发条件
export function triggerConditionedit(data) {
return request({
url: `/system/triggerCondition/edit`,
method: 'put',
data
})
}
//删除修改触发条件id
export function triggerConditiondel(ids) {
return request({
url: `/system/triggerCondition/${ids}`,
method: 'delete'
})
}
//删除主路径
export function specialDiseaseRoutedel(id) {
return request({
url: `/system/specialDiseaseRoute/${id}`,
method: 'delete'
})
}
//添加触发条件
export function triggerConditionadd(data) {
return request({
url: `/system/triggerCondition/add`,
method: 'post',
data
})
}

View File

@ -20,7 +20,7 @@ export function getSpecialDiseaseRoute(id) {
// 新增专病路径信息
export function addSpecialDiseaseRoute(data) {
return request({
url: '/system/specialDiseaseRoute',
url: '/system/specialDiseaseRoute/add',
method: 'post',
data: data
})
@ -29,7 +29,7 @@ export function addSpecialDiseaseRoute(data) {
// 修改专病路径信息
export function updateSpecialDiseaseRoute(data) {
return request({
url: '/system/specialDiseaseRoute',
url: '/system/specialDiseaseRoute/edit',
method: 'put',
data: data
})
@ -50,4 +50,19 @@ export function selectDiseaseCount(departmentName) {
})
}
//所属科室
export function getDepartmentList(query) {
return request({
url: '/system/department/getDepartmentList',
method: 'get',
params: query
})
}
//所属病区
export function getdiseaseList(query) {
return request({
url: '/system/departmentDisease/diseaseList',
method: 'get',
params: query
})
}

View File

@ -290,7 +290,6 @@
:visible.sync="open"
width="1000px"
append-to-body
v-if="open"
>
<el-form
ref="form"
@ -1422,8 +1421,8 @@ export default {
this.form.suitTaskTypeIds = response.data.suitTaskTypeIds
this.diseaseTypeName = response.data.diseaseTypeName
// this.form.agencyName = response.data.hospitalAgencyName
this.form.imgPath = response.data.materialsInfoList[0].materialsFilePath
this.querymaterial.materialsType = response.data.materialsInfoList[0].materialsType
this.form.imgPath = response.data.materialsInfoList[0]?.materialsFilePath
this.querymaterial.materialsType = response.data.materialsInfoList[0]?.materialsType
this.open = true;
this.title = "修改患者宣教信息";
});

View File

@ -5,31 +5,38 @@
<div>
触发条件
</div>
<el-select v-model="updata.suitRange" style="width: 120px;">
<el-option label="诊断" value="DIAGNOSIS" />
<el-option label="换药日期" value="DRESSING_CHANGE_DATE" />
<el-option label="治疗方式" value="TREATMENT_METHOD" />
<el-option label="手术名称" value="SURGICAL_NAME" />
<el-option label="药品名称" value="DRUG_NAME" />
</el-select>
<el-select v-model="updata.suitRange" style="width: 120px;">
<el-option label="包含" value="CONTAIN" />
<el-option label="不包含" value="NOT_CONTAIN" />
<el-option label="等于" value="EQUAL_TO" />
<el-option label="不等于" value="NOT_EQUAL_TO" />
</el-select>
<el-select v-model="updata.suitRange" style="width: 120px;">
<el-option label="在院" value="IN_THE_HOSPITAL" />
<el-option label="出院" value="DISCHARGE" />
<el-option label="门诊" value="OUTPATIENT_SERVICE" />
<el-option label="门诊+出院" value="OUTPATIENT_SERVICE_DISCHARGE" />
</el-select>
<el-input style="width: 300px;"></el-input>
<div class="nodes">
<div class="node" v-for="(item, index) in updata.triggerConditionList" :key="index"
:style="updata.triggerConditionList.length > 1 ? '' : 'margin:0'">
<el-select v-model="item.suitRange" style="width:120px">
<el-option label="诊断" value="DIAGNOSIS" />
<el-option label="换药日期" value="DRESSING_CHANGE_DATE" />
<el-option label="治疗方式" value="TREATMENT_METHOD" />
<el-option label="手术名称" value="SURGICAL_NAME" />
<el-option label="药品名称" value="DRUG_NAME" />
</el-select>
<el-select v-model="item.suitRange" style="width: 100px;">
<el-option label="包含" value="CONTAIN" />
<el-option label="不包含" value="NOT_CONTAIN" />
<el-option label="等于" value="EQUAL_TO" />
<el-option label="不等于" value="NOT_EQUAL_TO" />
</el-select>
<el-select v-model="item.suitRange" style="width: 120px;">
<el-option label="在院" value="IN_THE_HOSPITAL" />
<el-option label="出院" value="DISCHARGE" />
<el-option label="门诊" value="OUTPATIENT_SERVICE" />
<el-option label="门诊+出院" value="OUTPATIENT_SERVICE_DISCHARGE" />
</el-select>
<el-input v-model="item.text" style="width: 300px;"></el-input>
</div>
</div>
<!-- <el-button icon="el-icon-plus" style=" font-weight: 550; font-size: 12px;padding-left:6px" type="text"
@click="addtriggerCondition">添加属性</el-button> -->
<div class="select">
<span>
适用范围
</span>
<el-select v-model="updata.suitRange">
<el-select v-model="updata.suitRange" style="width: 180px;">
<el-option label="在院" value="IN_THE_HOSPITAL" />
<el-option label="出院" value="DISCHARGE" />
<el-option label="门诊" value="OUTPATIENT_SERVICE" />
@ -116,8 +123,7 @@
</el-form>
</div>
<div class="bottomform">
<wangeditor style="width:100%;" @on-nodeContent="onNodeContent" ref="wangeditor"
v-if="wangeditorshow" v-model="form.nodeContent" />
<wangeditor style="width:100%;" @on-nodeContent="onNodeContent" ref="wangeditor" />
<div class="card">
<div class="flex">
<div class="pushMethod">
@ -291,15 +297,20 @@ import miniProgram from '../components/miniProgram.vue'
import {
selectTaskTypeList, taskPartitionList, taskStatusDictList
} from '@/api/system/specialDiseaseNode'
import {
triggerCondition, triggerConditionedit
} from "@/api/system/editorialSpecialization";
export default {
components: { wangeditor, question, propaganda, message, officialAccount, miniProgram },
name: "specialDiseaseNode",
data() {
return {
wangeditorshow: false,
updata: {
suitRange: '',
routeName: '',
triggerConditionList: [
{
}
],
},
form: {
nodeContent: '',
@ -352,14 +363,13 @@ export default {
};
},
created() {
this.updata.suitRange = this.$route.query.suitRange
this.updata.routeName = this.$route.query.routeName
if (this.$route.query) {
this.updata.suitRange = this.$route.query.suitRange
triggerCondition(this.$route.query.id).then(res => { })
}
this.taskinfo();
this.wangeditorshow = true
},
beforeDestroy() {
this.wangeditorshow = false
},
beforeDestroy() { },
watch: {},
mounted() {
this.form = this.lists[0].list[0]
@ -390,7 +400,9 @@ export default {
//
TemporaryStorage() {
this.$refs.wangeditor.emit()
console.log(this.lists)
triggerConditionedit(this.lists).then(res => {
})
},
//
questionontemplate(item) {
@ -490,6 +502,9 @@ export default {
this.lists.splice(index, 1)
}
},
addtriggerCondition() {
this.updata.triggerConditionList.push({})
},
}
};
</script>
@ -499,6 +514,16 @@ export default {
text-align: right;
}
.nodes {
width: 660px;
display: flex;
flex-wrap: wrap;
.node {
margin-bottom: 10px;
}
}
.bottomform {
background-color: #f2f4f5;
margin-top: 10px;

View File

@ -4,8 +4,8 @@
<el-form-item label="编辑专病管理路径">
</el-form-item>
<el-form-item style="float: right;">
<el-button>保存</el-button>
<el-button type="primary">发布</el-button>
<el-button type="primary" @click="preserve">保存</el-button>
<!-- <el-button type="primary">发布</el-button> -->
</el-form-item>
</el-form>
<el-form ref="form" :inline="true" :model="form" label-width="80px" :rules="rules">
@ -22,12 +22,12 @@
</el-form-item>
<el-form-item style="float: right;">
<!-- <el-button type="primary" plain size="mini">AI生成触发条件</el-button> -->
<el-button type="primary" plain size="mini" @click="add">人工添加主路径</el-button>
<el-button type="primary" plain size="mini" @click="add">人工添加触发条件</el-button>
<!-- <el-button type="primary" plain size="mini" @click="add">人工添加主路径</el-button> -->
<el-button type="primary" plain size="mini" @click="goManageNodeInformation">人工添加触发条件</el-button>
</el-form-item>
</el-form>
<div class="list">
<div class="item" @click="edit">
<div class="list" v-if="list">
<div class="item" @click.stop="edit">
<div class="title">
<el-tag>主路径</el-tag>
<span>{{ list.routeName }}</span>
@ -47,26 +47,29 @@
</span>
</div>
<div>
<i class="el-icon-edit" @click="edit"></i>
<i class="el-icon-delete"></i>
<i class="el-icon-edit" @click.stop="edit"></i>
<i class="el-icon-delete" @click.stop="delspecialDiseaseRoute"></i>
</div>
</div>
<div class="item" v-for="item in list.triggerConditionList" :key="item.triggerConditionId"
@click="goManageNodeInformation(item)">
<div class="item" v-for="item in list.triggerConditionList" :key="item.triggerConditionId">
<!-- @click.stop="goManageNodeInformation(item)" -->
<div class="title">
<el-tag type="success">触发条件</el-tag>
<span>
{{ item.triggerConditionName == 'DIAGNOSIS' ? '诊断' : '' }}
{{ item.triggerConditionName == 'DRESSING_CHANGE_DATE' ? '换药日期' : '' }}
{{ item.triggerConditionName == 'TREATMENT_METHOD' ? '治疗方式' : '' }}
{{ item.triggerConditionName == 'SURGICAL_NAME' ? '手术名称' : '' }}
{{ item.triggerConditionName == 'DRUG_NAME' ? '药品名称' : '' }}
</span>
<span style="padding: 0;">
{{ item.triggerConditionOperator == 'CONTAIN' ? '包含' : '' }}
{{ item.triggerConditionOperator == 'NOT_CONTAIN' ? '不包含' : '' }}
{{ item.triggerConditionOperator == 'EQUAL_TO' ? '等于' : '' }}
{{ item.triggerConditionOperator == 'NOT_EQUAL_TO' ? '不等于' : '' }}
</span>
<span style="padding: 0;">
{{ item.triggerConditionName == 'DIAGNOSIS' ? '诊断' : '' }}
{{ item.triggerConditionName == 'DRESSING_CHANGE_DATE' ? '换药日期' : '' }}
{{ item.triggerConditionName == 'TREATMENT_METHOD' ? '治疗方式' : '' }}
{{ item.triggerConditionName == 'SURGICAL_NAME' ? '手术名称' : '' }}
{{ item.triggerConditionName == 'DRUG_NAME' ? '药品名称' : '' }}
{{ item.triggerConditionValue }}
</span>
</div>
<div class="progress">
@ -81,17 +84,93 @@
</span>
</div>
<div>
<i class="el-icon-edit" @click="goManageNodeInformation(item)"></i>
<!-- @click.stop="goManageNodeInformation" -->
<i class="el-icon-edit" @click="triggerConditionedit(item)"></i>
<i class="el-icon-delete"></i>
</div>
</div>
</div>
<!-- 添加触发条件 -->
<el-dialog title="添加触发条件" :visible.sync="open" width="800px" append-to-body>
<el-button type="primary" plain size="mini" @click="addtriggerCondition"
style="float: right;">添加触发条件</el-button>
<el-descriptions title="触发条件">
</el-descriptions>
<el-form ref="updata" :model="updata" :rules="rules" label-width="80px">
<div class="node" v-for="(item, index) in updata.triggerConditionList" :key="index"
:style="updata.triggerConditionList.length > 1 ? '' : 'margin:0'">
<div style="display: inline-block;margin-right:20px">触发条件{{ index + 1 }}</div>
<el-select v-model="item.triggerConditionName" style="width:120px">
<el-option label="诊断" value="DIAGNOSIS" />
<el-option label="换药日期" value="DRESSING_CHANGE_DATE" />
<el-option label="治疗方式" value="TREATMENT_METHOD" />
<el-option label="手术名称" value="SURGICAL_NAME" />
<el-option label="药品名称" value="DRUG_NAME" />
</el-select>
<el-select v-model="item.triggerConditionOperator" style="width: 100px;">
<el-option label="包含" value="CONTAIN" />
<el-option label="不包含" value="NOT_CONTAIN" />
<el-option label="等于" value="EQUAL_TO" />
<el-option label="不等于" value="NOT_EQUAL_TO" />
</el-select>
<!-- <el-select v-model="item.suitRange" style="width: 120px;">
<el-option label="在院" value="IN_THE_HOSPITAL" />
<el-option label="出院" value="DISCHARGE" />
<el-option label="门诊" value="OUTPATIENT_SERVICE" />
<el-option label="门诊+出院" value="OUTPATIENT_SERVICE_DISCHARGE" />
</el-select> -->
<el-input v-model="item.triggerConditionValue" style="width: 300px;"
placeholder="请输入触发条件"></el-input>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="upload"> </el-button>
<el-button @click="openfalse"> </el-button>
</div>
</el-dialog>
<!-- 修改触发条件 -->
<el-dialog title="修改触发条件" :visible.sync="editopen" width="800px" append-to-body>
<!-- <el-button type="primary" plain size="mini" @click="addtriggerCondition"
style="float: right;">添加触发条件</el-button> -->
<el-descriptions title="触发条件">
</el-descriptions>
<el-form ref="updataform" :model="updataform" :rules="rules" label-width="80px">
<el-select v-model="updataform.triggerConditionName" style="width:120px">
<el-option label="诊断" value="DIAGNOSIS" />
<el-option label="换药日期" value="DRESSING_CHANGE_DATE" />
<el-option label="治疗方式" value="TREATMENT_METHOD" />
<el-option label="手术名称" value="SURGICAL_NAME" />
<el-option label="药品名称" value="DRUG_NAME" />
</el-select>
<el-select v-model="updataform.triggerConditionOperator" style="width: 100px;">
<el-option label="包含" value="CONTAIN" />
<el-option label="不包含" value="NOT_CONTAIN" />
<el-option label="等于" value="EQUAL_TO" />
<el-option label="不等于" value="NOT_EQUAL_TO" />
</el-select>
<!-- <el-select v-model="updataform.suitRange" style="width: 120px;">
<el-option label="在院" value="IN_THE_HOSPITAL" />
<el-option label="出院" value="DISCHARGE" />
<el-option label="门诊" value="OUTPATIENT_SERVICE" />
<el-option label="门诊+出院" value="OUTPATIENT_SERVICE_DISCHARGE" />
</el-select> -->
<el-input v-model="updataform.triggerConditionValue" style="width: 300px;"
placeholder="请输入触发条件"></el-input>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="editupload"> </el-button>
<el-button @click="editopenfalse"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
specialDiseaseRoute
updateSpecialDiseaseRoute,
} from "@/api/system/specialDiseaseRoute";
import {
specialDiseaseRoute, selectSpecialDisease, triggerConditiondel, specialDiseaseRoutedel, triggerConditionadd, triggerCondition, triggerConditionedit
} from "@/api/system/editorialSpecialization";
export default {
name: "editorialSpecialization",
@ -100,7 +179,21 @@ export default {
form: {
version: '',
routeName: '',
id: '',
diseaseTypeName: '',
},
open: false,
updata: {
triggerConditionList: [{
routeId: '',
routeName: '',
triggerConditionName: '',
triggerConditionOperator: '',
triggerConditionValue: '',
}],
},
editopen: false,
updataform: {},
//
rules: {
routeName: [
@ -110,57 +203,164 @@ export default {
{ required: true, message: '不能为空', trigger: 'change' }
],
},
list: {},
list: undefined,
};
},
created() {
this.form.version = this.$route.query.version
this.form.routeName = this.$route.query.routeName
specialDiseaseRoute(this.$route.query.id).then(res => {
this.list = res.data
this.list.percentage = this.list.agreeNumber / this.list.totalNumber * 100
})
this.form.id = this.$route.query.id
this.form.diseaseTypeName = this.$route.query.diseaseTypeName
this.info();
},
watch: {
},
methods: {
edit() {
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
this.$router.push({
path: "/specialdisease/specialDiseaseNode",
query: {
routeName: this.list.routeName,
suitRange: this.list.suitRange
},
});
info() {
specialDiseaseRoute(this.$route.query.id).then(res => {
this.list = res.data
this.list.percentage = this.list.agreeNumber / this.list.totalNumber * 100
})
},
edit() {
this.$router.push({
path: "/specialdisease/specialDiseaseNode",
query: {
routeName: this.list.routeName,
suitRange: this.list.suitRange,
id: this.list.specialDiseaseRouteId
},
});
},
add() {
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
this.$router.push({
path: "/specialdisease/specialDiseaseNode",
query: {
routeName: this.list.routeName,
suitRange: this.list.suitRange
},
this.$router.push({
path: "/specialdisease/specialDiseaseNode",
query: {
routeName: this.list.routeName,
suitRange: this.list.suitRange,
id: this.list.specialDiseaseRouteId
},
});
},
goManageNodeInformation() {
this.open = true
// this.$router.push({
// path: "/specialdisease/ManageNodeInformation",
// query: {
// suitRange: this.list.suitRange
// },
// });
},
addtriggerCondition() {
this.updata.triggerConditionList.push({
routeId: '',
routeName: '',
triggerConditionName: '',
triggerConditionOperator: '',
triggerConditionValue: '',
})
},
editopenfalse() {
this.updataform = {}
this.editopen = false
this.resetForm("updataform");
},
editupload() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
triggerConditionedit(this.updataform).then(res => {
loading.close();
this.$notify({
type: 'success',
title: '提示',
message: '修改触发条件成功',
});
this.info();
this.editopenfalse();
})
},
openfalse() {
this.updata.triggerConditionList = [{
routeId: '',
routeName: '',
triggerConditionName: '',
triggerConditionOperator: '',
triggerConditionValue: '',
}]
this.open = false
this.resetForm("updata");
},
upload() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.updata.triggerConditionList.forEach(e => {
e.routeId = this.$route.query.id
e.routeName = this.$route.query.routeName
})
triggerConditionadd(this.updata).then(res => {
loading.close();
this.$notify({
type: 'success',
title: '提示',
message: '新增触发条件成功',
});
this.info();
this.openfalse();
})
},
//
preserve() {
this.$confirm('是否确认保存?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(() => {
updateSpecialDiseaseRoute(this.form).then(response => {
this.$notify({
type: 'success',
title: '提示',
message: '保存成功,即将返回上一页',
duration: 0
});
setTimeout(() => {
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
this.$router.push({
path: "/specialdisease/specialDiseaseRoute",
});
})
}, 3000);
});
})
},
goManageNodeInformation(item) {
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
this.$router.push({
path: "/specialdisease/ManageNodeInformation",
query: {
routeName: item.routeName,
suitRange: this.list.suitRange
},
});
//
triggerConditionedit(item) {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
triggerCondition(item.triggerConditionId).then(res => {
loading.close();
this.editopen = true
this.updataform = res.data
})
},
},
};
</script>
<style lang="scss" scoped>
.node {
margin-bottom: 10px;
}
.list {
width: 100%;
background-color: #F2F3F5;

View File

@ -97,8 +97,7 @@
</el-form>
</div>
<div class="bottomform">
<wangeditor style="width:100%;" @on-nodeContent="onNodeContent" ref="wangeditor"
v-if="wangeditorshow" v-model="form.nodeContent" />
<wangeditor style="width:100%;" @on-nodeContent="onNodeContent" ref="wangeditor" />
<div class="card">
<div class="flex">
<div class="pushMethod">
@ -272,12 +271,14 @@ import miniProgram from '../components/miniProgram.vue'
import {
selectTaskTypeList, taskPartitionList, taskStatusDictList
} from '@/api/system/specialDiseaseNode'
import {
selectSpecialDisease
} from "@/api/system/editorialSpecialization";
export default {
components: { wangeditor, question, propaganda, message, officialAccount, miniProgram },
name: "specialDiseaseNode",
data() {
return {
wangeditorshow: false,
updata: {
suitRange: '',
routeName: '',
@ -333,14 +334,15 @@ export default {
};
},
created() {
this.updata.suitRange = this.$route.query.suitRange
this.updata.routeName = this.$route.query.routeName
this.taskinfo();
this.wangeditorshow = true
},
beforeDestroy() {
this.wangeditorshow = false
if (this.$route.query) {
this.updata.suitRange = this.$route.query.suitRange
this.updata.routeName = this.$route.query.routeName
selectSpecialDisease(this.$route.query.id).then(res => {
})
}
},
beforeDestroy() { },
watch: {},
mounted() {
this.form = this.lists[0].list[0]

View File

@ -76,50 +76,50 @@
<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:specialDiseaseRoute: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:specialDiseaseRoute: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:specialDiseaseRoute: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:specialDiseaseRoute:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> -->
<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="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:specialDiseaseRoute: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:specialDiseaseRoute: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:specialDiseaseRoute:export']">导出</el-button>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="specialDiseaseRouteList" @selection-change="handleSelectionChange">
<el-table-column label="序号" type="index" width="55" align="center" />
<el-table-column label="路径名称" align="center" prop="routeName" />
<el-table-column label="版本号" align="center" prop="version" />
<el-table-column label="路径分类" align="center" prop="routeClassify">
<template slot-scope="scope">
{{ scope.row.routeClassify == 'ALL' ? '全部' : '' }}
{{ scope.row.routeClassify == 'DEPARTMENT_MANAGE_PATH' ? '科室管理路径' : '' }}
{{ scope.row.routeClassify == 'SPECIAL_DIEASE_MANAGE_PATH' ? '专病管理路径' : '' }}
</template>
</el-table-column>
<el-table-column label="发布状态" align="center" prop="releaseStatus">
<template slot-scope="scope">
{{ scope.row.releaseStatus == 'ALL' ? '全部' : '' }}
{{ scope.row.releaseStatus == 'PUBLISHED' ? '已发布' : '' }}
{{ scope.row.releaseStatus == 'UNPUBLISHED' ? '未发布' : '' }}
{{ scope.row.releaseStatus == 'PUBLISHED' ? '已发布' : '未发布' }}
<!-- {{ scope.row.releaseStatus == 'UNPUBLISHED' ? '未发布' : '' }} -->
</template>
</el-table-column>
<el-table-column label="更新时间" align="center" prop="updateTime" />
<!-- <el-table-column label="更新时间" align="center" prop="updateTime" /> -->
<el-table-column label="病种名称" align="center" prop="diseaseTypeName" />
<!-- <el-table-column
label="适用范围在院IN_THE_HOSPITAL出院DISCHARGE门诊OUTPATIENT_SERVICE门诊+出院OUTPATIENT_SERVICE_DISCHARGE"
align="center" prop="suitRange" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" v-if="scope.row.releaseStatus == 'PUBLISHED'"
@click="norelease(scope.row)">取消发布</el-button>
<el-button size="mini" type="text" v-else @click="release(scope.row)">发布</el-button>
<el-button size="mini" type="text">复制</el-button>
<el-button size="mini" type="text" @click="handleUpdate(scope.row)"
v-hasPermi="['system:specialDiseaseRoute:edit']">编辑</el-button>
@ -135,37 +135,36 @@
<!-- 添加或修改专病路径信息对话框 -->
<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="所属科室id" prop="departmentId">
<el-input v-model="form.departmentId" placeholder="请输入所属科室id" />
<el-form-item label="所属科室" prop="departmentId">
<el-select v-model="form.departmentId" placeholder="请选择所属科室" style="width:380px">
<el-option v-for="item in adddepartmentlist" :key="item.id" :label="item.departmentName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="所属科室名称" prop="departmentName">
<el-input v-model="form.departmentName" placeholder="请输入所属科室名称" />
</el-form-item>
<el-form-item label="病种id" prop="diseaseTypeId">
<el-input v-model="form.diseaseTypeId" placeholder="请输入病种id" />
</el-form-item>
<el-form-item label="病种名称" prop="diseaseTypeName">
<el-input v-model="form.diseaseTypeName" placeholder="请输入病种名称" />
<el-form-item label="所属病种" prop="diseaseTypeId">
<el-select v-model="form.diseaseTypeId" placeholder="请选择所属科室" style="width:380px">
<el-option v-for="item in adddiseaselist" :key="item.id" :label="item.diseaseTypeName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="路径名称" prop="routeName">
<el-input v-model="form.routeName" placeholder="请输入路径名称" />
</el-form-item>
<el-form-item label="路径编码" prop="routeCode">
<el-input v-model="form.routeCode" placeholder="请输入路径编码" />
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号" />
</el-form-item>
<el-form-item label="路径分类全部ALL科室管理路径DEPARTMENT_MANAGE_PATH专病管理路径SPECIAL_DIEASE_MANAGE_PATH"
prop="routeClassify">
<el-input v-model="form.routeClassify"
placeholder="请输入路径分类全部ALL科室管理路径DEPARTMENT_MANAGE_PATH专病管理路径SPECIAL_DIEASE_MANAGE_PATH" />
<el-form-item label="路径分类" prop="routeClassify">
<el-select v-model="form.routeClassify" placeholder="请选择路径分类" style="width:380px">
<el-option label="全部" value="ALL" />
<el-option label="科室管理路径" value="DEPARTMENT_MANAGE_PATH" />
<el-option label="专病管理路径" value="SPECIAL_DIEASE_MANAGE_PATH" />
</el-select>
</el-form-item>
<el-form-item
label="适用范围在院IN_THE_HOSPITAL出院DISCHARGE门诊OUTPATIENT_SERVICE门诊+出院OUTPATIENT_SERVICE_DISCHARGE"
prop="suitRange">
<el-input v-model="form.suitRange"
placeholder="请输入适用范围在院IN_THE_HOSPITAL出院DISCHARGE门诊OUTPATIENT_SERVICE门诊+出院OUTPATIENT_SERVICE_DISCHARGE" />
<el-form-item label="适用范围" prop="suitRange">
<el-select v-model="form.suitRange" placeholder="请选择适用范围" style="width:380px">
<el-option label="在院" value="IN_THE_HOSPITAL" />
<el-option label="出院" value="DISCHARGE" />
<el-option label="门诊" value="OUTPATIENT_SERVICE" />
<el-option label="门诊+出院" value="OUTPATIENT_SERVICE_DISCHARGE" />
</el-select>
</el-form-item>
<el-form-item label="排序" prop="routeSort">
<el-input v-model="form.routeSort" placeholder="请输入排序" />
@ -185,7 +184,7 @@
<script>
import {
listSpecialDiseaseRoute, getSpecialDiseaseRoute, delSpecialDiseaseRoute, addSpecialDiseaseRoute, updateSpecialDiseaseRoute,
selectDiseaseCount
selectDiseaseCount, getDepartmentList, getdiseaseList
} from "@/api/system/specialDiseaseRoute";
export default {
name: "SpecialDiseaseRoute",
@ -231,16 +230,39 @@ export default {
//
rules: {
departmentId: [
{ required: true, message: "所属科室id不能为空", trigger: "blur" }
{ required: true, message: "所属科室不能为空", trigger: "blur" }
],
diseaseTypeId: [
{ required: true, message: "所属病种不能为空", trigger: "blur" }
],
routeName: [
{ required: true, message: "路径名称不能为空", trigger: "blur" }
],
version: [
{ required: true, message: "版本号不能为空", trigger: "blur" }
],
routeClassify: [
{ required: true, message: "路径分类不能为空", trigger: "blur" }
],
suitRange: [
{ required: true, message: "适用范围不能为空", trigger: "blur" }
],
routeSort: [
{ required: true, message: "排序不能为空", trigger: "blur" }
],
routeRemark: [
{ required: true, message: "备注信息不能为空", trigger: "blur" }
],
},
DepartmentoList: [],
departmentName: '',
adddepartmentlist: [],
adddiseaselist: [],
};
},
created() {
this.getList();
this.infolists();
this.addinfo();
},
watch: {
departmentName(val) {
@ -248,6 +270,14 @@ export default {
},
},
methods: {
addinfo() {
getDepartmentList().then(res => {
this.adddepartmentlist = res.data
})
getdiseaseList().then(res => {
this.adddiseaselist = res.data
})
},
clickDepartmenitem(item) {
this.loading = true;
this.queryParams.departmentId = item.id;
@ -267,6 +297,7 @@ export default {
this.total = response.total;
this.loading = false;
});
this.infolists();
},
//
cancel() {
@ -285,7 +316,7 @@ export default {
routeCode: null,
version: null,
routeClassify: null,
releaseStatus: "0",
releaseStatus: "UNPUBLISHED",
suitRange: null,
routeSort: null,
routeRemark: null,
@ -338,10 +369,15 @@ export default {
}
});
})
},
/** 提交按钮 */
submitForm() {
if (this.form.departmentId && this.adddepartmentlist.length > 0) {
this.form.departmentName = this.adddepartmentlist.find(e => e.id == this.form.departmentId).departmentName
}
if (this.form.diseaseTypeId && this.adddiseaselist.length > 0) {
this.form.diseaseTypeName = this.adddiseaselist.find(e => e.id == this.form.diseaseTypeId).diseaseTypeName
}
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
@ -360,15 +396,52 @@ export default {
}
});
},
//
release(item) {
this.$confirm('是否发布此路径?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(() => {
var obj = { ...item }
obj.releaseStatus = 'PUBLISHED'
updateSpecialDiseaseRoute(obj).then(response => {
this.$message({
type: 'success',
message: '发布成功!'
});
this.getList();
});
})
},
//
norelease(item) {
this.$confirm('是否取消发布此路径?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(() => {
var obj = { ...item }
obj.releaseStatus = 'UNPUBLISHED'
updateSpecialDiseaseRoute(obj).then(response => {
this.$message({
type: 'success',
message: '取消发布成功!'
});
this.getList();
});
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除专病路径信息编号为"' + ids + '"的数据项?').then(function () {
return delSpecialDiseaseRoute(ids);
//
this.$confirm('此操作会删除主路径, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
specialDiseaseRoutedel(row.id).then(res => {
this.getList();
this.$modal.msgSuccess("删除主路径成功");
})
})
},
/** 导出按钮操作 */
handleExport() {