Commit e31aa91c by 唐玉峰

.

parent 2633b547
......@@ -330,7 +330,26 @@
<span v-else>{{ scope.row.remark }}</span>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip property="specimen_id" label="标本" width="130">
<template #default="scope">
<template v-if="scope.row.ischeck == 1 && scope.row.orderType">
<el-form-item :prop="`tableList.${scope.row.customIndex}.specimen_id`" :rules="[{ required: false, message: '请选择' }]">
<template #label> <span></span></template>
<el-select
size="mini"
filterable
remote
:filter-method="remoteMethodspecimen"
v-model="scope.row.specimen_id"
:disabled="!scope.row.isAdd"
>
<el-option v-for="item in specimenList" :key="item.id" :label="item.describe" :value="item.describe"> </el-option>
</el-select>
</el-form-item>
</template>
<span v-else>{{ scope.row.specimen_id }}</span>
</template>
</el-table-column>
<el-table-column prop="description" label="诊断" width="150">
<template #default="scope">
<el-form-item
......@@ -530,6 +549,8 @@ export default {
medicUsePlanoptions: [], //频率
medicUsePlanoptionsList: [],
medicalPurposeoptions: [], //用药目的
specimenList: [],
specimenListoptions: [],
radio: 1,
newtable1: [],
newtable2: [],
......@@ -545,6 +566,7 @@ export default {
gridData: [],
query: "",
query1: "",
query2: "",
currentRow: null,
deptName: "",
deptNames: [],
......@@ -558,6 +580,7 @@ export default {
this.gemedicUseModeoptions();
this.gemedicUsePlanoptions();
this.getmedicalPurposeoptions();
this.getspecimenList();
},
watch: {
query() {
......@@ -582,6 +605,17 @@ export default {
this.medicUsePlanoptions = this.medicUsePlanoptionsList;
}
},
query2() {
if (this.query2 !== "") {
this.specimenList = this.specimenListoptions.filter((item) => {
return (
item.describe.toLowerCase().indexOf(this.query2.toLowerCase()) > -1 || item.pinyin.toLowerCase().indexOf(this.query2.toLowerCase()) > -1
);
});
} else {
this.specimenList = this.specimenListoptions;
}
},
},
methods: {
setIndex(data) {
......@@ -694,6 +728,7 @@ export default {
orderType: r.orderType,
medicalPurpose: r.medicalPurpose,
price: null,
specimen_id: null,
type: r.type,
sort: cout + 1,
isedit: false,
......@@ -784,7 +819,7 @@ export default {
item.medicUseUnit = row.medicUseUnit;
// item.medicUseMode = row.medicUseMode;
// item.medicUsePlan = row.medicUsePlan;
// item.dropNumber = row.dropNumber;
item.specimen_id = row.specimen_id;
item.medicUnit = row.medicUnit;
item.remark = row.remark;
item.symptom = row.symptom;
......@@ -931,6 +966,16 @@ export default {
this.medicUseModeoptions = this.medicUseModeoptionsLise;
}
},
remoteMethodspecimen(query) {
this.query2 = query;
if (query !== "") {
this.specimenList = this.specimenList.filter((item) => {
return item.describe.toLowerCase().indexOf(query.toLowerCase()) > -1 || item.pinyin.toLowerCase().indexOf(query.toLowerCase()) > -1;
});
} else {
this.specimenList = this.specimenListoptions;
}
},
//获取频率,频率的下拉数据
gemedicUsePlanoptions() {
http.post(`/ClinicalRoute/ClinicalRoute/GetStaCRParametersByType?type=2`, {})
......@@ -948,6 +993,14 @@ export default {
})
.catch((error) => {});
},
getspecimenList() {
http.post(`/ClinicalRoute/ClinicalRoute/GetStaCRParametersByType?type=6`, {})
.then((data) => {
this.specimenList = data;
this.specimenListoptions = data;
})
.catch((error) => {});
},
//获取患者信息
gettopdata() {
......
......@@ -144,7 +144,7 @@
{{ scope.row.proportion != undefined ? decimal(scope.row.proportion) + "%" : "" }}
</template>
</el-table-column>
<el-table-column prop="coreTotalFee" label="预计DIP设定费用(参考)" header-align="center" align="right">
<!-- <el-table-column prop="coreTotalFee" label="预计DIP设定费用(参考)" header-align="center" align="right">
<template slot-scope="scope">
{{ decimal(scope.row.coreTotalFee) }}
</template>
......@@ -153,7 +153,7 @@
<template slot-scope="scope">
{{ scope.row.coreProportion != undefined ? decimal(scope.row.coreProportion) + "%" : "" }}
</template>
</el-table-column>
</el-table-column> -->
</el-table>
</div>
<!-- 中间有数据样式 表格-->
......
......@@ -20,10 +20,10 @@
<div class="outClinicalpathway_top_coent_left_one_t1">
患者姓名:<span>{{ topdata.patientName }}</span>
</div>
<div class="outClinicalpathway_top_coent_left_one_t1">
<div class="outClinicalpathway_top_coent_left_one_t5">
年龄:<span>{{ topdata.age }}</span>
</div>
<div class="outClinicalpathway_top_coent_left_one_t1">
<div class="outClinicalpathway_top_coent_left_one_t6">
住院天数:<span>{{ topdata.inHosDay }}</span>
</div>
<div class="outClinicalpathway_top_coent_left_one_t2">
......@@ -39,15 +39,22 @@
</div>
<div class="outClinicalpathway_top_coent_right">
<div class="outClinicalpathway_top_coent_right_btn">
<el-button icon="el-icon-refresh" style="background-color: #0283bb; color: #ffff" @click="init()">刷新</el-button>
<el-button icon="el-icon-user" style="background-color: #0283bb; color: #ffff" @click="joinorder()">保存医嘱</el-button>
<el-button icon="el-icon-s-tools" style="background-color: #0283bb; color: #ffff" @click="variation()">病情变异</el-button>
<el-button icon="el-icon-refresh" size="mini" style="background-color: #0283bb; color: #ffff" @click="init()">刷新</el-button>
<el-button icon="el-icon-user" size="mini" style="background-color: #0283bb; color: #ffff" @click="joinorder()">保存医嘱</el-button>
<el-button icon="el-icon-s-tools" size="mini" style="background-color: #0283bb; color: #ffff" @click="variation()">病情变异</el-button>
</div>
</div>
</div>
<div class="outClinicalpathway_top_time">
<div>
<span style="font-size: 14px; color: #666">药房类别:</span>
<el-select v-model="deptName" style="width: 150px" placeholder="请选择" size="mini" @change="sele">
<el-option v-for="item in deptNames" :key="item" :label="item" :value="item" />
</el-select>
</div>
<el-timeline style="display: flex; padding: 0 10px">
<el-timeline-item
style="cursor: pointer"
:class="timeindex == activity.inhosdays ? 'outClinicalpathway_top_time_timespan' : 'outClinicalpathway_top_time_timespan2'"
v-for="(activity, index) in activities"
:key="index"
......@@ -58,9 +65,9 @@
:timestamp="activity.timestamp"
>
<el-tooltip class="item" effect="dark" :content="activity.inhosdays" placement="top-start" v-if="activity.inhosdays.length > 7">
<span @click="timeclick(activity)">{{ activity.inhosdays }}</span>
<span @click.stop="timeclick(activity)">{{ activity.inhosdays }}</span>
</el-tooltip>
<span v-else @click="timeclick(activity)">{{ activity.inhosdays }}</span>
<span v-else @click.stop="timeclick(activity)">{{ activity.inhosdays }}</span>
</el-timeline-item>
</el-timeline>
</div>
......@@ -79,9 +86,9 @@
<el-form :model="formData" label-width="15px" label-position="left" ref="formData" class="formData">
<el-table
ref="multipleTable"
row-key="id"
row-key="uidd"
:data="formData.tableList"
height="92%"
height="100%"
style="width: 100%"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
:select-on-indeterminate="true"
......@@ -93,14 +100,12 @@
:row-class-name="rowClass"
>
<el-table-column type="selection" :selectable="selectEnable" width="50" />
<el-table-column show-overflow-tooltip property="advice_name" label="路径名称" width="130" />
<el-table-column show-overflow-tooltip property="tickTime" label="当前时间" width="300">
<el-table-column show-overflow-tooltip property="advice_name" label="路径名称" width="120" />
<!-- <el-table-column show-overflow-tooltip property="tickTime" label="当前时间" width="145">
<template #default="scope">
<!-- <span v-if="scope.row.ischeck == 1 && scope.row.orderType">{{ scope.row.tickTime }}</span> -->
<!-- <span>{{ getPropPosi(scope.row) }}</span> -->
<span>{{ `tableList.${scope.row.customIndex}` }}</span>
<span v-if="scope.row.ischeck == 1 && scope.row.orderType">{{ scope.row.tickTime }}</span>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column show-overflow-tooltip property="isSkin" label="是否皮试" width="110">
<template #default="scope">
<template v-if="scope.row.orderType == '药疗' && scope.row.isnew">
......@@ -133,7 +138,7 @@
<div v-else>{{ scope.row.orderType }}</div>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip property="project_name" label="医院项目名称" width="200">
<el-table-column show-overflow-tooltip property="project_name" label="医院项目名称" width="180">
<template #default="scope">
<template v-if="scope.row.ischeck == 1 && scope.row.isnew && scope.row.orderType">
<el-popover placement="bottom-start" width="1000" height="400" trigger="focus" v-model="scope.row.isPop">
......@@ -165,9 +170,10 @@
<el-table-column show-overflow-tooltip width="110" property="price" label="单价" />
</el-table>
<el-input
size="mini"
slot="reference"
placeholder="请输入"
v-model="scope.row.project_name"
v-model.trim="scope.row.project_name"
@focus="onfocus(scope.row, $event)"
@input="onInput(scope.row, $event)"
></el-input>
......@@ -180,7 +186,14 @@
<el-table-column show-overflow-tooltip property="specifications" label="规格说明" width="80" />
<el-table-column show-overflow-tooltip property="price" label="单价" width="80" />
<el-table-column show-overflow-tooltip property="dosage" label="药品剂型" width="70" />
<el-table-column show-overflow-tooltip property="isAntibiotic" label="抗生素" width="60"> </el-table-column>
<el-table-column show-overflow-tooltip property="isAntibiotic" label="抗生素" width="60">
<!-- <template #default="scope">
<el-select v-if="scope.row.ischeck == 1 && scope.row.orderType" size="mini" v-model="scope.row.isAntibiotic">
<el-option v-for="item in chargeTypeoptions" :key="item.label" :label="item.label" :value="item.label"> </el-option>
</el-select>
<span v-else>{{ scope.row.isAntibiotic }}</span>
</template> -->
</el-table-column>
<el-table-column show-overflow-tooltip property="medicalPurpose" label="用药目的" width="135">
<template #default="scope">
<template v-if="scope.row.ischeck == 1 && scope.row.orderType">
......@@ -216,13 +229,18 @@
:rules="[{ required: scope.row.orderType == '药疗' && scope.row.isSkin != 1 ? true : false, message: '请填写' }]"
>
<template #label> <span></span></template>
<el-input v-model="scope.row.medicUseQuantity" @input="tbChange(scope.row)" size="mini" placeholder="请输入"></el-input>
<el-input
v-model.trim="scope.row.medicUseQuantity"
@input="tbChange(scope.row)"
size="mini"
placeholder="请输入"
></el-input>
</el-form-item>
</template>
<span v-else>{{ scope.row.medicUseQuantity || "" }}</span>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip property="medicUseUnit" label="单位" width="50" />
<el-table-column show-overflow-tooltip property="medicUseUnit" label="单位" width="80" />
<el-table-column show-overflow-tooltip property="medicUseMode" label="途径" width="120">
<template #default="scope">
<template v-if="scope.row.ischeck == 1 && scope.row.orderType">
......@@ -278,7 +296,7 @@
<el-input
placeholder="请输入"
v-if="scope.row.ischeck == 1 && scope.row.orderType"
v-model="scope.row.dropNumber"
v-model.trim="scope.row.dropNumber"
:disabled="!scope.row.isAdd"
size="mini"
@input="tbChange(scope.row)"
......@@ -291,7 +309,7 @@
<el-input
placeholder="请输入"
v-if="scope.row.ischeck == 1 && scope.row.orderType"
v-model="scope.row.medicQuantity"
v-model.trim="scope.row.medicQuantity"
@input="medicQuantityChange(scope.row)"
size="mini"
></el-input>
......@@ -303,7 +321,7 @@
<template #default="scope">
<el-input
v-if="scope.row.ischeck == 1 && scope.row.orderType"
v-model="scope.row.remark"
v-model.trim="scope.row.remark"
size="mini"
type="textarea"
:autosize="{ minRows: 2 }"
......@@ -312,16 +330,37 @@
<span v-else>{{ scope.row.remark }}</span>
</template>
</el-table-column>
<el-table-column prop="description" label="诊断描述" width="150">
<el-table-column show-overflow-tooltip property="specimen_id" label="标本" width="130">
<template #default="scope">
<template v-if="scope.row.ischeck == 1 && scope.row.orderType">
<el-form-item :prop="`tableList.${scope.row.customIndex}.specimen_id`" :rules="[{ required: false, message: '请选择' }]">
<template #label> <span></span></template>
<el-select
size="mini"
filterable
remote
:filter-method="remoteMethodspecimen"
v-model="scope.row.specimen_id"
:disabled="!scope.row.isAdd"
>
<el-option v-for="item in specimenList" :key="item.id" :label="item.describe" :value="item.describe"> </el-option>
</el-select>
</el-form-item>
</template>
<span v-else>{{ scope.row.specimen_id }}</span>
</template>
</el-table-column>
<el-table-column prop="description" label="诊断" width="150">
<template #default="scope">
<el-form-item
:prop="`tableList.${scope.row.customIndex}.description`"
v-if="scope.row.ischeck == 1 && scope.row.type == 2 && scope.row.isedit && scope.row.orderType"
:rules="[{ required: scope.row.orderType == '检查' ? true : false, message: '请输入内容' }]"
v-if="scope.row.ischeck == 1 && scope.row.type != 1 && scope.row.isedit && scope.row.orderType"
>
<template #label> <span></span></template>
<el-input
v-model="scope.row.description"
size="mini"
v-model.trim="scope.row.description"
autocomplete="off"
placeholder="请输入内容"
type="textarea"
......@@ -334,12 +373,13 @@
<template #default="scope">
<el-form-item
:prop="`tableList.${scope.row.customIndex}.symptom`"
v-if="scope.row.ischeck == 1 && scope.row.type == 2 && scope.row.isedit && scope.row.orderType"
:rules="[{ required: scope.row.orderType == '检查' ? true : false, message: '请输入内容' }]"
v-if="scope.row.ischeck == 1 && scope.row.type != 1 && scope.row.isedit && scope.row.orderType"
>
<template #label> <span></span></template>
<el-input
v-model="scope.row.symptom"
size="mini"
v-model.trim="scope.row.symptom"
autocomplete="off"
placeholder="请输入内容"
type="textarea"
......@@ -350,7 +390,11 @@
</el-table-column>
<el-table-column show-overflow-tooltip property="emergency" label="急诊" width="85">
<template #default="scope">
<el-select v-if="scope.row.ischeck == 1 && scope.row.isedit && scope.row.orderType" size="mini" v-model="scope.row.emergency">
<el-select
v-if="scope.row.ischeck == 1 && scope.row.type != 1 && scope.row.isedit && scope.row.orderType"
size="mini"
v-model="scope.row.emergency"
>
<el-option v-for="item in chargeTypeoptions" :key="item.label" :label="item.label" :value="item.value"> </el-option>
</el-select>
<!-- <span v-else>{{ isObj[scope.row.emergency] }}</span> -->
......@@ -359,7 +403,7 @@
<el-table-column label="操作" width="80">
<template #default="scope">
<el-button
v-if="scope.row.ischeck == 1 && scope.row.type != 1 && scope.row.isedit && scope.row.orderType"
v-if="scope.row.ischeck == 1 && scope.row.type == 2 && scope.row.isedit && scope.row.orderType"
size="mini"
type="primary"
@click="goSeeScore(scope.row, scope.$index, scope)"
......@@ -398,7 +442,6 @@
</template>
</el-dialog>
<!-- 更多弹框结束 -->
<!--病情变异弹框开始 -->
<el-dialog :visible.sync="editdialogFormVisible" width="30%" @close="close">
<el-form ref="fromRef" :model="form" :label-position="labelPosition" label-width="100px">
......@@ -433,7 +476,6 @@ import http from "../utils/http";
import { Message, MessageBox } from "element-ui";
import _ from "lodash";
import { transformTimestampnow } from "../utils/formatTime";
export default {
name: "outClinicalpathway",
data() {
......@@ -507,10 +549,12 @@ export default {
medicUsePlanoptions: [], //频率
medicUsePlanoptionsList: [],
medicalPurposeoptions: [], //用药目的
specimenList: [],
specimenListoptions: [],
radio: 1,
newtable1: [],
newtable2: [],
objtable: { route1: [], route2: [] },
objtable: { route1: [], route2: [], deptName: "" },
goSeeScoredialogFormVisible: false, //更多弹框
goSeeform: {},
oldRowObj: {},
......@@ -522,7 +566,11 @@ export default {
gridData: [],
query: "",
query1: "",
query2: "",
currentRow: null,
deptName: "",
deptNames: [],
keyword: "",
};
},
mounted() {
......@@ -532,6 +580,7 @@ export default {
this.gemedicUseModeoptions();
this.gemedicUsePlanoptions();
this.getmedicalPurposeoptions();
this.getspecimenList();
},
watch: {
query() {
......@@ -556,36 +605,32 @@ export default {
this.medicUsePlanoptions = this.medicUsePlanoptionsList;
}
},
},
methods: {
// :prop="'tableList.' + getPropPosi(scope.row) + '.isAntibiotic'"
// 获取prop位置
getPropPosi(row) {
let posi = this.findPosi(this.formData.tableList, row, "", "");
return posi;
},
// 递归查找位置
findPosi(list, row, posi, current) {
for (let i = 0; i < list.length; i++) {
if (list[i].id == row.id) {
return current + i;
}
if (list[i].children && list[i].children?.length) {
posi = this.findPosi(list[i].children || [], row, posi, i + posi + ".children.");
}
query2() {
if (this.query2 !== "") {
this.specimenList = this.specimenListoptions.filter((item) => {
return (
item.describe.toLowerCase().indexOf(this.query2.toLowerCase()) > -1 || item.pinyin.toLowerCase().indexOf(this.query2.toLowerCase()) > -1
);
});
} else {
this.specimenList = this.specimenListoptions;
}
return posi;
},
},
methods: {
setIndex(data) {
let queue = [...data];
if (queue.length > 0) {
[...queue].forEach((child, i) => {
child.customIndex = i;
child.uidd = this.$uuid();
if (child.children && child.children.length > 0) {
child.children.map((item, i) => {
item.uidd = this.$uuid();
item.customIndex = child.customIndex + ".children." + i;
if (item.children && item.children.length > 0) {
item.children.map((el, i) => {
el.uidd = this.$uuid();
el.customIndex = item.customIndex + ".children." + i;
});
}
......@@ -594,47 +639,18 @@ export default {
});
}
},
getPathByKey(value, key, arr) {
let temppath = [];
let realPath = "";
try {
function getNodePath(node) {
temppath.push(node.currentIndex);
//找到符合条件的节点,通过throw终止掉递归
if (node[key] === value) {
temppath.forEach((v, i) => {
if (i == 0) {
realPath += "." + v;
} else {
realPath += `.children.${v}`;
}
});
// temppath = temppath.join(",")
throw "GOT IT!";
// return;
}
if (node.children && node.children.length > 0) {
for (var i = 0; i < node.children.length; i++) {
getNodePath(node.children[i]);
}
//当前节点的子节点遍历完依旧没找到,则删除路径中的该节点
temppath.pop();
} else {
//找到叶子节点时,删除路径当中的该叶子节点
temppath.pop();
}
}
for (let i = 0; i < arr.length; i++) {
getNodePath(arr[i]);
}
} catch (e) {
return realPath;
}
},
init() {
this.GetDipHisInfo();
},
GetDipHisInfo() {
http.post(`/SysTool/get/GetDipHisInfo`, {})
.then((data) => {
location.reload();
})
.catch((error) => {
location.reload();
});
},
// 总量计算
setIput(row) {
......@@ -670,6 +686,7 @@ export default {
}
}
}
if (row.orderType == "药疗") {
if (row.medicQuantity > row.inventoryNum) {
Message.warning({
showClose: true,
......@@ -678,6 +695,7 @@ export default {
});
}
}
}
},
//药疗新增
addRow(r) {
......@@ -710,6 +728,7 @@ export default {
orderType: r.orderType,
medicalPurpose: r.medicalPurpose,
price: null,
specimen_id: null,
type: r.type,
sort: cout + 1,
isedit: false,
......@@ -731,14 +750,13 @@ export default {
dropNumber: r.dropNumber,
packagingnum: 1,
split_num: 1,
isSkin: 2,
isSkin: undefined,
isSkinCheck: r.isSkinCheck,
};
this.toggleSelection(newData, true);
this.cout = 0;
this.cout = cout + 1;
r.children.push(newData);
this.setIndex(this.formData.tableList);
console.log(this.formData.tableList);
},
onfocus(row, value) {
this.tempRow = row;
......@@ -747,12 +765,13 @@ export default {
value && this.etProjectByName(value);
},
etProjectByName(query) {
http.post(`/ClinicalRoute/ClinicalRoute/GetProjectByName?searchQuery=${query}`, {})
http.post(`/ClinicalRoute/ClinicalRoute/GetProjectByName?searchQuery=${query}&deptName=${this.deptName}`, {})
.then((data) => {
if (data && data.length) {
data.map((el, i) => {
el.id = i++;
});
this.$refs.singleTable.setCurrentRow(data[0]);
}
this.gridData = data;
......@@ -800,7 +819,7 @@ export default {
item.medicUseUnit = row.medicUseUnit;
// item.medicUseMode = row.medicUseMode;
// item.medicUsePlan = row.medicUsePlan;
// item.dropNumber = row.dropNumber;
item.specimen_id = row.specimen_id;
item.medicUnit = row.medicUnit;
item.remark = row.remark;
item.symptom = row.symptom;
......@@ -817,6 +836,7 @@ export default {
item.auxiliaryItems = row.auxiliaryItems;
item.inspectRemarks = row.inspectRemarks;
item.description = row.description;
item.order_round = row.order_round;
item.min_unit = row.min_unit;
item.package_unit = row.package_unit;
......@@ -845,6 +865,7 @@ export default {
});
},
medicQuantityChange(row) {
if (row.orderType == "药疗") {
if (Number(row.medicQuantity) > row.inventoryNum) {
Message.warning({
showClose: true,
......@@ -852,6 +873,7 @@ export default {
type: "warning",
});
}
}
},
//
tbChange(row) {
......@@ -901,9 +923,17 @@ export default {
//更多--确定
goSeeok() {
if (this.radio == 1) {
this.multipleSelection[0] = this.goSeeform;
this.multipleSelection.splice(
this.multipleSelection.findIndex((item) => item.uidd == this.goSeeform.uidd),
1,
this.goSeeform
);
} else {
this.multipleSelection1[0] = this.goSeeform;
this.multipleSelection1.splice(
this.multipleSelection1.findIndex((item) => item.uidd == this.goSeeform.uidd),
1,
this.goSeeform
);
}
this.goSeeScoredialogFormVisible = false;
},
......@@ -936,6 +966,16 @@ export default {
this.medicUseModeoptions = this.medicUseModeoptionsLise;
}
},
remoteMethodspecimen(query) {
this.query2 = query;
if (query !== "") {
this.specimenList = this.specimenList.filter((item) => {
return item.describe.toLowerCase().indexOf(query.toLowerCase()) > -1 || item.pinyin.toLowerCase().indexOf(query.toLowerCase()) > -1;
});
} else {
this.specimenList = this.specimenListoptions;
}
},
//获取频率,频率的下拉数据
gemedicUsePlanoptions() {
http.post(`/ClinicalRoute/ClinicalRoute/GetStaCRParametersByType?type=2`, {})
......@@ -953,6 +993,14 @@ export default {
})
.catch((error) => {});
},
getspecimenList() {
http.post(`/ClinicalRoute/ClinicalRoute/GetStaCRParametersByType?type=6`, {})
.then((data) => {
this.specimenList = data;
this.specimenListoptions = data;
})
.catch((error) => {});
},
//获取患者信息
gettopdata() {
......@@ -960,6 +1008,8 @@ export default {
.then((data) => {
this.topdata = data;
this.crid = data.crid;
this.deptNames = data.deptNames;
this.deptName = data.deptNames && data.deptNames.length ? data.deptNames[0] : "西药房";
this.getreasonoptions();
})
.catch((error) => {});
......@@ -970,6 +1020,7 @@ export default {
.filter((item) => item.isForbidden)
.map((j) => {
j.tickTime = transformTimestampnow();
this.setIput(j);
this.toggleSelection(j, type);
if (j.children && j.children.length) {
this.setChildren(j.children, type);
......@@ -987,17 +1038,28 @@ export default {
})
) {
row.ischeck = 1;
if (row.orderType == "药疗") {
selection.map((v) => {
this.toggleSelection(v, true);
this.setIput(v);
});
} else {
if (row.children && row.children.length) {
this.setChildren(row.children, true);
} else {
selection.map((v) => {
this.toggleSelection(v, true);
this.setIput(v);
});
}
}
//取消
} else {
row.ischeck = 2;
if (row.orderType == "药疗") {
this.toggleSelection(row, false);
} else {
if (row.children && row.children.length) {
this.setChildren(row.children, false);
} else {
......@@ -1006,6 +1068,15 @@ export default {
//取消的行数据
}
}
// this.toggleSelection(row, false);
// if (row.children && row.children.length) {
// this.setChildren(row.children, false);
// } else {
// row.ischeck = 2;
// this.toggleSelection(row, false);
// //取消的行数据
// }
}
},
// 控制选框是否被选中
toggleSelection(row, select) {
......@@ -1035,20 +1106,13 @@ export default {
});
if (isSelect) {
selection.map((el) => {
if (el.children) {
if (el.children && el.children.length) {
this.setChildren(el.children, true);
}
});
}
if (isCancel) {
this.setfalse(this.formData.tableList);
// this.tableData.map((el) => {
// if (el.children) {
// el.children.map((j) => {
// this.toggleSelection(j, false);
// });
// }
// });
}
},
......@@ -1073,19 +1137,34 @@ export default {
if (this.multipleSelection.length) {
this.multipleSelection
.filter((item) => item.adviceType)
.filter((item) => item.type != 1)
.filter((item) => item.type == 2)
.map((item, index) => {
index == 0 ? (item.isedit = true) : (item.isedit = false);
});
this.multipleSelection
.filter((item) => item.adviceType)
.filter((item) => item.type == 3)
.map((item, index) => {
item.isedit = true;
});
}
if (this.multipleSelection1.length) {
this.multipleSelection1
.filter((item) => item.adviceType)
.filter((item) => item.type != 1)
.filter((item) => item.type == 2)
.map((item, index) => {
index == 0 ? (item.isedit = true) : (item.isedit = false);
});
this.multipleSelection1
.filter((item) => item.adviceType)
.filter((item) => item.type == 3)
.map((item, index) => {
item.isedit = true;
});
}
console.log(this.multipleSelection);
console.log(this.multipleSelection1);
},
//获取左侧时间线数据
......@@ -1142,29 +1221,24 @@ export default {
http.post(
`/ClinicalRoute/ClinicalRoute/GetGetRouteAdvicesRight?pid=${this.$route.query.pid}&case_routeid=${this.case_routeid}&searchQuery=${
this.inhosdays
}&type=${this.radio}&t=${Math.random()}`,
}&type=${this.radio}&t=${Math.random()}&deptName=${this.deptName}`,
{}
)
.then((data) => {
data.route1.forEach((element, i) => {
element.sort = i++;
data.route1.forEach((element) => {
if (element.children) {
this.setData(element.children);
}
});
data.route2.forEach((element) => {
element.sort = i++;
if (element.children) {
this.setData(element.children);
}
});
// console.log(data.route1);
// console.log(data.route2);
// this.newtable1 = data.route1;
// this.newtable2 = data.route2;
this.formData.tableList = this.radio == 1 ? data.route1 : data.route2;
this.setIndex(this.formData.tableList);
console.log(this.formData.tableList);
})
.catch((error) => {
console.log(error);
......@@ -1173,6 +1247,14 @@ export default {
//单选
radiochange(e) {
this.$refs.formData.validate((valid) => {
if (!valid) {
Message.warning({
showClose: true,
message: `有必填项未填写!`,
type: "warning",
});
return;
}
if (valid) {
this.radio = e;
this.getTableData();
......@@ -1193,15 +1275,27 @@ export default {
//点击左侧时间线 获取右侧表格数据
timeclick(val) {
console.log(val);
this.timeindex = val.inhosdays;
this.case_routeid = val.case_routeid;
this.inhosdays = val.inhosdays;
this.getTableData();
},
sele() {
this.getTableData();
},
//保存医嘱
joinorder() {
if (this.multipleSelection.length || this.multipleSelection1.length) {
this.$refs.formData.validate((valid) => {
if (!valid) {
Message.warning({
showClose: true,
message: `有必填项未填写!`,
type: "warning",
});
return;
}
if (valid) {
this.saveSetPatientRoutes();
}
......@@ -1235,6 +1329,30 @@ export default {
this.sDate(this.multipleSelection1.filter((item) => item.adviceType));
this.objtable.route1 = this.multipleSelection.filter((item) => item.adviceType);
this.objtable.route2 = this.multipleSelection1.filter((item) => item.adviceType);
let a = this.objtable.route1.filter((item) => item.orderType == "检查");
let b = this.objtable.route2.filter((item) => item.orderType == "检查");
if (a.length) {
if (!a[0].inspectionPurpose) {
Message.warning({
showClose: true,
message: `检查目的为必填,请填写`,
type: "warning",
});
return;
}
}
if (b.length) {
if (!b[0].inspectionPurpose) {
Message.warning({
showClose: true,
message: `检查目的为必填,请填写`,
type: "warning",
});
return;
}
}
this.objtable.deptName = this.deptName;
http.post(`/ClinicalRoute/ClinicalRoute/SetPatientRoutes?pid=${this.$route.query.pid}`, this.objtable)
.then((data) => {
data.map((item) => {
......@@ -1245,10 +1363,10 @@ export default {
}
});
// this.getlefttime();
// this.getTableData();
setTimeout(() => {
location.reload();
}, 500);
this.getTableData();
// setTimeout(() => {
// location.reload();
// }, 5500);
})
.catch((error) => {});
......@@ -1280,11 +1398,11 @@ export default {
message: data.message,
type: "success",
});
(this.form = {
this.form = {
inhosdays: "",
reason: "",
}),
(this.editdialogFormVisible = false);
};
this.editdialogFormVisible = false;
this.$router.push({
path: "Entrypath",
......@@ -1297,11 +1415,11 @@ export default {
},
//取消
close() {
(this.form = {
this.form = {
inhosdays: "",
reason: "",
}),
(this.editdialogFormVisible = false);
};
this.editdialogFormVisible = false;
},
//下拉框鼠标移上显示提示文字
getTitle(val) {
......@@ -1315,7 +1433,7 @@ export default {
</script>
<style lang="scss" scoped>
@import "../styles/mixin.scss";
@import "../styles/media/components/outClinicalpathway.scss";
// @import "../styles/media/components/outClinicalpathway.scss";
//选中当前行样式
::v-deep .rowStyleclass {
font-weight: 700;
......@@ -1366,24 +1484,24 @@ export default {
background-color: #0085ba !important;
border-color: #1097e0 !important;
}
::v-deep .el-table--scrollable-x .el-table__body-wrapper {
height: 688px !important ;
overflow-y: auto !important;
}
// ::v-deep .el-table--scrollable-x .el-table__body-wrapper {
// height: 688px !important ;
// overflow-y: auto !important;
// }
// 滚动条的宽度
::v-deep .el-table__body-wrapper::-webkit-scrollbar {
/*滚动条整体样式*/
width: 10px;
width: 15px;
/*高宽分别对应横竖滚动条的尺寸*/
height: 10px;
height: 15px;
background-color: #ffff;
}
// 滚动条的滑块
::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb {
background-color: #27aae2;
border: 3px solid transparent;
// border: 3px solid transparent;
border-radius: 9px;
background-clip: content-box;
}
......@@ -1392,41 +1510,38 @@ export default {
/*滚动条里面轨道*/
border-radius: 20px;
background: #ffff;
width: 10px;
width: 15px;
}
.outClinicalpathway {
// height: calc(100% - 50px);
// background-color: white;
// padding: 20px;
// position: relative;
// overflow: hidden;
height: 100%;
height: 100vh;
background-color: #f0f0f0;
// padding: 10px;
overflow: hidden;
position: relative;
display: flex;
flex-flow: column;
&_top {
width: 100%;
height: 12%;
// height: 12%;
margin-bottom: 5px;
background-color: #f0f0f0;
display: flex;
flex-direction: column;
&_bg {
width: 100%;
height: 15%;
height: 15px;
background-color: #0283bb;
}
&_coent {
width: 100%;
height: 50%;
background-color: #ffff;
display: flex;
justify-content: space-between;
margin-bottom: 5px;
font-size: 12px;
padding: 0 15px;
overflow: hidden;
&_left {
height: 100%;
width: 79%;
flex: 1;
display: flex;
justify-content: center;
align-items: center;
......@@ -1456,10 +1571,10 @@ export default {
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 20px;
padding-left: 10px;
margin-left: 10px;
span {
width: 30%;
width: 50%;
height: 80%;
color: #181617;
display: flex;
......@@ -1468,7 +1583,7 @@ export default {
}
}
&_t2 {
width: 26%;
width: 15%;
height: 80%;
margin-right: 5px;
background-color: #ffff;
......@@ -1476,7 +1591,7 @@ export default {
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 20px;
padding-left: 10px;
span {
width: 40%;
height: 80%;
......@@ -1487,7 +1602,7 @@ export default {
}
}
&_t3 {
width: 20%;
width: 15%;
height: 80%;
margin-right: 5px;
background-color: #ffff;
......@@ -1496,9 +1611,9 @@ export default {
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 20px;
padding-left: 10px;
span {
width: 30%;
width: 40%;
height: 80%;
color: #181617;
display: flex;
......@@ -1507,7 +1622,7 @@ export default {
}
}
&_t4 {
width: 26%;
width: 30%;
height: 80%;
background-color: #ffff;
margin-right: 5px;
......@@ -1515,7 +1630,7 @@ export default {
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 20px;
padding-left: 10px;
span {
width: 50%;
height: 80%;
......@@ -1525,11 +1640,51 @@ export default {
align-items: center;
}
}
&_t5 {
width: 17%;
height: 80%;
margin-right: 5px;
background-color: #ffff;
display: flex;
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 10px;
margin-left: 10px;
span {
width: 78%;
height: 80%;
color: #181617;
display: flex;
justify-content: flex-start;
align-items: center;
}
}
&_t6 {
width: 15%;
height: 80%;
margin-right: 5px;
background-color: #ffff;
display: flex;
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 10px;
margin-left: 10px;
span {
width: 40%;
height: 80%;
color: #181617;
display: flex;
justify-content: flex-start;
align-items: center;
}
}
}
}
&_right {
height: 100%;
width: 20%;
// width: 20%;
display: flex;
align-items: center;
justify-content: center;
......@@ -1543,17 +1698,15 @@ export default {
}
}
&_time {
width: 100%;
height: 35%;
background: #ffff;
padding-left: 20px;
padding: 5px 15px;
display: flex;
align-items: center;
&_timespan {
max-width: 200px;
/* height: 20px; */
display: flex;
align-content: center;
background-color: #0283bb;
border-radius: 20px;
margin-right: 10px;
......@@ -1569,21 +1722,27 @@ export default {
}
}
&_table {
height: 88%;
width: 100%;
flex: 1;
display: flex;
overflow: hidden;
padding: 10px 15px;
background: #ffff;
&_right {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
&_radio {
width: 100%;
height: 8%;
background: #ffff;
display: flex;
padding-bottom: 10px;
align-items: center;
padding-left: 10px;
}
.formData {
flex: 1;
overflow: hidden;
}
}
}
/* .el-form-item {
......
......@@ -20,7 +20,7 @@ module.exports = {
port: 8066, //测试端口
proxy: {
"/api": {
target: "http://192.168.18.166:8033/", //dip测试站点
target: "http://192.168.18.166:8173/", //dip测试站点
changeOrigin: true,
pathRewrite: {
"^/": "/",
......
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