소스 검색

Merge branch '20230223_pad_vue_new_branch' of http://git.shengws.com/csx/Pad_New into 20230223_pad_vue_new_branch

28169 8 달 전
부모
커밋
802f4f800e

+ 16 - 0
src/api/patient/patient.js 파일 보기

@@ -1062,4 +1062,20 @@ export function getNextInspectionDetail(params){
1062 1062
     method:"get",
1063 1063
     params:params
1064 1064
    })
1065
+}
1066
+
1067
+// 检验检查(新)
1068
+export function getinspectiongroup(id){
1069
+  return request({
1070
+   url:"/m/api/patient/getinspectiongroup?patient_id="+id,
1071
+   method:"get",
1072
+  })
1073
+}
1074
+
1075
+export function getinspectiongroupdetails(params){
1076
+  return request({
1077
+   url:"/m/api/patient/getinspectionbyprojectid",
1078
+   method:"get",
1079
+   params:params
1080
+  })
1065 1081
 }

+ 497 - 0
src/pages/doctorAdvice/components/new_Inspection.vue 파일 보기

@@ -0,0 +1,497 @@
1
+<template>
2
+  <div class="inspection">
3
+    <div class="el_table">
4
+      <el-table
5
+        :data="tableData" border
6
+        style="width: 100%"
7
+        :header-cell-style="{'text-align':'center'}"
8
+        :cell-style="{'text-align':'center'}"
9
+       >
10
+        <el-table-column
11
+          prop="name"
12
+          label="检验项目"
13
+          width="">
14
+          <template slot-scope="scope">
15
+            <div @click="row_name(scope.row)">{{ scope.row.name }}</div>
16
+          </template>
17
+        </el-table-column>
18
+        <el-table-column
19
+          prop="count"
20
+          label="次数"
21
+          width="80">
22
+        </el-table-column>
23
+        <el-table-column
24
+          prop="date"
25
+          label="最近一次检验日期">
26
+        </el-table-column>
27
+      </el-table>
28
+    </div>
29
+    <div class="checkBox1" @click="goCheck" ref="moveBtn2" >
30
+      <img src="../../../assets/images/his5.png" @mousedown="down" @touchstart="down"
31
+      @mousemove="move"
32
+      @touchmove="move"
33
+      @mouseup="end"
34
+      @touchend="end"
35
+      @touchcancel="end"
36
+      alt="">
37
+    </div>
38
+    <!-- <div> -->
39
+      <!-- <div class="toolBox">
40
+        <div class="toolOne" @click="typeShow = true">
41
+          <div style="display: flex;align-items: center;">
42
+            {{ type }}
43
+            <van-icon name="arrow-down" />
44
+          </div>
45
+        </div>
46
+        <div class="toolOne" @click="startShow = true">
47
+          <div style="display: flex;align-items: center;">
48
+            {{ startTime }}
49
+            <van-icon name="arrow-down" />
50
+          </div>
51
+        </div>
52
+        <div class="toolOne" @click="endShow = true">
53
+          <div style="display: flex;align-items: center;">
54
+            {{ endTime }}
55
+            <van-icon name="arrow-down" />
56
+          </div>
57
+        </div>
58
+      </div> -->
59
+
60
+      <!-- <div class="adviceBox" v-if="Inspection.length > 0">
61
+        <van-list
62
+          v-model="loading"
63
+          :finished="finished"
64
+          finished-text="没有更多了"
65
+          style="width: 100%;height: 100%;overflow-y: auto;"
66
+        >
67
+          <div class="adviceMain">
68
+            <div class="adviceOne" v-for="(item, index) in Inspection" :key="index" >
69
+              <div class="adviceTitle">
70
+                <p>{{ getTime(item.inspect_date) }}</p>
71
+                <van-icon
72
+                  class="ellipsis"
73
+                  name="ellipsis"
74
+                  @click="Delete(item.inspect_date, index)"
75
+                />
76
+              </div>
77
+              <div class="orderContent" @click="toInspection(item.inspect_date)">
78
+                <div class="flexBox" v-for="(it, i) in item.child" :key="i">
79
+                  <p>{{ it }}</p>
80
+                  <van-icon
81
+                    class="ellipsis"
82
+                    name="ellipsis"
83
+                    @click="DeleteOne(it, item.inspect_date, i)"
84
+                  />
85
+                </div>
86
+              </div>
87
+              <div class="all" @click="toInspection(item.inspect_date)">全部</div>
88
+            </div>
89
+          </div>
90
+        </van-list>
91
+      </div>
92
+
93
+      <div class="noimgBox" v-else>
94
+        <img src="../../../assets/images/none.png" alt />
95
+      </div>
96
+    </div> -->
97
+    <!-- <div class="add">
98
+      <div style="display: flex;align-items: center;">
99
+        <van-icon class="addIcon" name="add" />新增
100
+      </div>
101
+    </div>-->
102
+
103
+    <!-- 弹出层 -->
104
+    <!-- <div>
105
+      <van-popup
106
+        get-container="#app"
107
+        v-model="typeShow"
108
+        position="bottom"
109
+        :style="{ height: '40%' }"
110
+      >
111
+        <van-picker
112
+          show-toolbar
113
+          :columns="columns"
114
+          @cancel="onCancel"
115
+          @confirm="onConfirm"
116
+        />
117
+      </van-popup>
118
+      <van-popup
119
+        get-container="#app"
120
+        v-model="startShow"
121
+        position="bottom"
122
+        :style="{ height: '40%' }"
123
+      >
124
+        <van-datetime-picker
125
+          v-model="currentDate"
126
+          type="date"
127
+          :min-date="minDate"
128
+          :max-date="maxDate"
129
+          @confirm="getstartTime"
130
+          @cancel="startShow = false"
131
+        />
132
+      </van-popup>
133
+      <van-popup v-model="endShow" get-container="#app" position="bottom" :style="{ height: '40%' }">
134
+        <van-datetime-picker
135
+          v-model="currentDate"
136
+          type="date"
137
+          :min-date="minDate"
138
+          :max-date="maxDate"
139
+          @confirm="getstartTime2"
140
+          @cancel="endShow = false"
141
+        />
142
+      </van-popup>
143
+      <van-action-sheet
144
+        get-container="#app"
145
+        v-model="newShow"
146
+        :actions="actions"
147
+        cancel-text="取消"
148
+        @select="toDelete"
149
+      />
150
+      <van-action-sheet
151
+        get-container="#app"
152
+        v-model="newShowOne"
153
+        :actions="actions1"
154
+        cancel-text="取消"
155
+        @select="DeleteInspectionOne"
156
+      />
157
+    </div> -->
158
+  </div>
159
+</template>
160
+
161
+<script>
162
+import {getinspectiongroup} from '@/api/patient/patient'
163
+import { uParseTime } from '@/utils/tools'
164
+import { Dialog } from 'vant'
165
+const moment = require('moment')
166
+export default {
167
+  props: {
168
+    active: Number,
169
+    patientName:String
170
+  },
171
+  data () {
172
+    return {
173
+      loading: false,
174
+      finished: false,
175
+      newShow: false,
176
+      newShowOne: false,
177
+      typeShow: false,
178
+      startShow: false,
179
+      endShow: false,
180
+      type: '全部',
181
+      columns: [],
182
+      startTime: '请选择',
183
+      endTime: '请选择',
184
+      minDate: new Date(1970, 0, 1),
185
+      maxDate: new Date(2025, 10, 1),
186
+      currentDate: new Date(),
187
+      actions: [{ name: '查看全部' }, { name: '全部删除' }],
188
+      actions1: [{ name: '删除' }],
189
+      showOne: true,
190
+      showTwo: false,
191
+      list: [],
192
+      page: 1,
193
+      limit: 10,
194
+      total: 0,
195
+      Inspection: [],
196
+      project_id: 0,
197
+      patientid: 0,
198
+      checkdata: [],
199
+      date: 0,
200
+      index: 0,
201
+      name: '',
202
+      date: '',
203
+      index: '',
204
+      restatus: 0,
205
+
206
+      route_date:null,
207
+      route_name:'',
208
+      route_id:0,
209
+      tableData:[],
210
+      moveBtn: {},
211
+      position: {
212
+        x: 0,
213
+        y: 0
214
+      },
215
+      nx: '',
216
+      ny: '',
217
+      dx: '',
218
+      dy: '',
219
+      xPum: '',
220
+      yPum: '',
221
+    }
222
+  },
223
+  mounted(){
224
+    this.moveBtn = this.$refs.moveBtn2
225
+    if (sessionStorage.getItem('checkBtnTop1')) {
226
+      this.moveBtn.style.top = sessionStorage.getItem('checkBtnTop1')
227
+      this.moveBtn.style.bottom = 'initial'
228
+    }
229
+    if (sessionStorage.getItem('checkBtnLeft1')) {
230
+      this.moveBtn.style.left = sessionStorage.getItem('checkBtnLeft1')
231
+    }
232
+    window.addEventListener('scroll', this.handleScroll)
233
+    // this.appSource()
234
+    const originHeight = document.documentElement.clientHeight || document.body.clientHeight
235
+    window.addEventListener('resize', () => {
236
+      const resizeHeight = document.documentElement.clientHeight || document.body.clientHeight
237
+      if (resizeHeight < originHeight) {
238
+        this.keyBoardShow = false
239
+      } else {
240
+        this.keyBoardShow = true
241
+      }
242
+    }, false)
243
+  },
244
+  methods: {
245
+    
246
+    // 数据源
247
+    getInspection(id){
248
+      getinspectiongroup(id).then(response =>{
249
+        console.log('response',response);
250
+        const table=[]
251
+        const list = response.data.data.inspection
252
+        list.forEach(item => {
253
+          const arr ={
254
+            id:item.id,
255
+            name:item.project_name,
256
+            count:item.Count,
257
+            date:this.getTime(item.inspect_date),
258
+            project_id:item.project_id,
259
+            patient_id:item.patient_id,
260
+          }
261
+          table.push(arr)
262
+        });
263
+        this.tableData = table
264
+      })
265
+    },
266
+    getTime (time) {
267
+      // return uParseTime(time, "{y}-{m}-{d} {h}:{i}:{s}");
268
+      return uParseTime(time, '{y}-{m}-{d}  {h}:{i}')
269
+    },
270
+    //点击表格行 
271
+    rowclick({row, column, event}){
272
+      console.log('row',row);
273
+    },
274
+    row_name(row){
275
+      console.log('rows',row)
276
+      this.$router.push({path: '/new_Inspectiondetails',
277
+      query:{name:this.patientName,date:this.route_date,row:row,patientid:this.patientid,options:this.tableData}})
278
+    },
279
+    goCheck(){
280
+      if (this.restatus == 1) {
281
+        this.$router.push(
282
+          '/details?patient_id=' +
283
+            this.route_id +
284
+            '&date=' +
285
+            this.route_date +
286
+            '&patient_name=' +
287
+            this.route_name
288
+        )
289
+        // console.log('vvvvvv11111',this.route_id,this.route_date,this.route_name);
290
+      }
291
+      // this.$router.push(
292
+      //   '/details?patient_id=' +
293
+      //     this.route_id +
294
+      //     '&date=' +
295
+      //     this.route_date +
296
+      //     '&patient_name=' +
297
+      //     this.route_name
298
+      // )
299
+    },
300
+    down (event) {
301
+      this.flags = true
302
+      var touch
303
+      if (event.touches) {
304
+        touch = event.touches[0]
305
+      } else {
306
+        touch = event
307
+      }
308
+      this.position.x = touch.clientX
309
+      this.position.y = touch.clientY
310
+      this.dx = this.moveBtn.offsetLeft
311
+      this.dy = this.moveBtn.offsetTop
312
+    },
313
+    move (event) {
314
+      if (this.flags) {
315
+        var touch
316
+        if (event.touches) {
317
+          touch = event.touches[0]
318
+        } else {
319
+          touch = event
320
+        }
321
+        this.nx = touch.clientX - this.position.x
322
+        this.ny = touch.clientY - this.position.y
323
+        this.xPum = this.dx + this.nx
324
+        this.yPum = this.dy + this.ny
325
+        var clientWidth = document.documentElement.clientWidth
326
+        var clientHeight = document.documentElement.clientHeight
327
+        if (
328
+          this.xPum > 0 &&
329
+          this.xPum < clientWidth - this.moveBtn.offsetWidth
330
+        ) {
331
+          this.moveBtn.style.left = this.xPum + 'px'
332
+        }
333
+        if (
334
+          this.yPum > 0 &&
335
+          this.yPum < clientHeight - this.moveBtn.offsetHeight
336
+        ) {
337
+          this.moveBtn.style.top = this.yPum + 'px'
338
+        }
339
+
340
+        // 阻止页面的滑动默认事件
341
+        document.addEventListener('touchmove1', this.handler, {
342
+          passive: false
343
+        })
344
+      }
345
+    },
346
+    // 鼠标释放时候的函数
347
+    end () {
348
+      this.flags = false
349
+      sessionStorage.setItem('checkBtnTop1', this.moveBtn.style.top)
350
+      sessionStorage.setItem('checkBtnLeft1', this.moveBtn.style.left)
351
+      document.addEventListener('touchmove1', this.handler, {
352
+        passive: false
353
+      })
354
+    },
355
+  },
356
+  created () {
357
+    var patientid = this.$route.query.patientid ? this.$route.query.patientid : this.$route.query.patient_id
358
+    const patient_id = this.$route.query.id 
359
+    this.route_date = this.$route.query.date*1
360
+    this.route_name = this.$route.query.name
361
+    this.route_id = this.$route.query.id*1
362
+    console.log('bbbbbbb',this.$route.query, this.$route.query.restatus);
363
+    this.patientid = patientid
364
+    this.getInspection(patient_id)
365
+    // this.getPatientDetail(patientid)
366
+    // 获取所有检验检查项目
367
+    // this.getAllInspection()
368
+    // this.getInspection(patientid)
369
+    var restatus = this.$route.query.restatus
370
+    this.restatus = restatus
371
+  }
372
+}
373
+</script>
374
+
375
+<style lang="scss" scoped>
376
+.inspection {
377
+  height: 100%;
378
+  overflow-y: auto;
379
+  .el_table{
380
+    padding: 10px;
381
+  }
382
+  .toolBox {
383
+    display: flex;
384
+    height: 3.125rem;
385
+    justify-content: space-around;
386
+    align-items: center;
387
+    .toolOne {
388
+      width: 6.25rem;
389
+      height: 1.875rem;
390
+      background: rgba(246, 246, 246, 1);
391
+      border-radius: 5px;
392
+      text-align: center;
393
+      font-size: 0.8125rem;
394
+      color: #8d8d8d;
395
+      display: flex;
396
+      align-items: center;
397
+      justify-content: space-around;
398
+    }
399
+  }
400
+  .adviceBox {
401
+    padding: 0 1.125rem;
402
+    margin-bottom: 3.125rem;
403
+  }
404
+  .adviceMain {
405
+    > div:last-child {
406
+      border: none;
407
+    }
408
+  }
409
+  .adviceOne {
410
+    // box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
411
+    border-bottom: 1px solid #e5e5e5;
412
+    padding-bottom: 0.625rem;
413
+  }
414
+  .adviceTitle {
415
+    padding-top: 0.625rem;
416
+    display: flex;
417
+    align-items: center;
418
+    justify-content: space-between;
419
+    p {
420
+      color: #000000;
421
+      font-weight: bold;
422
+      font-size: 0.9375rem;
423
+    }
424
+  }
425
+  .ellipsis {
426
+    font-size: 1.25rem;
427
+    color: #cccccc;
428
+  }
429
+  .orderContent {
430
+    font-size: 0.875rem;
431
+    color: rgba(49, 50, 52, 1);
432
+    margin-top: 0.625rem;
433
+    p {
434
+      line-height: 1.25rem;
435
+    }
436
+  }
437
+  .doctorBox {
438
+    font-size: 0.75rem;
439
+    color: rgba(152, 152, 152, 1);
440
+    line-height: 1.125rem;
441
+    display: flex;
442
+    align-items: center;
443
+    justify-content: space-between;
444
+    margin-top: 0.625rem;
445
+  }
446
+  .all {
447
+    font-size: 0.8125rem;
448
+    color: #5b98ff;
449
+    margin-top: 0.625rem;
450
+  }
451
+  .noimgBox {
452
+    margin-top: 40%;
453
+    img {
454
+      width: 9.375rem;
455
+      height: 9.375rem;
456
+      margin: 0 auto;
457
+      display: block;
458
+    }
459
+  }
460
+  .add {
461
+    position: fixed;
462
+    bottom: 0;
463
+    left: 0;
464
+    width: 100%;
465
+    height: 2.75rem;
466
+    background: rgba(255, 255, 255, 1);
467
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
468
+    display: flex;
469
+    align-items: center;
470
+    justify-content: space-around;
471
+    font-size: 0.9375rem;
472
+    color: #979798;
473
+    .addIcon {
474
+      color: #5b98ff;
475
+      font-size: 1.25rem;
476
+      margin-right: 0.25rem;
477
+    }
478
+  }
479
+  .flexBox {
480
+    display: flex;
481
+    justify-content: space-between;
482
+  }
483
+}
484
+::-webkit-scrollbar {
485
+  width: 0;
486
+}
487
+.checkBox1 {
488
+  position: fixed;
489
+  left: 0.6rem;
490
+  bottom: 3.25rem;
491
+  z-index:5000;
492
+  img {
493
+    width: 3.5rem;
494
+    height: 3.5rem;
495
+  }
496
+}
497
+</style>

