mainqaq 2 years ago
parent
commit
35789552e5

+ 42 - 0
src/api/batch/batch.js View File

@@ -0,0 +1,42 @@
1
+import request from '@/utils/request'
2
+
3
+export function createArticle(data) {
4
+  return request({
5
+    url: '/article/create',
6
+    method: 'post',
7
+    data
8
+  })
9
+}
10
+
11
+export function getdialysismodename(query) {
12
+  return request({
13
+    url: '/api/his/getdialysismodename',
14
+    method: 'get',
15
+    params: query
16
+  })
17
+}
18
+
19
+export function getdrugsname(query) {
20
+  return request({
21
+    url: '/api/his/getdrugsname',
22
+    method: 'get',
23
+    params: query
24
+  })
25
+}
26
+
27
+export function getmodeconfigs(query) {
28
+  return request({
29
+    url: '/api/his/getmodeconfigs',
30
+    method: 'get',
31
+    params: query
32
+  })
33
+}
34
+
35
+//根据id获取药品耗材项目基本信息
36
+export function getdrugsinformation(query) {
37
+  return request({
38
+    url: '/api/his/getdrugsinformation',
39
+    method: 'get',
40
+    params: query
41
+  })
42
+}

+ 16 - 0
src/router/modules/hisTool.js View File

@@ -26,6 +26,22 @@ export default {
26 26
       hidden: true,
27 27
       is_menu: false
28 28
     },
