|
@@ -3,132 +3,104 @@
|
3
|
3
|
<!-- <div class="filter-container">
|
4
|
4
|
<el-input style="width: 400px;" v-model="searchKey" class="filter-item"/>
|
5
|
5
|
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
|
6
|
|
- </div> -->
|
|
6
|
+ </div>-->
|
7
|
7
|
<div class="cell">
|
8
|
|
- <label class="title"><span class="name">{{ search_mode == 1 ? "日期查询" : "病人查询" }}</span> : </label>
|
9
|
|
- <el-date-picker v-show="search_mode == 1" v-model="time" prefix-icon="el-icon-date" @change="changeTime" :editable="false"
|
10
|
|
- style="width: 250px;" type="date" placeholder="选择日期时间" align="right"
|
11
|
|
- :picker-options="pickerOptions1" format="yyyy-MM-dd"
|
12
|
|
- value-format="timestamp"></el-date-picker>
|
13
|
|
- <el-input v-show="search_mode == 2" v-model="patient_search_keyword" style="width: 250px;" placeholder="病人名字、透析号">
|
14
|
|
- <el-button slot="append" style="background-color: #409EFF; color: white; border-radius: 0;" icon="el-icon-search" @click="searchPatientAction"></el-button>
|
|
8
|
+ <label class="title">
|
|
9
|
+ <span class="name">{{ search_mode == 1 ? "日期查询" : "病人查询" }}</span> :
|
|
10
|
+ </label>
|
|
11
|
+ <el-date-picker
|
|
12
|
+ v-show="search_mode == 1"
|
|
13
|
+ v-model="time"
|
|
14
|
+ prefix-icon="el-icon-date"
|
|
15
|
+ @change="changeTime"
|
|
16
|
+ :editable="false"
|
|
17
|
+ style="width: 250px;"
|
|
18
|
+ type="date"
|
|
19
|
+ placeholder="选择日期时间"
|
|
20
|
+ align="right"
|
|
21
|
+ :picker-options="pickerOptions1"
|
|
22
|
+ format="yyyy-MM-dd"
|
|
23
|
+ value-format="timestamp"
|
|
24
|
+ ></el-date-picker>
|
|
25
|
+ <el-input
|
|
26
|
+ v-show="search_mode == 2"
|
|
27
|
+ v-model="patient_search_keyword"
|
|
28
|
+ style="width: 250px;"
|
|
29
|
+ placeholder="病人名字、透析号"
|
|
30
|
+ >
|
|
31
|
+ <el-button
|
|
32
|
+ slot="append"
|
|
33
|
+ style="background-color: #409EFF; color: white; border-radius: 0;"
|
|
34
|
+ icon="el-icon-search"
|
|
35
|
+ @click="searchPatientAction"
|
|
36
|
+ ></el-button>
|
15
|
37
|
</el-input>
|
16
|
|
- <el-button type="primary" @click="changeSearchMode">{{ search_mode == 1 ? "改为病人查询" : "改为日期查询" }}</el-button>
|
|
38
|
+ <el-button
|
|
39
|
+ type="primary"
|
|
40
|
+ @click="changeSearchMode"
|
|
41
|
+ >{{ search_mode == 1 ? "改为病人查询" : "改为日期查询" }}</el-button>
|
|
42
|
+
|
|
43
|
+ <el-button type="primary" :disabled="selecting_schs.length == 0" @click="batchPrintAction">打印</el-button>
|
17
|
44
|
</div>
|
18
|
45
|
<div class="cell clearfix">
|
19
|
|
- <label class="title"><span class="name">排班班次</span> : </label>
|
20
|
|
- <div class="time ">
|
21
|
|
- <ul class="">
|
22
|
|
- <li :class="item.value==schedulType?'active':''" @click='selectSchedulType(item.value)'
|
23
|
|
- v-for="item in schedulArr" :key="item.value">{{item.label}}
|
24
|
|
- </li>
|
|
46
|
+ <label class="title">
|
|
47
|
+ <span class="name">排班班次</span> :
|
|
48
|
+ </label>
|
|
49
|
+ <div class="time">
|
|
50
|
+ <ul class>
|
|
51
|
+ <li
|
|
52
|
+ :class="item.value==schedulType?'active':''"
|
|
53
|
+ @click="selectSchedulType(item.value)"
|
|
54
|
+ v-for="item in schedulArr"
|
|
55
|
+ :key="item.value"
|
|
56
|
+ >{{item.label}}</li>
|
25
|
57
|
</ul>
|
26
|
58
|
</div>
|
27
|
59
|
</div>
|
28
|
|
- <!--<div class="cell clearfix">-->
|
29
|
|
- <!--<label class="title"><span class="name">预警类型</span> : </label>-->
|
30
|
|
- <!--<div class="time ">-->
|
31
|
|
- <!--<ul class="">-->
|
32
|
|
- <!--<li :class="item.id==partitionType?'active':''" @click='selectPartitionType(item.id)'-->
|
33
|
|
- <!--v-for="item in warnArr" :key="item.id">{{item.label}}-->
|
34
|
|
- <!--</li>-->
|
35
|
|
- <!--</ul>-->
|
36
|
|
- <!--</div>-->
|
37
|
|
- <!--</div>-->
|
38
|
|
- <!--<div class="cell clearfix">-->
|
39
|
|
- <!--<label class="title"><span class="name">病人来源</span> : </label>-->
|
40
|
|
- <!--<div class="time ">-->
|
41
|
|
- <!--<ul class="">-->
|
42
|
|
- <!--<li :class="item.id==partitionType?'active':''" @click='selectPartitionType(item.id)'-->
|
43
|
|
- <!--v-for="item in sourceArr" :key="item.id">{{item.label}}-->
|
44
|
|
- <!--</li>-->
|
45
|
|
- <!--</ul>-->
|
46
|
|
- <!--</div>-->
|
47
|
|
- <!--</div>-->
|
48
|
60
|
<div class="cell clearfix">
|
49
|
|
- <label class="title"><span class="name">分区</span> : </label>
|
50
|
|
- <div class="time ">
|
51
|
|
- <ul class="">
|
52
|
|
- <li :class="item.id==partitionType?'active':''" @click='selectPartitionType(item.id)'
|
53
|
|
- v-for="item in partitionArr" :key="item.id">{{item.name}}
|
54
|
|
- </li>
|
|
61
|
+ <label class="title">
|
|
62
|
+ <span class="name">分区</span> :
|
|
63
|
+ </label>
|
|
64
|
+ <div class="time">
|
|
65
|
+ <ul class>
|
|
66
|
+ <li
|
|
67
|
+ :class="item.id==partitionType?'active':''"
|
|
68
|
+ @click="selectPartitionType(item.id)"
|
|
69
|
+ v-for="item in partitionArr"
|
|
70
|
+ :key="item.id"
|
|
71
|
+ >{{item.name}}</li>
|
55
|
72
|
</ul>
|
56
|
73
|
</div>
|
57
|
74
|
</div>
|
58
|
75
|
|
59
|
|
-
|
60
|
76
|
<el-table
|
61
|
77
|
:data="SchedualPatientsTableData"
|
62
|
78
|
style="width: 100%"
|
63
|
79
|
v-loading="loading"
|
64
|
80
|
@current-change="clickCurrent"
|
65
|
|
- >
|
66
|
|
- <el-table-column
|
67
|
|
- prop="number"
|
68
|
|
- label="机号"
|
69
|
|
- align="center"
|
70
|
|
- >
|
71
|
|
- </el-table-column>
|
72
|
|
- <el-table-column
|
73
|
|
- label="排班日期"
|
74
|
|
- prop="sch_time"
|
75
|
|
- align="center"
|
76
|
|
- width="120"
|
77
|
|
- >
|
78
|
|
- </el-table-column>
|
79
|
|
- <el-table-column
|
80
|
|
- prop="dialysis_no"
|
81
|
|
- label="透析号"
|
82
|
|
- align="center"
|
83
|
|
-
|
84
|
|
- >
|
85
|
|
- </el-table-column>
|
86
|
|
- <el-table-column
|
87
|
|
- prop="name"
|
88
|
|
- label="姓名"
|
89
|
|
- align="center"
|
90
|
|
-
|
91
|
|
- >
|
92
|
|
- </el-table-column>
|
93
|
|
-
|
94
|
|
- <el-table-column
|
95
|
|
- prop="mode_name"
|
96
|
|
- label="透析模式"
|
97
|
|
- align="center"
|
98
|
|
-
|
99
|
|
- >
|
100
|
|
- </el-table-column>
|
101
|
|
-
|
102
|
|
- <el-table-column
|
103
|
|
- prop="dialysis_before_weight"
|
104
|
|
- label="透前体重 (kg)"
|
105
|
|
- align="center"
|
106
|
|
-
|
107
|
|
- >
|
108
|
|
- </el-table-column>
|
109
|
|
- <el-table-column
|
110
|
|
- prop="dialysis_after_weight"
|
111
|
|
- label="透后体重 (kg)"
|
112
|
|
- align="center"
|
113
|
|
-
|
114
|
|
- >
|
115
|
|
- </el-table-column>
|
|
81
|
+ @selection-change="handleSelectionChange"
|
|
82
|
+ >
|
|
83
|
+ <el-table-column type="selection" width="45" align="center"></el-table-column>
|
|
84
|
+ <el-table-column prop="number" label="机号" align="center"></el-table-column>
|
|
85
|
+ <el-table-column label="排班日期" prop="sch_time" align="center" width="120"></el-table-column>
|
|
86
|
+ <el-table-column prop="dialysis_no" label="透析号" align="center"></el-table-column>
|
|
87
|
+ <el-table-column prop="name" label="姓名" align="center"></el-table-column>
|
|
88
|
+
|
|
89
|
+ <el-table-column prop="mode_name" label="透析模式" align="center"></el-table-column>
|
|
90
|
+
|
|
91
|
+ <el-table-column prop="dialysis_before_weight" label="透前体重 (kg)" align="center"></el-table-column>
|
|
92
|
+ <el-table-column prop="dialysis_after_weight" label="透后体重 (kg)" align="center"></el-table-column>
|
116
|
93
|
<el-table-column label="透中血压">
|
117
|
|
-
|
118
|
|
- <el-table-column v-for="(item, index) in labelArr" :key="index" :label="item" >
|
|
94
|
+ <el-table-column v-for="(item, index) in labelArr" :key="index" :label="item">
|
119
|
95
|
<!-- 数据的遍历 scope.row就代表数据的每一个对象-->
|
120
|
96
|
<template slot-scope="scope">
|
121
|
97
|
<!--<span>{{scope.row.bp[index].value}}</span>-->
|
122
|
98
|
<span>{{getValue(scope.row.bp[index])}}</span>
|
123
|
|
-
|
124
|
99
|
</template>
|
125
|
100
|
</el-table-column>
|
126
|
|
-
|
127
|
101
|
</el-table-column>
|
128
|
|
-
|
129
|
102
|
</el-table>
|
130
|
103
|
|
131
|
|
-
|
132
|
104
|
<el-pagination
|
133
|
105
|
@current-change="handleCurrentChange"
|
134
|
106
|
:page-sizes="[10]"
|
|
@@ -136,379 +108,383 @@
|
136
|
108
|
background
|
137
|
109
|
style="margin-top:20px;"
|
138
|
110
|
layout="total, sizes, prev, pager, next, jumper"
|
139
|
|
- :total="total">
|
140
|
|
- </el-pagination>
|
141
|
|
-
|
142
|
|
-
|
|
111
|
+ :total="total"
|
|
112
|
+ ></el-pagination>
|
143
|
113
|
</div>
|
144
|
|
-
|
145
|
114
|
</template>
|
146
|
115
|
|
147
|
116
|
|
148
|
117
|
<script>
|
149
|
|
- import {
|
150
|
|
- getSchedualPatient,
|
151
|
|
- GetAllZone,
|
152
|
|
- } from "@/api/dialysis"
|
153
|
|
- import { parseTime } from '@/utils'
|
154
|
|
-
|
155
|
|
- export default {
|
156
|
|
- name: "Patient",
|
157
|
|
- data() {
|
158
|
|
- return {
|
159
|
|
- loading: false,
|
160
|
|
- time: '',
|
161
|
|
-
|
162
|
|
- search_mode: 1, // 搜索模式 1.日期搜索 2.病人搜索
|
163
|
|
- patient_search_keyword: "",
|
164
|
|
-
|
165
|
|
- // checkAll: false,
|
166
|
|
- // isIndeterminate: true,
|
167
|
|
- // wechatbindimg: "",
|
168
|
|
- SchedualPatientsTableData:[],
|
169
|
|
- active: true,
|
170
|
|
- schedulType: 0,
|
171
|
|
- schedulArr: [
|
172
|
|
- {value: 0, label: "全部"},
|
173
|
|
- {value: 1, label: "上午"},
|
174
|
|
- {value: 2, label: "下午"},
|
175
|
|
- {value: 3, label: "晚上"}
|
176
|
|
- ],
|
177
|
|
-
|
178
|
|
- partitionType: 0,
|
179
|
|
- // sourceType: 0,
|
180
|
|
- // sourceID: 0,
|
181
|
|
- // lapsetoType: 0,
|
182
|
|
- // sourceArr: [
|
183
|
|
- // {value: 0, label: "全部", source: 0, lapseto: 0},
|
184
|
|
- // {value: 1, label: "门诊", source: 0, lapseto: 0},
|
185
|
|
- // {value: 2, label: "住院", source: 0, lapseto: 0}
|
186
|
|
- // ],
|
187
|
|
-
|
188
|
|
- // warnArr: [
|
189
|
|
- // {value: 0, label: "全部", source: 0, lapseto: 0},
|
190
|
|
- // {value: 1, label: "正常", source: 0, lapseto: 0},
|
191
|
|
- // {value: 2, label: "异常", source: 0, lapseto: 0}
|
192
|
|
- // ],
|
|
118
|
+import { getSchedualPatient, GetAllZone } from "@/api/dialysis";
|
|
119
|
+import { parseTime } from "@/utils";
|
|
120
|
+
|
|
121
|
+export default {
|
|
122
|
+ name: "Patient",
|
|
123
|
+ data() {
|
|
124
|
+ return {
|
|
125
|
+ loading: false,
|
|
126
|
+ time: "",
|
|
127
|
+
|
|
128
|
+ search_mode: 1, // 搜索模式 1.日期搜索 2.病人搜索
|
|
129
|
+ patient_search_keyword: "",
|
|
130
|
+
|
|
131
|
+ SchedualPatientsTableData: [],
|
|
132
|
+ active: true,
|
|
133
|
+ schedulType: 0,
|
|
134
|
+ schedulArr: [
|
|
135
|
+ { value: 0, label: "全部" },
|
|
136
|
+ { value: 1, label: "上午" },
|
|
137
|
+ { value: 2, label: "下午" },
|
|
138
|
+ { value: 3, label: "晚上" }
|
|
139
|
+ ],
|
|
140
|
+
|
|
141
|
+ partitionType: 0,
|
|
142
|
+
|
|
143
|
+ labelArr: ["第1次", "第2次", "第3次", "第4次", "第5次", "第6次", "第7次"],
|
|
144
|
+
|
|
145
|
+ pickerOptions1: {
|
|
146
|
+ shortcuts: [
|
|
147
|
+ {
|
|
148
|
+ text: "今天",
|
|
149
|
+ onClick(picker) {
|
|
150
|
+ picker.$emit("pick", new Date());
|
|
151
|
+ }
|
|
152
|
+ },
|
|
153
|
+ {
|
|
154
|
+ text: "昨天",
|
|
155
|
+ onClick(picker) {
|
|
156
|
+ const date = new Date();
|
|
157
|
+ date.setTime(date.getTime() - 3600 * 1000 * 24);
|
|
158
|
+ picker.$emit("pick", date);
|
|
159
|
+ }
|
|
160
|
+ },
|
|
161
|
+ {
|
|
162
|
+ text: "一周前",
|
|
163
|
+ onClick(picker) {
|
|
164
|
+ const date = new Date();
|
|
165
|
+ date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
|
|
166
|
+ picker.$emit("pick", date);
|
|
167
|
+ }
|
|
168
|
+ },
|
|
169
|
+ {
|
|
170
|
+ text: "清空",
|
|
171
|
+ onClick(picker) {
|
|
172
|
+ picker.$emit("pick");
|
|
173
|
+ }
|
|
174
|
+ }
|
|
175
|
+ ]
|
|
176
|
+ },
|
193
|
177
|
|
194
|
|
- labelArr: ['第1次','第2次','第3次','第4次','第5次','第6次','第7次'],
|
|
178
|
+ total: 0,
|
|
179
|
+ listQuery: {
|
|
180
|
+ page: 1,
|
|
181
|
+ limit: 10,
|
|
182
|
+ schedul_type: 0,
|
|
183
|
+ partition_type: 0,
|
|
184
|
+ schedul_time: "",
|
|
185
|
+ keywords: ""
|
|
186
|
+ },
|
|
187
|
+ selecting_schs: [],
|
|
188
|
+ partitionArr: []
|
|
189
|
+ };
|
|
190
|
+ },
|
|
191
|
+ created() {
|
|
192
|
+ var date = new Date();
|
|
193
|
+ this.time = date;
|
|
194
|
+ var year = date.getFullYear();
|
|
195
|
+ var month = date.getMonth() + 1;
|
|
196
|
+ var day = date.getDate();
|
|
197
|
+ if (month < 10) {
|
|
198
|
+ month = "0" + month;
|
|
199
|
+ }
|
|
200
|
+ if (day < 10) {
|
|
201
|
+ day = "0" + day;
|
|
202
|
+ }
|
|
203
|
+ var nowDate = year + "-" + month + "-" + day;
|
|
204
|
+ var date = new Date(nowDate + " 00:00:00");
|
|
205
|
+ this.listQuery.schedul_time = date.getTime();
|
|
206
|
+ this.getAllZone();
|
|
207
|
+ this.getSchedualPatientList();
|
|
208
|
+ },
|
|
209
|
+ methods: {
|
|
210
|
+ clickCurrent(val) {
|
|
211
|
+ console.log(val);
|
|
212
|
+ this.$router.push({
|
|
213
|
+ path: "/dialysis/details",
|
|
214
|
+ query: { patient_id: val.patient_id, date: val.sch_time_int }
|
|
215
|
+ });
|
|
216
|
+ },
|
|
217
|
+ handleSelectionChange(val) {
|
|
218
|
+ this.selecting_schs = val;
|
|
219
|
+ },
|
195
|
220
|
|
196
|
|
- // tableData: null,
|
197
|
|
- pickerOptions1: {
|
198
|
|
- shortcuts: [
|
199
|
|
- {
|
200
|
|
- text: "今天",
|
201
|
|
- onClick(picker) {
|
202
|
|
- picker.$emit("pick", new Date());
|
203
|
|
- }
|
204
|
|
- },
|
205
|
|
- {
|
206
|
|
- text: "昨天",
|
207
|
|
- onClick(picker) {
|
208
|
|
- const date = new Date();
|
209
|
|
- date.setTime(date.getTime() - 3600 * 1000 * 24);
|
210
|
|
- picker.$emit("pick", date);
|
211
|
|
- }
|
212
|
|
- },
|
213
|
|
- {
|
214
|
|
- text: "一周前",
|
215
|
|
- onClick(picker) {
|
216
|
|
- const date = new Date();
|
217
|
|
- date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
|
218
|
|
- picker.$emit("pick", date);
|
219
|
|
- }
|
220
|
|
- },
|
221
|
|
- {
|
222
|
|
- text: "清空",
|
223
|
|
- onClick(picker) {
|
224
|
|
- picker.$emit("pick");
|
225
|
|
- }
|
226
|
|
- }
|
227
|
|
- ]
|
228
|
|
- },
|
229
|
|
- // searchKey: "",
|
230
|
|
- total: 0,
|
231
|
|
- listQuery: {
|
232
|
|
- page: 1,
|
233
|
|
- limit: 10,
|
234
|
|
- schedul_type: 0,
|
235
|
|
- partition_type: 0,
|
236
|
|
- schedul_time: "",
|
237
|
|
- keywords: "",
|
238
|
|
- },
|
239
|
|
- multipleSelection: [],
|
240
|
|
- partitionArr: [],
|
241
|
|
- };
|
|
221
|
+ selectSchedulType(scheduleType) {
|
|
222
|
+ // alert(scheduleType);/
|
|
223
|
+ this.schedulType = scheduleType;
|
|
224
|
+ this.listQuery.schedul_type = scheduleType;
|
|
225
|
+ this.getSchedualPatientList();
|
242
|
226
|
},
|
243
|
|
- created() {
|
244
|
|
- var date = new Date()
|
245
|
|
- this.time = date
|
246
|
|
- var year = date.getFullYear()
|
247
|
|
- var month = date.getMonth() + 1
|
248
|
|
- var day = date.getDate()
|
249
|
|
- if (month < 10) {
|
250
|
|
- month = "0" + month
|
251
|
|
- }
|
252
|
|
- if (day < 10) {
|
253
|
|
- day = "0" + day
|
254
|
|
- }
|
255
|
|
- var nowDate = year + "-" + month + "-" + day
|
256
|
|
- var date = new Date(nowDate + " 00:00:00")
|
257
|
|
- this.listQuery.schedul_time = date.getTime()
|
258
|
|
- this.getAllZone()
|
|
227
|
+ selectPartitionType(partitionType) {
|
|
228
|
+ this.partitionType = partitionType;
|
|
229
|
+ this.listQuery.partition_type = partitionType;
|
259
|
230
|
this.getSchedualPatientList();
|
260
|
231
|
},
|
261
|
|
- methods: {
|
262
|
|
-
|
263
|
|
- clickCurrent(val){
|
264
|
|
- console.log(val)
|
265
|
|
- this.$router.push({ path: "/dialysis/details", query: {patient_id: val.patient_id, date: val.sch_time_int}})
|
266
|
|
- },
|
267
|
|
- handleSelectionChange(val) {
|
268
|
|
- this.multipleSelection = val;
|
269
|
|
- this.pageSelect = this.multipleSelection.length;
|
270
|
|
- },
|
271
|
232
|
|
272
|
|
- selectSchedulType(scheduleType) {
|
273
|
|
- // alert(scheduleType);/
|
274
|
|
- this.schedulType = scheduleType;
|
275
|
|
- this.listQuery.schedul_type = scheduleType;
|
276
|
|
- this.getSchedualPatientList();
|
277
|
|
- },
|
278
|
|
- selectPartitionType(partitionType) {
|
279
|
|
- this.partitionType = partitionType;
|
280
|
|
- this.listQuery.partition_type = partitionType;
|
281
|
|
- this.getSchedualPatientList();
|
282
|
|
- },
|
283
|
|
-
|
284
|
|
- changeTime() {
|
285
|
|
- console.log(this.time)
|
286
|
|
- this.listQuery.schedul_time = this.time;
|
287
|
|
- this.getSchedualPatientList();
|
288
|
|
- },
|
289
|
|
- // search() {
|
290
|
|
- // this.listQuery.keywords = this.searchKey;
|
291
|
|
- // this.getSchedualPatientList();
|
292
|
|
- // },
|
293
|
|
- // changeOtherSearch() {
|
294
|
|
- // this.getList();
|
295
|
|
- // },
|
296
|
|
- getAllZone: function () {
|
297
|
|
- GetAllZone().then(response => {
|
298
|
|
- if (response.data.state == 0) {
|
299
|
|
- this.$message.error(response.data.msg);
|
300
|
|
- return false;
|
301
|
|
- } else {
|
302
|
|
- this.partitionArr = response.data.data.zone
|
303
|
|
- this.partitionArr.unshift({"id": 0, "name": '全部'})
|
304
|
|
- }
|
305
|
|
- });
|
306
|
|
- },
|
307
|
|
- getSchedualPatientList: function () {
|
308
|
|
- this.loading = true
|
309
|
|
- if (this.search_mode == 1) {
|
310
|
|
- this.listQuery.keywords = ""
|
|
233
|
+ changeTime() {
|
|
234
|
+ console.log(this.time);
|
|
235
|
+ this.listQuery.schedul_time = this.time;
|
|
236
|
+ this.getSchedualPatientList();
|
|
237
|
+ },
|
|
238
|
+ getAllZone: function() {
|
|
239
|
+ GetAllZone().then(response => {
|
|
240
|
+ if (response.data.state == 0) {
|
|
241
|
+ this.$message.error(response.data.msg);
|
|
242
|
+ return false;
|
311
|
243
|
} else {
|
312
|
|
- this.listQuery.schedul_time = ""
|
|
244
|
+ this.partitionArr = response.data.data.zone;
|
|
245
|
+ this.partitionArr.unshift({ id: 0, name: "全部" });
|
313
|
246
|
}
|
314
|
|
- this.SchedualPatientsTableData = []
|
315
|
|
- getSchedualPatient(this.listQuery).then(response => {
|
316
|
|
- if (response.data.state == 0) {
|
317
|
|
- this.loading = false
|
318
|
|
- this.$message.error(response.data.msg);
|
319
|
|
- return false;
|
320
|
|
- } else {
|
321
|
|
- this.loading = false
|
322
|
|
- this.total = response.data.data.total
|
323
|
|
- // console.log(response.data.data)
|
324
|
|
- for (let i = 0; i < response.data.data.schedule.length; i++) {
|
325
|
|
- if (response.data.data.schedule[i].patient.id > 0) {
|
326
|
|
- let SchedualPatientsTable = {
|
327
|
|
- bp: []
|
328
|
|
- }
|
329
|
|
-
|
330
|
|
- SchedualPatientsTable['sch_time_int'] = response.data.data.schedule[i].schedule_date
|
331
|
|
- SchedualPatientsTable['sch_time'] = parseTime(response.data.data.schedule[i].schedule_date, "{y}-{m}-{d}")
|
332
|
|
- SchedualPatientsTable['dialysis_no'] = response.data.data.schedule[i].patient.dialysis_no
|
333
|
|
- SchedualPatientsTable['name'] = response.data.data.schedule[i].patient.name
|
334
|
|
- SchedualPatientsTable['number'] = response.data.data.schedule[i].device_number.number
|
335
|
|
- SchedualPatientsTable['gender'] = response.data.data.schedule[i].patient.gender
|
336
|
|
- SchedualPatientsTable['source'] = response.data.data.schedule[i].patient.source
|
337
|
|
- SchedualPatientsTable['patient_id'] = response.data.data.schedule[i].patient_id
|
338
|
|
- SchedualPatientsTable['mode_name'] = response.data.data.schedule[i].treatment_mode.name
|
339
|
|
- if(response.data.data.schedule[i].assessment_before_dislysis.id > 0) {
|
340
|
|
- SchedualPatientsTable['dialysis_before_weight'] = response.data.data.schedule[i].assessment_before_dislysis.weight_before
|
341
|
|
- }
|
342
|
|
- if(response.data.data.schedule[i].assessment_after_dislysis.id > 0) {
|
343
|
|
- SchedualPatientsTable['dialysis_after_weight'] = response.data.data.schedule[i].assessment_after_dislysis.weight_after
|
344
|
|
- }
|
345
|
|
-
|
346
|
|
- SchedualPatientsTable.bp=[]
|
347
|
|
- for (let a = 0; a < response.data.data.schedule[i].monitoring_record.length; a++) {
|
348
|
|
- let bp = {}
|
349
|
|
- bp['value'] = response.data.data.schedule[i].monitoring_record[a].systolic_blood_pressure.toString()
|
350
|
|
- +"/"+response.data.data.schedule[i].monitoring_record[a].diastolic_blood_pressure.toString()
|
351
|
|
-
|
352
|
|
- SchedualPatientsTable.bp.unshift(bp)
|
353
|
|
- }
|
354
|
|
-
|
355
|
|
- this.SchedualPatientsTableData.push(SchedualPatientsTable)
|
|
247
|
+ });
|
|
248
|
+ },
|
|
249
|
+ getSchedualPatientList: function() {
|
|
250
|
+ this.loading = true;
|
|
251
|
+ if (this.search_mode == 1) {
|
|
252
|
+ this.listQuery.keywords = "";
|
|
253
|
+ } else {
|
|
254
|
+ this.listQuery.schedul_time = "";
|
|
255
|
+ }
|
|
256
|
+ this.SchedualPatientsTableData = [];
|
|
257
|
+ getSchedualPatient(this.listQuery).then(response => {
|
|
258
|
+ if (response.data.state == 0) {
|
|
259
|
+ this.loading = false;
|
|
260
|
+ this.$message.error(response.data.msg);
|
|
261
|
+ return false;
|
|
262
|
+ } else {
|
|
263
|
+ this.loading = false;
|
|
264
|
+ this.total = response.data.data.total;
|
|
265
|
+ // console.log(response.data.data)
|
|
266
|
+ for (let i = 0; i < response.data.data.schedule.length; i++) {
|
|
267
|
+ if (response.data.data.schedule[i].patient.id > 0) {
|
|
268
|
+ let SchedualPatientsTable = {
|
|
269
|
+ bp: []
|
|
270
|
+ };
|
|
271
|
+
|
|
272
|
+ SchedualPatientsTable["sch_id"] = response.data.data.schedule[i].id
|
|
273
|
+ SchedualPatientsTable["sch_time_int"] =
|
|
274
|
+ response.data.data.schedule[i].schedule_date;
|
|
275
|
+ SchedualPatientsTable["sch_time"] = parseTime(
|
|
276
|
+ response.data.data.schedule[i].schedule_date,
|
|
277
|
+ "{y}-{m}-{d}"
|
|
278
|
+ );
|
|
279
|
+ SchedualPatientsTable["dialysis_no"] =
|
|
280
|
+ response.data.data.schedule[i].patient.dialysis_no;
|
|
281
|
+ SchedualPatientsTable["name"] =
|
|
282
|
+ response.data.data.schedule[i].patient.name;
|
|
283
|
+ SchedualPatientsTable["number"] =
|
|
284
|
+ response.data.data.schedule[i].device_number.number;
|
|
285
|
+ SchedualPatientsTable["gender"] =
|
|
286
|
+ response.data.data.schedule[i].patient.gender;
|
|
287
|
+ SchedualPatientsTable["source"] =
|
|
288
|
+ response.data.data.schedule[i].patient.source;
|
|
289
|
+ SchedualPatientsTable["patient_id"] =
|
|
290
|
+ response.data.data.schedule[i].patient_id;
|
|
291
|
+ SchedualPatientsTable["mode_name"] =
|
|
292
|
+ response.data.data.schedule[i].treatment_mode.name;
|
|
293
|
+ if (
|
|
294
|
+ response.data.data.schedule[i].assessment_before_dislysis.id > 0
|
|
295
|
+ ) {
|
|
296
|
+ SchedualPatientsTable["dialysis_before_weight"] =
|
|
297
|
+ response.data.data.schedule[
|
|
298
|
+ i
|
|
299
|
+ ].assessment_before_dislysis.weight_before;
|
|
300
|
+ }
|
|
301
|
+ if (
|
|
302
|
+ response.data.data.schedule[i].assessment_after_dislysis.id > 0
|
|
303
|
+ ) {
|
|
304
|
+ SchedualPatientsTable["dialysis_after_weight"] =
|
|
305
|
+ response.data.data.schedule[
|
|
306
|
+ i
|
|
307
|
+ ].assessment_after_dislysis.weight_after;
|
|
308
|
+ }
|
356
|
309
|
|
|
310
|
+ SchedualPatientsTable.bp = [];
|
|
311
|
+ for (
|
|
312
|
+ let a = 0;
|
|
313
|
+ a < response.data.data.schedule[i].monitoring_record.length;
|
|
314
|
+ a++
|
|
315
|
+ ) {
|
|
316
|
+ let bp = {};
|
|
317
|
+ bp["value"] =
|
|
318
|
+ response.data.data.schedule[i].monitoring_record[
|
|
319
|
+ a
|
|
320
|
+ ].systolic_blood_pressure.toString() +
|
|
321
|
+ "/" +
|
|
322
|
+ response.data.data.schedule[i].monitoring_record[
|
|
323
|
+ a
|
|
324
|
+ ].diastolic_blood_pressure.toString();
|
|
325
|
+
|
|
326
|
+ SchedualPatientsTable.bp.unshift(bp);
|
357
|
327
|
}
|
|
328
|
+
|
|
329
|
+ this.SchedualPatientsTableData.push(SchedualPatientsTable);
|
358
|
330
|
}
|
359
|
331
|
}
|
360
|
|
- });
|
361
|
|
-
|
362
|
|
-
|
363
|
|
- },getValue:function (val) {
|
364
|
|
- if(val != undefined){
|
365
|
|
- return val.value
|
366
|
|
- }else{
|
367
|
|
- return ''
|
368
|
332
|
}
|
369
|
|
- },
|
370
|
|
- handleCurrentChange(val) {
|
371
|
|
- this.listQuery.page = val;
|
372
|
|
- this.getSchedualPatientList();
|
373
|
|
- },
|
374
|
|
- changeSearchMode: function() {
|
375
|
|
- if (this.search_mode == 1) {
|
376
|
|
- this.search_mode = 2
|
377
|
|
- } else {
|
378
|
|
- this.search_mode = 1
|
379
|
|
- }
|
380
|
|
- },
|
381
|
|
- searchPatientAction: function() {
|
382
|
|
- this.listQuery.keywords = this.patient_search_keyword
|
383
|
|
- console.log(this.patient_search_keyword)
|
384
|
|
- if (this.patient_search_keyword.length == 0) {
|
385
|
|
- return
|
386
|
|
- }
|
387
|
|
- this.getSchedualPatientList()
|
388
|
|
- },
|
389
|
|
-
|
390
|
|
- // components:{
|
391
|
|
- // pagiNation
|
392
|
|
- // }
|
|
333
|
+ });
|
|
334
|
+ },
|
|
335
|
+ getValue: function(val) {
|
|
336
|
+ if (val != undefined) {
|
|
337
|
+ return val.value;
|
|
338
|
+ } else {
|
|
339
|
+ return "";
|
|
340
|
+ }
|
|
341
|
+ },
|
|
342
|
+ handleCurrentChange(val) {
|
|
343
|
+ this.listQuery.page = val;
|
|
344
|
+ this.getSchedualPatientList();
|
|
345
|
+ },
|
|
346
|
+ changeSearchMode: function() {
|
|
347
|
+ if (this.search_mode == 1) {
|
|
348
|
+ this.search_mode = 2;
|
|
349
|
+ } else {
|
|
350
|
+ this.search_mode = 1;
|
|
351
|
+ }
|
|
352
|
+ },
|
|
353
|
+ searchPatientAction: function() {
|
|
354
|
+ this.listQuery.keywords = this.patient_search_keyword;
|
|
355
|
+ console.log(this.patient_search_keyword);
|
|
356
|
+ if (this.patient_search_keyword.length == 0) {
|
|
357
|
+ return;
|
|
358
|
+ }
|
|
359
|
+ this.getSchedualPatientList();
|
|
360
|
+ },
|
|
361
|
+ batchPrintAction: function() {
|
|
362
|
+ var sch_ids = []
|
|
363
|
+ for (let index = 0; index < this.selecting_schs.length; index++) {
|
|
364
|
+ sch_ids.push(this.selecting_schs[index].sch_id)
|
|
365
|
+ }
|
|
366
|
+ this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids)
|
|
367
|
+ this.$router.push({ path: "/dialysis/print/batch" });
|
393
|
368
|
}
|
394
|
369
|
}
|
|
370
|
+};
|
395
|
371
|
</script>
|
396
|
372
|
|
397
|
373
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
398
|
|
- .app-container {
|
399
|
|
- // margin: 20px;
|
400
|
|
- font-size: 15px;
|
401
|
|
- .filter-container {
|
402
|
|
- padding-bottom: 5px;
|
|
374
|
+.app-container {
|
|
375
|
+ // margin: 20px;
|
|
376
|
+ font-size: 15px;
|
|
377
|
+ .filter-container {
|
|
378
|
+ padding-bottom: 5px;
|
|
379
|
+ }
|
|
380
|
+ .search-component {
|
|
381
|
+ width: 500px;
|
|
382
|
+ .searchBox {
|
|
383
|
+ width: 300px;
|
|
384
|
+ height: 36px;
|
|
385
|
+ line-height: 36px;
|
|
386
|
+ padding-left: 15px;
|
|
387
|
+ border: 1px #dcdfe6 solid;
|
|
388
|
+ border-right: none;
|
|
389
|
+ outline: none;
|
|
390
|
+ float: left;
|
|
391
|
+ border-radius: 6px 0 0 6px;
|
|
392
|
+ font-size: 14px;
|
|
393
|
+ color: #333;
|
|
394
|
+ background: #fff;
|
|
395
|
+ box-shadow: 3px 3px 4px rgba(135, 135, 135, 0.05);
|
403
|
396
|
}
|
404
|
|
- .search-component {
|
405
|
|
- width: 500px;
|
406
|
|
- .searchBox {
|
407
|
|
- width: 300px;
|
408
|
|
- height: 36px;
|
409
|
|
- line-height: 36px;
|
410
|
|
- padding-left: 15px;
|
411
|
|
- border: 1px #dcdfe6 solid;
|
412
|
|
- border-right: none;
|
413
|
|
- outline: none;
|
414
|
|
- float: left;
|
415
|
|
- border-radius: 6px 0 0 6px;
|
416
|
|
- font-size: 14px;
|
417
|
|
- color: #333;
|
418
|
|
- background: #fff;
|
419
|
|
- box-shadow: 3px 3px 4px rgba(135, 135, 135, 0.05);
|
420
|
|
- }
|
421
|
|
- .searchBtn {
|
422
|
|
- background-color: #409eff;
|
423
|
|
- color: #fff;
|
424
|
|
- font-size: 15px;
|
425
|
|
- text-align: center;
|
426
|
|
- height: 36px;
|
427
|
|
- line-height: 36px;
|
428
|
|
- float: left;
|
429
|
|
- outline: none;
|
430
|
|
- width: 70px;
|
431
|
|
- border: none;
|
432
|
|
- border-radius: 0 6px 6px 0;
|
433
|
|
- font-family: "Microsoft Yahei";
|
434
|
|
- cursor: pointer;
|
435
|
|
- }
|
|
397
|
+ .searchBtn {
|
|
398
|
+ background-color: #409eff;
|
|
399
|
+ color: #fff;
|
|
400
|
+ font-size: 15px;
|
|
401
|
+ text-align: center;
|
|
402
|
+ height: 36px;
|
|
403
|
+ line-height: 36px;
|
|
404
|
+ float: left;
|
|
405
|
+ outline: none;
|
|
406
|
+ width: 70px;
|
|
407
|
+ border: none;
|
|
408
|
+ border-radius: 0 6px 6px 0;
|
|
409
|
+ font-family: "Microsoft Yahei";
|
|
410
|
+ cursor: pointer;
|
436
|
411
|
}
|
437
|
|
- .cell {
|
438
|
|
- margin: 0px 0 15px 0;
|
439
|
|
- -moz-box-sizing: border-box;
|
440
|
|
- -webkit-box-sizing: border-box;
|
441
|
|
- -o-box-sizing: border-box;
|
442
|
|
- -ms-box-sizing: border-box;
|
443
|
|
- box-sizing: border-box;
|
444
|
|
- display: -webkit-box;
|
445
|
|
- display: -ms-flexbox;
|
446
|
|
- // display: flex;
|
447
|
|
- -webkit-box-align: flex-start;
|
448
|
|
- -ms-flex-align: flex-start;
|
449
|
|
- align-items: flex-start;
|
450
|
|
- text-align: left;
|
451
|
|
- justify-content: flex-start;
|
452
|
|
- color: #333;
|
453
|
|
- .title {
|
454
|
|
- width: 80px;
|
|
412
|
+ }
|
|
413
|
+ .cell {
|
|
414
|
+ margin: 0px 0 15px 0;
|
|
415
|
+ -moz-box-sizing: border-box;
|
|
416
|
+ -webkit-box-sizing: border-box;
|
|
417
|
+ -o-box-sizing: border-box;
|
|
418
|
+ -ms-box-sizing: border-box;
|
|
419
|
+ box-sizing: border-box;
|
|
420
|
+ display: -webkit-box;
|
|
421
|
+ display: -ms-flexbox;
|
|
422
|
+ // display: flex;
|
|
423
|
+ -webkit-box-align: flex-start;
|
|
424
|
+ -ms-flex-align: flex-start;
|
|
425
|
+ align-items: flex-start;
|
|
426
|
+ text-align: left;
|
|
427
|
+ justify-content: flex-start;
|
|
428
|
+ color: #333;
|
|
429
|
+ .title {
|
|
430
|
+ width: 80px;
|
|
431
|
+ display: inline-block;
|
|
432
|
+ font-weight: normal;
|
|
433
|
+ color: #909399;
|
|
434
|
+ padding: 6px 0;
|
|
435
|
+ font-weight: 700;
|
|
436
|
+ .name {
|
|
437
|
+ width: 60px;
|
|
438
|
+ text-align: justify;
|
|
439
|
+ text-justify: distribute-all-lines;
|
|
440
|
+ text-align-last: justify;
|
|
441
|
+ -moz-text-align-last: justify;
|
|
442
|
+ -webkit-text-align-last: justify;
|
455
|
443
|
display: inline-block;
|
456
|
|
- font-weight: normal;
|
457
|
|
- color: #909399;
|
458
|
|
- padding: 6px 0;
|
459
|
|
- font-weight: 700;
|
460
|
|
- .name {
|
461
|
|
- width: 60px;
|
462
|
|
- text-align: justify;
|
463
|
|
- text-justify: distribute-all-lines;
|
464
|
|
- text-align-last: justify;
|
465
|
|
- -moz-text-align-last: justify;
|
466
|
|
- -webkit-text-align-last: justify;
|
467
|
|
- display: inline-block;
|
468
|
|
- }
|
469
|
444
|
}
|
470
|
|
- .time {
|
471
|
|
- -webkit-box-flex: 1;
|
472
|
|
- -ms-flex: 1;
|
473
|
|
- flex: 1;
|
474
|
|
- ul {
|
475
|
|
- padding: 0;
|
476
|
|
- margin: 0;
|
477
|
|
- li {
|
478
|
|
- float: left;
|
479
|
|
- list-style: none;
|
480
|
|
- cursor: pointer;
|
481
|
|
- padding: 3px 0;
|
482
|
|
- width: 70px;
|
483
|
|
- color: #606266;
|
484
|
|
- border-radius: 4px;
|
485
|
|
- margin: 0 10px 0 0;
|
486
|
|
- color: #409eff;
|
487
|
|
- border: 1px #409eff solid;
|
488
|
|
- text-align: center;
|
489
|
|
- &:hover {
|
490
|
|
- background: #409eff;
|
491
|
|
- color: #fff;
|
492
|
|
- }
|
493
|
|
- }
|
494
|
|
- .active {
|
|
445
|
+ }
|
|
446
|
+ .time {
|
|
447
|
+ -webkit-box-flex: 1;
|
|
448
|
+ -ms-flex: 1;
|
|
449
|
+ flex: 1;
|
|
450
|
+ ul {
|
|
451
|
+ padding: 0;
|
|
452
|
+ margin: 0;
|
|
453
|
+ li {
|
|
454
|
+ float: left;
|
|
455
|
+ list-style: none;
|
|
456
|
+ cursor: pointer;
|
|
457
|
+ padding: 3px 0;
|
|
458
|
+ width: 70px;
|
|
459
|
+ color: #606266;
|
|
460
|
+ border-radius: 4px;
|
|
461
|
+ margin: 0 10px 0 0;
|
|
462
|
+ color: #409eff;
|
|
463
|
+ border: 1px #409eff solid;
|
|
464
|
+ text-align: center;
|
|
465
|
+ &:hover {
|
495
|
466
|
background: #409eff;
|
496
|
467
|
color: #fff;
|
497
|
468
|
}
|
498
|
469
|
}
|
|
470
|
+ .active {
|
|
471
|
+ background: #409eff;
|
|
472
|
+ color: #fff;
|
|
473
|
+ }
|
499
|
474
|
}
|
500
|
475
|
}
|
501
|
|
- .amount {
|
502
|
|
- font-weight: normal;
|
503
|
|
- padding: 10px 0 0 0;
|
504
|
|
- color: #606266;
|
505
|
|
- font-size: 14px;
|
506
|
|
- span {
|
507
|
|
- color: #ef2525;
|
508
|
|
- font-family: "Arial";
|
509
|
|
- padding: 0 2px;
|
510
|
|
- }
|
|
476
|
+ }
|
|
477
|
+ .amount {
|
|
478
|
+ font-weight: normal;
|
|
479
|
+ padding: 10px 0 0 0;
|
|
480
|
+ color: #606266;
|
|
481
|
+ font-size: 14px;
|
|
482
|
+ span {
|
|
483
|
+ color: #ef2525;
|
|
484
|
+ font-family: "Arial";
|
|
485
|
+ padding: 0 2px;
|
511
|
486
|
}
|
512
|
487
|
}
|
|
488
|
+}
|
513
|
489
|
</style>
|
514
|
490
|
|