Commit a45161b8 by yufeng.tang

需求更改

parent a0d0be07
...@@ -6,152 +6,151 @@ ...@@ -6,152 +6,151 @@
* @Description: * @Description:
--> -->
<template> <template>
<!-- 临床路径外放页面 --> <!-- 临床路径外放页面 -->
<div class="outClinicalpathway"> <div class="outClinicalpathway">
<!-- 患者信息 --> <!-- 患者信息 -->
<div class="outClinicalpathway_top"> <div class="outClinicalpathway_top">
<div class="outClinicalpathway_top_bg"></div> <div class="outClinicalpathway_top_bg"></div>
<div class="outClinicalpathway_top_coent"> <div class="outClinicalpathway_top_coent">
<!--患者信息 --> <!--患者信息 -->
<div class="outClinicalpathway_top_coent_left"> <div class="outClinicalpathway_top_coent_left">
<div class="outClinicalpathway_top_coent_left_one"> <div class="outClinicalpathway_top_coent_left_one">
<span><img src="../assets/img/peo.png" alt="" /></span> <span><img src="../assets/img/peo.png" alt="" /></span>
<div class="outClinicalpathway_top_coent_left_one_t1"> <div class="outClinicalpathway_top_coent_left_one_t1">
患者姓名:<span>{{ topdata.patientName }}</span> 患者姓名:<span>{{ topdata.patientName }}</span>
</div>
<div class="outClinicalpathway_top_coent_left_one_t2">
住院号:<span>{{ topdata.regCode }}</span>
</div>
<div class="outClinicalpathway_top_coent_left_one_t3">
住院次数:<span>{{ topdata.inHosNum }}</span>
</div>
<div class="outClinicalpathway_top_coent_left_one_t4">
符合临床路径:<span>{{ topdata.clinical_route_name }}</span>
</div>
</div>
</div>
<div class="outClinicalpathway_top_coent_right">
<div class="outClinicalpathway_top_coent_right_btn">
<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>
</div>
</div>
</div> </div>
<div class="outClinicalpathway_top_time"> <div class="outClinicalpathway_top_coent_left_one_t2">
<el-timeline style="display: flex; padding: 0 10px"> 住院号:<span>{{ topdata.regCode }}</span>
<el-timeline-item
:class="timeindex == activity.inhosdays ? 'outClinicalpathway_top_time_timespan' : 'outClinicalpathway_top_time_timespan2'"
v-for="(activity, index) in activities"
:key="index"
:type="activity.type"
:color="activity.color"
:size="activity.size"
:hollow="activity.hollow"
: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>
</el-tooltip>
<span v-else @click="timeclick(activity)">{{ activity.inhosdays }}</span>
</el-timeline-item>
</el-timeline>
</div> </div>
<div class="outClinicalpathway_top_coent_left_one_t3">
住院次数:<span>{{ topdata.inHosNum }}</span>
</div>
<div class="outClinicalpathway_top_coent_left_one_t4">
符合临床路径:<span>{{ topdata.clinical_route_name }}</span>
</div>
</div>
</div> </div>
<!--病情变异弹框开始 --> <div class="outClinicalpathway_top_coent_right">
<el-dialog :visible.sync="editdialogFormVisible" width="30%" @close="close"> <div class="outClinicalpathway_top_coent_right_btn">
<el-form ref="fromRef" :model="form" :label-position="labelPosition" label-width="100px"> <el-button icon="el-icon-user" style="background-color: #0283bb; color: #ffff" @click="joinorder()">保存医嘱</el-button>
<el-form-item label="路径天数:"> <el-button icon="el-icon-s-tools" style="background-color: #0283bb; color: #ffff" @click="variation()">病情变异</el-button>
<!-- <el-input v-model="form.inhosdays" /> --> </div>
<el-select v-model="form.inhosdays" class="m-2" placeholder="请选择" size="mini"> </div>
<el-option v-for="item in options" :key="item.inhosdays" :label="item.inhosdays" :value="item.inhosdays" /> </div>
</el-select> <div class="outClinicalpathway_top_time">
</el-form-item> <el-timeline style="display: flex; padding: 0 10px">
<el-form-item label="变异原因:"> <el-timeline-item
<el-select v-model="form.reason" class="m-2" placeholder="请选择" size="mini" :title="getTitle(form.reason)"> :class="timeindex == activity.inhosdays ? 'outClinicalpathway_top_time_timespan' : 'outClinicalpathway_top_time_timespan2'"
<el-option v-for="item in reasonoptions" :key="item.id" :label="item.describe" :value="item.describe" :title="item.describe"> v-for="(activity, index) in activities"
</el-option> :key="index"
</el-select> :type="activity.type"
</el-form-item> :color="activity.color"
<el-form-item label="备注:"> :size="activity.size"
<el-input v-model="form.remarks" :autosize="{ minRows: 4, maxRows: 10 }" type="textarea" /> :hollow="activity.hollow"
</el-form-item> :timestamp="activity.timestamp"
</el-form> >
<template #footer> <el-tooltip class="item" effect="dark" :content="activity.inhosdays" placement="top-start" v-if="activity.inhosdays.length > 7">
<span class="dialog-footer"> <span @click="timeclick(activity)">{{ activity.inhosdays }}</span>
<el-button size="mini" @click="close()">取消</el-button> </el-tooltip>
<el-button size="mini" type="primary" @click="fromOKbtn()">确定 </el-button> <span v-else @click="timeclick(activity)">{{ activity.inhosdays }}</span>
</span> </el-timeline-item>
</el-timeline>
</div>
</div>
<!--病情变异弹框开始 -->
<el-dialog :visible.sync="editdialogFormVisible" width="30%" @close="close">
<el-form ref="fromRef" :model="form" :label-position="labelPosition" label-width="100px">
<el-form-item label="路径天数:">
<!-- <el-input v-model="form.inhosdays" /> -->
<el-select v-model="form.inhosdays" class="m-2" placeholder="请选择" size="mini">
<el-option v-for="item in options" :key="item.inhosdays" :label="item.inhosdays" :value="item.inhosdays" />
</el-select>
</el-form-item>
<el-form-item label="变异原因:">
<el-select v-model="form.reason" class="m-2" placeholder="请选择" size="mini" :title="getTitle(form.reason)">
<el-option v-for="item in reasonoptions" :key="item.id" :label="item.describe" :value="item.describe" :title="item.describe"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="备注:">
<el-input v-model="form.remarks" :autosize="{ minRows: 4, maxRows: 10 }" type="textarea" />
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button size="mini" @click="close()">取消</el-button>
<el-button size="mini" type="primary" @click="fromOKbtn()">确定 </el-button>
</span>
</template>
</el-dialog>
<!--病情变异弹框结束 -->
<!-- 表格 -->
<div class="outClinicalpathway_table">
<!-- 表格 -->
<div class="outClinicalpathway_table_right">
<div class="outClinicalpathway_table_right_radio">
<el-radio-group :value="radio" @input="radiochange">
<el-radio :label="1">长期医嘱</el-radio>
<el-radio :label="2">临时医嘱</el-radio>
</el-radio-group>
</div>
<el-table
ref="multipleTable"
row-key="id"
:data="tableData"
height="100%"
style="width: 100%"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
:select-on-indeterminate="true"
@selection-change="SelectionChange"
@select-all="selectAll"
@select="select"
default-expand-all
size="mini"
: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="145">
<template #default="scope">
<span v-if="scope.row.ischeck == 1 && scope.row.orderType">{{ scope.row.tickTime }}</span>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip property="orderType" label="类型" width="50">
<template #default="scope">
<div v-if="scope.row.orderType == '药疗'">
<i
@click.prevent="addRow(scope.row)"
v-if="scope.row.ischeck == 1 && !scope.row.isnew && scope.row.orderType && scope.row.isAdd"
class="el-icon-circle-plus-outline"
style="font-size: 14px; color: #0283bb; margin-right: 3px; cursor: pointer"
></i>
<i
@click.prevent="deleteRow(scope.row, tableData)"
v-if="scope.row.ischeck == 1 && scope.row.isnew && scope.row.orderType"
class="el-icon-remove-outline"
style="font-size: 14px; color: #ff0000; margin-right: 3px; cursor: pointer"
></i
>{{ scope.row.orderType }}
</div>
<div v-else>{{ scope.row.orderType }}</div>
</template> </template>
</el-dialog> </el-table-column>
<!--病情变异弹框结束 --> <el-table-column show-overflow-tooltip property="project_name" label="医院项目名称" width="200">
<!-- 表格 --> <template #default="scope">
<div class="outClinicalpathway_table"> <template v-if="scope.row.ischeck == 1 && scope.row.isnew && scope.row.orderType">
<!-- 表格 --> <el-popover placement="bottom" width="1000" height="600" trigger="focus" v-model="scope.row.isPop">
<div class="outClinicalpathway_table_right"> <el-table :data="gridData" @row-dblclick="rowdblclick" max-height="400" size="mini" style="width: 100%" row-key="id">
<div class="outClinicalpathway_table_right_radio"> <el-table-column width="80" property="orderType" label="类型"></el-table-column>
<el-radio-group :value="radio" @input="radiochange"> <el-table-column show-overflow-tooltip width="200" property="project_name" label="医嘱名称"></el-table-column>
<el-radio :label="1">长期医嘱</el-radio> <el-table-column show-overflow-tooltip width="100" property="specifications" label="规格说明"></el-table-column>
<el-radio :label="2">临时医嘱</el-radio> <el-table-column show-overflow-tooltip width="100" property="dosage" label="药品剂型"></el-table-column>
</el-radio-group> <el-table-column show-overflow-tooltip width="100" property="isAntibiotic" label="抗生素"></el-table-column>
</div> <!-- <el-table-column show-overflow-tooltip width="135" property="medicalPurpose" label="用药目的"></el-table-column> -->
<el-table <el-table-column show-overflow-tooltip width="80" property="medicUseQuantity" label="用量"></el-table-column>
ref="multipleTable" <el-table-column show-overflow-tooltip width="80" property="medicUseUnit" label="单位"></el-table-column>
row-key="id" <el-table-column show-overflow-tooltip width="110" property="inventoryNum" label="可用数量"></el-table-column>
:data="tableData" <!-- <el-table-column show-overflow-tooltip width="110" property="medicUsePlan" label="频率"></el-table-column>
height="100%"
style="width: 100%"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
:select-on-indeterminate="true"
@selection-change="SelectionChange"
@select-all="selectAll"
@select="select"
default-expand-all
size="mini"
: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="145">
<template #default="scope">
<span v-if="scope.row.ischeck == 1 && scope.row.orderType">{{ scope.row.tickTime }}</span>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip property="orderType" label="类型" width="50">
<template #default="scope">
<div v-if="scope.row.orderType == '药疗'">
<i
@click.prevent="addRow(scope.row)"
v-if="scope.row.ischeck == 1 && !scope.row.isnew && scope.row.orderType"
class="el-icon-circle-plus-outline"
style="font-size: 14px; color: #0283bb; margin-right: 3px; cursor: pointer"
></i>
<i
@click.prevent="deleteRow(scope.row, tableData)"
v-if="scope.row.ischeck == 1 && scope.row.isnew && scope.row.orderType"
class="el-icon-remove-outline"
style="font-size: 14px; color: #ff0000; margin-right: 3px; cursor: pointer"
></i
>{{ scope.row.orderType }}
</div>
<div v-else>{{ scope.row.orderType }}</div>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip property="project_name" label="医院项目名称" width="200">
<template #default="scope">
<template v-if="scope.row.ischeck == 1 && scope.row.isnew && scope.row.orderType">
<el-popover placement="bottom" width="1000" height="600" trigger="focus" v-model="scope.row.isPop">
<el-table :data="gridData" @row-dblclick="rowdblclick" max-height="400" size="mini" style="width: 100%" row-key="id">
<el-table-column width="80" property="orderType" label="类型"></el-table-column>
<el-table-column show-overflow-tooltip width="200" property="project_name" label="医嘱名称"></el-table-column>
<el-table-column show-overflow-tooltip width="100" property="specifications" label="规格说明"></el-table-column>
<el-table-column show-overflow-tooltip width="100" property="dosage" label="药品剂型"></el-table-column>
<el-table-column show-overflow-tooltip width="100" property="isAntibiotic" label="抗生素"></el-table-column>
<!-- <el-table-column show-overflow-tooltip width="135" property="medicalPurpose" label="用药目的"></el-table-column> -->
<el-table-column show-overflow-tooltip width="80" property="medicUseQuantity" label="用量"></el-table-column>
<el-table-column show-overflow-tooltip width="80" property="medicUseUnit" label="单位"></el-table-column>
<el-table-column show-overflow-tooltip width="110" property="inventoryNum" label="可用数量"></el-table-column>
<!-- <el-table-column show-overflow-tooltip width="110" property="medicUsePlan" label="频率"></el-table-column>
<el-table-column show-overflow-tooltip width="60" property="dropNumber" label="滴数"></el-table-column> <el-table-column show-overflow-tooltip width="60" property="dropNumber" label="滴数"></el-table-column>
<el-table-column show-overflow-tooltip width="80" property="medicQuantity" label="用药总量"></el-table-column> <el-table-column show-overflow-tooltip width="80" property="medicQuantity" label="用药总量"></el-table-column>
<el-table-column show-overflow-tooltip width="60" property="medicUnit" label="单位"></el-table-column> <el-table-column show-overflow-tooltip width="60" property="medicUnit" label="单位"></el-table-column>
...@@ -159,191 +158,155 @@ ...@@ -159,191 +158,155 @@
<el-table-column show-overflow-tooltip width="150" property="description" label="诊断描述"></el-table-column> <el-table-column show-overflow-tooltip width="150" property="description" label="诊断描述"></el-table-column>
<el-table-column show-overflow-tooltip width="150" property="symptom" label="症状及体征"></el-table-column> <el-table-column show-overflow-tooltip width="150" property="symptom" label="症状及体征"></el-table-column>
<el-table-column show-overflow-tooltip width="85" property="emergency" label="急诊"></el-table-column> --> <el-table-column show-overflow-tooltip width="85" property="emergency" label="急诊"></el-table-column> -->
</el-table> </el-table>
<el-input <el-input slot="reference" placeholder="请输入" v-model="scope.row.project_name" @focus="onfocus(scope.row, $event)" @input="onInput(scope.row, $event)"></el-input>
slot="reference" </el-popover>
placeholder="请输入" </template>
v-model="scope.row.project_name"
@focus="onfocus(scope.row, $event)"
@input="onInput(scope.row, $event)"
></el-input>
</el-popover>
</template>
<span v-else>{{ scope.row.project_name }}</span> <span v-else>{{ scope.row.project_name }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip property="specifications" label="规格说明" width="80" /> <el-table-column show-overflow-tooltip property="specifications" label="规格说明" width="80" />
<el-table-column show-overflow-tooltip property="dosage" label="药品剂型" width="70" /> <el-table-column show-overflow-tooltip property="dosage" label="药品剂型" width="70" />
<el-table-column show-overflow-tooltip property="isAntibiotic" label="抗生素" width="85"> <el-table-column show-overflow-tooltip property="isAntibiotic" label="抗生素" width="85">
<template #default="scope"> <template #default="scope">
<el-select v-if="scope.row.ischeck == 1 && scope.row.orderType" size="mini" v-model="scope.row.isAntibiotic"> <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-option v-for="item in chargeTypeoptions" :key="item.label" :label="item.label" :value="item.label"> </el-option>
</el-select> </el-select>
<span v-else>{{ scope.row.isAntibiotic }}</span> <span v-else>{{ scope.row.isAntibiotic }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip property="medicalPurpose" label="用药目的" width="135"> <el-table-column show-overflow-tooltip property="medicalPurpose" label="用药目的" width="135">
<template #default="scope"> <template #default="scope">
<el-select v-if="scope.row.ischeck == 1 && scope.row.orderType" size="mini" v-model="scope.row.medicalPurpose"> <el-select v-if="scope.row.ischeck == 1 && scope.row.orderType" size="mini" v-model="scope.row.medicalPurpose">
<el-option v-for="item in medicalPurposeoptions" :key="item.id" :label="item.describe" :value="item.describe"> </el-option> <el-option v-for="item in medicalPurposeoptions" :key="item.id" :label="item.describe" :value="item.describe"> </el-option>
</el-select> </el-select>
<span v-else>{{ scope.row.medicalPurpose }}</span> <span v-else>{{ scope.row.medicalPurpose }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="medicUseQuantity" label="用量" width="85"> <el-table-column prop="medicUseQuantity" label="用量" width="85">
<template #default="scope"> <template #default="scope">
<el-input v-if="scope.row.ischeck == 1 && scope.row.orderType" v-model="scope.row.medicUseQuantity" size="mini"></el-input> <el-input v-if="scope.row.ischeck == 1 && scope.row.orderType" v-model="scope.row.medicUseQuantity" size="mini"></el-input>
<span v-else>{{ scope.row.medicUseQuantity }}</span> <span v-else>{{ scope.row.medicUseQuantity }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip property="medicUseUnit" label="单位" width="50" /> <el-table-column show-overflow-tooltip property="medicUseUnit" label="单位" width="50" />
<el-table-column show-overflow-tooltip property="medicUseMode" label="途径" width="120"> <el-table-column show-overflow-tooltip property="medicUseMode" label="途径" width="120">
<template #default="scope"> <template #default="scope">
<el-select <el-select v-if="scope.row.ischeck == 1 && scope.row.orderType" size="mini" v-model="scope.row.medicUseMode" filterable remote :filter-method="remoteMethod">
v-if="scope.row.ischeck == 1 && scope.row.orderType" <el-option v-for="item in medicUseModeoptions" :key="item.id" :label="item.describe" :value="item.describe"> </el-option>
size="mini" </el-select>
v-model="scope.row.medicUseMode" <span v-else>{{ scope.row.medicUseMode }}</span>
filterable </template>
remote </el-table-column>
:filter-method="remoteMethod" <el-table-column show-overflow-tooltip property="medicUsePlan" label="频率" width="130">
> <template #default="scope">
<el-option v-for="item in medicUseModeoptions" :key="item.id" :label="item.describe" :value="item.describe"> </el-option> <el-select v-if="scope.row.ischeck == 1 && scope.row.orderType" size="mini" v-model="scope.row.medicUsePlan">
</el-select> <el-option v-for="item in medicUsePlanoptions" :key="item.id" :label="item.describe" :value="item.describe"> </el-option>
<span v-else>{{ scope.row.medicUseMode }}</span> </el-select>
</template> <span v-else>{{ scope.row.medicUsePlan }}</span>
</el-table-column> </template>
<el-table-column show-overflow-tooltip property="medicUsePlan" label="频率" width="130"> </el-table-column>
<template #default="scope"> <el-table-column prop="dropNumber" label="滴数" width="85">
<el-select v-if="scope.row.ischeck == 1 && scope.row.orderType" size="mini" v-model="scope.row.medicUsePlan"> <template #default="scope">
<el-option v-for="item in medicUsePlanoptions" :key="item.id" :label="item.describe" :value="item.describe"> </el-option> <el-input v-if="scope.row.ischeck == 1 && scope.row.orderType" v-model="scope.row.dropNumber" size="mini"></el-input>
</el-select> <span v-else>{{ scope.row.dropNumber }}</span>
<span v-else>{{ scope.row.medicUsePlan }}</span> </template>
</template> </el-table-column>
</el-table-column> <el-table-column prop="medicQuantity" label="用药总量" width="85">
<el-table-column prop="dropNumber" label="滴数" width="85"> <template #default="scope">
<template #default="scope"> <el-input v-if="scope.row.ischeck == 1 && scope.row.orderType" v-model="scope.row.medicQuantity" size="mini"></el-input>
<el-input v-if="scope.row.ischeck == 1 && scope.row.orderType" v-model="scope.row.dropNumber" size="mini"></el-input> <span v-else>{{ scope.row.medicQuantity }}</span>
<span v-else>{{ scope.row.dropNumber }}</span> </template>
</template> </el-table-column>
</el-table-column> <el-table-column show-overflow-tooltip property="medicUnit" label="单位" width="60" />
<el-table-column prop="medicQuantity" label="用药总量" width="85"> <el-table-column show-overflow-tooltip property="remark" label="嘱托" width="150'">
<template #default="scope"> <template #default="scope">
<el-input v-if="scope.row.ischeck == 1 && scope.row.orderType" v-model="scope.row.medicQuantity" size="mini"></el-input> <el-input v-if="scope.row.ischeck == 1 && scope.row.orderType" v-model="scope.row.remark" size="mini" type="textarea" :autosize="{ minRows: 2 }" placeholder="请输入内容"></el-input>
<span v-else>{{ scope.row.medicQuantity }}</span> <span v-else>{{ scope.row.remark }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip property="medicUnit" label="单位" width="60" />
<el-table-column show-overflow-tooltip property="remark" label="嘱托" width="150'">
<template #default="scope">
<el-input
v-if="scope.row.ischeck == 1 && scope.row.orderType"
v-model="scope.row.remark"
size="mini"
type="textarea"
:autosize="{ minRows: 2 }"
placeholder="请输入内容"
></el-input>
<span v-else>{{ scope.row.remark }}</span>
</template>
</el-table-column>
<el-table-column prop="description" label="诊断描述" width="150"> <el-table-column prop="description" label="诊断描述" width="150">
<template #default="scope"> <template #default="scope">
<el-form <el-form
:model="scope.row" :model="scope.row"
label-width="15px" label-width="15px"
label-position="left" label-position="left"
ref="numberValidateForm" ref="numberValidateForm"
class="demo-ruleForm" class="demo-ruleForm"
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 != 1 && scope.row.isedit && scope.row.orderType"
> >
<el-form-item prop="description" :rules="[{ required: true, message: '请输入内容' }]"> <el-form-item prop="description" :rules="[{ required: true, message: '请输入内容' }]">
<template #label> <span></span></template> <template #label> <span></span></template>
<el-input <el-input v-model="scope.row.description" autocomplete="off" placeholder="请输入内容" type="textarea" :autosize="{ minRows: 2 }"></el-input>
v-model="scope.row.description"
autocomplete="off"
placeholder="请输入内容"
type="textarea"
:autosize="{ minRows: 2 }"
></el-input>
</el-form-item>
</el-form>
</template>
</el-table-column>
<el-table-column prop="symptom" label="症状及体征" width="150">
<template #default="scope">
<el-form
:model="scope.row"
label-width="15px"
label-position="left"
ref="numberValidateForm1"
class="demo-ruleForm"
v-if="scope.row.ischeck == 1 && scope.row.type != 1 && scope.row.isedit && scope.row.orderType"
>
<el-form-item prop="symptom" :rules="[{ required: true, message: '请输入内容' }]">
<template #label> <span></span></template>
<el-input
v-model="scope.row.symptom"
autocomplete="off"
placeholder="请输入内容"
type="textarea"
:autosize="{ minRows: 2 }"
></el-input>
</el-form-item>
</el-form>
</template>
</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-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> -->
</template>
</el-table-column>
<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"
size="mini"
type="primary"
@click="goSeeScore(scope.row, scope.$index, scope)"
>更多</el-button
>
</template>
</el-table-column>
</el-table>
</div>
</div>
<!-- 更多弹框开始 -->
<el-dialog :visible.sync="goSeeScoredialogFormVisible" width="30%" @close="goSeecolse">
<el-form ref="goSeefromRef" :model="goSeeform" :label-position="labelPosition" label-width="100px">
<el-form-item label="主诉:">
<el-input v-model="goSeeform.chiefComplaint" :autosize="{ minRows: 2 }" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="检查目的:">
<el-input v-model="goSeeform.inspectionPurpose" :autosize="{ minRows: 2 }" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
<el-form-item label="既往史:"> </el-form>
<el-input v-model="goSeeform.pastHistory" :autosize="{ minRows: 2 }" type="textarea" placeholder="请输入内容" /> </template>
</el-form-item> </el-table-column>
<el-form-item label="其他辅助项目:"> <el-table-column prop="symptom" label="症状及体征" width="150">
<el-input v-model="goSeeform.auxiliaryItems" :autosize="{ minRows: 2 }" type="textarea" placeholder="请输入内容" /> <template #default="scope">
</el-form-item> <el-form
<el-form-item label="备注:"> :model="scope.row"
<el-input v-model="goSeeform.inspectRemarks" :autosize="{ minRows: 2 }" type="textarea" placeholder="请输入内容" /> label-width="15px"
label-position="left"
ref="numberValidateForm1"
class="demo-ruleForm"
v-if="scope.row.ischeck == 1 && scope.row.type != 1 && scope.row.isedit && scope.row.orderType"
>
<el-form-item prop="symptom" :rules="[{ required: true, message: '请输入内容' }]">
<template #label> <span></span></template>
<el-input v-model="scope.row.symptom" autocomplete="off" placeholder="请输入内容" type="textarea" :autosize="{ minRows: 2 }"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer>
<span class="dialog-footer">
<el-button size="mini" @click="goSeecolse">取消</el-button>
<el-button size="mini" @click="goSeeok">确定 </el-button>
</span>
</template> </template>
</el-dialog> </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-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> -->
</template>
</el-table-column>
<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" size="mini" type="primary" @click="goSeeScore(scope.row, scope.$index, scope)"
>更多</el-button
>
</template>
</el-table-column>
</el-table>
</div>
</div> </div>
<!-- 更多弹框开始 -->
<el-dialog :visible.sync="goSeeScoredialogFormVisible" width="30%" @close="goSeecolse">
<el-form ref="goSeefromRef" :model="goSeeform" :label-position="labelPosition" label-width="100px">
<el-form-item label="主诉:">
<el-input v-model="goSeeform.chiefComplaint" :autosize="{ minRows: 2 }" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="检查目的:">
<el-input v-model="goSeeform.inspectionPurpose" :autosize="{ minRows: 2 }" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="既往史:">
<el-input v-model="goSeeform.pastHistory" :autosize="{ minRows: 2 }" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="其他辅助项目:">
<el-input v-model="goSeeform.auxiliaryItems" :autosize="{ minRows: 2 }" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="备注:">
<el-input v-model="goSeeform.inspectRemarks" :autosize="{ minRows: 2 }" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button size="mini" @click="goSeecolse">取消</el-button>
<el-button size="mini" @click="goSeeok">确定 </el-button>
</span>
</template>
</el-dialog>
<!-- 更多弹框结束 -->
</div>
</template> </template>
<script> <script>
import http from "../utils/http"; import http from "../utils/http";
...@@ -351,677 +314,675 @@ import { Message } from "element-ui"; ...@@ -351,677 +314,675 @@ import { Message } from "element-ui";
import _ from "lodash"; import _ from "lodash";
import { transformTimestampnow } from "../utils/formatTime"; import { transformTimestampnow } from "../utils/formatTime";
export default { export default {
name: "outClinicalpathway", name: "outClinicalpathway",
data() { data() {
return { return {
//患者信息 //患者信息
topdata: { topdata: {
patientName: "", //患者姓名 patientName: "", //患者姓名
regCode: "", // 住院号 regCode: "", // 住院号
inHosNum: "", // 住院次数 inHosNum: "", // 住院次数
clinical_route_name: "", // 符合临床路径 clinical_route_name: "", // 符合临床路径
}, },
multipleSelection: [], //被选择的数据 multipleSelection: [], //被选择的数据
multipleSelection1: [], //被选择的数据 multipleSelection1: [], //被选择的数据
selectArr: [], selectArr: [],
tableData: [], //表格数据 tableData: [], //表格数据
yztype: { yztype: {
1: "长期医嘱", 1: "长期医嘱",
2: "临时医嘱", 2: "临时医嘱",
}, },
isObj: { isObj: {
0: "否", 0: "否",
1: "是", 1: "是",
}, },
//被点击的index //被点击的index
timeindex: null, timeindex: null,
case_routeid: null, //点击左侧时间线的天数id case_routeid: null, //点击左侧时间线的天数id
inhosdays: null, //点击左侧时间线的天数 inhosdays: null, //点击左侧时间线的天数
//时间线 //时间线
activities: [], activities: [],
labelPosition: "right", labelPosition: "right",
editdialogFormVisible: false, //弹框是否显示 editdialogFormVisible: false, //弹框是否显示
//表单 //表单
form: { form: {
inhosdays: "", inhosdays: "",
reason: "", //变异原因 reason: "", //变异原因
remarks: "", //备注 remarks: "", //备注
}, },
//路径天数下拉数据 //路径天数下拉数据
options: [], options: [],
reasonoptions: [], //变异原因 reasonoptions: [], //变异原因
crid: null, crid: null,
chickid: [], //选中的id chickid: [], //选中的id
chargeTypeoptions: [ chargeTypeoptions: [
{ {
label: "是", label: "是",
value: 1, value: 1,
}, },
{ {
label: "否", label: "否",
value: 0, value: 0,
}, },
], ],
tempRow: {}, //储存正在编辑的行 tempRow: {}, //储存正在编辑的行
tempRowChildren: [], tempRowChildren: [],
medicUseModeoptions: [], //途径 medicUseModeoptions: [], //途径
medicUseModeoptionsLise: [], medicUseModeoptionsLise: [],
medicUsePlanoptions: [], //频率 medicUsePlanoptions: [], //频率
medicalPurposeoptions: [], //用药目的 medicalPurposeoptions: [], //用药目的
radio: 1, radio: 1,
newtable1: [], newtable1: [],
newtable2: [], newtable2: [],
objtable: { route1: [], route2: [] }, objtable: { route1: [], route2: [] },
goSeeScoredialogFormVisible: false, //更多弹框 goSeeScoredialogFormVisible: false, //更多弹框
goSeeform: {}, goSeeform: {},
oldRowObj: {}, oldRowObj: {},
goSeeIndex: "", goSeeIndex: "",
goSeeIndexPid: "", goSeeIndexPid: "",
distype: 1, distype: 1,
cout: 0, cout: 0,
isPop: false, isPop: false,
gridData: [], gridData: [],
query: "", query: "",
}; };
},
mounted() {
this.getIsRoute();
this.gettopdata();
this.getlefttime();
this.gemedicUseModeoptions();
this.gemedicUsePlanoptions();
this.getmedicalPurposeoptions();
},
watch: {
query() {
console.log(this.query);
if (this.query !== "") {
this.medicUseModeoptions = this.medicUseModeoptionsLise.filter((item) => {
return item.describe.toLowerCase().indexOf(this.query.toLowerCase()) > -1 || item.pinyin.toLowerCase().indexOf(this.query.toLowerCase()) > -1;
});
} else {
this.medicUseModeoptions = this.medicUseModeoptionsLise;
}
}, },
mounted() { },
this.getIsRoute(); methods: {
this.gettopdata(); addRow(r) {
this.getlefttime(); const { cout } = this;
this.gemedicUseModeoptions(); const newData = {
this.gemedicUsePlanoptions(); emergency: 0,
this.getmedicalPurposeoptions(); adviceType: r.adviceType,
advice_name: r.advice_name,
id: this.$uuid(),
isClass: false,
parentid: r.id,
inhosdays: "",
isForbidden: true,
tickTime: transformTimestampnow(),
project_code: r.project_code,
project_name: null,
ischeck: 1,
specifications: null,
stockID: null,
dosage: null,
isAntibiotic: "",
medicUseQuantity: 0.0,
medicUseUnit: null,
medicUseMode: null,
medicUsePlan: null,
medicQuantity: 1,
medicUnit: null,
remark: "",
inventoryNum: null,
orderType: r.orderType,
medicalPurpose: null,
price: null,
type: r.type,
sort: cout + 1,
isedit: false,
isnew: true,
chiefComplaint: null,
inspectionPurpose: null,
symptom: null,
pastHistory: null,
auxiliaryItems: null,
inspectRemarks: null,
description: null,
isPop: false,
};
this.toggleSelection(newData, true);
this.cout = cout + 1;
r.children.push(newData);
}, },
watch: { onfocus(row, value) {
query() { this.tempRow = row;
console.log(this.query);
if (this.query !== "") {
this.medicUseModeoptions = this.medicUseModeoptionsLise.filter((item) => {
return (
item.describe.toLowerCase().indexOf(this.query.toLowerCase()) > -1 || item.pinyin.toLowerCase().indexOf(this.query.toLowerCase()) > -1
);
});
} else {
this.medicUseModeoptions = this.medicUseModeoptionsLise;
}
},
}, },
methods: { onInput(row, value) {
addRow(r) { value && this.etProjectByName(value);
const { cout } = this; },
const newData = { etProjectByName(query) {
emergency: 0, http
adviceType: r.adviceType, .post(`/ClinicalRoute/ClinicalRoute/GetProjectByName?searchQuery=${query}`, {})
advice_name: r.advice_name, .then((data) => {
id: this.$uuid(), if (data && data.length) {
isClass: false, data.map((el, i) => {
parentid: r.id, el.id = i++;
inhosdays: "",
isForbidden: true,
tickTime: transformTimestampnow(),
project_code: r.project_code,
project_name: null,
ischeck: 1,
specifications: null,
stockID: null,
dosage: null,
isAntibiotic: "",
medicUseQuantity: 0.0,
medicUseUnit: null,
medicUseMode: null,
medicUsePlan: null,
medicQuantity: 1,
medicUnit: null,
remark: "",
inventoryNum: null,
orderType: r.orderType,
medicalPurpose: null,
price: null,
type: r.type,
sort: cout + 1,
isedit: false,
isnew: true,
chiefComplaint: null,
inspectionPurpose: null,
symptom: null,
pastHistory: null,
auxiliaryItems: null,
inspectRemarks: null,
description: null,
isPop: false,
};
this.toggleSelection(newData, true);
this.cout = cout + 1;
r.children.push(newData);
},
onfocus(row, value) {
this.tempRow = row;
},
onInput(row, value) {
value && this.etProjectByName(value);
},
etProjectByName(query) {
http.post(`/ClinicalRoute/ClinicalRoute/GetProjectByName?searchQuery=${query}`, {})
.then((data) => {
if (data && data.length) {
data.map((el, i) => {
el.id = i++;
});
}
this.gridData = data;
})
.catch((error) => {});
},
rowdblclick(row, column, event) {
this.pushData(row, this.tableData);
console.log(row);
this.tempRow.isPop = false;
},
pushData(row, arr) {
arr.map((item) => {
if (item.id == this.tempRow.id) {
item.project_name = row.project_name;
item.specifications = row.specifications;
item.dosage = row.dosage;
item.isAntibiotic = row.isAntibiotic;
item.medicalPurpose = row.medicalPurpose;
item.medicUseQuantity = row.medicUseQuantity;
item.medicUseUnit = row.medicUseUnit;
item.medicUseMode = row.medicUseMode;
item.medicUsePlan = row.medicUsePlan;
item.dropNumber = row.dropNumber;
item.medicUnit = row.medicUnit;
item.remark = row.remark;
item.symptom = row.symptom;
item.emergency = row.emergency;
item.inhosdays = row.inhosdays;
item.project_code = row.project_code;
item.stockID = row.stockID;
item.medicQuantity = row.medicQuantity;
item.inventoryNum = row.inventoryNum;
item.price = row.price;
item.chiefComplaint = row.chiefComplaint;
item.inspectionPurpose = row.inspectionPurpose;
item.pastHistory = row.pastHistory;
item.auxiliaryItems = row.auxiliaryItems;
item.inspectRemarks = row.inspectRemarks;
item.description = row.description;
// item.adviceType = row.adviceType;
// item.advice_name = row.advice_name;
}
if (item.children && item.children.length > 0) {
this.pushData(row, item.children);
}
});
},
deleteRow(row, arr) {
arr.map((item, i) => {
if (item.id == row.id) {
arr.splice(i, 1);
this.toggleSelection(item, false);
}
if (item.children && item.children.length > 0) {
this.deleteRow(row, item.children);
}
}); });
}, }
//表格禁用 this.gridData = data;
selectEnable(row, rowIndex) { })
if (row.isForbidden == false) { .catch((error) => {});
return false; // 不禁用 },
} else {
return true; //禁用
}
},
//表格当前行样式
rowClass({ row, rowIndex }) {
if (row.isClass) {
return "rowStyleclass";
} else {
return "";
}
},
//更多
goSeeScore(row) {
this.distype = row.type;
this.oldRowObj = { ...row };
this.goSeeform = row;
this.goSeeScoredialogFormVisible = true;
},
//更多-取消
goSeecolse() {
this.goSeeform = {};
this.goSeeScoredialogFormVisible = false;
},
//更多--确定
goSeeok() {
if (this.radio == 1) {
this.multipleSelection[0] = this.goSeeform;
} else {
this.multipleSelection1[0] = this.goSeeform;
}
this.goSeeScoredialogFormVisible = false;
},
//获取途径,频率的下拉数据
gemedicUseModeoptions() {
http.post(`/ClinicalRoute/ClinicalRoute/GetStaCRParametersByType?type=1`, {})
.then((data) => {
this.medicUseModeoptions = data;
this.medicUseModeoptionsLise = data;
})
.catch((error) => {});
},
remoteMethod(query) {
this.query = query;
console.log(this.query);
if (query !== "") {
this.medicUseModeoptions = this.medicUseModeoptions.filter((item) => {
return item.describe.toLowerCase().indexOf(query.toLowerCase()) > -1 || item.pinyin.toLowerCase().indexOf(query.toLowerCase()) > -1;
});
} else {
this.medicUseModeoptions = this.medicUseModeoptionsLise;
}
},
//获取频率,频率的下拉数据
gemedicUsePlanoptions() {
http.post(`/ClinicalRoute/ClinicalRoute/GetStaCRParametersByType?type=2`, {})
.then((data) => {
this.medicUsePlanoptions = data;
})
.catch((error) => {});
},
//获取用要目的下拉数据
getmedicalPurposeoptions() {
http.post(`/ClinicalRoute/ClinicalRoute/GetStaCRParametersByType?type=3`, {})
.then((data) => {
this.medicalPurposeoptions = data;
})
.catch((error) => {});
},
//获取患者信息 rowdblclick(row, column, event) {
gettopdata() { this.pushData(row, this.tableData);
http.post(`/ClinicalRoute/ClinicalRoute/GetPatientInfo?pid=${this.$route.query.pid}`, {}) console.log(row);
.then((data) => { this.tempRow.isPop = false;
this.topdata = data; },
this.crid = data.crid; pushData(row, arr) {
this.getreasonoptions(); arr.map((item) => {
}) if (item.id == this.tempRow.id) {
.catch((error) => {}); item.project_name = row.project_name;
}, item.specifications = row.specifications;
item.dosage = row.dosage;
item.isAntibiotic = row.isAntibiotic;
item.medicalPurpose = row.medicalPurpose;
item.medicUseQuantity = row.medicUseQuantity;
item.medicUseUnit = row.medicUseUnit;
item.medicUseMode = row.medicUseMode;
item.medicUsePlan = row.medicUsePlan;
item.dropNumber = row.dropNumber;
item.medicUnit = row.medicUnit;
item.remark = row.remark;
item.symptom = row.symptom;
item.emergency = row.emergency;
item.inhosdays = row.inhosdays;
item.project_code = row.project_code;
item.stockID = row.stockID;
item.medicQuantity = row.medicQuantity;
item.inventoryNum = row.inventoryNum;
item.price = row.price;
item.chiefComplaint = row.chiefComplaint;
item.inspectionPurpose = row.inspectionPurpose;
item.pastHistory = row.pastHistory;
item.auxiliaryItems = row.auxiliaryItems;
item.inspectRemarks = row.inspectRemarks;
item.description = row.description;
// item.adviceType = row.adviceType;
// item.advice_name = row.advice_name;
}
if (item.children && item.children.length > 0) {
this.pushData(row, item.children);
}
});
},
deleteRow(row, arr) {
arr.map((item, i) => {
if (item.id == row.id) {
arr.splice(i, 1);
this.toggleSelection(item, false);
}
if (item.children && item.children.length > 0) {
this.deleteRow(row, item.children);
}
});
},
//表格禁用
selectEnable(row, rowIndex) {
if (row.isForbidden == false) {
return false; // 不禁用
} else {
return true; //禁用
}
},
//表格当前行样式
rowClass({ row, rowIndex }) {
if (row.isClass) {
return "rowStyleclass";
} else {
return "";
}
},
// setChildren(children, type) { //更多
// // 编辑多个子层级 goSeeScore(row) {
// children.map((j) => { this.distype = row.type;
// this.toggleSelection(j, type); this.oldRowObj = { ...row };
// if (j.children) { this.goSeeform = row;
// this.setChildren(j.children, type); this.goSeeScoredialogFormVisible = true;
// } },
// }); //更多-取消
// }, goSeecolse() {
this.goSeeform = {};
this.goSeeScoredialogFormVisible = false;
},
//更多--确定
goSeeok() {
if (this.radio == 1) {
this.multipleSelection[0] = this.goSeeform;
} else {
this.multipleSelection1[0] = this.goSeeform;
}
this.goSeeScoredialogFormVisible = false;
},
//获取途径,频率的下拉数据
gemedicUseModeoptions() {
http
.post(`/ClinicalRoute/ClinicalRoute/GetStaCRParametersByType?type=1`, {})
.then((data) => {
this.medicUseModeoptions = data;
this.medicUseModeoptionsLise = data;
})
.catch((error) => {});
},
remoteMethod(query) {
this.query = query;
console.log(this.query);
if (query !== "") {
this.medicUseModeoptions = this.medicUseModeoptions.filter((item) => {
return item.describe.toLowerCase().indexOf(query.toLowerCase()) > -1 || item.pinyin.toLowerCase().indexOf(query.toLowerCase()) > -1;
});
} else {
this.medicUseModeoptions = this.medicUseModeoptionsLise;
}
},
//获取频率,频率的下拉数据
gemedicUsePlanoptions() {
http
.post(`/ClinicalRoute/ClinicalRoute/GetStaCRParametersByType?type=2`, {})
.then((data) => {
this.medicUsePlanoptions = data;
})
.catch((error) => {});
},
//获取用要目的下拉数据
getmedicalPurposeoptions() {
http
.post(`/ClinicalRoute/ClinicalRoute/GetStaCRParametersByType?type=3`, {})
.then((data) => {
this.medicalPurposeoptions = data;
})
.catch((error) => {});
},
// 选中父节点时,子节点一起选中取消 //获取患者信息
select(selection, row) { gettopdata() {
row.tickTime = transformTimestampnow(); http
console.log( .post(`/ClinicalRoute/ClinicalRoute/GetPatientInfo?pid=${this.$route.query.pid}`, {})
selection.some((el) => { .then((data) => {
return row.id === el.id; this.topdata = data;
}) this.crid = data.crid;
); this.getreasonoptions();
// 选中 })
if ( .catch((error) => {});
selection.some((el) => { },
return row.id === el.id;
})
) {
row.ischeck = 1;
if (row.children) {
row.children
.filter((item) => item.isForbidden)
.map((j) => {
j.tickTime = transformTimestampnow();
j.edit = false;
console.log(j.type);
this.toggleSelection(j, true);
});
} else {
selection.map((v) => {
this.toggleSelection(v, true);
});
}
//取消 // setChildren(children, type) {
} else { // // 编辑多个子层级
console.log(row); // children.map((j) => {
if (row.children && row.children.length) { // this.toggleSelection(j, type);
row.children.map((p) => { // if (j.children) {
p.ischeck = 2; // this.setChildren(j.children, type);
p.isClass = false; // }
this.toggleSelection(p, false); // });
}); // },
} else {
row.ischeck = 2;
this.toggleSelection(row, false);
//取消的行数据
}
}
},
// 控制选框是否被选中
toggleSelection(row, select) {
if (row) {
console.log(row);
this.$nextTick(() => {
this.$refs.multipleTable && this.$refs.multipleTable.toggleRowSelection(row, select);
});
if (select == true) {
row.ischeck = 1;
} else {
row.ischeck = 2;
row.isClass = false;
}
}
},
// 选择全部 // 选中父节点时,子节点一起选中取消
selectAll(selection) { select(selection, row) {
// tabledata第一层只要有在selection里面就是全选 row.tickTime = transformTimestampnow();
const isSelect = selection.some((el) => { // 选中
const tableDataIds = this.tableData.map((j) => j.id); if (
return tableDataIds.includes(el.id); selection.some((el) => {
return row.id === el.id;
})
) {
row.ischeck = 1;
if (row.children) {
row.children
.filter((item) => item.isForbidden)
.map((j) => {
j.tickTime = transformTimestampnow();
j.edit = false;
console.log(j.type);
this.toggleSelection(j, true);
}); });
// tableDate第一层只要有不在selection里面就是全不选 console.log(1);
const isCancel = !this.tableData.every((el) => { } else {
const selectIds = selection.map((j) => j.id); selection.map((v) => {
return selectIds.includes(el.id); this.toggleSelection(v, true);
});
console.log(2);
}
//取消
} else {
this.toggleSelection(row, false);
if (row.children && row.children.length) {
console.log(3, row);
row.children.map((p) => {
p.ischeck = 2;
this.toggleSelection(p, false);
});
} else {
console.log(4);
row.ischeck = 2;
this.toggleSelection(row, false);
//取消的行数据
}
}
},
// 控制选框是否被选中
toggleSelection(row, select) {
if (row) {
this.$nextTick(() => {
this.$refs.multipleTable && this.$refs.multipleTable.toggleRowSelection(row, select);
});
if (select == true) {
row.ischeck = 1;
} else {
row.ischeck = 2;
}
}
},
// 选择全部
selectAll(selection) {
// tabledata第一层只要有在selection里面就是全选
const isSelect = selection.some((el) => {
const tableDataIds = this.tableData.map((j) => j.id);
return tableDataIds.includes(el.id);
});
// tableDate第一层只要有不在selection里面就是全不选
const isCancel = !this.tableData.every((el) => {
const selectIds = selection.map((j) => j.id);
return selectIds.includes(el.id);
});
if (isSelect) {
selection.map((el) => {
if (el.children) {
el.children
.filter((item) => item.isForbidden)
.map((j) => {
this.toggleSelection(j, true);
});
}
});
}
if (isCancel) {
this.tableData.map((el) => {
if (el.children) {
el.children.map((j) => {
this.toggleSelection(j, false);
}); });
if (isSelect) { }
selection.map((el) => { });
if (el.children) { }
el.children },
.filter((item) => item.isForbidden)
.map((j) => {
this.toggleSelection(j, true);
});
}
});
}
if (isCancel) {
this.tableData.map((el) => {
if (el.children) {
el.children.map((j) => {
this.toggleSelection(j, false);
});
}
});
}
},
//当选择项发生变化时会触发该事件 //当选择项发生变化时会触发该事件
SelectionChange(val) { SelectionChange(val) {
// this.multipleSelection = val; if (this.radio == 1) {
console.log(val.sort((a, b) => a.sort - b.sort) + "选中的数据"); this.multipleSelection = val.sort((a, b) => a.sort - b.sort);
if (this.radio == 1) { // this.multipleSelection = val.filter((item) => !item.children).sort((a, b) => a.sort - b.sort);
this.multipleSelection = val.sort((a, b) => a.sort - b.sort); } else {
console.log(this.multipleSelection.filter((item) => item.type != 1)); this.multipleSelection1 = val.sort((a, b) => a.sort - b.sort);
// this.multipleSelection = val.filter((item) => !item.children).sort((a, b) => a.sort - b.sort); // this.multipleSelection1 = val.filter((item) => !item.children).sort((a, b) => a.sort - b.sort);
} else { }
this.multipleSelection1 = val.sort((a, b) => a.sort - b.sort); if (this.multipleSelection.length) {
console.log(this.multipleSelection1.filter((item) => item.type != 1)); this.multipleSelection
// this.multipleSelection1 = val.filter((item) => !item.children).sort((a, b) => a.sort - b.sort); .filter((item) => item.type != 1)
} .filter((item) => !item.children)
if (this.multipleSelection.length) { .map((item, index) => {
this.multipleSelection index == 0 ? (item.isedit = true) : (item.isedit = false);
.filter((item) => item.type != 1) });
.filter((item) => !item.children) }
.map((item, index) => { if (this.multipleSelection1.length) {
index == 0 ? (item.isedit = true) : (item.isedit = false); this.multipleSelection1
}); .filter((item) => item.type != 1)
.filter((item) => !item.children)
.map((item, index) => {
index == 0 ? (item.isedit = true) : (item.isedit = false);
});
}
console.log(this.multipleSelection);
},
//获取左侧时间线数据
getlefttime() {
http
.post(`/ClinicalRoute/ClinicalRoute/GetGetRouteAdvicesLeft?pid=${this.$route.query.pid}`, {})
.then((data) => {
this.activities = data;
this.options = data;
if (this.activities.filter((item) => item.flag).length == this.activities.length) {
this.timeindex = this.activities[this.activities.length - 1].inhosdays;
this.timeclick(this.activities[this.activities.length - 1]);
}
if (this.activities.filter((item) => !item.flag).length == this.activities.length) {
this.timeindex = this.activities[0].inhosdays;
this.timeclick(this.activities[0]);
} else {
this.timeindex = this.activities.filter((item) => !item.flag)[0].inhosdays;
this.timeclick(this.activities.filter((item) => !item.flag)[0]);
}
})
.catch((error) => {
console.log(error);
});
},
//获取标识
getIsRoute() {
http
.post(`/ClinicalRoute/ClinicalRoute/IsRoute?pid=${this.$route.query.pid}`, {})
.then((data) => {
console.log(data);
if (data) {
this.$router.push({
path: "Entrypath",
query: {
pid: this.$route.query.pid,
},
});
}
})
.catch((error) => {});
},
getTableData() {
http
.post(`/ClinicalRoute/ClinicalRoute/GetGetRouteAdvicesRight?pid=${this.$route.query.pid}&case_routeid=${this.case_routeid}&searchQuery=${this.inhosdays}`, {})
.then((data) => {
data.route1.forEach((element) => {
if (element.children) {
element.children.map((el, i) => {
// if (el.orderType == "药疗") {
// el.children = [];
// }
el.sort = i++;
el.isedit = false;
});
} }
if (this.multipleSelection1.length) { });
this.multipleSelection1 data.route2.forEach((element) => {
.filter((item) => item.type != 1) if (element.children) {
.filter((item) => !item.children) element.children.map((el, i) => {
.map((item, index) => { // if (el.orderType == "药疗") {
index == 0 ? (item.isedit = true) : (item.isedit = false); // el.children = [];
}); // }
el.sort = i++;
el.isedit = false;
});
} }
console.log(this.multipleSelection); });
}, this.newtable1 = data.route1;
this.newtable2 = data.route2;
//获取左侧时间线数据 this.tableData = this.radio == 1 ? data.route1 : data.route2;
getlefttime() { })
http.post(`/ClinicalRoute/ClinicalRoute/GetGetRouteAdvicesLeft?pid=${this.$route.query.pid}`, {}) .catch((error) => {
.then((data) => { console.log(error);
this.activities = data; });
this.options = data; },
if (this.activities.filter((item) => item.flag).length == this.activities.length) { //单选
this.timeindex = this.activities[this.activities.length - 1].inhosdays; radiochange(e) {
this.timeclick(this.activities[this.activities.length - 1]); if (this.$refs.numberValidateForm || this.$refs.numberValidateForm1) {
} this.$refs.numberValidateForm.validate((valid) => {
if (this.activities.filter((item) => !item.flag).length == this.activities.length) { if (valid) {
this.timeindex = this.activities[0].inhosdays; this.$refs.numberValidateForm1.validate((valid) => {
this.timeclick(this.activities[0]); if (valid) {
} else {
this.timeindex = this.activities.filter((item) => !item.flag)[0].inhosdays;
this.timeclick(this.activities.filter((item) => !item.flag)[0]);
}
})
.catch((error) => {
console.log(error);
});
},
//获取标识
getIsRoute() {
http.post(`/ClinicalRoute/ClinicalRoute/IsRoute?pid=${this.$route.query.pid}`, {})
.then((data) => {
console.log(data);
if (data) {
this.$router.push({
path: "Entrypath",
query: {
pid: this.$route.query.pid,
},
});
}
})
.catch((error) => {});
},
getTableData() {
http.post(
`/ClinicalRoute/ClinicalRoute/GetGetRouteAdvicesRight?pid=${this.$route.query.pid}&case_routeid=${this.case_routeid}&searchQuery=${this.inhosdays}`,
{}
)
.then((data) => {
data.route1.forEach((element) => {
if (element.children) {
element.children.map((el, i) => {
// if (el.orderType == "药疗") {
// el.children = [];
// }
el.sort = i++;
el.isedit = false;
});
}
});
data.route2.forEach((element) => {
if (element.children) {
element.children.map((el, i) => {
// if (el.orderType == "药疗") {
// el.children = [];
// }
el.sort = i++;
el.isedit = false;
});
}
});
this.newtable1 = data.route1;
this.newtable2 = data.route2;
this.tableData = this.radio == 1 ? data.route1 : data.route2;
})
.catch((error) => {
console.log(error);
});
},
//单选
radiochange(e) {
if (this.$refs.numberValidateForm || this.$refs.numberValidateForm1) {
this.$refs.numberValidateForm.validate((valid) => {
if (valid) {
this.$refs.numberValidateForm1.validate((valid) => {
if (valid) {
this.radio = e;
this.tableData = this.radio == 1 ? this.newtable1 : this.newtable2;
if (this.radio == 1) {
this.multipleSelection.map((j) => {
this.toggleSelection(j, true);
});
} else {
this.multipleSelection1.map((p) => {
this.toggleSelection(p, true);
});
}
} else {
console.log("error submit!!");
return false;
}
});
} else {
console.log("error submit!!");
return false;
}
});
} else {
this.radio = e; this.radio = e;
this.tableData = this.radio == 1 ? this.newtable1 : this.newtable2; this.tableData = this.radio == 1 ? this.newtable1 : this.newtable2;
if (this.radio == 1) { if (this.radio == 1) {
this.multipleSelection.map((j) => { this.multipleSelection.map((j) => {
this.toggleSelection(j, true); this.toggleSelection(j, true);
}); });
} else { } else {
this.multipleSelection1.map((p) => { this.multipleSelection1.map((p) => {
this.toggleSelection(p, true); this.toggleSelection(p, true);
}); });
} }
} } else {
}, console.log("error submit!!");
//点击左侧时间线 获取右侧表格数据 return false;
timeclick(val) { }
this.timeindex = val.inhosdays; });
this.case_routeid = val.case_routeid; } else {
this.inhosdays = val.inhosdays; console.log("error submit!!");
this.getTableData(); return false;
}, }
//保存医嘱 });
joinorder() { } else {
if (this.multipleSelection.length || this.multipleSelection1.length) { this.radio = e;
if (this.$refs.numberValidateForm || this.$refs.numberValidateForm1) { this.tableData = this.radio == 1 ? this.newtable1 : this.newtable2;
this.$refs.numberValidateForm.validate((valid) => { if (this.radio == 1) {
if (valid) { this.multipleSelection.map((j) => {
this.$refs.numberValidateForm1.validate((valid) => { this.toggleSelection(j, true);
if (valid) { });
this.saveSetPatientRoutes(); } else {
} else { this.multipleSelection1.map((p) => {
console.log("error submit!!"); this.toggleSelection(p, true);
return false; });
} }
}); }
} else { },
console.log("error submit!!"); //点击左侧时间线 获取右侧表格数据
return false; timeclick(val) {
} this.timeindex = val.inhosdays;
}); this.case_routeid = val.case_routeid;
this.inhosdays = val.inhosdays;
this.getTableData();
},
//保存医嘱
joinorder() {
if (this.multipleSelection.length || this.multipleSelection1.length) {
if (this.$refs.numberValidateForm || this.$refs.numberValidateForm1) {
this.$refs.numberValidateForm.validate((valid) => {
if (valid) {
this.$refs.numberValidateForm1.validate((valid) => {
if (valid) {
this.saveSetPatientRoutes();
} else { } else {
this.saveSetPatientRoutes(); console.log("error submit!!");
return false;
} }
});
} else {
console.log("error submit!!");
return false;
} }
}, });
msg(s, m) { } else {
setTimeout(() => { this.saveSetPatientRoutes();
Message({ }
message: m, }
type: s, },
}); msg(s, m) {
}, 300); setTimeout(() => {
}, Message({
saveSetPatientRoutes() { message: m,
this.objtable.route1 = this.multipleSelection; type: s,
this.objtable.route2 = this.multipleSelection1; });
http.post(`/ClinicalRoute/ClinicalRoute/SetPatientRoutes?pid=${this.$route.query.pid}`, this.objtable) }, 300);
.then(async (data) => { },
data.map((item) => { saveSetPatientRoutes() {
if (item.code == "0") { this.objtable.route1 = this.multipleSelection;
this.msg("success", item.msg); this.objtable.route2 = this.multipleSelection1;
} else { http
this.msg("error", item.msg); .post(`/ClinicalRoute/ClinicalRoute/SetPatientRoutes?pid=${this.$route.query.pid}`, this.objtable)
} .then(async (data) => {
}); data.map((item) => {
this.getlefttime(); if (item.code == "0") {
}) this.msg("success", item.msg);
} else {
this.msg("error", item.msg);
}
});
this.getlefttime();
})
.catch((error) => {}); .catch((error) => {});
}, },
//获取病情变异--变异原因下拉框 //获取病情变异--变异原因下拉框
getreasonoptions() { getreasonoptions() {
http.post(`/ClinicalRoute/ClinicalRoute/GetStandardByType?crid=${this.crid}`, {}) http
.then((data) => { .post(`/ClinicalRoute/ClinicalRoute/GetStandardByType?crid=${this.crid}`, {})
this.reasonoptions = data; .then((data) => {
}) this.reasonoptions = data;
.catch((error) => {}); })
}, .catch((error) => {});
//病情变异 },
variation() { //病情变异
this.editdialogFormVisible = true; variation() {
}, this.editdialogFormVisible = true;
//确定 },
fromOKbtn(fromRef) { //确定
let prome = { fromOKbtn(fromRef) {
pid: this.$route.value.query.pid, let prome = {
reason: this.form.reason, pid: this.$route.value.query.pid,
inhosdays: this.form.inhosdays, reason: this.form.reason,
remarks: this.form.remarks, inhosdays: this.form.inhosdays,
}; remarks: this.form.remarks,
};
http.post(`/ClinicalRoute/ClinicalRoute/SetVariation`, prome) http
.then((data) => { .post(`/ClinicalRoute/ClinicalRoute/SetVariation`, prome)
Message({ .then((data) => {
message: data.message, Message({
type: "success", message: data.message,
}); type: "success",
(this.form = { });
inhosdays: "", (this.form = {
reason: "", inhosdays: "",
}), reason: "",
(this.editdialogFormVisible = false); }),
(this.editdialogFormVisible = false);
this.$router.push({ this.$router.push({
path: "Entrypath", path: "Entrypath",
query: { query: {
pid: this.$route.query.pid, pid: this.$route.query.pid,
}, },
}); });
}) })
.catch((error) => {}); .catch((error) => {});
}, },
//取消 //取消
close() { close() {
(this.form = { (this.form = {
inhosdays: "", inhosdays: "",
reason: "", reason: "",
}), }),
(this.editdialogFormVisible = false); (this.editdialogFormVisible = false);
}, },
//下拉框鼠标移上显示提示文字 //下拉框鼠标移上显示提示文字
getTitle(val) { getTitle(val) {
if (val != "") { if (val != "") {
let a = this.reasonoptions.filter((item) => item.describe == val); let a = this.reasonoptions.filter((item) => item.describe == val);
return a[0].describe; return a[0].describe;
} }
},
}, },
},
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
...@@ -1029,270 +990,271 @@ export default { ...@@ -1029,270 +990,271 @@ export default {
@import "../styles/media/components/outClinicalpathway.scss"; @import "../styles/media/components/outClinicalpathway.scss";
//选中当前行样式 //选中当前行样式
::v-deep .rowStyleclass { ::v-deep .rowStyleclass {
font-weight: 700; font-weight: 700;
background-color: #f5f7fa; // background-color: #f5f7fa;
color: #0283bb;
} }
//时间线样式 //时间线样式
::v-deep .el-timeline-item__tail { ::v-deep .el-timeline-item__tail {
left: 0 !important; left: 0 !important;
height: 0 !important; height: 0 !important;
} }
::v-deep .el-timeline-item { ::v-deep .el-timeline-item {
padding-bottom: 5px !important; padding-bottom: 5px !important;
display: flex !important; display: flex !important;
align-items: end !important; align-items: end !important;
} }
::v-deep .el-timeline-item__wrapper { ::v-deep .el-timeline-item__wrapper {
padding-left: 29px !important; padding-left: 29px !important;
margin-right: 30px !important; margin-right: 30px !important;
top: 3px !important; top: 3px !important;
display: flex !important; display: flex !important;
align-items: end !important; align-items: end !important;
.el-timeline-item__content { .el-timeline-item__content {
display: -webkit-box; display: -webkit-box;
overflow: hidden; overflow: hidden;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
-webkit-line-clamp: 1; -webkit-line-clamp: 1;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
} }
::v-deep .el-timeline-item__node--normal { ::v-deep .el-timeline-item__node--normal {
margin-left: 15px !important; margin-left: 15px !important;
} }
//单选框 //单选框
::v-deep .el-radio__input.is-checked .el-radio__inner { ::v-deep .el-radio__input.is-checked .el-radio__inner {
background-color: #0085ba !important; background-color: #0085ba !important;
border-color: #1097e0 !important; border-color: #1097e0 !important;
} }
::v-deep .el-radio__input.is-checked + .el-radio__label { ::v-deep .el-radio__input.is-checked + .el-radio__label {
color: #0085ba !important; color: #0085ba !important;
} }
//多选框选中状态背景颜色 //多选框选中状态背景颜色
::v-deep .el-checkbox__input.is-checked .el-checkbox__inner { ::v-deep .el-checkbox__input.is-checked .el-checkbox__inner {
background-color: #0085ba !important; background-color: #0085ba !important;
border-color: #1097e0 !important; border-color: #1097e0 !important;
} }
::v-deep .el-table--scrollable-x .el-table__body-wrapper { ::v-deep .el-table--scrollable-x .el-table__body-wrapper {
height: 688px !important ; height: 688px !important ;
overflow-y: auto !important; overflow-y: auto !important;
} }
// 滚动条的宽度 // 滚动条的宽度
::v-deep .el-table__body-wrapper::-webkit-scrollbar { ::v-deep .el-table__body-wrapper::-webkit-scrollbar {
/*滚动条整体样式*/ /*滚动条整体样式*/
width: 10px; width: 10px;
/*高宽分别对应横竖滚动条的尺寸*/ /*高宽分别对应横竖滚动条的尺寸*/
height: 10px; height: 10px;
background-color: #ffff; background-color: #ffff;
} }
// 滚动条的滑块 // 滚动条的滑块
::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb { ::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb {
background-color: #27aae2; background-color: #27aae2;
border: 3px solid transparent; border: 3px solid transparent;
border-radius: 9px; border-radius: 9px;
background-clip: content-box; background-clip: content-box;
} }
::v-deep .el-table__body-wrapper::-webkit-scrollbar-track { ::v-deep .el-table__body-wrapper::-webkit-scrollbar-track {
/*滚动条里面轨道*/ /*滚动条里面轨道*/
border-radius: 20px; border-radius: 20px;
background: #ffff; background: #ffff;
width: 10px; width: 10px;
} }
.outClinicalpathway { .outClinicalpathway {
// height: calc(100% - 50px); // height: calc(100% - 50px);
// background-color: white; // background-color: white;
// padding: 20px; // padding: 20px;
// position: relative; // position: relative;
// overflow: hidden; // overflow: hidden;
height: 900px; height: 900px;
background-color: #f0f0f0;
// padding: 10px;
overflow: hidden;
position: relative;
&_top {
width: 100%;
height: 12%;
margin-bottom: 5px;
background-color: #f0f0f0; background-color: #f0f0f0;
// padding: 10px; display: flex;
overflow: hidden; flex-direction: column;
position: relative; &_bg {
&_top { width: 100%;
height: 15%;
background-color: #0283bb;
}
&_coent {
width: 100%;
height: 50%;
background-color: #ffff;
display: flex;
margin-bottom: 5px;
&_left {
height: 100%;
width: 100%; width: 100%;
height: 12%;
margin-bottom: 5px;
background-color: #f0f0f0;
display: flex; display: flex;
flex-direction: column; justify-content: center;
&_bg { align-items: center;
width: 100%; &_one {
height: 15%; width: 98%;
background-color: #0283bb; height: 80%;
} background-color: #f2fafd;
&_coent { margin-bottom: 10px;
width: 100%; display: flex;
height: 50%; align-items: center;
justify-content: space-between;
margin-top: 10px;
span {
width: 3%;
height: 100%;
font-size: 14px;
display: flex;
justify-content: center;
align-items: center;
}
&_t1 {
width: 24%;
height: 80%;
margin-right: 5px;
background-color: #ffff; background-color: #ffff;
display: flex; display: flex;
margin-bottom: 5px; align-items: center;
&_left { color: #acacac;
height: 100%; font-weight: 400;
width: 100%; padding-left: 20px;
display: flex; margin-left: 10px;
justify-content: center; span {
align-items: center; width: 80%;
&_one { height: 80%;
width: 98%; color: #181617;
height: 80%; display: flex;
background-color: #f2fafd; justify-content: flex-start;
margin-bottom: 10px; align-items: center;
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 10px;
span {
width: 3%;
height: 100%;
font-size: 14px;
display: flex;
justify-content: center;
align-items: center;
}
&_t1 {
width: 24%;
height: 80%;
margin-right: 5px;
background-color: #ffff;
display: flex;
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 20px;
margin-left: 10px;
span {
width: 80%;
height: 80%;
color: #181617;
display: flex;
justify-content: flex-start;
align-items: center;
}
}
&_t2 {
width: 24%;
height: 80%;
margin-right: 5px;
background-color: #ffff;
display: flex;
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 20px;
span {
width: 80%;
height: 80%;
color: #181617;
display: flex;
justify-content: flex-start;
align-items: center;
}
}
&_t3 {
width: 24%;
height: 80%;
margin-right: 5px;
background-color: #ffff;
margin-right: 10px;
display: flex;
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 20px;
span {
width: 80%;
height: 80%;
color: #181617;
display: flex;
justify-content: flex-start;
align-items: center;
}
}
&_t4 {
width: 24%;
height: 80%;
background-color: #ffff;
margin-right: 5px;
display: flex;
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 20px;
span {
width: 60%;
height: 80%;
color: #181617;
display: flex;
justify-content: flex-start;
align-items: center;
}
}
}
}
&_right {
height: 100%;
width: 20%;
display: flex;
align-items: center;
justify-content: center;
&_btn {
height: 50%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
} }
} }
&_time { &_t2 {
width: 100%; width: 24%;
height: 35%; height: 80%;
background: #ffff; margin-right: 5px;
background-color: #ffff;
display: flex;
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 20px; padding-left: 20px;
span {
width: 80%;
height: 80%;
color: #181617;
display: flex;
justify-content: flex-start;
align-items: center;
}
}
&_t3 {
width: 24%;
height: 80%;
margin-right: 5px;
background-color: #ffff;
margin-right: 10px;
display: flex; display: flex;
align-items: center; align-items: center;
color: #acacac;
&_timespan { font-weight: 400;
max-width: 200px; padding-left: 20px;
/* height: 20px; */ span {
display: flex; width: 80%;
background-color: #0283bb; height: 80%;
border-radius: 20px; color: #181617;
margin-right: 10px; display: flex;
span { justify-content: flex-start;
color: #ffff; align-items: center;
}
} }
&_timespan2 { }
max-width: 200px; &_t4 {
/* height: 20px; */ width: 24%;
display: flex; height: 80%;
background-color: #ffff;
margin-right: 5px;
display: flex;
align-items: center;
color: #acacac;
font-weight: 400;
padding-left: 20px;
span {
width: 60%;
height: 80%;
color: #181617;
display: flex;
justify-content: flex-start;
align-items: center;
} }
}
} }
} }
&_table { &_right {
height: 84%; height: 100%;
width: 100%; width: 20%;
display: flex; display: flex;
align-items: center;
justify-content: center;
&_btn {
height: 50%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
}
}
&_time {
width: 100%;
height: 35%;
background: #ffff;
padding-left: 20px;
display: flex;
align-items: center;
&_right { &_timespan {
width: 100%; max-width: 200px;
height: 100%; /* height: 20px; */
&_radio { display: flex;
width: 100%; background-color: #0283bb;
height: 8%; border-radius: 20px;
background: #ffff; margin-right: 10px;
display: flex; span {
align-items: center; color: #ffff;
padding-left: 10px;
}
} }
}
&_timespan2 {
max-width: 200px;
/* height: 20px; */
display: flex;
}
}
}
&_table {
height: 84%;
width: 100%;
display: flex;
&_right {
width: 100%;
height: 100%;
&_radio {
width: 100%;
height: 8%;
background: #ffff;
display: flex;
align-items: center;
padding-left: 10px;
}
} }
/* .el-form-item { }
/* .el-form-item {
margin: 0; margin: 0;
} */ } */
} }
......
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