29
+    {
30
+      path: '/hisTool/batchDelete',
31
+      component: () => import('@/xt_pages/outpatientDoctorStation/batch_delete'),
32
+      name: 'batchDelete',
33
+      meta: { title: 'batchDelete', noCache: true },
34
+      hidden: true,
35
+      is_menu: false
36
+    },
37
+    {
38
+      path: '/hisTool/batchReplacement',
39
+      component: () => import('@/xt_pages/outpatientDoctorStation/batch_replacement'),
40
+      name: 'batchReplacement',
41
+      meta: { title: 'batchReplacement', noCache: true },
42
+      hidden: true,
43
+      is_menu: false
44
+    },
29 45
     {
30 46
       path: '/hisTool/modeTemplateDetail',
31 47
       component: () => import('@/xt_pages/outpatientDoctorStation/modeTemplateDetail'),

+ 9 - 9
src/xt_pages/dialysis/details/dialog/finish_dialog.vue View File

@@ -28,12 +28,12 @@
28 28
               <el-radio :label="2">无</el-radio>
29 29
            </el-radio-group>
30 30
         </el-form-item>
31
-        
31
+
32 32
         <el-form-item label="内瘘: " v-if="isShowFiled('内瘘')">
33 33
             <el-input v-model="form.internal_fistula" readonly  @focus="showInnerDialog('7')" style="width:200px"></el-input>
34 34
         </el-form-item>
35 35
 
36
-    
36
+
37 37
         <el-form-item label="导管: " v-if="isShowFiled('导管')">
38 38
           <el-input v-model="form.catheter" @focus="showInnerDialog('4')" style="width:200px"></el-input>
39 39
         </el-form-item>
@@ -45,7 +45,7 @@
45 45
             readonly
46 46
             @focus="showInnerDialog('1')"
47 47
           ></el-input>
48
-       </el-form-item> 
48
+       </el-form-item>
49 49
 
50 50
         <el-form-item>
51 51
           <el-button v-if="(dialysis_order.id != 0 && dialysis_order.stage == 1)" @click="submit" :loading="loading"
@@ -56,7 +56,7 @@
56 56
             type="primary" @click="modifyFinish">修改下机
57 57
           </el-button>
58 58
         </el-form-item>
59
-        
59
+
60 60
 
61 61
 
62 62
       </el-form>
@@ -165,7 +165,7 @@
165 165
     methods: {
166 166
        isShowFiled(name) {
167 167
         var filedList = store.getters.xt_user.fileds
168
-       
168
+
169 169
         for (let i = 0; i < filedList.length; i++) {
170 170
           if (filedList[i].module == 9 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1) {
171 171
             return true
@@ -193,7 +193,7 @@
193 193
         if(this.$route.query.patient_id){
194 194
           this.patient_id = this.$route.query.patient_id
195 195
         }
196
-        
196
+
197 197
         this.schedule_date = this.$route.query.date
198 198
 
199 199
         if (this.dialysis_order.id == 0) {
@@ -256,7 +256,7 @@
256 256
         ParamsQuery["nurse"] = this.form.nurse_id;
257 257
         ParamsQuery["end_time"] = this.end_time;
258 258
         ParamsQuery["mode"] = "2"
259
-        ParamsQuery["puncture_point_haematoma"] = paseInt(this.form.puncture_point_haematoma)
259
+        ParamsQuery["puncture_point_haematoma"] = parseInt(this.form.puncture_point_haematoma)
260 260
         ParamsQuery["internal_fistula"] = this.form.internal_fistula
261 261
         ParamsQuery["catheter"] = this.form.catheter
262 262
         ParamsQuery["cruor"] = this.form.cruor
@@ -364,7 +364,7 @@
364 364
             this.InnerDialogProps.selected = this.form.cruor
365 365
             this.InnerDialogProps.isShowTextArea = false
366 366
             break
367
-          
367
+
368 368
         }
369 369
       },
370 370
       innerDialogComfirm: function(val) {
@@ -383,7 +383,7 @@
383 383
       },
384 384
       innerDialogCancle: function() {
385 385
         this.InnerDialogProps.visibility = false
386
-      }, 
386
+      },
387 387
     }
388 388
   }
389 389
 </script>

+ 10 - 3
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue View File

@@ -1389,7 +1389,7 @@
1389 1389
               <el-input v-model="form.accumulated_blood_volume"></el-input>
1390 1390
             </el-form-item>
1391 1391
           </el-col>
1392
-         
1392
+
1393 1393
           <el-col :span="8" v-if="isShow('累计血容量') && template_id  != 41">
1394 1394
             <el-form-item label="累计血容量(ml):">
1395 1395
               <el-input v-model="form.accumulated_blood_volume"></el-input>
@@ -1553,7 +1553,7 @@
1553 1553
 
1554 1554
       <div slot="footer" class="dialog-footer" v-show="edit">
1555 1555
         <el-button @click="cancelEditAction">取 消</el-button>
1556
-        <el-button type="primary" @click="submitAction">保 存</el-button>
1556
+        <el-button :loading="loading" type="primary"  @click="submitAction">保 存</el-button>
1557 1557
       </div>
1558 1558
       <!--</div>-->
1559 1559
     </el-dialog>
@@ -1576,6 +1576,7 @@ export default {
1576 1576
   name: "MonitorDialog",
1577 1577
   data() {
1578 1578
     return {
1579
+      loading: false,
1579 1580
       is_has_create: true,
1580 1581
       is_has_modify: true,
1581 1582
       is_has_modify_other: true,
@@ -1685,7 +1686,7 @@ export default {
1685 1686
     // this.form.monitoring_time = parseTime(new Date(), "{h}:{i}")
1686 1687
     this.form.operate_time = new Date().getTime();
1687 1688
     var symptoms = getDataConfig("hemodialysis", "symptoms");
1688
-    
1689
+
1689 1690
     this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit;
1690 1691
     //console.log("抗凝剂",this.anticoagulantsConfit)
1691 1692
     this.bloodPressureMmonitoringSite = getDataConfig(
@@ -1803,6 +1804,7 @@ export default {
1803 1804
     },
1804 1805
 
1805 1806
     newRecordAction: function () {
1807
+      console.log("111111111")
1806 1808
       this.setEditMonitor(null);
1807 1809
       this.$refs.table.setCurrentRow(null);
1808 1810
       console.log(this.dispose_options,'oop')
@@ -1953,12 +1955,14 @@ export default {
1953 1955
         return;
1954 1956
       }
1955 1957
       this.creator = this.table_current_row.creator;
1958
+      console.log("22222222222")
1956 1959
       this.setEditMonitor(this.table_current_row);
1957 1960
       this.$refs.table.setCurrentRow(null);
1958 1961
       this.edit = true;
1959 1962
       this.isAdd = false;
1960 1963
     },
1961 1964
     cancelEditAction: function () {
1965
+      console.log("3333333333")
1962 1966
       this.setEditMonitor(null);
1963 1967
       this.$refs.table.setCurrentRow(null);
1964 1968
       this.edit = false;
@@ -2127,6 +2131,8 @@ export default {
2127 2131
 
2128 2132
     submitAction: function () {
2129 2133
       // TODO loading
2134
+      this.loading = true
2135
+      console.log("aaaa")
2130 2136
       var is_new = this.form.id;
2131 2137
       this.form.operate_time = parseInt(this.form.operate_time / 1000);
2132 2138
       this.form.systolic_bp =
@@ -2430,6 +2436,7 @@ export default {
2430 2436
           }
2431 2437
         }
2432 2438
       );
2439
+      this.loading = false
2433 2440
     },
2434 2441
 
2435 2442
     symptomTextareaBlur: function () {

+ 3 - 3
src/xt_pages/dialysis/schedualPatient.vue View File

@@ -87,7 +87,7 @@
87 87
           <div v-if="zone_schedule.schedules.length > 0 && patientStateVal != 1" style="font-size:16px;font-weight: bold;color: #34495e;margin-right:10px;line-height:30px;">{{zone_schedule.zone_name}}</div>
88 88
           <patient-box :schedules="zone_schedule.schedules" :patientStateVal='patientStateVal' style="flex:1"></patient-box>
89 89
         </div>
90
-        
90
+
91 91
         <div class="NoData" v-show="filtedSchedules.length == 0">
92 92
           <img src="@/assets/img/data.jpg" alt="">
93 93
         </div>
@@ -391,7 +391,7 @@ import { getDialysisRecordInitData, getDialysisSchedules } from '@/api/dialysis_
391 391
         this.websocket.onmessage = e => {
392 392
           let res = JSON.parse(e.data);
393 393
           // let res = re.data;
394
-          console.log('res3333333333',res)
394
+          console.log('res333adasda3333333',res)
395 395
           if(res.channel == 'queue/join'){
396 396
             let timeType = null
397 397
             if(this.schedule_type_selected == 1){
@@ -422,7 +422,7 @@ import { getDialysisRecordInitData, getDialysisSchedules } from '@/api/dialysis_
422 422
                 }
423 423
             }
424 424
             this.fisrtQueueInfo = fisrtQueueInfo
425
-            
425
+
426 426
             // this.fisrtQueueInfo = res.data.fisrtQueueInfo
427 427
             let arr = res.data.patientQueueList.data
428 428
             let waitingCalledArr = []

+ 6 - 2
src/xt_pages/hospitalStation/components/deskPrescription.vue View File

@@ -365,7 +365,7 @@
365 365
                   <el-input style="width:50%;" @input="searchProjectAction"
366 366
                             @keyup.enter.native='searchProjectAction'
367 367
                             v-model.trim="search_project_keyword"
368
-                            placeholder="请输入项目名称"></el-input>
368
+                            placeholder="请输入项目名称"></el-input><!--住院工作站-->
369 369
 
370 370
                   <el-select style="float: right;width: 49%;" v-model="value" placeholder=""
371 371
                              @change="changeClass">
@@ -667,16 +667,20 @@ export default {
667 667
   methods: {
668 668
 
669 669
     changeClass(id) {
670
+      console.log("asdaff,id",id)
671
+      console.log("asdaff,this.value",this.value)
672
+      console.log("asdaff,this.allProject",this.allProject)
670 673
       this.tabProject = []
671 674
       if (id == 0) {
672 675
         this.tabProject = this.allProject
673 676
       } else {
674 677
         for (let i = 0; i < this.allProject.length; i++) {
675
-          if (this.allProject[i].cost_classify == id) {
678
+          if (this.allProject[i].project.cost_classify == id) {
676 679
             this.tabProject.push(this.allProject[i])
677 680
           }
678 681
         }
679 682
       }
683
+
680 684
     },
681 685
     setMonthPrescription(month_prescriptions) {
682 686
       console.log('~~~~~~~~')

+ 324 - 0
src/xt_pages/outpatientDoctorStation/batch_delete.vue View File

@@ -0,0 +1,324 @@
1
+<template><!--批量删除-->
2
+  <div class="main-contain">
3
+    <div class="app-container">
4
+      <div style="margin-bottom:10px">
5
+        透析模式:
6
+        <el-select v-model="value" placeholder="请选择">
7
+          <el-option
8
+            v-for="item in options"
9
+            :key="item.value"
10
+            :label="item.label"
11
+            :value="item.value">
12
+          </el-option>
13
+        </el-select>
14
+        新增类型:
15
+        <el-select v-model="value" placeholder="请选择">
16
+          <el-option
17
+            v-for="item in options"
18
+            :key="item.value"
19
+            :label="item.label"
20
+            :value="item.value">
21
+          </el-option>
22
+        </el-select>
23
+        是否选择所有患者:
24
+        <el-select v-model="value" placeholder="请选择">
25
+          <el-option
26
+            v-for="item in options"
27
+            :key="item.value"
28
+            :label="item.label"
29
+            :value="item.value">
30
+          </el-option>
31
+        </el-select>
32
+      </div>
33
+      <el-container>
34
+
35
+        <div style="width:27%">
36
+
37
+          <el-row>
38
+            <el-table
39
+              ref="singleTable"
40
+              :data="patientList"
41
+              highlight-current-row
42
+              border
43
+              @current-change="handleCurrentChange"
44
+              height="440"
45
+              :row-style="{ color: '#303133' }"
46
+              :header-cell-style="{
47
+                        backgroundColor: 'rgb(245, 247, 250)',
48
+                        color: '#606266'
49
+                        }"
50
+            >
51
+              <el-table-column align="center" type="selection" width="55">
52
+                <template slot-scope="scope">
53
+
54
+                </template>
55
+              </el-table-column>
56
+              <el-table-column prop="date" label="患者姓名" align="center">
57
+                <template slot-scope="scope">
58
+                  {{scope.row.name}}
59
+                </template>
60
+              </el-table-column>
61
+
62
+
63
+            </el-table>
64
+          </el-row>
65
+        </div>
66
+        <el-main>
67
+          <el-tabs v-model="editableTabsValue" type="border-card" editable @edit="handleTabsEdit">
68
+            <el-tab-pane
69
+              :key="item.name"
70
+              v-for="(item, index) in editableTabs"
71
+              :label="item.title"
72
+              :name="item.name"
73
+            >
74
+              {{item.content}}
75
+            </el-tab-pane>
76
+          </el-tabs>
77
+        </el-main>
78
+      </el-container>
79
+    </div>
80
+  </div>
81
+
82
+</template>
83
+<script>
84
+
85
+export default {
86
+  data(){
87
+    return{
88
+      patientList:[
89
+        {id:1,name:"张三"}
90
+      ],
91
+      tableList:[],
92
+      editableTabsValue: '2',
93
+      editableTabs: [{
94
+        title: 'Tab 1',
95
+        name: '1',
96
+        content: 'Tab 1 content'
97
+      }, {
98
+        title: 'Tab 2',
99
+        name: '2',
100
+        content: 'Tab 2 content'
101
+      }],
102
+      tabIndex: 2,
103
+      options: [{
104
+        value: '选项1',
105
+        label: '黄金糕'
106
+      }, {
107
+        value: '选项2',
108
+        label: '双皮奶'
109
+      }, {
110
+        value: '选项3',
111
+        label: '蚵仔煎'
112
+      }, {
113
+        value: '选项4',
114
+        label: '龙须面'
115
+      }, {
116
+        value: '选项5',
117
+        label: '北京烤鸭'
118
+      }],
119
+      value: ''
120
+    }
121
+  },
122
+  created(){
123
+
124
+  },
125
+  methods:{
126
+    handleTabsEdit(targetName, action) {
127
+      if (action === 'add') {
128
+        let newTabName = ++this.tabIndex + '';
129
+        this.editableTabs.push({
130
+          title: 'New Tab',
131
+          name: newTabName,
132
+          content: 'New Tab content'
133
+        });
134
+        this.editableTabsValue = newTabName;
135
+      }
136
+      if (action === 'remove') {
137
+        let tabs = this.editableTabs;
138
+        let activeName = this.editableTabsValue;
139
+        if (activeName === targetName) {
140
+          tabs.forEach((tab, index) => {
141
+            if (tab.name === targetName) {
142
+              let nextTab = tabs[index + 1] || tabs[index - 1];
143
+              if (nextTab) {
144
+                activeName = nextTab.name;
145
+              }
146
+            }
147
+          });
148
+        }
149
+
150
+        this.editableTabsValue = activeName;
151
+        this.editableTabs = tabs.filter(tab => tab.name !== targetName);
152
+      }
153
+    },
154
+    handleCurrentChange(){
155
+
156
+    }
157
+  },
158
+
159
+
160
+}
161
+</script>
162
+
163
+
164
+
165
+<style lang="scss" scoped>
166
+
167
+.zone{
168
+//  margin-left: 30px;
169
+//  text-align: left;
170
+  width: 70px;
171
+  display: inline-block;
172
+  color:#606266;
173
+}
174
+.disinfect{
175
+  position: relative;
176
+.newButton{
177
+// position: absolute;
178
+// right: 2%;
179
+// top:4px;
180
+// z-index: 9;
181
+  margin-bottom: 10px;
182
+  margin-left: 90%;
183
+}
184
+}
185
+.disinfectOne{
186
+  position: relative;
187
+.newButtonOne{
188
+  position: absolute;
189
+  right: 0;
190
+  top: -10;
191
+  z-index: 18;
192
+}
193
+}
194
+.but{
195
+  width: 200px;
196
+  height: 50px;
197
+// border: solid 1px red;
198
+  margin-left: 77%;
199
+}
200
+.clearn{
201
+  width: 460px;
202
+  height: 50px;
203
+// border:solid 1px red;
204
+  margin-left:650px;
205
+}
206
+
207
+.zClass{
208
+  width: 200px;
209
+  height: 200px;
210
+// border:solid 1px red;
211
+  margin-left: 450px;
212
+  margin-top: 200px;
213
+}
214
+.warn{
215
+  color: red;
216
+  font-size: 14px;
217
+  width: 100%;
218
+  display: inline-block;
219
+  margin-left: 96px;
220
+}
221
+
222
+.userbutton{
223
+  margin-bottom: 10px;
224
+  margin-left: 82%
225
+}
226
+
227
+</style>
228
+<style lang="scss" >
229
+
230
+.a{
231
+  margin-bottom: 10px;
232
+  margin-top: 6px;
233
+
234
+}
235
+
236
+.b{
237
+.el-button{
238
+  margin-left: 90%;
239
+  margin-bottom: 10px;
240
+}
241
+}
242
+
243
+.stoppage{
244
+.el-form-item__label{
245
+  width:190px;
246
+}
247
+}
248
+.st{
249
+.el-form-item__label{
250
+  width:-10px;
251
+}
252
+}
253
+.main{
254
+  position: relative;
255
+.newButtonOne{
256
+  position:absolute;
257
+  right: 0;
258
+  z-index: 2;
259
+}
260
+}
261
+
262
+.elbutton{
263
+// border: solid 1px red;
264
+  height: 50px;
265
+  width: 400px;
266
+  margin-left: 650px;
267
+}
268
+// .el-form-item__label {
269
+   //   width: 130px;
270
+   //   font-size: 14px;
271
+   // }
272
+.el-form-item__error {
273
+  margin-left: 130px;
274
+}
275
+
276
+.el-upload-list__item-name {
277
+  color: #606266;
278
+  display: block;
279
+  margin-right: 40px;
280
+  overflow: hidden;
281
+  padding-left: 4px;
282
+  text-overflow: ellipsis;
283
+  transition: color .3s;
284
+  white-space: nowrap;
285
+}
286
+.el-main{
287
+  padding-top: 0px;
288
+}
289
+.newMain{
290
+.el-form-item__label{
291
+  width: 104px;
292
+}
293
+}
294
+.newDisinfectOne{
295
+.el-input--prefix .el-input__inner{
296
+  padding-left: 15px
297
+}
298
+}
299
+.stoppage{
300
+.el-form-item__label{
301
+  width: 18%;
302
+}
303
+}
304
+.newItem{
305
+.el-form-item__label{
306
+  width: 130px;
307
+}
308
+}
309
+.formItem{
310
+.el-form-item__label{
311
+  width: 104px;
312
+  line-height: 30px;
313
+}
314
+}
315
+.newname{
316
+.el-form-item__label{
317
+  width: 60px;
318
+}
319
+}
320
+::-webkit-scrollbar{
321
+  height: 20px;
322
+}
323
+
324
+</style>

+ 500 - 87
src/xt_pages/outpatientDoctorStation/batch_mode_template.vue View File

@@ -1,67 +1,56 @@
1
-<template>
1
+<template><!--批量新增-->
2 2
     <div class="main-contain">
3 3
         <div class="app-container">
4 4
           <div style="margin-bottom:10px">
5 5
                 透析模式:
6
-                <el-select v-model="value" placeholder="请选择">
6
+                <el-select v-model="modeOptions_value" placeholder="请选择" @change="changemode">
7 7
                 <el-option
8
-                v-for="item in options"
9
-                :key="item.value"
10
-                :label="item.label"
11
-                :value="item.value">
8
+                v-for="item in modeOptions"
9
+                :key="item.id"
10
+                :label="item.name"
11
+                :value="item.id">
12 12
                 </el-option>
13 13
                 </el-select>
14 14
                新增类型:
15
-                <el-select v-model="value" placeholder="请选择">
15
+                <el-select v-model="new_type" placeholder="请选择">
16 16
                 <el-option
17 17
                 v-for="item in options"
18
-                :key="item.value"
19
-                :label="item.label"
20
-                :value="item.value">
18
+                :key="item.id"
19
+                :label="item.name"
20
+                :value="item.id">
21 21
                 </el-option>
22 22
                 </el-select>
23 23
               是否选择所有患者:
24
-                <el-select v-model="value" placeholder="请选择">
24
+                <el-select v-model="patient_value" placeholder="请选择" @change="changelist">
25 25
                 <el-option
26
-                v-for="item in options"
27
-                :key="item.value"
28
-                :label="item.label"
29
-                :value="item.value">
26
+                v-for="item in options_patient"
27
+                :key="item.id"
28
+                :label="item.name"
29
+                :value="item.id">
30 30
                 </el-option>
31 31
                 </el-select>
32
+            <button @click="lili">调试</button>
33
+            <button @click="">保存</button>
32 34
             </div>
33 35
          <el-container>
34
-               
35
-               <div style="width:27%">
36
-               
37
-                  <el-row>
38
-                    <el-table
39
-                        ref="singleTable"
40
-                        :data="patientList"
41
-                        highlight-current-row
42
-                        border
43
-                        @current-change="handleCurrentChange"
44
-                        height="440"
45
-                        :row-style="{ color: '#303133' }"
46
-                        :header-cell-style="{
47
-                        backgroundColor: 'rgb(245, 247, 250)',
48
-                        color: '#606266'
49
-                        }"
50
-                    >
51
-                     <el-table-column align="center" type="selection" width="55">
52
-                       <template slot-scope="scope">
53
-                      
54
-                      </template>
55
-                     </el-table-column>
56
-                     <el-table-column prop="date" label="患者姓名" align="center">
57
-                      <template slot-scope="scope">
58
-                        {{scope.row.name}}
59
-                      </template>
60
-                    </el-table-column>
61
-                   
62 36
 
63
-                     </el-table>
64
-                  </el-row>
37
+               <div style="width:13%">
38
+                 <el-table
39
+                   ref="multipleTable"
40
+                   :data="tableData"
41
+                   tooltip-effect="dark"
42
+                   style="width: 100%"
43
+                   @selection-change="handleSelectionChange">
44
+                   <el-table-column
45
+                     type="selection"
46
+                     width="55">
47
+                   </el-table-column>
48
+                   <el-table-column
49
+                     label="患者姓名"
50
+                     width="100">
51
+                     <template slot-scope="scope">{{ scope.row.name }}</template>
52
+                   </el-table-column>
53
+                 </el-table>
65 54
                </div>
66 55
               <el-main>
67 56
             <el-tabs v-model="editableTabsValue" type="border-card" editable @edit="handleTabsEdit">
@@ -71,65 +60,486 @@
71 60
                     :label="item.title"
72 61
                     :name="item.name"
73 62
                 >
74
-                    {{item.content}}
63
+                  <el-select v-model="item.patient_value" placeholder="请选择" @change="changelist">
64
+                    <el-option
65
+                      v-for="item in options_patient"
66
+                      :key="item.id"
67
+                      :label="item.name"
68
+                      :value="item.id">
69
+                    </el-option>
70
+                  </el-select>
71
+                  <el-table
72
+                    v-if="new_type == 1"
73
+                    :data="item.tableDatas"
74
+                    style="width: 100%"
75
+                    max-height="250">
76
+                    <el-table-column
77
+                      fixed
78
+                      label="新增药品名称"
79
+                      width="250">
80
+                      <template slot-scope="scope">
81
+                        <el-select v-model="scope.row.drug_name" placeholder="请选择" @focus="clicktmp(item.patient_value,scope.row)" @change="changeid(scope.row)">
82
+                          <el-option
83
+                            v-for="item in tmplist"
84
+                            :key="item.id"
85
+                            :label="item.name"
86
+                            :value="item.id">
87
+                          </el-option>
88
+                        </el-select>
89
+                      </template>
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                      label="单次用量"
93
+                      width="120">
94
+                      <template slot-scope="scope">
95
+                        <el-input v-model="scope.row.single_dose" placeholder="请输入内容"></el-input>
96
+                        <el-select v-model="scope.row.single_dose_unit" placeholder="请选择">
97
+                          <el-option
98
+                            v-for="item in unit"
99
+                            :key="item.id"
100
+                            :label="item.name"
101
+                            :value="item.id">
102
+                          </el-option>
103
+                        </el-select>
104
+                      </template>
105
+                    </el-table-column>
106
+                    <el-table-column
107
+                      label="用法"
108
+                      width="120">
109
+                      <template slot-scope="scope">
110
+                        <el-select v-model="scope.row.delivery_way" placeholder="请选择">
111
+                          <el-option
112
+                            v-for="item in usage"
113
+                            :key="item.id"
114
+                            :label="item.name"
115
+                            :value="item.id">
116
+                          </el-option>
117
+                        </el-select>
118
+                      </template>
119
+                    </el-table-column>
120
+                    <el-table-column
121
+                      label="频率"
122
+                      width="120">
123
+                      <template slot-scope="scope">
124
+                        <el-select v-model="scope.row.execution_frequency" placeholder="请选择">
125
+                          <el-option
126
+                            v-for="item in frequency"
127
+                            :key="item.id"
128
+                            :label="item.name"
129
+                            :value="item.id">
130
+                          </el-option>
131
+                        </el-select>
132
+                      </template>
133
+                    </el-table-column>
134
+                    <el-table-column
135
+                      label="天数"
136
+                      width="120">
137
+                      <template slot-scope="scope">
138
+                        <el-input v-model="scope.row.day" placeholder="请输入内容"></el-input>天
139
+                      </template>
140
+                    </el-table-column>
141
+                    <el-table-column
142
+                      label="总量"
143
+                      width="120">
144
+                      <template slot-scope="scope">
145
+                        <el-input v-model="scope.row.prescribing_number" placeholder="请输入内容"></el-input>
146
+                        <el-select v-model="scope.row.prescribing_number_unit" placeholder="请选择">
147
+                          <el-option
148
+                            v-for="item in unit"
149
+                            :key="item.id"
150
+                            :label="item.name"
151
+                            :value="item.id">
152
+                          </el-option>
153
+                        </el-select>
154
+                      </template>
155
+                    </el-table-column>
156
+                    <el-table-column
157
+                      label="单价"
158
+                      width="120">
159
+                      <template slot-scope="scope">
160
+                        <el-input :disabled="true" v-model="scope.row.price"></el-input>元
161
+                      </template>
162
+                    </el-table-column>
163
+                    <el-table-column
164
+                      label="备注"
165
+                      width="120">
166
+                      <template slot-scope="scope">
167
+                        <el-input v-model="scope.row.remark" placeholder=""></el-input>
168
+                      </template>
169
+                    </el-table-column>
170
+                    <el-table-column
171
+                      fixed="right"
172
+                      label="操作"
173
+                      width="120">
174
+                      <template slot-scope="scope">
175
+                        <el-button
176
+                          @click.native.prevent="addRow(scope.$index, item.tableDatas)"
177
+                          type="text"
178
+                          size="small">
179
+                          添加
180
+                        </el-button>
181
+                        <el-button
182
+                          @click.native.prevent="deleteRow(scope.$index, item.tableDatas)"
183
+                          type="text"
184
+                          size="small">
185
+                          移除
186
+                        </el-button>
187
+                      </template>
188
+                    </el-table-column>
189
+                  </el-table>
190
+
191
+                  <el-table
192
+                    v-if="new_type == 2"
193
+                    :data="item.project"
194
+                    style="width: 100%"
195
+                    max-height="250">
196
+                    <el-table-column
197
+                      fixed
198
+                      label="新增项目名称"
199
+                      width="250">
200
+                      <template slot-scope="scope">
201
+                        <el-select v-model="scope.row.drug_name" placeholder="请选择" @focus="clicktmp(item.patient_value,scope.row)" @change="changeid(scope.row)">
202
+                          <el-option
203
+                            v-for="item in tmplist"
204
+                            :key="item.id"
205
+                            :label="item.name"
206
+                            :value="item.id">
207
+                          </el-option>
208
+                        </el-select>
209
+                      </template>
210
+                    </el-table-column>
211
+                    <el-table-column
212
+                      label="单次用量"
213
+                      width="120">
214
+                      <template slot-scope="scope">
215
+                        <el-input v-model="scope.row.single_dose" placeholder="请输入内容"></el-input>
216
+                        <el-select v-model="scope.row.single_dose_unit" placeholder="请选择">
217
+                          <el-option
218
+                            v-for="item in unit"
219
+                            :key="item.id"
220
+                            :label="item.name"
221
+                            :value="item.id">
222
+                          </el-option>
223
+                        </el-select>
224
+                      </template>
225
+                    </el-table-column>
226
+                    <el-table-column
227
+                      label="用法"
228
+                      width="120">
229
+                      <template slot-scope="scope">
230
+                        <el-select v-model="scope.row.delivery_way" placeholder="请选择">
231
+                          <el-option
232
+                            v-for="item in usage"
233
+                            :key="item.id"
234
+                            :label="item.name"
235
+                            :value="item.id">
236
+                          </el-option>
237
+                        </el-select>
238
+                      </template>
239
+                    </el-table-column>
240
+                    <el-table-column
241
+                      label="频率"
242
+                      width="120">
243
+                      <template slot-scope="scope">
244
+                        <el-select v-model="scope.row.execution_frequency" placeholder="请选择">
245
+                          <el-option
246
+                            v-for="item in frequency"
247
+                            :key="item.id"
248
+                            :label="item.name"
249
+                            :value="item.id">
250
+                          </el-option>
251
+                        </el-select>
252
+                      </template>
253
+                    </el-table-column>
254
+                    <el-table-column
255
+                      label="天数"
256
+                      width="120">
257
+                      <template slot-scope="scope">
258
+                        <el-input v-model="scope.row.day" placeholder="请输入内容"></el-input>天
259
+                      </template>
260
+                    </el-table-column>
261
+                    <el-table-column
262
+                      label="总量"
263
+                      width="120">
264
+                      <template slot-scope="scope">
265
+                        <el-input v-model="scope.row.prescribing_number" placeholder="请输入内容"></el-input>
266
+                        <el-select v-model="scope.row.prescribing_number_unit" placeholder="请选择">
267
+                          <el-option
268
+                            v-for="item in unit"
269
+                            :key="item.id"
270
+                            :label="item.name"
271
+                            :value="item.id">
272
+                          </el-option>
273
+                        </el-select>
274
+                      </template>
275
+                    </el-table-column>
276
+                    <el-table-column
277
+                      label="单价"
278
+                      width="120">
279
+                      <template slot-scope="scope">
280
+                        <el-input :disabled="true" v-model="scope.row.price"></el-input>元
281
+                      </template>
282
+                    </el-table-column>
283
+                    <el-table-column
284
+                      label="备注"
285
+                      width="120">
286
+                      <template slot-scope="scope">
287
+                        <el-input v-model="scope.row.remark" placeholder=""></el-input>
288
+                      </template>
289
+                    </el-table-column>
290
+                    <el-table-column
291
+                      fixed="right"
292
+                      label="操作"
293
+                      width="120">
294
+                      <template slot-scope="scope">
295
+                        <el-button
296
+                          @click.native.prevent="addRow(scope.$index, item.tableDatas)"
297
+                          type="text"
298
+                          size="small">
299
+                          添加
300
+                        </el-button>
301
+                        <el-button
302
+                          @click.native.prevent="deleteRow(scope.$index, item.tableDatas)"
303
+                          type="text"
304
+                          size="small">
305
+                          移除
306
+                        </el-button>
307
+                      </template>
308
+                    </el-table-column>
309
+                  </el-table>
75 310
                 </el-tab-pane>
76 311
             </el-tabs>
312
+
77 313
              </el-main>
78
-                
79 314
           </el-container>
80
-        </el-container>
81
-      </el-container>
82 315
       </div>
83 316
     </div>
84 317
 
85 318
 </template>
86 319
 <script>
320
+import {
321
+  gethisusertoalive,
322
+}from "@/api/deposit";
323
+import {getdialysismodename,getdrugsname,getmodeconfigs}from "@/api/batch/batch"
87 324
 
88 325
 export default {
89 326
   data(){
90 327
     return{
91
-     patientList:[
92
-      {id:1,name:"张三"}
93
-     ],
94
-     tableList:[],
95
-     editableTabsValue: '2',
96
-     editableTabs: [{
328
+      patientList:[
329
+         {id:1,name:"张三"}
330
+       ],
331
+      tableList:[],
332
+      editableTabsValue: '2',
333
+      modeOptions:{},
334
+      editableTabs: [{
97 335
         title: 'Tab 1',
98 336
         name: '1',
99
-        content: 'Tab 1 content'
100
-    }, {
337
+        patient_value:1,
338
+        tableDatas: [{
339
+          id:"",
340
+          drug_name:"王小美",
341
+          single_dose:0,
342
+          single_dose_unit: '',
343
+          delivery_way: '给药途径',
344
+          execution_frequency: '执行频率',
345
+          day: 0,
346
+          prescribing_number:0,
347
+          prescribing_number_unit:"",
348
+          price:"",
349
+          remark:"",
350
+        }],
351
+        project:[{
352
+          id:"",
353
+          drug_name:"王小美",
354
+          single_dose:0,
355
+          single_dose_unit: '',
356
+          delivery_way: '给药途径',
357
+          execution_frequency: '执行频率',
358
+          day: 0,
359
+          prescribing_number:0,
360
+          prescribing_number_unit:"",
361
+          price:"",
362
+          remark:"",
363
+        }],
364
+        },
365
+        {
101 366
         title: 'Tab 2',
102 367
         name: '2',
103
-        content: 'Tab 2 content'
104
-    }],
105
-    tabIndex: 2,
106
-     options: [{
107
-          value: '选项1',
108
-          label: '黄金糕'
109
-        }, {
110
-          value: '选项2',
111
-          label: '双皮奶'
112
-        }, {
113
-          value: '选项3',
114
-          label: '蚵仔煎'
115
-        }, {
116
-          value: '选项4',
117
-          label: '龙须面'
118
-        }, {
119
-          value: '选项5',
120
-          label: '北京烤鸭'
368
+          patient_value:1,
369
+          tableDatas: [{
370
+            id:"",
371
+            drug_name: '',
372
+            single_dose:0,
373
+            single_dose_unit: '',
374
+            delivery_way: '给药途径',
375
+            execution_frequency: '执行频率',
376
+            day: 0,
377
+            prescribing_number:0,
378
+            prescribing_number_unit:"",
379
+            price:"",
380
+            remark:"",
381
+          }],
382
+          project:[{
383
+            id:"",
384
+            drug_name:"王小美",
385
+            single_dose:0,
386
+            single_dose_unit: '',
387
+            delivery_way: '给药途径',
388
+            execution_frequency: '执行频率',
389
+            day: 0,
390
+            prescribing_number:0,
391
+            prescribing_number_unit:"",
392
+            price:"",
393
+            remark:"",
394
+          }],
121 395
         }],
122
-     value: ''
396
+      tabIndex: 2,
397
+      modeOptions_value: 1,//透析模式
398
+      multipleSelection: [],
399
+      tableData:[],
400
+      options:[{id:1,name:"药品"},{id:2,name:"项目"}],
401
+      options_patient:[{id:1,name:"普通门诊"},{id:2,name:"门诊特殊病"}],
402
+      new_type:1,//新增类型
403
+      patient_value:1,//是否选择所有患者
404
+      druglist:[],//药品规格_门诊特殊
405
+      druglist2:[],//药品规格_普通
406
+      projectlist:[],//项目规格—特俗
407
+      projectlist2:[],//项目规格——普通
408
+      tmplist:[],//临时
409
+      unit:[{id:1,name:"g"},{id:2,name:"mg"},{id:3,name:"u"},{id:4,name:"ml"},{id:5,name:"万U"},{id:6,name:"枚"},{id:7,name:"粒"},
410
+        {id:8,name:"片"},{id:9,name:"支"},{id:10,name:"μg"},{id:11,name:"iu"},{id:12,name:"包"},{id:13,name:"袋"},{id:14,name:"万"},
411
+        {id:15,name:"万iu"},{id:16,name:"丸"},{id:17,name:"盒"},{id:18,name:"瓶"},{id:19,name:"瓶(袋)"},{id:20,name:"次"}],
412
+      usage:[],//用法
413
+      frequency:[]//频率
414
+
123 415
     }
124 416
   },
417
+  created() {
418
+    // console.log("this.$store.getters.treatment_mode",this.$store.getters.treatment_mode)
419
+    for (let key in this.$store.getters.treatment_mode) {
420
+      this.modeOptions[key] = this.$store.getters.treatment_mode[key]
421
+    }
422
+    // console.log("this.modeOptions",this.modeOptions)
423
+    this.getusernames();
424
+    this.getthisdrugname();
425
+    this.getdrugconfigs();
426
+  },
125 427
   methods:{
428
+    lili(){
429
+      console.log("this.editableTabs",this.editableTabs)
430
+      // console.log("this.projectlist",this.projectlist)
431
+      // console.log("this.druglist2",this.druglist2)
432
+      // console.log("this.projectlist2",this.projectlist2)
433
+      // console.log("patient_value",this.patient_value)
434
+    },
435
+    changeid(item,index){
436
+      console.log("ididiididid",item)
437
+      console.log("index",index)
438
+      item.id = item.drug_name
439
+    },
440
+    clicktmp(tmp,item){
441
+      console.log("hahahhatmp",tmp)
442
+      console.log("hahahitem",item)
443
+      if (this.new_type == 1){
444
+        if(tmp == 2){
445
+          this.tmplist = this.druglist
446
+        }else{
447
+          this.tmplist = this.druglist2
448
+        }
449
+      }else{
450
+        if(tmp == 2){
451
+          this.tmplist = this.projectlist
452
+        }else{
453
+          this.tmplist = this.projectlist2
454
+        }
455
+      }
456
+    },
457
+    changelist(){
458
+      console.log("patient_value",this.patient_value)
459
+      if (this.patient_value == 1){
460
+        this.getusernames();
461
+      }
462
+      if (this.patient_value == 2){
463
+        this.qieusername();
464
+      }
465
+    },
466
+    changemode(){
467
+      if (this.patient_value == 2){
468
+        this.qieusername();
469
+      }
470
+    },
471
+    deleteRow(index, rows) {
472
+      console.log("index",index)
473
+      console.log("rows",rows)
474
+      rows.splice(index, 1);
475
+    },
476
+    addRow(index, rows){
477
+      rows.splice(index+1,0,{date:'2016-05-02',name:'hah',province:'上海',city:'普陀区',address:'shngahai',zip:20033});
478
+    },
479
+    qieusername(){
480
+      var params = {
481
+        mode:this.modeOptions_value
482
+      }
483
+      getdialysismodename(params).then((res) =>{
484
+        if (res.data.state == 1){
485
+          this.tableData = res.data.data.list;
486
+        }
487
+      })
488
+    },
489
+    getusernames(){
490
+      var params = {}
491
+      gethisusertoalive(params).then((res) =>{
492
+        console.log("this.res",res)
493
+        if (res.data.state == 1){
494
+          this.tableData = res.data.data.list;
495
+          console.log("this.tableData",this.tableData)
496
+        }
497
+      })
498
+    },
499
+    getthisdrugname(){
500
+      var params = {
501
+        addtype:1
502
+      }
503
+      getdrugsname(params).then((res) =>{
504
+        if (res.data.state == 1){
505
+          this.druglist = res.data.data.list;
506
+          this.druglist2 = res.data.data.list2;
507
+        }
508
+      })
509
+      var params2 = {
510
+        addtype:2
511
+      }
512
+      getdrugsname(params2).then((res) =>{
513
+        if (res.data.state == 1){
514
+          this.projectlist = res.data.data.list;
515
+          this.projectlist2 = res.data.data.list2;
516
+        }
517
+      })
518
+    },
519
+    handleSelectionChange(val) {
520
+      this.multipleSelection = val;
521
+    },
126 522
     handleTabsEdit(targetName, action) {
127 523
         if (action === 'add') {
128 524
           let newTabName = ++this.tabIndex + '';
525
+          let tmp = this.editableTabs.length+1
129 526
           this.editableTabs.push({
130
-            title: 'New Tab',
527
+            title: '处方'+tmp,
131 528
             name: newTabName,
132
-            content: 'New Tab content'
529
+            patient_value: 1,
530
+            tableDatas: [{
531
+              id:"",
532
+              drug_name: '',
533
+              single_dose:0,
534
+              single_dose_unit: '',
535
+              delivery_way: '给药途径',
536
+              execution_frequency: '执行频率',
537
+              day: 0,
538
+              prescribing_number:0,
539
+              prescribing_number_unit:"",
540
+              price:"",
541
+              remark:"",
542
+            }]
133 543
           });
134 544
           this.editableTabsValue = newTabName;
135 545
         }
@@ -146,25 +556,28 @@ export default {
146 556
               }
147 557
             });
148 558
           }
149
-          
559
+
150 560
           this.editableTabsValue = activeName;
151 561
           this.editableTabs = tabs.filter(tab => tab.name !== targetName);
152 562
         }
153 563
     },
154
-    handleCurrentChange(){
155
-
564
+    getdrugconfigs(){
565
+      var params = {}
566
+      getmodeconfigs(params).then((res) =>{
567
+        if (res.data.state == 1){
568
+          this.frequency = res.data.data.efs
569
+          this.usage = res.data.data.drugways
570
+        }
571
+      })
156 572
     }
157
-  },
158
-  created(){
573
+  }
159 574
 
160
-  },
161
-  
162 575
 }
163 576
 </script>
164 577
 
165 578
 
166
-   
167
-<style lang="scss" scoped> 
579
+
580
+<style lang="scss" scoped>
168 581
 
169 582
     .zone{
170 583
       //  margin-left: 30px;

+ 324 - 0
src/xt_pages/outpatientDoctorStation/batch_replacement.vue View File

@@ -0,0 +1,324 @@
1
+<template><!--批量替换-->
2
+  <div class="main-contain">
3
+    <div class="app-container">
4
+      <div style="margin-bottom:10px">
5
+        透析模式:
6
+        <el-select v-model="value" placeholder="请选择">
7
+          <el-option
8
+            v-for="item in options"
9
+            :key="item.value"
10
+            :label="item.label"
11
+            :value="item.value">
12
+          </el-option>
13
+        </el-select>
14
+        新增类型:
15
+        <el-select v-model="value" placeholder="请选择">
16
+          <el-option
17
+            v-for="item in options"
18
+            :key="item.value"
19
+            :label="item.label"
20
+            :value="item.value">
21
+          </el-option>
22
+        </el-select>
23
+        是否选择所有患者:
24
+        <el-select v-model="value" placeholder="请选择">
25
+          <el-option
26
+            v-for="item in options"
27
+            :key="item.value"
28
+            :label="item.label"
29
+            :value="item.value">
30
+          </el-option>
31
+        </el-select>
32
+      </div>
33
+      <el-container>
34
+
35
+        <div style="width:27%">
36
+
37
+          <el-row>
38
+            <el-table
39
+              ref="singleTable"
40
+              :data="patientList"
41
+              highlight-current-row
42
+              border
43
+              @current-change="handleCurrentChange"
44
+              height="440"
45
+              :row-style="{ color: '#303133' }"
46
+              :header-cell-style="{
47
+                        backgroundColor: 'rgb(245, 247, 250)',
48
+                        color: '#606266'
49
+                        }"
50
+            >
51
+              <el-table-column align="center" type="selection" width="55">
52
+                <template slot-scope="scope">
53
+
54
+                </template>
55
+              </el-table-column>
56
+              <el-table-column prop="date" label="患者姓名" align="center">
57
+                <template slot-scope="scope">
58
+                  {{scope.row.name}}
59
+                </template>
60
+              </el-table-column>
61
+
62
+
63
+            </el-table>
64
+          </el-row>
65
+        </div>
66
+        <el-main>
67
+          <el-tabs v-model="editableTabsValue" type="border-card" editable @edit="handleTabsEdit">
68
+            <el-tab-pane
69
+              :key="item.name"
70
+              v-for="(item, index) in editableTabs"
71
+              :label="item.title"
72
+              :name="item.name"
73
+            >
74
+              {{item.content}}
75
+            </el-tab-pane>
76
+          </el-tabs>
77
+        </el-main>
78
+      </el-container>
79
+    </div>
80
+  </div>
81
+
82
+</template>
83
+<script>
84
+
85
+export default {
86
+  data(){
87
+    return{
88
+      patientList:[
89
+        {id:1,name:"张三"}
90
+      ],
91
+      tableList:[],
92
+      editableTabsValue: '2',
93
+      editableTabs: [{
94
+        title: 'Tab 1',
95
+        name: '1',
96
+        content: 'Tab 1 content'
97
+      }, {
98
+        title: 'Tab 2',
99
+        name: '2',
100
+        content: 'Tab 2 content'
101
+      }],
102
+      tabIndex: 2,
103
+      options: [{
104
+        value: '选项1',
105
+        label: '黄金糕'
106
+      }, {
107
+        value: '选项2',
108
+        label: '双皮奶'
109
+      }, {
110
+        value: '选项3',
111
+        label: '蚵仔煎'
112
+      }, {
113
+        value: '选项4',
114
+        label: '龙须面'
115
+      }, {
116
+        value: '选项5',
117
+        label: '北京烤鸭'
118
+      }],
119
+      value: ''
120
+    }
121
+  },
122
+  created(){
123
+
124
+  },
125
+  methods:{
126
+    handleTabsEdit(targetName, action) {
127
+      if (action === 'add') {
128
+        let newTabName = ++this.tabIndex + '';
129
+        this.editableTabs.push({
130
+          title: 'New Tab',
131
+          name: newTabName,
132
+          content: 'New Tab content'
133
+        });
134
+        this.editableTabsValue = newTabName;
135
+      }
136
+      if (action === 'remove') {
137
+        let tabs = this.editableTabs;
138
+        let activeName = this.editableTabsValue;
139
+        if (activeName === targetName) {
140
+          tabs.forEach((tab, index) => {
141
+            if (tab.name === targetName) {
142
+              let nextTab = tabs[index + 1] || tabs[index - 1];
143
+              if (nextTab) {
144
+                activeName = nextTab.name;
145
+              }
146
+            }
147
+          });
148
+        }
149
+
150
+        this.editableTabsValue = activeName;
151
+        this.editableTabs = tabs.filter(tab => tab.name !== targetName);
152
+      }
153
+    },
154
+    handleCurrentChange(){
155
+
156
+    }
157
+  },
158
+
159
+
160
+}
161
+</script>
162
+
163
+
164
+
165
+<style lang="scss" scoped>
166
+
167
+.zone{
168
+//  margin-left: 30px;
169
+//  text-align: left;
170
+  width: 70px;
171
+  display: inline-block;
172
+  color:#606266;
173
+}
174
+.disinfect{
175
+  position: relative;
176
+.newButton{
177
+// position: absolute;
178
+// right: 2%;
179
+// top:4px;
180
+// z-index: 9;
181
+  margin-bottom: 10px;
182
+  margin-left: 90%;
183
+}
184
+}
185
+.disinfectOne{
186
+  position: relative;
187
+.newButtonOne{
188
+  position: absolute;
189
+  right: 0;
190
+  top: -10;
191
+  z-index: 18;
192
+}
193
+}
194
+.but{
195
+  width: 200px;
196
+  height: 50px;
197
+// border: solid 1px red;
198
+  margin-left: 77%;
199
+}
200
+.clearn{
201
+  width: 460px;
202
+  height: 50px;
203
+// border:solid 1px red;
204
+  margin-left:650px;
205
+}
206
+
207
+.zClass{
208
+  width: 200px;
209
+  height: 200px;
210
+// border:solid 1px red;
211
+  margin-left: 450px;
212
+  margin-top: 200px;
213
+}
214
+.warn{
215
+  color: red;
216
+  font-size: 14px;
217
+  width: 100%;
218
+  display: inline-block;
219
+  margin-left: 96px;
220
+}
221
+
222
+.userbutton{
223
+  margin-bottom: 10px;
224
+  margin-left: 82%
225
+}
226
+
227
+</style>
228
+<style lang="scss" >
229
+
230
+.a{
231
+  margin-bottom: 10px;
232
+  margin-top: 6px;
233
+
234
+}
235
+
236
+.b{
237
+.el-button{
238
+  margin-left: 90%;
239
+  margin-bottom: 10px;
240
+}
241
+}
242
+
243
+.stoppage{
244
+.el-form-item__label{
245
+  width:190px;
246
+}
247
+}
248
+.st{
249
+.el-form-item__label{
250
+  width:-10px;
251
+}
252
+}
253
+.main{
254
+  position: relative;
255
+.newButtonOne{
256
+  position:absolute;
257
+  right: 0;
258
+  z-index: 2;
259
+}
260
+}
261
+
262
+.elbutton{
263
+// border: solid 1px red;
264
+  height: 50px;
265
+  width: 400px;
266
+  margin-left: 650px;
267
+}
268
+// .el-form-item__label {
269
+   //   width: 130px;
270
+   //   font-size: 14px;
271
+   // }
272
+.el-form-item__error {
273
+  margin-left: 130px;
274
+}
275
+
276
+.el-upload-list__item-name {
277
+  color: #606266;
278
+  display: block;
279
+  margin-right: 40px;
280
+  overflow: hidden;
281
+  padding-left: 4px;
282
+  text-overflow: ellipsis;
283
+  transition: color .3s;
284
+  white-space: nowrap;
285
+}
286
+.el-main{
287
+  padding-top: 0px;
288
+}
289
+.newMain{
290
+.el-form-item__label{
291
+  width: 104px;
292
+}
293
+}
294
+.newDisinfectOne{
295
+.el-input--prefix .el-input__inner{
296
+  padding-left: 15px
297
+}
298
+}
299
+.stoppage{
300
+.el-form-item__label{
301
+  width: 18%;
302
+}
303
+}
304
+.newItem{
305
+.el-form-item__label{
306
+  width: 130px;
307
+}
308
+}
309
+.formItem{
310
+.el-form-item__label{
311
+  width: 104px;
312
+  line-height: 30px;
313
+}
314
+}
315
+.newname{
316
+.el-form-item__label{
317
+  width: 60px;
318
+}
319
+}
320
+::-webkit-scrollbar{
321
+  height: 20px;
322
+}
323
+
324
+</style>

+ 4 - 1
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue View File

@@ -667,12 +667,15 @@
667 667
     methods: {
668 668
 
669 669
       changeClass(id) {
670
+        console.log("asdaff,id",id)
671
+        console.log("asdaff,this.value",this.value)
672
+        console.log("asdaff,this.allProject",this.allProject)
670 673
         this.tabProject = []
671 674
         if (id == 0) {
672 675
           this.tabProject = this.allProject
673 676
         } else {
674 677
           for (let i = 0; i < this.allProject.length; i++) {
675
-            if (this.allProject[i].cost_classify == id) {
678
+            if (this.allProject[i].project.cost_classify == id) {
676 679
               this.tabProject.push(this.allProject[i])
677 680
             }
678 681
           }

+ 8 - 8
src/xt_pages/outpatientDoctorStation/modeTemplate.vue View File

@@ -4,7 +4,7 @@
4 4
             <bread-crumb :crumbs='crumbs'></bread-crumb>
5 5
             <div style="float:right">
6 6
               <el-button type="primary" @click="add">新增</el-button>
7
-              <el-button type="primary" @click="batchAdd">批量新增</el-button>
7
+<!--              <el-button type="primary" @click="batchAdd">批量新增</el-button>-->
8 8
             </div>
9 9
         </div>
10 10
         <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
@@ -87,11 +87,11 @@
87 87
     },
88 88
     methods: {
89 89
       searchAction() {
90
-      
90
+
91 91
       },
92 92
       handleSizeChange(val) {
93 93
         this.limit = val
94
-      
94
+
95 95
       },
96 96
       getTime(val, temp) {
97 97
         if (val != 0) {
@@ -114,7 +114,7 @@
114 114
 
115 115
            this.templates = modeTeplate
116 116
          }
117
-       })   
117
+       })
118 118
       },
119 119
       handleCurrentChange(row){
120 120
         this.mode_id = row.id
@@ -126,7 +126,7 @@
126 126
           if(id == this.tablelist[i].id){
127 127
             mode_name = this.tablelist[i].name
128 128
           }
129
-        } 
129
+        }
130 130
         return mode_name
131 131
       },
132 132
       deleteModeTemplate(row,index) {
@@ -152,9 +152,9 @@
152 152
        jumpDetail(row) {
153 153
         this.$router.push('/hisTool/modeTemplateDetail?id=' + row.id + '&patient_id=' + this.patient_id + '&patient_name=' + this.patient_name +"&modes="+this.mode_str)
154 154
       },
155
-      batchAdd(){
156
-        this.$router.push("/hisTool/batchTemplate")
157
-      }
155
+      // batchAdd(){
156
+      //   this.$router.push("/hisTool/batchTemplate")
157
+      // }
158 158
     },
159 159
     created() {
160 160
       this.tablelist =  Object.values(this.$store.getters.treatment_mode)

+ 14 - 3
src/xt_pages/outpatientDoctorStation/prescriptionTemplate.vue View File

@@ -1,7 +1,10 @@
1
-<template>
1
+<template><!--处方模板-->
2 2
     <div class="main-contain new-main-contain">
3 3
         <div class="position">
4 4
             <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+            <el-button type="primary" @click="batchAdds">批量新增</el-button>
6
+            <el-button type="primary" @click="batchAdds">批量替换</el-button>
7
+            <el-button type="primary" @click="batchAdds">批量删除</el-button>
5 8
             <el-button type="primary" @click="add">新增</el-button>
6 9
 
7 10
         </div>
@@ -113,7 +116,6 @@
113 116
           }
114 117
         }
115 118
       },
116
-
117 119
       deleteTemplate(row) {
118 120
         this.$confirm('处方模版删除后不可恢复,是否确认删除', '删除', {
119 121
           confirmButtonText: '确 定',
@@ -220,7 +222,7 @@
220 222
               this.patient_name = this.data[0].name
221 223
             }
222 224
 
223
-            
225
+
224 226
             this.GetPrescriptionTemplateList()
225 227
 
226 228
           }
@@ -233,6 +235,15 @@
233 235
           return ''
234 236
         }
235 237
       },
238
+      batchAdds(){
239
+        this.$router.push("/hisTool/batchTemplate")
240
+      },
241
+      batchDeletes(){
242
+        this.$router.push("/hisTool/batchDelete")
243
+      },
244
+      batchReplace(){
245
+        this.$router.push("/hisTool/batchReplacement")
246
+      },
236 247
       add() {
237 248
         if (this.patient_id == 0) {
238 249
           this.$message.error('请选择病人')

+ 6 - 6
src/xt_pages/sign/components/beforeDialysisCalling.vue View File

@@ -116,7 +116,7 @@ export default {
116 116
         websocketSend(data) {
117 117
             try {
118 118
                 this.websocket.send(JSON.stringify(data))
119
-                
119
+
120 120
             } catch (error) {
121 121
                 this.showError = true;
122 122
                 this.showIndex = 4;
@@ -128,8 +128,8 @@ export default {
128 128
             this.websocket.onmessage = e => {
129 129
                 let res = JSON.parse(e.data);
130 130
                 // let res = re.data;
131
-                console.log('res3333333333',res)
132
-                
131
+                console.log('res3333ssss333333',res)
132
+
133 133
                     if(res.channel == 'queue/join'){
134 134
                         if(res.data.type == 3){
135 135
                             let fisrtQueueInfo = []
@@ -237,7 +237,7 @@ export default {
237 237
                         }
238 238
                         this.fisrtQueueInfo = fisrtQueueInfo
239 239
                     }
240
-                
240
+
241 241
             }
242 242
         },
243 243
         handleStateChange: function(index) {
@@ -249,7 +249,7 @@ export default {
249 249
             //         if(item.schedule_type == 1){
250 250
             //             newArr.push(item)
251 251
             //         }
252
-            //     }) 
252
+            //     })
253 253
             //     this.waitingCalledAm = newArr
254 254
             // }else if(index == 1){
255 255
             //     let arr = this.waitingCalledPm
@@ -258,7 +258,7 @@ export default {
258 258
             //         if(item.schedule_type == 2){
259 259
             //             newArr.push(item)
260 260
             //         }
261
-            //     }) 
261
+            //     })
262 262
             //     this.waitingCalledPm = newArr
263 263
             // }
264 264
             if(index == 2){

+ 21 - 21
src/xt_pages/user/dialysisSolution.vue View File

@@ -286,7 +286,7 @@
286 286
               ></el-input>
287 287
             </el-form-item>
288 288
             </div>
289
-            
289
+
290 290
           </el-col>
291 291
           <el-col
292 292
             :span="8"
@@ -397,7 +397,7 @@
397 397
               ></el-input>
398 398
             </el-form-item>
399 399
           </el-col>
400
-         
400
+
401 401
 
402 402
           <el-col :span="8" v-if="isShows('钾')">
403 403
             <el-form-item label="钾(mmol/L): " prop="kalium">
@@ -895,7 +895,7 @@ export default {
895 895
         epo:"",
896 896
         epo_count:"",
897 897
         max_ultrafiltration_rate:"",
898
-        
898
+
899 899
       },
900 900
       childPlan: {
901 901
         mode: '',
@@ -1063,7 +1063,7 @@ export default {
1063 1063
          this.addPlan.anticoagulant_zongliang = ""
1064 1064
          this.addPlan.anticoagulant_zongliang = parseInt(this.addPlan.anticoagulant_shouji) + parseInt(this.addPlan.anticoagulant_weichi)
1065 1065
       }
1066
-      
1066
+
1067 1067
     },
1068 1068
     'addPlan.anticoagulant_weichi': function() {
1069 1069
       this.addPlan.anticoagulant_zongliang = calculateAnticoagulantZL(
@@ -1401,7 +1401,7 @@ export default {
1401 1401
                 type: 'success',
1402 1402
                 duration: 2000
1403 1403
               })
1404
-              
1404
+
1405 1405
               this.dialogFormVisible = false
1406 1406
               this.tableData[this.current_index].doctor =
1407 1407
                 response.data.data.solution.doctor
@@ -1569,7 +1569,7 @@ export default {
1569 1569
       this.fetchPatientDialysisSolutions()
1570 1570
     },
1571 1571
     openEdit(index, row) {
1572
-      console.log("ro2333333",row)
1572
+      console.log("ro233344433344444444",row)
1573 1573
       this.current_index = index
1574 1574
       this.addPlan.id = row.id
1575 1575
       this.addPlan.mode = row.mode_id
@@ -1595,7 +1595,7 @@ export default {
1595 1595
       if(row.blood_flow_volume!="" || row.blood_flow_volume!=undefined){
1596 1596
         this.addPlan.blood_flow_volume = row.blood_flow_volume.toString()
1597 1597
       }
1598
-     
1598
+
1599 1599
       if (row.anticoagulant == 3) {
1600 1600
         this.addPlan.anticoagulant = '低分子肝素'
1601 1601
       }
@@ -1614,7 +1614,7 @@ export default {
1614 1614
       if(row.target_ultrafiltration!="" || row.target_ultrafiltration!=undefined){
1615 1615
         this.addPlan.target_ultrafiltration = row.target_ultrafiltration.toString()
1616 1616
       }
1617
-   
1617
+
1618 1618
 
1619 1619
       this.addPlan.dialysis_duration = parseFloat(row.dialysis_duration_hour) + parseFloat((row.dialysis_duration_minute / 60).toFixed(2))
1620 1620
       this.addPlan.dialysis_duration_hour = row.dialysis_duration_hour
@@ -1643,7 +1643,7 @@ export default {
1643 1643
       if(row.calcium!=""||row.calcium!=undefined){
1644 1644
          this.addPlan.calcium = row.calcium.toString()
1645 1645
       }
1646
-     
1646
+
1647 1647
      if(row.bicarbonate!=""||  row.bicarbonate!=undefined){
1648 1648
        this.addPlan.bicarbonate = row.bicarbonate.toString()
1649 1649
      }
@@ -1660,8 +1660,8 @@ export default {
1660 1660
     if(row.conductivity!="" ||row.conductivity!=undefined ){
1661 1661
        this.addPlan.conductivity = row.conductivity.toString()
1662 1662
     }
1663
-     
1664
-    
1663
+
1664
+
1665 1665
       this.addPlan.remark = row.remark
1666 1666
 
1667 1667
       this.addPlan.hemodialysis_pipelines  = row.hemodialysis_pipelines
@@ -1669,30 +1669,30 @@ export default {
1669 1669
       if(row.hemodialysis_pipelines_count!="" || row.hemodialysis_pipelines_count!=undefined){
1670 1670
         this.addPlan.hemodialysis_pipelines_count  = row.hemodialysis_pipelines_count.toString()
1671 1671
       }
1672
-     
1672
+
1673 1673
       this.addPlan.puncture_needle  = row.puncture_needle
1674 1674
 
1675 1675
       if(row.puncture_needle_count!=null || row.puncture_needle_count!=undefined){
1676 1676
         this.addPlan.puncture_needle_count = row.puncture_needle_count.toString()
1677 1677
       }
1678
-     
1678
+
1679 1679
       this.addPlan.epo  = row.epo
1680 1680
 
1681 1681
       if(row.epo_count!="" || row.epo_count!=undefined){
1682 1682
         this.addPlan.epo_count  = row.epo_count.toString()
1683 1683
       }
1684
-    
1684
+
1685 1685
       if(row.dialyzer_perfusion_apparatus!="" ||  row.dialyzer_perfusion_apparatus!=undefined){
1686 1686
          this.addPlan.dialyzer_perfusion_apparatus = row.dialyzer_perfusion_apparatus.toString()
1687 1687
       }
1688 1688
       if(row.plasma_separator!="" || row.plasma_separator!=undefined){
1689 1689
         this.addPlan.plasma_separator = row.plasma_separator.toString()
1690 1690
       }
1691
-     
1691
+
1692 1692
       if(row.bilirubin_adsorption_column!="" || row.bilirubin_adsorption_column!=undefined){
1693 1693
          this.addPlan.bilirubin_adsorption_column = row.bilirubin_adsorption_column.toString()
1694 1694
       }
1695
-    
1695
+
1696 1696
       this.addPlan.dialysis_irrigation = row.dialysis_irrigation
1697 1697
       this.addPlan.dialysis_dialyszers = row.dialysis_dialyszers
1698 1698
       this.dialysis_irrigation = row.dialysis_irrigation
@@ -1717,12 +1717,12 @@ export default {
1717 1717
       if(row.body_fluid_other!=''|| row.body_fluid_other!=undefined){
1718 1718
         this.addPlan.body_fluid_other = row.body_fluid_other.toString()
1719 1719
       }
1720
-     
1720
+
1721 1721
       this.addPlan.special_medicine = row.special_medicine
1722 1722
       if(row.special_medicine_other!=""||row.special_medicine_other!=undefined){
1723 1723
         this.addPlan.special_medicine_other = row.special_medicine_other.toString()
1724 1724
       }
1725
-   
1725
+
1726 1726
       this.addPlan.displace_liqui_part = row.displace_liqui_part
1727 1727
       if(row.displace_liqui_value!=''||row.displace_liqui_value!=undefined){
1728 1728
         this.addPlan.displace_liqui_value = row.displace_liqui_value.toString()
@@ -1730,7 +1730,7 @@ export default {
1730 1730
       if(row.ultrafiltration!='' ||  row.ultrafiltration!=undefined){
1731 1731
         this.addPlan.ultrafiltration = row.ultrafiltration.toString()
1732 1732
       }
1733
-     
1733
+
1734 1734
       this.addPlan.blood_access = row.blood_access
1735 1735
 
1736 1736
       this.addPlan.registrars_id = row.registrars_id
@@ -1749,7 +1749,7 @@ export default {
1749 1749
     },
1750 1750
     isShows(name) {
1751 1751
       var filedList = store.getters.xt_user.fileds
1752
-      
1752
+
1753 1753
       for (let i = 0; i < filedList.length; i++) {
1754 1754
         if (
1755 1755
           filedList[i].module == 1 &&
@@ -2196,7 +2196,7 @@ export default {
2196 2196
     this.plasmaSeparatorList = getDataConfig('hemodialysis','plasma_separator')
2197 2197
     this.bilirubinAdsorptionColumn = getDataConfig('hemodialysis','bilirubin_adsorption_column')
2198 2198
     this.queryParams.id = this.patientID
2199
-  
2199
+
2200 2200
 
2201 2201
   }
2202 2202
 }