123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- <template>
- <div class="plate-box">
- <h2 class="title border">
- <span class="line"></span>
- <p>{{title}}</p>
- <span class="line"></span>
- </h2>
- <table class="table">
- <tr>
- <th width="12%">开嘱医生</th>
- <th width="18%">开始时间</th>
- <th width="31%">医嘱内容</th>
- <th width="18.6%">执行时间</th>
- <th width="10.5%">执行护士</th>
- <th width="9.4%">核对护士</th>
- </tr>
- <template v-for="(group) in advice_groups">
- <tr v-for="(advice, i) in group.advices" :key="advice.id">
- <td v-if="i == 0" :rowspan="group.advices.length">{{doctor_map[advice.advice_doctor] != undefined ? doctor_map[advice.advice_doctor].name : ""}}</td>
-
- <td v-if="i == 0" :rowspan="group.advices.length">{{parseTime(advice.start_time, "{m}-{d} {h}:{i}")}}</td>
-
- <td :class="advice.parent_id == 0 ? 'advice_content' : 'subadvice_content'">
- <span>{{advice.advice_name }}</span>
- <!-- <span>{{advice.drug_spec}}{{advice.drug_spec_unit}} * {{advice.prescribing_number}}{{advice.prescribing_number_unit}}</span> -->
- <span v-if="advice.drug_spec">{{advice.drug_spec}}{{advice.drug_spec_unit}}</span>
- <span v-if="advice.prescribing_number">{{advice.prescribing_number}}{{advice.prescribing_number_unit}}</span>
- <span v-if="advice.single_dose">单次用量{{advice.single_dose}}{{advice.single_dose_unit}}</span>
- <span v-if="advice.parent_id == 0">{{advice.delivery_way}}</span>
- <span v-if="advice.parent_id == 0">{{advice.execution_frequency}}</span>
- <span v-if="advice.parent_id == 0&&advice.remark.length > 0">({{advice.remark}})</span>
-
- </td>
-
- <td>{{parseTime(advice.execution_time, "{m}-{d} {h}:{i}")}}</td>
-
- <td>{{advice.execution_staff != 0 ? (doctor_map[advice.execution_staff] != undefined ? doctor_map[advice.execution_staff].name : "") : ""}}</td>
-
- <td>{{advice.checker != 0 ? (doctor_map[advice.checker] != undefined ? doctor_map[advice.checker].name : "") : ""}}</td>
- </tr>
- </template>
- </table>
- <div class="NoData" v-show="advice_groups.length == 0">
- <img style="margin-top: 50px; margin-bottom: 50px" src="@/assets/login/data.jpg" alt>
- </div>
- </div>
- </template>
-
- <script>
- import { parseTime } from "@/utils";
-
- export default {
- name: "statOrder",
- data() {
- return {
- title: "临时医嘱 ",
- tableDate: [],
- };
- },
- props: {
- doctor_map: {
- type: Object
- },
- advice_groups: {
- type: Array,
- default: () => {
- return []
- }
- }
- },
- methods: {
- setAdvices(advices) {
- if (advices == null) {
- advices = [];
- }
- this.tableDate.splice(0, this.tableDate.length);
- this.tableDate.push(...advices);
- },
- parseTime(time, layout) {
- if (time == 0) {
- return "";
- }
- return parseTime(time, layout);
- },
- createMedicalOrder(row) {
- if (row.parent_id > 0) {
- var spliceIndex = -1;
- for (let index = this.tableDate.length - 1; ; index--) {
- if (this.tableDate[index].parent_id === row.parent_id) {
- spliceIndex = index;
- break;
- } else if (this.tableDate[index].id === row.parent_id) {
- spliceIndex = index;
- break;
- }
- }
- if (spliceIndex > -1) {
- spliceIndex += 1;
- if (spliceIndex === this.tableDate.length) {
- this.tableDate.push(row);
- } else {
- var swapData = this.tableDate.splice(spliceIndex);
- this.tableDate.push(row);
- this.tableDate = this.tableDate.concat(swapData);
- }
- }
- } else {
- this.tableDate.unshift(row);
- }
- },
- delMedicalOrder(row) {
- if (row.parent_id > 0) {
- var rslen = this.tableDate.length;
- for (let i = 0; i < rslen; i++) {
- if (this.tableDate[i].id == row.id) {
- this.tableDate.splice(i, 1);
- break;
- }
- }
- } else {
- var resetTableData = this.tableDate;
- this.tableDate = [];
- var that = this;
- var rslen = resetTableData.length;
- for (let i = 0; i < rslen; i++) {
- if (
- resetTableData[i].id != row.id &&
- resetTableData[i].parent_id != row.id
- ) {
- that.tableDate.push(resetTableData[i]);
- }
- }
- }
- },
- executionMedicalOrder(row) {
- var alen = this.tableDate.length;
- for (let index = 0; index < alen; index++) {
- if (this.tableDate[index].id == row.id) {
- this.tableDate[index].execution_state = 1;
- this.tableDate[index].execution_staff = row.execution_staff;
- this.tableDate[index].execution_time = row.execution_time;
- this.tableDate[index].checker = row.checker;
- break;
- }
- }
- }
- }
- };
- </script>
-
- <style rel="stylesheet/scss" lang="scss" scoped>
- .table {
- width: 100%;
- overflow: hidden;
- font-size: 0.34rem;
- text-align: center;
- border: $border-color;
- tr {
- padding: 0;
- margin: 0;
- padding: 0.1rem 0;
- th {
- background: $main-color;
- border: none;
- color: #fff;
- padding: 0;
- margin: 0;
- height: 0.88rem;
- line-height: 0.88rem;
- font-weight: normal;
- }
-
- .advice_content {
- text-align: left;
- padding-left: 5px;
- padding-right: 5px;
- // background: #eff6fc;
- }
- .subadvice_content {
- text-align: left;
- padding-left: 25px;
- padding-right: 5px;
- // background: #fafcfe;
- }
- }
- }
- </style>
-
-
-
|