+ 482 - 0
src/pages/doctorAdvice/components/new_Inspectiondetails.vue 파일 보기

@@ -0,0 +1,482 @@
1
+<template>
2
+  <div class="inspection">
3
+    <div class="doctorAdviceTitle">
4
+      <i class="iconfont icon-zuojiantou jiantou" @click="toReturn"></i>
5
+      <div class="patientName" >
6
+        {{ patientName }}的检验检查
7
+        <!-- {{ patientName }} -->
8
+        <!-- <van-icon name="arrow-down" /> -->
9
+      </div>
10
+      <p ></p>
11
+    </div>
12
+    <div style="margin-left: 10px;">
13
+      <el-select v-model="value" placeholder="请选择" @change="changeoption" class="elselect">
14
+        <el-option
15
+          v-for="item in options"
16
+          :key="item.project_id"
17
+          :label="item.name"
18
+          :value="item.project_id">
19
+        </el-option>
20
+      </el-select>
21
+    </div>
22
+
23
+    <div class="el_table">
24
+      <el-table
25
+        :data="tableData" border
26
+        style="width: 100%"
27
+        stripe
28
+        :header-cell-style="{'text-align':'center'}"
29
+        :cell-style="{'text-align':'center'}"
30
+        >
31
+        <el-table-column
32
+          :fixed="true"
33
+          prop="inspect_date"
34
+          label="检验日期"
35
+          width="150">
36
+         <template slot-scope="scope">
37
+          {{ getTime(scope.row.inspect_date) }}
38
+         </template>
39
+        </el-table-column>
40
+        <el-table-column v-for="(item,index) in columns" :key="index"
41
+          :prop="item.prop"
42
+          :label="item.label"
43
+          width="">
44
+          <template slot-scope="scope">
45
+            {{ getname(scope.row,item.prop) }}
46
+          </template>
47
+        </el-table-column>
48
+
49
+      </el-table>
50
+    </div>
51
+
52
+    <div class="checkBox1" @click="goCheck" ref="moveBtn2" >
53
+      <img src="../../../assets/images/his5.png" @mousedown="down" @touchstart="down"
54
+      @mousemove="move"
55
+      @touchmove="move"
56
+      @mouseup="end"
57
+      @touchend="end"
58
+      @touchcancel="end"
59
+      alt="">
60
+    </div>
61
+    <!--   -->
62
+  </div>
63
+</template>
64
+
65
+<script>
66
+import {getinspectiongroupdetails} from '@/api/patient/patient'
67
+import { uParseTime } from '@/utils/tools'
68
+import { Dialog } from 'vant'
69
+const moment = require('moment')
70
+export default {
71
+  props: {
72
+    active: Number,
73
+    // patientName:String
74
+  },
75
+  data () {
76
+    return {
77
+      loading: false,
78
+      finished: false,
79
+      newShow: false,
80
+      newShowOne: false,
81
+      typeShow: false,
82
+      startShow: false,
83
+      endShow: false,
84
+      type: '全部',
85
+      columns: [],
86
+      startTime: '请选择',
87
+      endTime: '请选择',
88
+      minDate: new Date(1970, 0, 1),
89
+      maxDate: new Date(2025, 10, 1),
90
+      currentDate: new Date(),
91
+      actions: [{ name: '查看全部' }, { name: '全部删除' }],
92
+      actions1: [{ name: '删除' }],
93
+      showOne: true,
94
+      showTwo: false,
95
+      list: [],
96
+      page: 1,
97
+      limit: 10,
98
+      total: 0,
99
+      Inspection: [],
100
+      project_id: 0,
101
+      patientid: 0,
102
+      checkdata: [],
103
+      date: 0,
104
+      index: 0,
105
+      name: '',
106
+      date: '',
107
+      index: '',
108
+      restatus: 0,
109
+
110
+      tableData:[],
111
+      value:'',
112
+      options:[],
113
+      patientName:'',
114
+      row:{},
115
+      columns:[],
116
+      moveBtn: {},
117
+      position: {
118
+        x: 0,
119
+        y: 0
120
+      },
121
+      nx: '',
122
+      ny: '',
123
+      dx: '',
124
+      dy: '',
125
+      xPum: '',
126
+      yPum: '',
127
+
128
+      blood_id:0,
129
+      route_date:0,
130
+      patient_name:'',
131
+    }
132
+  },
133
+  mounted(){
134
+    this.moveBtn = this.$refs.moveBtn2
135
+    if (sessionStorage.getItem('checkBtnTop1')) {
136
+      this.moveBtn.style.top = sessionStorage.getItem('checkBtnTop1')
137
+      this.moveBtn.style.bottom = 'initial'
138
+    }
139
+    if (sessionStorage.getItem('checkBtnLeft1')) {
140
+      this.moveBtn.style.left = sessionStorage.getItem('checkBtnLeft1')
141
+    }
142
+    window.addEventListener('scroll', this.handleScroll)
143
+    // this.appSource()
144
+    const originHeight = document.documentElement.clientHeight || document.body.clientHeight
145
+    window.addEventListener('resize', () => {
146
+      const resizeHeight = document.documentElement.clientHeight || document.body.clientHeight
147
+      if (resizeHeight < originHeight) {
148
+        this.keyBoardShow = false
149
+      } else {
150
+        this.keyBoardShow = true
151
+      }
152
+    }, false)
153
+  },
154
+  methods: {
155
+    toReturn(){
156
+      this.$router.push(
157
+        {path:"/patientdetail?patientid=" +this.patientid }
158
+      );
159
+    },
160
+    getTime (time) {
161
+      // return uParseTime(time, "{y}-{m}-{d} {h}:{i}:{s}");
162
+      return uParseTime(time, '{y}-{m}-{d}  {h}:{i}')
163
+    },
164
+    getinspectiondetails(row){
165
+      const params={
166
+        patient_id:row.patient_id,
167
+        project_id:row.project_id,
168
+      }
169
+      getinspectiongroupdetails(params).then(response =>{
170
+        console.log('response11111',response);
171
+        const list = response.data.data.inspection
172
+        // this.tableData = list
173
+        var columns = []
174
+        const date = []
175
+        var date1 =[]
176
+        let table = [{inspect_date:''}]
177
+        const datable =[]
178
+        // columns = Object.keys(list[0]).map((item,key) =>({
179
+        //   prop:item[8],
180
+        //   label:item[6],
181
+        // }))
182
+        // console.log('Object.keys(response.data.data.list[0])',columns);
183
+        list.forEach((item,index) => {
184
+          const obj1={
185
+            prop:'inspect_value'+(index+1),
186
+            label:item.item_name
187
+          }
188
+          date.push(item.inspect_date)
189
+           date1=[...new Set(date)]
190
+          
191
+          columns.push(obj1)
192
+          // for(let i in columns){
193
+          //   if(columns[i].label == item.item_name){
194
+          //     table[0][columns[i].prop]=item.inspect_value
195
+          //   }
196
+          // }
197
+          // table.push(obj2)
198
+        });
199
+          for(let i in date1){
200
+            const arr={
201
+              inspect_date:date1[i]
202
+            }
203
+            datable.push(arr)
204
+          }
205
+          list.forEach(item =>{
206
+            for(let i in columns){
207
+              for(let j in datable){
208
+                if(columns[i].label == item.item_name && datable[j].inspect_date == item.inspect_date){
209
+                  datable[j][columns[i].prop]=item.inspect_value
210
+                }
211
+              }
212
+            }
213
+          })
214
+          table =datable
215
+          // console.log('bbbbb',datable);
216
+          // console.log('ppppp',table);
217
+          table =datable
218
+        this.tableData = table
219
+        this.columns = columns      
220
+        // console.log('Object.keys(response.data.data.list[0])',this.columns,this.tableData);
221
+      })
222
+      
223
+    },
224
+    getname(row,label){
225
+      for(let key in row){
226
+        if(key == label){
227
+          return row[key]
228
+        }
229
+      }
230
+    },
231
+    changeoption(val){
232
+      // console.log('val',val);
233
+      const option = this.options
234
+      for(let i in option){
235
+        if(option[i].project_id == val){
236
+          this.getinspectiondetails(option[i])
237
+          return option[i].name
238
+        }
239
+      }
240
+    },
241
+    goCheck(){
242
+      this.$router.push(
243
+        {path:'/patientdetail?' +
244
+          'patientid=' +
245
+          this.patientid +
246
+          '&active=' +
247
+          4 +
248
+          '&restatus=' +
249
+          1,query:{id:this.blood_id,date:this.route_date,name:this.patient_name,}})
250
+    },
251
+    down (event) {
252
+      this.flags = true
253
+      var touch
254
+      if (event.touches) {
255
+        touch = event.touches[0]
256
+      } else {
257
+        touch = event
258
+      }
259
+      this.position.x = touch.clientX
260
+      this.position.y = touch.clientY
261
+      this.dx = this.moveBtn.offsetLeft
262
+      this.dy = this.moveBtn.offsetTop
263
+    },
264
+    move (event) {
265
+      if (this.flags) {
266
+        var touch
267
+        if (event.touches) {
268
+          touch = event.touches[0]
269
+        } else {
270
+          touch = event
271
+        }
272
+        this.nx = touch.clientX - this.position.x
273
+        this.ny = touch.clientY - this.position.y
274
+        this.xPum = this.dx + this.nx
275
+        this.yPum = this.dy + this.ny
276
+        var clientWidth = document.documentElement.clientWidth
277
+        var clientHeight = document.documentElement.clientHeight
278
+        if (
279
+          this.xPum > 0 &&
280
+          this.xPum < clientWidth - this.moveBtn.offsetWidth
281
+        ) {
282
+          this.moveBtn.style.left = this.xPum + 'px'
283
+        }
284
+        if (
285
+          this.yPum > 0 &&
286
+          this.yPum < clientHeight - this.moveBtn.offsetHeight
287
+        ) {
288
+          this.moveBtn.style.top = this.yPum + 'px'
289
+        }
290
+
291
+        // 阻止页面的滑动默认事件
292
+        document.addEventListener('touchmove1', this.handler, {
293
+          passive: false
294
+        })
295
+      }
296
+    },
297
+    // 鼠标释放时候的函数
298
+    end () {
299
+      this.flags = false
300
+      sessionStorage.setItem('checkBtnTop1', this.moveBtn.style.top)
301
+      sessionStorage.setItem('checkBtnLeft1', this.moveBtn.style.left)
302
+      document.addEventListener('touchmove1', this.handler, {
303
+        passive: false
304
+      })
305
+    },
306
+  },
307
+  created () {
308
+    // console.log('patientName',this.patientName);
309
+    var patientid = this.$route.query.patientid ? this.$route.query.patientid : this.$route.query.patient_id
310
+    this.patientid = patientid
311
+
312
+    this.patientName=this.$route.query.name
313
+    this.row = this.$route.query.row
314
+    this.value = this.row.project_id
315
+    this.options = this.$route.query.options
316
+
317
+    this.blood_id = this.$route.query.row.patient_id
318
+    this.route_date = this.$route.query.date
319
+    this.patient_name = this.$route.query.name
320
+    console.log('this.$route.query',this.$route.query);
321
+    this.getinspectiondetails(this.row)
322
+
323
+    var restatus = this.$route.query.restatus
324
+    this.restatus = restatus
325
+  }
326
+}
327
+</script>
328
+
329
+<style lang="scss" scoped>
330
+.inspection {
331
+  height: 100%;
332
+  overflow-y: auto;
333
+  .doctorAdviceTitle {
334
+    height: 3.125rem;
335
+    display: flex;
336
+    align-items: center;
337
+    justify-content: space-between;
338
+    width: 100%;
339
+    padding: 0 1.125rem;
340
+    background: #fff;
341
+    font-size: 1rem;
342
+    .patientName {
343
+      display: flex;
344
+      align-items: center;
345
+      font-size: 1rem;
346
+    }
347
+  }
348
+  .el_table{
349
+    padding: 10px;
350
+  }
351
+  .toolBox {
352
+    display: flex;
353
+    height: 3.125rem;
354
+    justify-content: space-around;
355
+    align-items: center;
356
+    .toolOne {
357
+      width: 6.25rem;
358
+      height: 1.875rem;
359
+      background: rgba(246, 246, 246, 1);
360
+      border-radius: 5px;
361
+      text-align: center;
362
+      font-size: 0.8125rem;
363
+      color: #8d8d8d;
364
+      display: flex;
365
+      align-items: center;
366
+      justify-content: space-around;
367
+    }
368
+  }
369
+  .adviceBox {
370
+    padding: 0 1.125rem;
371
+    margin-bottom: 3.125rem;
372
+  }
373
+  .adviceMain {
374
+    > div:last-child {
375
+      border: none;
376
+    }
377
+  }
378
+  .adviceOne {
379
+    // box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
380
+    border-bottom: 1px solid #e5e5e5;
381
+    padding-bottom: 0.625rem;
382
+  }
383
+  .adviceTitle {
384
+    padding-top: 0.625rem;
385
+    display: flex;
386
+    align-items: center;
387
+    justify-content: space-between;
388
+    p {
389
+      color: #000000;
390
+      font-weight: bold;
391
+      font-size: 0.9375rem;
392
+    }
393
+  }
394
+  .ellipsis {
395
+    font-size: 1.25rem;
396
+    color: #cccccc;
397
+  }
398
+  .orderContent {
399
+    font-size: 0.875rem;
400
+    color: rgba(49, 50, 52, 1);
401
+    margin-top: 0.625rem;
402
+    p {
403
+      line-height: 1.25rem;
404
+    }
405
+  }
406
+  .doctorBox {
407
+    font-size: 0.75rem;
408
+    color: rgba(152, 152, 152, 1);
409
+    line-height: 1.125rem;
410
+    display: flex;
411
+    align-items: center;
412
+    justify-content: space-between;
413
+    margin-top: 0.625rem;
414
+  }
415
+  .all {
416
+    font-size: 0.8125rem;
417
+    color: #5b98ff;
418
+    margin-top: 0.625rem;
419
+  }
420
+  .noimgBox {
421
+    margin-top: 40%;
422
+    img {
423
+      width: 9.375rem;
424
+      height: 9.375rem;
425
+      margin: 0 auto;
426
+      display: block;
427
+    }
428
+  }
429
+  .add {
430
+    position: fixed;
431
+    bottom: 0;
432
+    left: 0;
433
+    width: 100%;
434
+    height: 2.75rem;
435
+    background: rgba(255, 255, 255, 1);
436
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
437
+    display: flex;
438
+    align-items: center;
439
+    justify-content: space-around;
440
+    font-size: 0.9375rem;
441
+    color: #979798;
442
+    .addIcon {
443
+      color: #5b98ff;
444
+      font-size: 1.25rem;
445
+      margin-right: 0.25rem;
446
+    }
447
+  }
448
+  .flexBox {
449
+    display: flex;
450
+    justify-content: space-between;
451
+  }
452
+}
453
+::-webkit-scrollbar {
454
+  width: 0;
455
+}
456
+.elselect{
457
+  .el-input--suffix{
458
+    .el-input__inner{
459
+      font-size: 16px !important;
460
+    }
461
+  }
462
+}
463
+.checkBox1 {
464
+  position: fixed;
465
+  left: 0.6rem;
466
+  bottom: 3.25rem;
467
+  z-index:5000;
468
+  img {
469
+    width: 3.5rem;
470
+    height: 3.5rem;
471
+  }
472
+}
473
+</style>
474
+<style lang="scss">
475
+.elselect{
476
+  .el-input--suffix{
477
+    .el-input__inner{
478
+      font-size: 16px !important;
479
+    }
480
+  }
481
+}
482
+</style>

+ 6 - 2
src/pages/doctorAdvice/index.vue 파일 보기

@@ -30,7 +30,8 @@
30 30
         <dry-weight :active="active" :dryId="patient_id"></dry-weight>
31 31
       </van-tab>
32 32
       <van-tab title="检验检查">
33
-        <inspection :active="active"></inspection>
33
+        <!-- <inspection :active="active"></inspection> -->
34
+        <new_Inspection :active="active" :patientName="patientName"></new_Inspection>
34 35
       </van-tab>
35 36
       <van-tab title="传染病管理">
36 37
         <contagion :active="active"></contagion>
@@ -127,6 +128,7 @@ import recoverNotes from '@/pages/doctorAdvice/components/recoverNotes'
127 128
 import medicationPlan from '@/pages/doctorAdvice/components/medicationPlan'
128 129
 import deviceManagement from '@/pages/doctorAdvice/components/deviceManagement'
129 130
 import contagion from '@/pages/doctorAdvice/components/contagion'
131
+import new_Inspection from '@/pages/doctorAdvice/components/new_Inspection'
130 132
 import { uParseTime } from '@/utils/tools'
131 133
 import {
132 134
   getPatientDetail,
@@ -156,7 +158,8 @@ export default {
156 158
     medicationPlan,
157 159
     deviceManagement,
158 160
     contagion,
159
-    restatus: 0
161
+    restatus: 0,
162
+    new_Inspection
160 163
   },
161 164
   inject: ['reload'],
162 165
   data () {
@@ -409,6 +412,7 @@ export default {
409 412
       getBloodPatient().then(response => {
410 413
         if (response.data.state === 1) {
411 414
           var patient = response.data.data.patient
415
+          console.log('12121response',response.data.data)
412 416
           this.patient = patient
413 417
           let cityNameList = []
414 418
           for (let p in patient) {

+ 14 - 3
src/pages/main/template/DialysisPrintOrderSixty.vue 파일 보기

@@ -1555,16 +1555,16 @@
1555 1555
                     透析器凝血:
1556 1556
                     <div
1557 1557
                       class="under_line"
1558
-                      style="width: 200px; text-align: center"
1558
+                      style="width: 100px; text-align: center"
1559 1559
                     >
1560 1560
                       {{ afterdialysis.cruor ? afterdialysis.cruor : "/" }}
1561 1561
                     </div>
1562 1562
                   </div>
1563
-                  <div class="inline_block" style="flex: 1">
1563
+                  <div class="inline_block" style="flex: 2">
1564 1564
                     内瘘:
1565 1565
                     <div
1566 1566
                       class="under_line"
1567
-                      style="width: 70px; text-align: center"
1567
+                      style="width: 100px; text-align: center"
1568 1568
                     >
1569 1569
                       {{
1570 1570
                         afterdialysis.internal_fistula
@@ -1649,6 +1649,16 @@
1649 1649
                     </div>
1650 1650
                     ml
1651 1651
                   </div>
1652
+
1653
+                  <div class="inline_block" style="flex: 1">
1654
+                    KT/V:
1655
+                    <div class="under_line"
1656
+                      style="width: 50px; text-align: center"
1657
+                    >
1658
+                      {{afterdialysis.ktv ? afterdialysis.ktv : "/"}}
1659
+                    </div>
1660
+                  </div>
1661
+
1652 1662
                 </div>
1653 1663
 
1654 1664
                 <div
@@ -2221,6 +2231,7 @@ export default {
2221 2231
       // getDialysisRecord(this.queryParams).then(response => {
2222 2232
       var response = this.childResponse;
2223 2233
       if (response.data.state == 1) {
2234
+        console.log('rrrrrrrr',response.data.data);
2224 2235
         this.adminUser = response.data.data.users;
2225 2236
         this.users = response.data.data.users;
2226 2237
         this.patientInfo = response.data.data.patientInfo;

+ 8 - 5
src/router/index.js 파일 보기

@@ -625,10 +625,6 @@ export default new Router({
625 625
     path: '/consumablesDetail',
626 626
     component: () => import('@/pages/main/beforeDialysis/consumablesDetail')
627 627
   },
628
-  {
629
-    path: '/consumablesDetailOne',
630
-    component: () => import('@/pages/main/beforeDialysis/consumablesDetailOne')
631
-  },
632 628
   {
633 629
     path: '/adviceDetail',
634 630
     component: () => import('@/pages/main/beforeDialysis/adviceDetail')
@@ -682,6 +678,13 @@ export default new Router({
682 678
   {
683 679
     path: '/new_Patientscheduling',
684 680
     component: () => import('@/pages/new_Patientscheduling/index')
685
-  }
681
+  },
682
+  // 患者中心/检验检查/详情 new_Inspectiondetails
683
+  {
684
+    path: '/new_Inspectiondetails',
685
+    name: 'new_Inspectiondetails',
686
+    component: () => import('@/pages/doctorAdvice/components/new_Inspectiondetails')
687
+  },
688
+  
686 689
   ]
687 690
 })