XMLWAN hace 4 años
padre
commit
e6e6f07bb5

+ 44 - 0
src/api/consumable.js Ver fichero

@@ -0,0 +1,44 @@
1
+import request from '@/utils/request'
2
+
3
+
4
+//获取所有分区
5
+export function GetAllZone(params){
6
+  return request({
7
+    url: '/api/dialysis/zone',
8
+    method: 'get',
9
+    params: params
10
+  })
11
+}
12
+
13
+
14
+//获取透析参数
15
+
16
+export function getDialysisParameters(params){
17
+  console.log("params",params)
18
+  return request({
19
+     url:"/api/dialysis/getdialysisparameters",
20
+     method:"Get",
21
+     params:params
22
+  })
23
+}
24
+
25
+
26
+export function getDialysisBatchParameters(sch_ids){
27
+  
28
+  return request({
29
+    url:"/api/dialysis/getdialysisbatchparameters",
30
+    method:"get",
31
+    params: {
32
+      ids: sch_ids
33
+    }
34
+  })
35
+}
36
+
37
+export function getWareHouseOutList(params){
38
+  
39
+  return request({
40
+    url:"/api/dialysis/getwarehouseoutlist",
41
+    method:"get",
42
+    params:params
43
+  })
44
+}

+ 64 - 53
src/router/modules/dialysis.js Ver fichero

@@ -38,59 +38,70 @@ export default {
38 38
         noCache: true
39 39
       }
40 40
     },
41
-    // {
42
-    //   path: '/dialysis/consumableDrugs',
43
-    //   component: () => import('@/xt_pages/dialysis/consumableDrugs'),
44
-    //   name: '耗材药品',
45
-    //   meta: {
46
-    //     title: '耗材药品',
47
-    //     noCache: true
48
-    //   }
49
-    // },
50
-    // {
51
-    //   path: '/dialysis/consumableDrugs_print',
52
-    //   component: () => import('@/xt_pages/dialysis/consumableDrugs_print'),
53
-    //   hidden: true,
54
-    //   is_menu: false,
55
-    //   name: 'consumableDrugs_print',
56
-    //   meta: {
57
-    //     title: 'consumableDrugs_print',
58
-    //     noCache: true
59
-    //   }
60
-    // },
61
-    // {
62
-    //   path: '/dialysis/dialysisDrugs_print',
63
-    //   component: () => import('@/xt_pages/dialysis/dialysisDrugs_print'),
64
-    //   hidden: true,
65
-    //   is_menu: false,
66
-    //   name: 'dialysisDrugs_print',
67
-    //   meta: {
68
-    //     title: 'dialysisDrugs_print',
69
-    //     noCache: true
70
-    //   }
71
-    // },
72
-    // {
73
-    //   path: '/dialysis/dialysisParameters_print',
74
-    //   component: () => import('@/xt_pages/dialysis/dialysisParameters_print'),
75
-    //   hidden: true,
76
-    //   is_menu: false,
77
-    //   name: 'dialysisParameters_print',
78
-    //   meta: {
79
-    //     title: 'dialysisParameters_print',
80
-    //     noCache: true
81
-    //   }
82
-    // },
83
-    // {
84
-    //   path: '/dialysis/allSummary_print',
85
-    //   component: () => import('@/xt_pages/dialysis/allSummary_print'),
86
-    //   hidden: true,
87
-    //   is_menu: false,
88
-    //   name: 'allSummary_print',
89
-    //   meta: {
90
-    //     title: 'allSummary_print',
91
-    //     noCache: true
92
-    //   }
93
-    // },
41
+    {
42
+      path: '/dialysis/consumableDrugs',
43
+      component: () => import('@/xt_pages/dialysis/consumableDrugs'),
44
+      name: '耗材药品',
45
+      meta: {
46
+        title: '耗材药品',
47
+        noCache: true
48
+      }
49
+    },
50
+    {
51
+      path: '/dialysis/consumableDrugs_print',
52
+      component: () => import('@/xt_pages/dialysis/consumableDrugs_print'),
53
+      hidden: true,
54
+      is_menu: false,
55
+      name: 'consumableDrugs_print',
56
+      meta: {
57
+        title: 'consumableDrugs_print',
58
+        noCache: true
59
+      }
60
+    },
61
+    {
62
+      path: '/dialysis/dialysisDrugs_print',
63
+      component: () => import('@/xt_pages/dialysis/dialysisDrugs_print'),
64
+      hidden: true,
65
+      is_menu: false,
66
+      name: 'dialysisDrugs_print',
67
+      meta: {
68
+        title: 'dialysisDrugs_print',
69
+        noCache: true
70
+      }
71
+    },
72
+    {
73
+      path: '/dialysis/dialysisParameters_print',
74
+      component: () => import('@/xt_pages/dialysis/dialysisParameters_print'),
75
+      hidden: true,
76
+      is_menu: false,
77
+      name: 'dialysisParameters_print',
78
+      meta: {
79
+        title: 'dialysisParameters_print',
80
+        noCache: true
81
+      }
82
+    },
83
+    {
84
+      path: '/dialysis/allSummary_print',
85
+      component: () => import('@/xt_pages/dialysis/allSummary_print'),
86
+      hidden: true,
87
+      is_menu: false,
88
+      name: 'allSummary_print',
89
+      meta: {
90
+        title: 'allSummary_print',
91
+        noCache: true
92
+      }
93
+    },
94
+    {
95
+      path: '/dialysis/consumables_print',
96
+      component: () => import('@/xt_pages/dialysis/consumables_print'),
97
+      hidden: true,
98
+      is_menu: false,
99
+      name: 'consumables_print',
100
+      meta: {
101
+        title: 'consumables_print',
102
+        noCache: true
103
+      }
104
+    },
94 105
     {
95 106
       path: '/dialysis/record/:id',
96 107
       component: () => import('@/xt_pages/dialysis/dialysisPage'),

+ 143 - 0
src/xt_pages/dialysis/allSummary_print.vue Ver fichero

@@ -0,0 +1,143 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        <el-row style="float:right;">
6
+            <el-col :span="24">
7
+            <el-button size="small" icon="el-icon-printer" type="primary" @click="printAction">打印</el-button>
8
+            </el-col>
9
+        </el-row>
10
+        </div>
11
+        <div class="app-container" style="background-color: white;">
12
+            <div id="print_content">
13
+                <div class="print_main_content">
14
+                    <div class="order_title_panl">
15
+                        <span class="main_title">透前准备汇总统计表</span>
16
+                    </div>
17
+                    <div style="display:flex;justify-content: space-between;margin-bottom:10px;">
18
+                        <p>统计时间:2020.8.19-2020.8.20</p>
19
+                        <p>印单日期:2020.8.20</p>
20
+                    </div>
21
+                    <div class="table_panel">
22
+                        <table class="table">
23
+                            <thead>
24
+                                <tr>
25
+                                    <td>商品类型/药品名称</td>
26
+                                    <td>规格名称</td>
27
+                                    <td width="120">数量</td>
28
+                                </tr>
29
+                            </thead>
30
+                            <tbody>
31
+                                <tr v-for='item in 6'>
32
+                                    <td>张三</td>
33
+                                    <td>张三</td>
34
+                                    <td>张三</td>
35
+                                </tr>
36
+                            </tbody>
37
+                        </table>
38
+                    </div>
39
+                </div>
40
+            </div>
41
+        </div>
42
+    </div>
43
+</template>
44
+
45
+<script>
46
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
47
+import print from 'print-js'
48
+export default {
49
+    components:{
50
+        BreadCrumb
51
+    },
52
+    data(){
53
+        return{
54
+            crumbs: [
55
+                { path: false, name: '耗材药品' },
56
+                { path: false, name: '汇总打印' }
57
+            ],
58
+        }
59
+    },
60
+    methods:{
61
+        printAction: function() {
62
+            const style = '@media print { .print_main_content { background-color: white; width:960px;  margin:0 auto; padding: 0 0 20px 0; } .order_title_panl { text-align: center; } .main_title { font-size: 18px; line-height: 40px; font-weight: 500; } .table_panel { } .table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } thead tr td { border: 1px solid; text-align: center; font-size: 20px; padding: 15px 5px; } tbody tr td { border: 1px solid; text-align: center; font-size: 18px; padding: 10px 5px; } .proj { padding: 5px 0; text-align: left; } .proj_title { font-size: 16px; font-weight: 500; line-height: 25px; } .proj_item { font-size: 15px; line-height: 20px; } .zone_name { font-weight: 500; } }'
63
+
64
+            printJS({
65
+            printable: 'print_content',
66
+            type: 'html',
67
+            documentTitle: '  ',
68
+            style: style,
69
+            scanStyles: false
70
+            })
71
+        }
72
+    }
73
+}
74
+</script>
75
+
76
+
77
+<style rel="stylesheet/scss" lang="scss" scoped>
78
+.print_main_content {
79
+  background-color: white;
80
+  max-width: 1500px;
81
+  margin: 0 auto;
82
+  padding: 0 0 20px 0;
83
+
84
+  .order_title_panl {
85
+    text-align: center;
86
+
87
+    .main_title {
88
+      font-size: 18px;
89
+      line-height: 40px;
90
+      font-weight: 500;
91
+    }
92
+  }
93
+  .table_panel {
94
+    .table {
95
+      width: 100%;
96
+      border: 1px solid;
97
+      border-collapse: collapse;
98
+      padding: 2px;
99
+
100
+      thead {
101
+        tr {
102
+          td {
103
+            border: 1px solid;
104
+            text-align: center;
105
+            font-size: 20px;
106
+            padding: 15px 5px;
107
+          }
108
+        }
109
+      }
110
+      tbody {
111
+        tr {
112
+          td {
113
+            border: 1px solid;
114
+            text-align: center;
115
+            font-size: 18px;
116
+            padding: 10px 5px;
117
+
118
+            .proj {
119
+              padding: 5px 0;
120
+              text-align: left;
121
+
122
+              .proj_title {
123
+                font-size: 16px;
124
+                font-weight: 500;
125
+                line-height: 25px;
126
+              }
127
+
128
+              .proj_item {
129
+                font-size: 15px;
130
+                line-height: 20px;
131
+
132
+                .zone_name {
133
+                  font-weight: 500;
134
+                }
135
+              }
136
+            }
137
+          }
138
+        }
139
+      }
140
+    }
141
+  }
142
+}
143
+</style>

+ 1 - 0
src/xt_pages/dialysis/batch_print/batch_print_order_eight.vue Ver fichero

@@ -1359,6 +1359,7 @@ export default {
1359 1359
   mounted() {
1360 1360
     this.loading = true
1361 1361
     var ids = this.$store.getters.temp_params.batch_print_dialysis_record_ids
1362
+    console.log("ids",ids)
1362 1363
     if (ids.length == 0) {
1363 1364
       this.$router.back(-1)
1364 1365
       return

+ 1 - 0
src/xt_pages/dialysis/bloodPresssWatch.vue Ver fichero

@@ -690,6 +690,7 @@ export default {
690 690
       for (let index = 0; index < this.selecting_schs.length; index++) {
691 691
         sch_ids.push(this.selecting_schs[index].sch_id);
692 692
       }
693
+      console.log("sch_ids",sch_ids)
693 694
       this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids);
694 695
       if (this.template_id == 2 || this.template_id == 0) {
695 696
         this.$router.push({ path: "/dialysis/print/batch/other" });

+ 190 - 0
src/xt_pages/dialysis/components/allSummary.vue Ver fichero

@@ -0,0 +1,190 @@
1
+<template>
2
+    <div class="page_summary">
3
+      <div class="cell clearfix">
4
+        <label class="title"> <span class="name">排班班次</span> : </label>
5
+        <div class="time">
6
+          <ul class>
7
+            <li
8
+              :class="item.value == schedulType ? 'active' : ''"
9
+              @click="selectSchedulType(item.value)"
10
+              v-for="item in schedulArr"
11
+              :key="item.value"
12
+            >
13
+              {{ item.label }}
14
+            </li>
15
+          </ul>
16
+        </div>
17
+
18
+        <label class="title"><span class="name">日期查询</span> : </label>
19
+        <el-date-picker size="small" v-model="selected_date" prefix-icon="el-icon-date" @change="handleScheduleDateChange" :editable="false" :clearable="false" style="width: 196px;margin-right:10px;" type="date" placeholder="选择日期时间" align="right" ></el-date-picker>
20
+        <el-input size="small" style="width: 180px;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
21
+        <el-button size="small" class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
22
+      </div>
23
+      <div class="cell clearfix" style="justify-content: space-between;">
24
+        <div style="display:flex;">
25
+          <label class="title"> <span class="name">分区</span> : </label>
26
+          <div class="time">
27
+          <ul class>
28
+            <li
29
+            :class="item.id == partitionType ? 'active' : ''"
30
+            @click="selectPartitionType(item.id)"
31
+            v-for="item in partitionArr"
32
+            :key="item.id"
33
+            >
34
+            {{ item.name }}
35
+            </li>
36
+          </ul>
37
+          </div>
38
+        </div>
39
+        <div>
40
+            <el-button size="small" icon="el-icon-printer" type="primary">打印</el-button>
41
+            <el-button size="small" type="primary" @click="statistics">统计表</el-button>
42
+        </div>
43
+      </div>
44
+      <div>
45
+          <el-table
46
+            :data="tableData"
47
+            height="350"
48
+            border
49
+            style="width: 100%">
50
+            <el-table-column  align="center" type="selection" width="55">
51
+            </el-table-column>
52
+            <el-table-column align="center" prop="name" label="姓名" width="180">
53
+            </el-table-column>
54
+            <el-table-column align="center" prop="address" label="透析模式">
55
+            </el-table-column>
56
+            <el-table-column align="center" prop="address" label="透析模式">
57
+            </el-table-column>
58
+            <el-table-column align="center" prop="address" label="抗凝剂(首剂)(维持)(总量)">
59
+            </el-table-column>
60
+        </el-table>
61
+      </div>
62
+
63
+      <all-summary-dialog ref="allSummary"></all-summary-dialog >
64
+    </div>
65
+</template>
66
+
67
+
68
+<script>
69
+import { GetAllZone } from "@/api/dialysis";
70
+import allSummaryDialog from './allSummaryDialog'
71
+export default {
72
+    components:{
73
+        allSummaryDialog
74
+    },
75
+    data(){
76
+        return{
77
+            schedulType: 0,
78
+            schedulArr: [
79
+                { value: 0, label: "全部" },
80
+                { value: 1, label: "上午" },
81
+                { value: 2, label: "下午" },
82
+                { value: 3, label: "晚上" }
83
+            ],
84
+            selected_date:new Date(),
85
+            partitionArr:[],
86
+            partitionType: 0,
87
+            tableData: [{
88
+                date: '2016-05-03',
89
+                name: '王小虎',
90
+                address: '上海市普陀区金沙江路 1518 弄'
91
+                }, {
92
+                date: '2016-05-02',
93
+                name: '王小虎',
94
+                address: '上海市普陀区金沙江路 1518 弄'
95
+                }, {
96
+                date: '2016-05-04',
97
+                name: '王小虎',
98
+                address: '上海市普陀区金沙江路 1518 弄'
99
+                }, {
100
+                date: '2016-05-01',
101
+                name: '王小虎',
102
+                address: '上海市普陀区金沙江路 1518 弄'
103
+                }, {
104
+                date: '2016-05-08',
105
+                name: '王小虎',
106
+                address: '上海市普陀区金沙江路 1518 弄'
107
+                }, {
108
+                date: '2016-05-06',
109
+                name: '王小虎',
110
+                address: '上海市普陀区金沙江路 1518 弄'
111
+                }, {
112
+                date: '2016-05-07',
113
+                name: '王小虎',
114
+                address: '上海市普陀区金沙江路 1518 弄'
115
+                },{
116
+                date: '2016-05-01',
117
+                name: '王小虎',
118
+                address: '上海市普陀区金沙江路 1518 弄'
119
+                }, {
120
+                date: '2016-05-08',
121
+                name: '王小虎',
122
+                address: '上海市普陀区金沙江路 1518 弄'
123
+                }, {
124
+                date: '2016-05-06',
125
+                name: '王小虎',
126
+                address: '上海市普陀区金沙江路 1518 弄'
127
+                }, {
128
+                date: '2016-05-07',
129
+                name: '王小虎',
130
+                address: '上海市普陀区金沙江路 1518 弄'
131
+                }
132
+            ],
133
+            search_input:""
134
+        }
135
+    },
136
+    created(){
137
+      //获取所有分区
138
+      this.getAllZone()
139
+      //获取今日所有耗材
140
+      this.getAllMaterial()
141
+    },
142
+    methods:{
143
+        selectSchedulType(scheduleType) {
144
+            this.schedulType = scheduleType;
145
+        },
146
+        selectPartitionType(partitionType) {
147
+            this.partitionType = partitionType;
148
+        },
149
+        getAllZone: function() {
150
+            GetAllZone().then(response => {
151
+                if (response.data.state == 0) {
152
+                this.$message.error(response.data.msg);
153
+                return false;
154
+                } else {
155
+                this.partitionArr = response.data.data.zone;
156
+                this.partitionArr.unshift({ id: 0, name: "全部" });
157
+                }
158
+            });
159
+        },
160
+        statistics(){
161
+            this.$refs.allSummary.show();
162
+        },
163
+        handleScheduleDateChange(){
164
+
165
+        },
166
+        search(){
167
+
168
+        },
169
+        getAllMaterial(){
170
+          var startime =  parseTime(this.selected_date, '{y}-{m}-{d}')
171
+          console.log("2222",startime)
172
+           const params = {
173
+            
174
+           }
175
+          getAllMaterial().then(response=>{
176
+            
177
+          })
178
+        }
179
+    }
180
+}
181
+</script>
182
+
183
+
184
+<style lang="scss" scoped>
185
+.page_summary{
186
+   .clearfix:after{
187
+       content:none;
188
+   }
189
+}
190
+</style>

+ 135 - 0
src/xt_pages/dialysis/components/allSummaryDialog.vue Ver fichero

@@ -0,0 +1,135 @@
1
+<template>
2
+    <el-dialog
3
+    title="统计表"
4
+    width="800px"
5
+    :visible.sync="visible"
6
+    :before-close="_close"
7
+    >
8
+    <div>
9
+        <el-date-picker
10
+        style="width:140px;margin-right:10px"
11
+        v-model="startTime"
12
+        type="date"
13
+        placeholder="选择日期">
14
+        </el-date-picker>
15
+        <el-date-picker
16
+        style="width:140px;margin-right:10px"
17
+        v-model="endTime"
18
+        type="date"
19
+        placeholder="选择日期">
20
+        </el-date-picker>
21
+        <el-select style="width:140px;margin-right:10px" v-model="schedulType" placeholder="请选择">
22
+            <el-option
23
+            v-for="item in schedulArr"
24
+            :key="item.value"
25
+            :label="item.label"
26
+            :value="item.value">
27
+            </el-option>
28
+        </el-select>
29
+        <el-select style="width:140px;margin-right:10px" v-model="partitionType" placeholder="请选择">
30
+            <el-option
31
+            v-for="item in partitionArr"
32
+            :key="item.id"
33
+            :label="item.name"
34
+            :value="item.id">
35
+            </el-option>
36
+        </el-select>
37
+        <el-button icon="el-icon-printer" type="primary" @click="toPrint">打印</el-button>
38
+        
39
+    </div>
40
+    <div style="margin-top:10px;">
41
+        <el-table :data="tableData" border style="width: 100%" height="300">
42
+            <el-table-column
43
+            align="center"
44
+            prop="date"
45
+            label="日期"
46
+            width="180">
47
+            </el-table-column>
48
+            <el-table-column
49
+            align="center"
50
+            prop="name"
51
+            label="姓名"
52
+            width="180">
53
+            </el-table-column>
54
+            <el-table-column
55
+            align="center"
56
+            prop="address"
57
+            label="地址">
58
+            </el-table-column>
59
+        </el-table>
60
+    </div>
61
+    <!-- <div slot="footer" class="dialog-footer">
62
+      <el-button @click="hide">取 消</el-button>
63
+      <el-button type="primary" @click="submitAction()">保 存</el-button>
64
+    </div> -->
65
+  </el-dialog>
66
+</template>
67
+
68
+
69
+
70
+<script>
71
+import { GetAllZone } from "@/api/dialysis";
72
+export default {
73
+    data(){
74
+        return{
75
+            visible: false,
76
+            startTime:'',
77
+            endTime:'',
78
+            schedulArr: [
79
+                {value: 0, label: '全部班'},
80
+                {value: 1, label: '上午'},
81
+                {value: 2, label: '中午'},
82
+                {value: 3, label: '下午'},
83
+            ],
84
+            schedulType: 0,
85
+            partitionArr:[],
86
+            partitionType: 0,
87
+            tableData: [{
88
+                date: '2016-05-02',
89
+                name: '王小虎',
90
+                address: '上海市普陀区金沙江路 1518 弄'
91
+                }, {
92
+                date: '2016-05-04',
93
+                name: '王小虎',
94
+                address: '上海市普陀区金沙江路 1517 弄'
95
+                }, {
96
+                date: '2016-05-01',
97
+                name: '王小虎',
98
+                address: '上海市普陀区金沙江路 1519 弄'
99
+                }, {
100
+                date: '2016-05-03',
101
+                name: '王小虎',
102
+                address: '上海市普陀区金沙江路 1516 弄'
103
+            }]
104
+        }
105
+    },
106
+    created(){
107
+        this.getAllZone()
108
+    },
109
+    methods:{
110
+        _close: function(done) {
111
+            done();
112
+        },
113
+        show() {
114
+            this.visible = true;
115
+        },
116
+        getAllZone: function() {
117
+            GetAllZone().then(response => {
118
+                if (response.data.state == 0) {
119
+                this.$message.error(response.data.msg);
120
+                return false;
121
+                } else {
122
+                this.partitionArr = response.data.data.zone;
123
+                this.partitionArr.unshift({ id: 0, name: "全部分区" });
124
+                }
125
+            });
126
+        },
127
+        toPrint(){
128
+            this.$router.push({
129
+                path: '/dialysis/allSummary_print',
130
+                // query: { date: date }
131
+            })
132
+        }
133
+    }
134
+}
135
+</script>

+ 190 - 0
src/xt_pages/dialysis/components/consumables.vue Ver fichero

@@ -0,0 +1,190 @@
1
+<template>
2
+    <div class="page_consumables">
3
+      <div class="cell clearfix">
4
+        <label class="title"> <span class="name">排班班次</span> : </label>
5
+        <div class="time">
6
+          <ul class>
7
+            <li
8
+              :class="item.value == schedulType ? 'active' : ''"
9
+              @click="selectSchedulType(item.value)"
10
+              v-for="item in schedulArr"
11
+              :key="item.value"
12
+            >
13
+              {{ item.label }}
14
+            </li>
15
+          </ul>
16
+        </div>
17
+
18
+        <label class="title"><span class="name">日期查询</span> : </label>
19
+        <el-date-picker size="small" v-model="selected_date" prefix-icon="el-icon-date" @change="handleScheduleDateChange" :editable="false" :clearable="false" style="width: 196px;margin-right:10px;" type="date" placeholder="选择日期时间" align="right" ></el-date-picker>
20
+        <el-input size="small" style="width: 180px;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
21
+        <el-button size="small" class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
22
+      </div>
23
+      <div class="cell clearfix" style="justify-content: space-between;">
24
+        <div style="display:flex;">
25
+          <label class="title"> <span class="name">分区</span> : </label>
26
+          <div class="time">
27
+          <ul class>
28
+            <li
29
+            :class="item.id == partitionType ? 'active' : ''"
30
+            @click="selectPartitionType(item.id)"
31
+            v-for="item in partitionArr"
32
+            :key="item.id"
33
+            >
34
+            {{ item.name }}
35
+            </li>
36
+          </ul>
37
+          </div>
38
+        </div>
39
+        <div>
40
+            <el-button size="small" icon="el-icon-printer" type="primary">打印</el-button>
41
+            <el-button size="small" type="primary" @click="statistics">统计表</el-button>
42
+        </div>
43
+      </div>
44
+      <div>
45
+          <el-table
46
+            :data="tableData"
47
+            height="350"
48
+            border
49
+            style="width: 100%">
50
+            <el-table-column
51
+            align="center"
52
+            type="selection"
53
+            width="55">
54
+            </el-table-column>
55
+            <el-table-column
56
+            align="center"
57
+            prop="date"
58
+            label="日期"
59
+            width="180">
60
+            </el-table-column>
61
+            <el-table-column
62
+            align="center"
63
+            prop="name"
64
+            label="姓名"
65
+            width="180">
66
+            </el-table-column>
67
+            <el-table-column
68
+            align="center"
69
+            prop="address"
70
+            label="地址">
71
+            </el-table-column>
72
+        </el-table>
73
+      </div>
74
+
75
+      <consumables-dialog ref="consumables"></consumables-dialog>
76
+    </div>
77
+</template>
78
+
79
+
80
+<script>
81
+import { GetAllZone } from "@/api/dialysis";
82
+import consumablesDialog from './consumablesDialog'
83
+export default {
84
+    components:{
85
+        consumablesDialog
86
+    },
87
+    data(){
88
+        return{
89
+            schedulType: 0,
90
+            schedulArr: [
91
+                { value: 0, label: "全部" },
92
+                { value: 1, label: "上午" },
93
+                { value: 2, label: "下午" },
94
+                { value: 3, label: "晚上" }
95
+            ],
96
+            selected_date:new Date(),
97
+            partitionArr:[],
98
+            partitionType: 0,
99
+            tableData: [{
100
+                date: '2016-05-03',
101
+                name: '王小虎',
102
+                address: '上海市普陀区金沙江路 1518 弄'
103
+                }, {
104
+                date: '2016-05-02',
105
+                name: '王小虎',
106
+                address: '上海市普陀区金沙江路 1518 弄'
107
+                }, {
108
+                date: '2016-05-04',
109
+                name: '王小虎',
110
+                address: '上海市普陀区金沙江路 1518 弄'
111
+                }, {
112
+                date: '2016-05-01',
113
+                name: '王小虎',
114
+                address: '上海市普陀区金沙江路 1518 弄'
115
+                }, {
116
+                date: '2016-05-08',
117
+                name: '王小虎',
118
+                address: '上海市普陀区金沙江路 1518 弄'
119
+                }, {
120
+                date: '2016-05-06',
121
+                name: '王小虎',
122
+                address: '上海市普陀区金沙江路 1518 弄'
123
+                }, {
124
+                date: '2016-05-07',
125
+                name: '王小虎',
126
+                address: '上海市普陀区金沙江路 1518 弄'
127
+                },{
128
+                date: '2016-05-01',
129
+                name: '王小虎',
130
+                address: '上海市普陀区金沙江路 1518 弄'
131
+                }, {
132
+                date: '2016-05-08',
133
+                name: '王小虎',
134
+                address: '上海市普陀区金沙江路 1518 弄'
135
+                }, {
136
+                date: '2016-05-06',
137
+                name: '王小虎',
138
+                address: '上海市普陀区金沙江路 1518 弄'
139
+                }, {
140
+                date: '2016-05-07',
141
+                name: '王小虎',
142
+                address: '上海市普陀区金沙江路 1518 弄'
143
+                }
144
+            ],
145
+            search_input:"",
146
+            searchAction:"",
147
+        }
148
+    },
149
+    created(){
150
+        this.getAllZone()
151
+    },
152
+    methods:{
153
+        selectSchedulType(scheduleType) {
154
+            this.schedulType = scheduleType;
155
+        },
156
+        selectPartitionType(partitionType) {
157
+            this.partitionType = partitionType;
158
+        },
159
+        getAllZone: function() {
160
+            GetAllZone().then(response => {
161
+                if (response.data.state == 0) {
162
+                this.$message.error(response.data.msg);
163
+                return false;
164
+                } else {
165
+                this.partitionArr = response.data.data.zone;
166
+                this.partitionArr.unshift({ id: 0, name: "全部" });
167
+                }
168
+            });
169
+        },
170
+        statistics(){
171
+            this.$refs.consumables.show();
172
+        },
173
+        handleScheduleDateChange(){
174
+
175
+        },
176
+        search(){
177
+          
178
+        }
179
+    }
180
+}
181
+</script>
182
+
183
+
184
+<style lang="scss" scoped>
185
+.page_consumables{
186
+   .clearfix:after{
187
+       content:none;
188
+   }
189
+}
190
+</style>

+ 110 - 0
src/xt_pages/dialysis/components/consumablesDialog.vue Ver fichero

@@ -0,0 +1,110 @@
1
+<template>
2
+    <el-dialog
3
+    title="统计表"
4
+    width="800px"
5
+    :visible.sync="visible"
6
+    :before-close="_close"
7
+    >
8
+    <div>
9
+        <el-date-picker
10
+        style="width:150px;margin-right:10px"
11
+        v-model="startTime"
12
+        type="date"
13
+        placeholder="选择日期"
14
+        @change="selectStartime">
15
+        </el-date-picker>
16
+       <el-date-picker
17
+        style="width:150px;margin-right:10px"
18
+        v-model="endTime"
19
+        type="date"
20
+        placeholder="选择日期"
21
+        @change="selectEndtime">
22
+        </el-date-picker>
23
+        <el-button icon="el-icon-printer" type="primary" @click="toPrint">打印</el-button>
24
+        
25
+    </div>
26
+    <div style="margin-top:10px;">
27
+        <el-table :data="tableData" border style="width: 100%" height="100%">
28
+            <el-table-column align="center" prop="date" label="商品类型" width="180">
29
+                <template slot-scope="scope">
30
+                     {{scope.row.type_name}}
31
+                </template>
32
+            </el-table-column>
33
+            <el-table-column align="center" prop="name" label="规格名称" width="180">
34
+                <template slot-scope="scope">
35
+                    {{scope.row.specification_name}}
36
+                </template>
37
+            </el-table-column>
38
+            <el-table-column align="center" prop="address" label="数量">
39
+               <template slot-scope="scope">
40
+                  {{scope.row.count}}
41
+              </template>
42
+            </el-table-column>
43
+        </el-table>
44
+    </div>
45
+  </el-dialog>
46
+</template>
47
+
48
+
49
+
50
+<script>
51
+const moment = require('moment')
52
+import {getWareHouseOutList} from "@/api/consumable"
53
+import { parseTime } from "@/utils";
54
+export default {
55
+    data(){
56
+        return{
57
+            visible: false,
58
+            startTime: moment(new Date()).add('year',0).format("YYYY-MM-DD"),
59
+            endTime:   moment(new Date()).add('year',0).format("YYYY-MM-DD"),
60
+            schedulArr: [
61
+                {value: 0, label: '全部班'},
62
+                {value: 1, label: '上午'},
63
+                {value: 2, label: '中午'},
64
+                {value: 3, label: '下午'},
65
+            ],
66
+            schedulType: 0,
67
+            partitionArr:[],
68
+            partitionType: 0,
69
+            tableData: [],
70
+            start_time:moment(new Date()).add('year',0).format("YYYY-MM-DD"),
71
+            end_time:moment(new Date()).add('year',0).format("YYYY-MM-DD")
72
+        }
73
+    },
74
+    created(){
75
+       //统计今日出库的耗材
76
+       this.getlist()
77
+    },
78
+    methods:{
79
+        _close: function(done) {
80
+            done();
81
+        },
82
+        show() {
83
+            this.visible = true;
84
+        },
85
+       getlist(){
86
+         var params = {
87
+            start_time:this.startTime,
88
+            end_time:this.endTime 
89
+          }
90
+        getWareHouseOutList(params).then(response=>{
91
+           if(response.data.state == 1){
92
+             var wareoutlist = response.data.data.wareoutlist
93
+             console.log("wareoutlist",wareoutlist)
94
+             this.tableData = wareoutlist
95
+           }
96
+        })
97
+       },
98
+      selectStartime(){
99
+        this.start_time = parseTime(this.startTime, '{y}-{m}-{d}')
100
+      },
101
+      selectEndtime(){
102
+        this.end_time = parseTime(this.endTime, '{y}-{m}-{d}')
103
+      },
104
+      toPrint(){
105
+        this.$router.push("/dialysis/consumables_print?startime="+this.start_time+"&endtime="+this.end_time)
106
+      }
107
+
108
+    }
109
+}
110
+</script>

+ 176 - 0
src/xt_pages/dialysis/components/dialysisDrugs.vue Ver fichero

@@ -0,0 +1,176 @@
1
+<template>
2
+    <div class="page_dialysisDrugs">
3
+      <div class="cell clearfix">
4
+        <label class="title"> <span class="name">排班班次</span> : </label>
5
+        <div class="time">
6
+          <ul class>
7
+            <li
8
+              :class="item.value == schedulType ? 'active' : ''"
9
+              @click="selectSchedulType(item.value)"
10
+              v-for="item in schedulArr"
11
+              :key="item.value"
12
+            >
13
+              {{ item.label }}
14
+            </li>
15
+          </ul>
16
+        </div>
17
+
18
+        <label class="title"><span class="name">日期查询</span> : </label>
19
+        <el-date-picker size="small" v-model="selected_date" prefix-icon="el-icon-date" @change="handleScheduleDateChange" :editable="false" :clearable="false" style="width: 196px;margin-right:10px;" type="date" placeholder="选择日期时间" align="right" ></el-date-picker>
20
+        <el-input size="small" style="width: 180px;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
21
+        <el-button size="small" class="filter-item" type="primary" icon="el-icon-search" @click="searchAction">搜索</el-button>
22
+      </div>
23
+      <div class="cell clearfix" style="justify-content: space-between;">
24
+        <div style="display:flex;">
25
+          <label class="title"> <span class="name">分区</span> : </label>
26
+          <div class="time">
27
+          <ul class>
28
+            <li
29
+            :class="item.id == partitionType ? 'active' : ''"
30
+            @click="selectPartitionType(item.id)"
31
+            v-for="item in partitionArr"
32
+            :key="item.id"
33
+            >
34
+            {{ item.name }}
35
+            </li>
36
+          </ul>
37
+          </div>
38
+        </div>
39
+        <div>
40
+            <el-button size="small" icon="el-icon-printer" type="primary">打印</el-button>
41
+            <el-button size="small" type="primary" @click="statistics">统计表</el-button>
42
+        </div>
43
+      </div>
44
+      <div>
45
+          <el-table
46
+            :data="tableData"
47
+            height="350"
48
+            border
49
+            style="width: 100%">
50
+            <el-table-column
51
+            align="center"
52
+            type="selection"
53
+            width="55">
54
+            </el-table-column>
55
+            <el-table-column
56
+            align="center"
57
+            prop="name"
58
+            label="姓名"
59
+            width="180">
60
+            </el-table-column>
61
+            <el-table-column
62
+            align="center"
63
+            prop="address"
64
+            label="地址">
65
+            </el-table-column>
66
+        </el-table>
67
+      </div>
68
+
69
+      <dialysis-drugs-dialog ref="dialysisDrugs"></dialysis-drugs-dialog>
70
+    </div>
71
+</template>
72
+
73
+
74
+<script>
75
+import { GetAllZone } from "@/api/dialysis";
76
+import dialysisDrugsDialog from './dialysisDrugsDialog'
77
+export default {
78
+    components:{
79
+        dialysisDrugsDialog
80
+    },
81
+    data(){
82
+        return{
83
+            schedulType: 0,
84
+            schedulArr: [
85
+                { value: 0, label: "全部" },
86
+                { value: 1, label: "上午" },
87
+                { value: 2, label: "下午" },
88
+                { value: 3, label: "晚上" }
89
+            ],
90
+            selected_date:new Date(),
91
+            partitionArr:[],
92
+            partitionType: 0,
93
+            tableData: [{
94
+                date: '2016-05-03',
95
+                name: '王小虎',
96
+                address: '上海市普陀区金沙江路 1518 弄'
97
+                }, {
98
+                date: '2016-05-02',
99
+                name: '王小虎',
100
+                address: '上海市普陀区金沙江路 1518 弄'
101
+                }, {
102
+                date: '2016-05-04',
103
+                name: '王小虎',
104
+                address: '上海市普陀区金沙江路 1518 弄'
105
+                }, {
106
+                date: '2016-05-01',
107
+                name: '王小虎',
108
+                address: '上海市普陀区金沙江路 1518 弄'
109
+                }, {
110
+                date: '2016-05-08',
111
+                name: '王小虎',
112
+                address: '上海市普陀区金沙江路 1518 弄'
113
+                }, {
114
+                date: '2016-05-06',
115
+                name: '王小虎',
116
+                address: '上海市普陀区金沙江路 1518 弄'
117
+                }, {
118
+                date: '2016-05-07',
119
+                name: '王小虎',
120
+                address: '上海市普陀区金沙江路 1518 弄'
121
+                },{
122
+                date: '2016-05-01',
123
+                name: '王小虎',
124
+                address: '上海市普陀区金沙江路 1518 弄'
125
+                }, {
126
+                date: '2016-05-08',
127
+                name: '王小虎',
128
+                address: '上海市普陀区金沙江路 1518 弄'
129
+                }, {
130
+                date: '2016-05-06',
131
+                name: '王小虎',
132
+                address: '上海市普陀区金沙江路 1518 弄'
133
+                }, {
134
+                date: '2016-05-07',
135
+                name: '王小虎',
136
+                address: '上海市普陀区金沙江路 1518 弄'
137
+                }
138
+            ]
139
+        }
140
+    },
141
+    created(){
142
+        this.getAllZone()
143
+    },
144
+    methods:{
145
+        selectSchedulType(scheduleType) {
146
+            this.schedulType = scheduleType;
147
+        },
148
+        selectPartitionType(partitionType) {
149
+            this.partitionType = partitionType;
150
+        },
151
+        getAllZone: function() {
152
+            GetAllZone().then(response => {
153
+                if (response.data.state == 0) {
154
+                this.$message.error(response.data.msg);
155
+                return false;
156
+                } else {
157
+                this.partitionArr = response.data.data.zone;
158
+                this.partitionArr.unshift({ id: 0, name: "全部" });
159
+                }
160
+            });
161
+        },
162
+        statistics(){
163
+            this.$refs.dialysisDrugs.show();
164
+        }
165
+    }
166
+}
167
+</script>
168
+
169
+
170
+<style lang="scss" scoped>
171
+.page_dialysisDrugs{
172
+   .clearfix:after{
173
+       content:none;
174
+   }
175
+}
176
+</style>

+ 129 - 0
src/xt_pages/dialysis/components/dialysisDrugsDialog.vue Ver fichero

@@ -0,0 +1,129 @@
1
+<template>
2
+    <el-dialog
3
+    title="统计表"
4
+    width="800px"
5
+    :visible.sync="visible"
6
+    :before-close="_close"
7
+    >
8
+    <div>
9
+        <el-date-picker
10
+        style="width:140px;margin-right:10px"
11
+        v-model="startTime"
12
+        type="date"
13
+        placeholder="选择日期">
14
+        </el-date-picker>
15
+        <el-date-picker
16
+        style="width:140px;margin-right:10px"
17
+        v-model="endTime"
18
+        type="date"
19
+        placeholder="选择日期">
20
+        </el-date-picker>
21
+        <el-select style="width:140px;margin-right:10px" v-model="schedulType" placeholder="请选择">
22
+            <el-option
23
+            v-for="item in schedulArr"
24
+            :key="item.value"
25
+            :label="item.label"
26
+            :value="item.value">
27
+            </el-option>
28
+        </el-select>
29
+        <el-select style="width:140px;margin-right:10px" v-model="partitionType" placeholder="请选择">
30
+            <el-option
31
+            v-for="item in partitionArr"
32
+            :key="item.id"
33
+            :label="item.name"
34
+            :value="item.id">
35
+            </el-option>
36
+        </el-select>
37
+        <el-button icon="el-icon-printer" type="primary" @click="toPrint">打印</el-button>
38
+        
39
+    </div>
40
+    <div style="margin-top:10px;">
41
+        <el-table :data="tableData" border style="width: 100%" height="300">
42
+            <el-table-column
43
+            align="center"
44
+            prop="address"
45
+            label="地址">
46
+            </el-table-column>
47
+            <el-table-column
48
+            align="center"
49
+            prop="name"
50
+            label="姓名"
51
+            width="100">
52
+            </el-table-column>
53
+        </el-table>
54
+    </div>
55
+    <!-- <div slot="footer" class="dialog-footer">
56
+      <el-button @click="hide">取 消</el-button>
57
+      <el-button type="primary" @click="submitAction()">保 存</el-button>
58
+    </div> -->
59
+  </el-dialog>
60
+</template>
61
+
62
+
63
+
64
+<script>
65
+import { GetAllZone } from "@/api/dialysis";
66
+export default {
67
+    data(){
68
+        return{
69
+            visible: false,
70
+            startTime:'',
71
+            endTime:'',
72
+            schedulArr: [
73
+                {value: 0, label: '全部班'},
74
+                {value: 1, label: '上午'},
75
+                {value: 2, label: '中午'},
76
+                {value: 3, label: '下午'},
77
+            ],
78
+            schedulType: 0,
79
+            partitionArr:[],
80
+            partitionType: 0,
81
+            tableData: [{
82
+                date: '2016-05-02',
83
+                name: '王小虎',
84
+                address: '上海市普陀区金沙江路 1518 弄'
85
+                }, {
86
+                date: '2016-05-04',
87
+                name: '王小虎',
88
+                address: '上海市普陀区金沙江路 1517 弄'
89
+                }, {
90
+                date: '2016-05-01',
91
+                name: '王小虎',
92
+                address: '上海市普陀区金沙江路 1519 弄'
93
+                }, {
94
+                date: '2016-05-03',
95
+                name: '王小虎',
96
+                address: '上海市普陀区金沙江路 1516 弄'
97
+            }]
98
+        }
99
+    },
100
+    created(){
101
+        this.getAllZone()
102
+    },
103
+    methods:{
104
+        _close: function(done) {
105
+            done();
106
+        },
107
+        show() {
108
+            this.visible = true;
109
+        },
110
+        getAllZone: function() {
111
+            GetAllZone().then(response => {
112
+                if (response.data.state == 0) {
113
+                this.$message.error(response.data.msg);
114
+                return false;
115
+                } else {
116
+                this.partitionArr = response.data.data.zone;
117
+                this.partitionArr.unshift({ id: 0, name: "全部分区" });
118
+                }
119
+            });
120
+        },
121
+        toPrint(){
122
+            this.$router.push({
123
+                path: '/dialysis/dialysisDrugs_print',
124
+                // query: { date: date }
125
+            })
126
+        }
127
+    }
128
+}
129
+</script>

+ 317 - 0
src/xt_pages/dialysis/components/dialysisParameters.vue Ver fichero

@@ -0,0 +1,317 @@
1
+<template>
2
+    <div class="page_consumables">
3
+      <div class="cell clearfix">
4
+        <label class="title"> <span class="name">排班班次</span> : </label>
5
+        <div class="time">
6
+          <ul class>
7
+            <li
8
+              :class="item.value == scheduleType ? 'active' : ''"
9
+              @click="selectSchedulType(item.value)"
10
+              v-for="item in schedulArr"
11
+              :key="item.value"
12
+            >
13
+              {{ item.label }}
14
+            </li>
15
+          </ul>
16
+        </div>
17
+
18
+        <label class="title"><span class="name">日期查询</span> : </label>
19
+        <el-date-picker size="small" v-model="selected_date" prefix-icon="el-icon-date" @change="handleScheduleDateChange" :editable="false" :clearable="false" style="width: 196px;margin-right:10px;" type="date" placeholder="选择日期时间" align="right" ></el-date-picker>
20
+        <el-input size="small" style="width: 180px;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
21
+        <el-button size="small" class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
22
+      </div>
23
+      <div class="cell clearfix" style="justify-content: space-between;">
24
+        <div style="display:flex;">
25
+          <label class="title"> <span class="name">分区</span> : </label>
26
+          <div class="time">
27
+          <ul class>
28
+            <li
29
+            :class="item.id == partitionType ? 'active' : ''"
30
+            @click="selectPartitionType(item.id)"
31
+            v-for="item in partitionArr"
32
+            :key="item.id"
33
+            >
34
+            {{ item.name }}
35
+            </li>
36
+          </ul>
37
+          </div>
38
+        </div>
39
+        <div>
40
+            <el-button size="small" icon="el-icon-printer" type="primary" @click="toPrint">打印</el-button>
41
+            <el-button size="small" type="primary" @click="statistics">统计表</el-button>
42
+        </div>
43
+      </div>
44
+      <div>
45
+          <el-table
46
+            :data="tableData"
47
+            height="350"
48
+            border
49
+            style="width: 100%"
50
+            @selection-change="handleSelectionChange">
51
+            <el-table-column align="center" type="selection" width="55">
52
+            </el-table-column>
53
+            <el-table-column align="center"  label="姓名" width="80">
54
+               <template slot-scope="scope">
55
+                   {{scope.row.patient.name?scope.row.patient.name:""}}
56
+               </template>
57
+            </el-table-column>
58
+            <el-table-column align="center"  label="透析模式" width="100">
59
+                <template slot-scope="scope">
60
+                   {{scope.row.treatment_mode.name?scope.row.treatment_mode.name:""}}
61
+                </template>
62
+            </el-table-column>
63
+            <el-table-column align="center" label="上次透后体重(kg)" width="280">
64
+                <template slot-scope="scope">
65
+                   {{scope.row.assessment_before_dislysis.weight_after_last_transparency?scope.row.assessment_before_dislysis.weight_after_last_transparency:""}}
66
+                </template>
67
+            </el-table-column>
68
+            <el-table-column align="center" label="透前体重(kg)" width="120">
69
+               <template slot-scope="scope">
70
+                  {{scope.row.assessment_before_dislysis.weighing_before?scope.row.assessment_before_dislysis.weighing_before:""}}
71
+               </template>
72
+            </el-table-column>
73
+            <el-table-column align="center" label="干体重(kg)" width="140">
74
+               <template slot-scope="scope">
75
+                  {{scope.row.assessment_before_dislysis.dry_weight?scope.row.assessment_before_dislysis.dry_weight:""}}
76
+               </template>
77
+            </el-table-column>
78
+            <el-table-column align="center" label="透前血压(mmhg)" width="180">
79
+              <template slot-scope="scope">
80
+                  {{scope.row.assessment_before_dislysis.systolic_blood_pressure?scope.row.assessment_before_dislysis.systolic_blood_pressure:""}}/{{scope.row.assessment_before_dislysis.diastolic_blood_pressure?scope.row.assessment_before_dislysis.diastolic_blood_pressure:""}}
81
+              </template>
82
+            </el-table-column>
83
+            <el-table-column align="center" label="目标超滤量" width="120">
84
+               <template slot-scope="scope">
85
+                  {{scope.row.prescription.target_ultrafiltration?scope.row.prescription.target_ultrafiltration:""}}
86
+               </template>
87
+            </el-table-column>
88
+            <el-table-column align="center" label="血流量(ml/min)" width="180">
89
+               <template slot-scope="scope"> 
90
+                   {{scope.row.prescription.blood_flow_volume?scope.row.prescription.blood_flow_volume:""}}
91
+               </template>
92
+            </el-table-column>
93
+             <el-table-column align="center" label="抗凝剂(首剂)(维持)(总量)" width="220">
94
+                <template slot-scope="scope">
95
+                   <span v-if="scope.row.prescription.anticoagulant == 0"></span>
96
+                    <span v-if="scope.row.prescription.anticoagulant == 1">无肝素</span>
97
+                    <span v-if="scope.row.prescription.anticoagulant == 2">普通肝素</span>
98
+                    <span v-if="scope.row.prescription.anticoagulant == 3">低分子肝素</span>
99
+                    <span v-if="scope.row.prescription.anticoagulant == 4">阿加曲班</span>
100
+                    <span v-if="scope.row.prescription.anticoagulant == 5">枸橼酸钠</span>
101
+                    <span v-if="scope.row.prescription.anticoagulant == 6">低分子肝素钙</span>
102
+                    <span v-if="scope.row.prescription.anticoagulant == 7">低分子肝素钠</span>
103
+                    <span v-if="scope.row.prescription.anticoagulant == 8">依诺肝素</span>
104
+                    <span v-if="scope.row.prescription.anticoagulant == 9">达肝素</span>
105
+                    <span v-if="scope.row.prescription.anticoagulant == 10">体外抗凝</span>
106
+                    <span>
107
+                      {{scope.row.prescription.anticoagulant_shouji?scope.row.prescription.anticoagulant_shouji:""}}
108
+                      <span v-if="scope.row.prescription.anticoagulant == 1">mg</span>
109
+                      <span v-if="scope.row.prescription.anticoagulant == 2">iu/h</span>
110
+                      <span v-if="scope.row.prescription.anticoagulant == 3">iu</span>
111
+                      <span v-if="scope.row.prescription.anticoagulant == 4">mg</span>
112
+                      <span v-if="scope.row.prescription.anticoagulant == 5">mg</span>
113
+                      <span v-if="scope.row.prescription.anticoagulant == 6">iu</span>
114
+                      <span v-if="scope.row.prescription.anticoagulant == 7">iu</span>
115
+                      <span v-if="scope.row.prescription.anticoagulant == 8">iu</span>
116
+                      <span v-if="scope.row.prescription.anticoagulant == 9">iu</span>
117
+                      <span v-if="scope.row.prescription.anticoagulant == 10">mg</span>
118
+                    </span>
119
+                    <span>{{scope.row.prescription.anticoagulant_weichi?scope.row.prescription.anticoagulant_weichi:""}}
120
+                      <span v-if="scope.row.prescription.anticoagulant == 1">mg/h</span>
121
+                      <span v-if="scope.row.prescription.anticoagulant == 2">iu/h</span>
122
+                      <span v-if="scope.row.prescription.anticoagulant == 3">iu/h</span>
123
+                      <span v-if="scope.row.prescription.anticoagulant == 4">mg/h</span>
124
+                      <span v-if="scope.row.prescription.anticoagulant == 5">ml/h</span>
125
+                      <span v-if="scope.row.prescription.anticoagulant == 6">iu/h</span>
126
+                      <span v-if="scope.row.prescription.anticoagulant == 7">iu/h</span>
127
+                      <span v-if="scope.row.prescription.anticoagulant == 8">iu/h</span>
128
+                      <span v-if="scope.row.prescription.anticoagulant == 9">iu/h</span>
129
+                      <span v-if="scope.row.prescription.anticoagulant == 10">mg</span>
130
+                    </span>
131
+                    <span>{{scope.row.prescription.anticoagulant_zongliang?scope.row.prescription.anticoagulant_zongliang:""}}
132
+                       <span v-if="scope.row.prescription.anticoagulant == 1">mg</span>
133
+                      <span v-if="scope.row.prescription.anticoagulant == 2">iu</span>
134
+                      <span v-if="scope.row.prescription.anticoagulant == 3">iu</span>
135
+                      <span v-if="scope.row.prescription.anticoagulant == 4">mg</span>
136
+                      <span v-if="scope.row.prescription.anticoagulant == 5">mg</span>
137
+                      <span v-if="scope.row.prescription.anticoagulant == 6">iu/h</span>
138
+                      <span v-if="scope.row.prescription.anticoagulant == 7">iu</span>
139
+                      <span v-if="scope.row.prescription.anticoagulant == 8">iu</span>
140
+                      <span v-if="scope.row.prescription.anticoagulant == 9">iu/h</span>
141
+                      <span v-if="scope.row.prescription.anticoagulant == 10">mg</span>
142
+                    </span>
143
+                </template>
144
+            </el-table-column>
145
+             <el-table-column align="center" label="透析器/灌流器" width="200">
146
+               <template slot-scope="scope">
147
+                 {{scope.row.prescription.dialyzer_perfusion_apparatus}}
148
+               </template>
149
+            </el-table-column>
150
+        </el-table>
151
+        <el-pagination
152
+         align="right"
153
+        @size-change="handleSizeChange"
154
+        @current-change="handleCurrentChange"
155
+        :page-sizes="[10, 20, 30, 50]"
156
+        :page-size="10"
157
+        background
158
+        style="margin-top:20px;"
159
+        layout="total, sizes, prev, pager, next, jumper"
160
+        :total="total"
161
+      ></el-pagination>
162
+      </div>
163
+
164
+      <consumables-dialog ref="consumables"></consumables-dialog>
165
+    </div>
166
+</template>
167
+
168
+
169
+<script>
170
+import { GetAllZone } from "@/api/dialysis";
171
+import consumablesDialog from './consumablesDialog'
172
+import { parseTime } from "@/utils";
173
+import { getDialysisParameters } from "@/api/consumable"
174
+export default {
175
+    components:{
176
+        consumablesDialog
177
+    },
178
+    data(){
179
+        return{
180
+            scheduleType: 0,
181
+            schedulArr: [
182
+                { value: 0, label: "全部" },
183
+                { value: 1, label: "上午" },
184
+                { value: 2, label: "下午" },
185
+                { value: 3, label: "晚上" }
186
+            ],
187
+            selected_date:new Date(),
188
+            partitionArr:[],
189
+            partitionType: 0,
190
+            tableData: [],
191
+            search_input:"",
192
+            limit:10,
193
+            page:1,
194
+            total:0,
195
+            start_time:0,
196
+            selecting_schs: [],
197
+            start_time:0
198
+            
199
+        }
200
+    },
201
+    created(){
202
+       //获取所有分区
203
+       this.getAllZone()
204
+       //获取透析参数
205
+       this.getlist()
206
+    },
207
+    methods:{
208
+        selectSchedulType(scheduleType) {
209
+            this.scheduleType = scheduleType;
210
+            this.getlist()
211
+        },
212
+        selectPartitionType(partitionType) {
213
+          this.partitionType = partitionType;
214
+          this.getlist()
215
+        },
216
+        getAllZone: function() {
217
+            GetAllZone().then(response => {
218
+                if (response.data.state == 0) {
219
+                this.$message.error(response.data.msg);
220
+                return false;
221
+                } else {
222
+                this.partitionArr = response.data.data.zone;
223
+                this.partitionArr.unshift({ id: 0, name: "全部" });
224
+                }
225
+            });
226
+        },
227
+        statistics(){
228
+            this.$refs.consumables.show();
229
+        },
230
+        search(){
231
+            this.start_time = parseTime(this.selected_date, '{y}-{m}-{d}')
232
+            const params ={
233
+              start_time:this.start_time,
234
+              keyword:this.search_input,
235
+              scheduleType: this.scheduleType,
236
+              partitionType:this.partitionType,
237
+              limit:this.limit,
238
+              page:this.page 
239
+            }
240
+          getDialysisParameters(params).then(response=>{
241
+             if(response.data.state == 1){
242
+                var schedule = response.data.data.schedule
243
+                console.log("schedule",schedule)
244
+                this.tableData = schedule
245
+                var total = response.data.data.total
246
+                console.log("total",total)
247
+                this.total = total
248
+             }
249
+          })
250
+        },
251
+        handleScheduleDateChange(){
252
+          var startime = parseTime(this.selected_date,'{y}-{m}-{d}')
253
+          this.start_time = startime
254
+          this.getlist()
255
+        },
256
+        getTimestamp(time) {
257
+          // 把时间日期转成时间戳
258
+          return new Date(time).getTime() / 1000;
259
+         },
260
+        getlist(){
261
+            var startime = parseTime(this.selected_date, '{y}-{m}-{d}')
262
+            this.start_time = startime
263
+            const params ={
264
+              start_time:this.start_time,
265
+              keyword:this.search_input,
266
+              scheduleType: this.scheduleType,
267
+              partitionType:this.partitionType,
268
+              limit:this.limit,
269
+              page:this.page 
270
+            }
271
+          
272
+          getDialysisParameters(params).then(response=>{
273
+             if(response.data.state == 1){
274
+                var schedule = response.data.data.schedule
275
+                console.log("schedule",schedule)
276
+                this.tableData = schedule
277
+                var total = response.data.data.total
278
+                console.log("total",total)
279
+                this.total = total
280
+             }
281
+          })
282
+        },
283
+        handleSelectionChange(val){
284
+          this.selecting_schs = val;
285
+        },
286
+       toPrint(){
287
+         if(this.selecting_schs.length === 0) {
288
+            this.$message.error("请至少选择一条需要打印的内容");
289
+            return false;
290
+         }
291
+         var sch_ids = [];
292
+         for (let index = 0; index < this.selecting_schs.length; index++) {
293
+             sch_ids.push(this.selecting_schs[index].id);
294
+         }
295
+         this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids);
296
+         this.$router.push("/dialysis/dialysisParameters_print")
297
+        },
298
+       handleSizeChange(val) {
299
+        this.limit = val;
300
+        this.getlist();
301
+      },
302
+      handleCurrentChange(val) {
303
+       this.page = val;
304
+       this.getlist()
305
+     },
306
+    }
307
+}
308
+</script>
309
+
310
+
311
+<style lang="scss" scoped>
312
+.page_consumables{
313
+   .clearfix:after{
314
+       content:none;
315
+   }
316
+}
317
+</style>

+ 135 - 0
src/xt_pages/dialysis/components/dialysisParametersDialog.vue Ver fichero

@@ -0,0 +1,135 @@
1
+<template>
2
+    <el-dialog
3
+    title="统计表"
4
+    width="800px"
5
+    :visible.sync="visible"
6
+    :before-close="_close"
7
+    >
8
+    <div>
9
+        <el-date-picker
10
+        style="width:140px;margin-right:10px"
11
+        v-model="startTime"
12
+        type="date"
13
+        placeholder="选择日期">
14
+        </el-date-picker>
15
+        <el-date-picker
16
+        style="width:140px;margin-right:10px"
17
+        v-model="endTime"
18
+        type="date"
19
+        placeholder="选择日期">
20
+        </el-date-picker>
21
+        <el-select style="width:140px;margin-right:10px" v-model="schedulType" placeholder="请选择">
22
+            <el-option
23
+            v-for="item in schedulArr"
24
+            :key="item.value"
25
+            :label="item.label"
26
+            :value="item.value">
27
+            </el-option>
28
+        </el-select>
29
+        <el-select style="width:140px;margin-right:10px" v-model="partitionType" placeholder="请选择">
30
+            <el-option
31
+            v-for="item in partitionArr"
32
+            :key="item.id"
33
+            :label="item.name"
34
+            :value="item.id">
35
+            </el-option>
36
+        </el-select>
37
+        <el-button icon="el-icon-printer" type="primary" @click="toPrint">打印</el-button>
38
+        
39
+    </div>
40
+    <div style="margin-top:10px;">
41
+        <el-table :data="tableData" border style="width: 100%" height="300">
42
+            <el-table-column
43
+            align="center"
44
+            prop="address"
45
+            label="商品类型">
46
+            </el-table-column>
47
+            <el-table-column
48
+            align="center"
49
+            prop="name"
50
+            label="规格名称"
51
+            >
52
+            </el-table-column>
53
+            <el-table-column
54
+            align="center"
55
+            prop="name"
56
+            label="数量"
57
+            >
58
+            </el-table-column>
59
+        </el-table>
60
+    </div>
61
+    <!-- <div slot="footer" class="dialog-footer">
62
+      <el-button @click="hide">取 消</el-button>
63
+      <el-button type="primary" @click="submitAction()">保 存</el-button>
64
+    </div> -->
65
+  </el-dialog>
66
+</template>
67
+
68
+
69
+
70
+<script>
71
+import { GetAllZone } from "@/api/dialysis";
72
+export default {
73
+    data(){
74
+        return{
75
+            visible: false,
76
+            startTime:'',
77
+            endTime:'',
78
+            schedulArr: [
79
+                {value: 0, label: '全部班'},
80
+                {value: 1, label: '上午'},
81
+                {value: 2, label: '中午'},
82
+                {value: 3, label: '下午'},
83
+            ],
84
+            schedulType: 0,
85
+            partitionArr:[],
86
+            partitionType: 0,
87
+            tableData: [{
88
+                date: '2016-05-02',
89
+                name: '王小虎',
90
+                address: '上海市普陀区金沙江路 1518 弄'
91
+                }, {
92
+                date: '2016-05-04',
93
+                name: '王小虎',
94
+                address: '上海市普陀区金沙江路 1517 弄'
95
+                }, {
96
+                date: '2016-05-01',
97
+                name: '王小虎',
98
+                address: '上海市普陀区金沙江路 1519 弄'
99
+                }, {
100
+                date: '2016-05-03',
101
+                name: '王小虎',
102
+                address: '上海市普陀区金沙江路 1516 弄'
103
+            }]
104
+        }
105
+    },
106
+    created(){
107
+        this.getAllZone()
108
+    },
109
+    methods:{
110
+        _close: function(done) {
111
+            done();
112
+        },
113
+        show() {
114
+            this.visible = true;
115
+        },
116
+        getAllZone: function() {
117
+            GetAllZone().then(response => {
118
+                if (response.data.state == 0) {
119
+                this.$message.error(response.data.msg);
120
+                return false;
121
+                } else {
122
+                this.partitionArr = response.data.data.zone;
123
+                this.partitionArr.unshift({ id: 0, name: "全部分区" });
124
+                }
125
+            });
126
+        },
127
+        toPrint(){
128
+            this.$router.push({
129
+                path: '/dialysis/dialysisParameters_print',
130
+                // query: { date: date }
131
+            })
132
+        }
133
+    }
134
+}
135
+</script>

+ 53 - 0
src/xt_pages/dialysis/consumableDrugs.vue Ver fichero

@@ -0,0 +1,53 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+            <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        </div>
6
+        <div class="app-container">
7
+            <el-tabs v-model="activeName" @tab-click="handleClick">
8
+                <el-tab-pane label="透析耗材" name="first">
9
+                    <consumables></consumables>
10
+                </el-tab-pane>
11
+                <!-- <el-tab-pane label="透析药品" name="second">
12
+                    <dialysis-drugs></dialysis-drugs>
13
+                </el-tab-pane> -->
14
+                <el-tab-pane label="透析参数" name="third">
15
+                    <dialysis-parameters></dialysis-parameters>
16
+                </el-tab-pane>
17
+                <el-tab-pane label="汇总" name="fourth">
18
+                    <all-summary></all-summary>
19
+                </el-tab-pane>
20
+            </el-tabs>
21
+        </div>
22
+    </div>
23
+</template>
24
+
25
+
26
+<script>
27
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
28
+import consumables from './components/consumables'
29
+import dialysisDrugs from './components/dialysisDrugs'
30
+import dialysisParameters from './components/dialysisParameters'
31
+import allSummary from './components/allSummary'
32
+export default {
33
+    components:{
34
+        BreadCrumb,
35
+        consumables,
36
+        dialysisDrugs,
37
+        dialysisParameters,
38
+        allSummary
39
+    },
40
+    data(){
41
+        return{
42
+            crumbs: [
43
+                { path: false, name: "透析管理" },
44
+                { path: false, name: "耗材药品" }
45
+            ],
46
+            activeName:'first'
47
+        }
48
+    },
49
+    methods:{
50
+        handleClick(){}
51
+    }
52
+}
53
+</script>

+ 53 - 0
src/xt_pages/dialysis/consumableDrugs_print.vue Ver fichero

@@ -0,0 +1,53 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+            <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        </div>
6
+        <div class="app-container">
7
+            <el-tabs v-model="activeName" @tab-click="handleClick">
8
+                <el-tab-pane label="透析耗材" name="first">
9
+                    <consumables></consumables>
10
+                </el-tab-pane>
11
+                <el-tab-pane label="透析药品" name="second">
12
+                    <dialysis-drugs></dialysis-drugs>
13
+                </el-tab-pane>
14
+                <el-tab-pane label="透析参数" name="third">
15
+                    <dialysis-parameters></dialysis-parameters>
16
+                </el-tab-pane>
17
+                <el-tab-pane label="汇总" name="fourth">
18
+                    <all-summary></all-summary>
19
+                </el-tab-pane>
20
+            </el-tabs>
21
+        </div>
22
+    </div>
23
+</template>
24
+
25
+
26
+<script>
27
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
28
+import consumables from './components/consumables'
29
+import dialysisDrugs from './components/dialysisDrugs'
30
+import dialysisParameters from './components/dialysisParameters'
31
+import allSummary from './components/allSummary'
32
+export default {
33
+    components:{
34
+        BreadCrumb,
35
+        consumables,
36
+        dialysisDrugs,
37
+        dialysisParameters,
38
+        allSummary
39
+    },
40
+    data(){
41
+        return{
42
+            crumbs: [
43
+                { path: false, name: "透析管理" },
44
+                { path: false, name: "耗材药品" }
45
+            ],
46
+            activeName:'first'
47
+        }
48
+    },
49
+    methods:{
50
+        handleClick(){}
51
+    }
52
+}
53
+</script>

+ 169 - 0
src/xt_pages/dialysis/consumables_print.vue Ver fichero

@@ -0,0 +1,169 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        <el-row style="float:right;">
6
+            <el-col :span="24">
7
+            <el-button size="small" icon="el-icon-printer" type="primary" @click="printAction">打印</el-button>
8
+            </el-col>
9
+        </el-row>
10
+        </div>
11
+        <div class="app-container" style="background-color: white;">
12
+            <div id="print_content">
13
+                <div class="print_main_content">
14
+                    <div class="order_title_panl">
15
+                        <span class="main_title">透析参数统计表</span>
16
+                    </div>
17
+                    <div style="display:flex;justify-content: space-between;margin-bottom:10px;">
18
+                        <p>统计时间:{{start_time}} - {{end_time}}</p>
19
+                    </div>
20
+                    <div class="table_panel">
21
+                        <table class="table">
22
+                            <thead>
23
+                                <tr>
24
+                                  <td width="50">序号</td>
25
+                                  <td width="50">商品类型</td>
26
+                                  <td width="50">规格名称</td>
27
+                                  <td width="50">耗材数量</td>
28
+                                </tr>
29
+                            </thead>
30
+                            <tbody>
31
+                                <tr v-for='(item,index) in this.tableData' :key="index">
32
+                                    <td>{{index + 1}}</td>
33
+                                    <td>{{item.type_name}}</td>
34
+                                    <td>{{item.specification_name}}</td>
35
+                                    <td>{{item.count}}</td>
36
+                                </tr>
37
+                            </tbody>
38
+                        </table>
39
+                    </div>
40
+                </div>
41
+            </div>
42
+        </div>
43
+    </div>
44
+</template>
45
+
46
+<script>
47
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
48
+import print from 'print-js'
49
+import {getWareHouseOutList} from "@/api/consumable"
50
+import { parseTime } from "@/utils";
51
+export default {
52
+    components:{
53
+        BreadCrumb
54
+    },
55
+    data(){
56
+        return{
57
+            crumbs: [
58
+                { path: false, name: '耗材药品' },
59
+                { path: false, name: '药品打印' }
60
+            ],
61
+            start_time:"",
62
+            end_time:"",
63
+            tableData:[],
64
+        }  
65
+    },
66
+    methods:{
67
+        printAction: function() {
68
+            const style = '@media print { .print_main_content { background-color: white; width:960px;  margin:0 auto; padding: 0 0 20px 0; } .order_title_panl { text-align: center; } .main_title { font-size: 18px; line-height: 40px; font-weight: 500; } .table_panel { } .table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } thead tr td { border: 1px solid; text-align: center; font-size: 20px; padding: 15px 5px; } tbody tr td { border: 1px solid; text-align: center; font-size: 18px; padding: 10px 5px; } .proj { padding: 5px 0; text-align: left; } .proj_title { font-size: 16px; font-weight: 500; line-height: 25px; } .proj_item { font-size: 15px; line-height: 20px; } .zone_name { font-weight: 500; } }'
69
+
70
+            printJS({
71
+            printable: 'print_content',
72
+            type: 'html',
73
+            documentTitle: '  ',
74
+            style: style,
75
+            scanStyles: false
76
+            })
77
+        },
78
+        getlist(){
79
+         var params = {
80
+            start_time:this.start_time,
81
+            end_time:this.end_time 
82
+          }
83
+        getWareHouseOutList(params).then(response=>{
84
+           if(response.data.state == 1){
85
+             var wareoutlist = response.data.data.wareoutlist
86
+             console.log("wareoutlist",wareoutlist)
87
+             this.tableData = wareoutlist
88
+           }
89
+        })
90
+       },
91
+    },
92
+    created(){
93
+      var startime = this.$route.query.startime
94
+       this.start_time = startime
95
+      var endtime =  this.$route.query.endtime
96
+      this.end_time = endtime
97
+      this.getlist()
98
+    }
99
+}
100
+</script>
101
+
102
+
103
+<style rel="stylesheet/scss" lang="scss" scoped>
104
+.print_main_content {
105
+  background-color: white;
106
+  max-width: 1500px;
107
+  margin: 0 auto;
108
+  padding: 0 0 20px 0;
109
+
110
+  .order_title_panl {
111
+    text-align: center;
112
+
113
+    .main_title {
114
+      font-size: 18px;
115
+      line-height: 40px;
116
+      font-weight: 500;
117
+    }
118
+  }
119
+  .table_panel {
120
+    .table {
121
+      width: 100%;
122
+      border: 1px solid;
123
+      border-collapse: collapse;
124
+      padding: 2px;
125
+
126
+      thead {
127
+        tr {
128
+          td {
129
+            border: 1px solid;
130
+            text-align: center;
131
+            font-size: 20px;
132
+            padding: 15px 5px;
133
+          }
134
+        }
135
+      }
136
+      tbody {
137
+        tr {
138
+          td {
139
+            border: 1px solid;
140
+            text-align: center;
141
+            font-size: 18px;
142
+            padding: 10px 5px;
143
+
144
+            .proj {
145
+              padding: 5px 0;
146
+              text-align: left;
147
+
148
+              .proj_title {
149
+                font-size: 16px;
150
+                font-weight: 500;
151
+                line-height: 25px;
152
+              }
153
+
154
+              .proj_item {
155
+                font-size: 15px;
156
+                line-height: 20px;
157
+
158
+                .zone_name {
159
+                  font-weight: 500;
160
+                }
161
+              }
162
+            }
163
+          }
164
+        }
165
+      }
166
+    }
167
+  }
168
+}
169
+</style>

+ 141 - 0
src/xt_pages/dialysis/dialysisDrugs_print.vue Ver fichero

@@ -0,0 +1,141 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        <el-row style="float:right;">
6
+            <el-col :span="24">
7
+            <el-button size="small" icon="el-icon-printer" type="primary" @click="printAction">打印</el-button>
8
+            </el-col>
9
+        </el-row>
10
+        </div>
11
+        <div class="app-container" style="background-color: white;">
12
+            <div id="print_content">
13
+                <div class="print_main_content">
14
+                    <div class="order_title_panl">
15
+                        <span class="main_title">药品统计表</span>
16
+                    </div>
17
+                    <div style="display:flex;justify-content: space-between;margin-bottom:10px;">
18
+                        <p>统计时间:2020.8.19-2020.8.20</p>
19
+                        <p>印单日期:2020.8.20</p>
20
+                    </div>
21
+                    <div class="table_panel">
22
+                        <table class="table">
23
+                            <thead>
24
+                                <tr>
25
+                                    <td>药品名称</td>
26
+                                    <td width="120">数量</td>
27
+                                </tr>
28
+                            </thead>
29
+                            <tbody>
30
+                                <tr v-for='item in 6'>
31
+                                    <td>张三</td>
32
+                                    <td>张三</td>
33
+                                </tr>
34
+                            </tbody>
35
+                        </table>
36
+                    </div>
37
+                </div>
38
+            </div>
39
+        </div>
40
+    </div>
41
+</template>
42
+
43
+<script>
44
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
45
+import print from 'print-js'
46
+export default {
47
+    components:{
48
+        BreadCrumb
49
+    },
50
+    data(){
51
+        return{
52
+            crumbs: [
53
+                { path: false, name: '耗材药品' },
54
+                { path: false, name: '药品打印' }
55
+            ],
56
+        }
57
+    },
58
+    methods:{
59
+        printAction: function() {
60
+            const style = '@media print { .print_main_content { background-color: white; width:960px;  margin:0 auto; padding: 0 0 20px 0; } .order_title_panl { text-align: center; } .main_title { font-size: 18px; line-height: 40px; font-weight: 500; } .table_panel { } .table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } thead tr td { border: 1px solid; text-align: center; font-size: 20px; padding: 15px 5px; } tbody tr td { border: 1px solid; text-align: center; font-size: 18px; padding: 10px 5px; } .proj { padding: 5px 0; text-align: left; } .proj_title { font-size: 16px; font-weight: 500; line-height: 25px; } .proj_item { font-size: 15px; line-height: 20px; } .zone_name { font-weight: 500; } }'
61
+
62
+            printJS({
63
+            printable: 'print_content',
64
+            type: 'html',
65
+            documentTitle: '  ',
66
+            style: style,
67
+            scanStyles: false
68
+            })
69
+        }
70
+    }
71
+}
72
+</script>
73
+
74
+
75
+<style rel="stylesheet/scss" lang="scss" scoped>
76
+.print_main_content {
77
+  background-color: white;
78
+  max-width: 1500px;
79
+  margin: 0 auto;
80
+  padding: 0 0 20px 0;
81
+
82
+  .order_title_panl {
83
+    text-align: center;
84
+
85
+    .main_title {
86
+      font-size: 18px;
87
+      line-height: 40px;
88
+      font-weight: 500;
89
+    }
90
+  }
91
+  .table_panel {
92
+    .table {
93
+      width: 100%;
94
+      border: 1px solid;
95
+      border-collapse: collapse;
96
+      padding: 2px;
97
+
98
+      thead {
99
+        tr {
100
+          td {
101
+            border: 1px solid;
102
+            text-align: center;
103
+            font-size: 20px;
104
+            padding: 15px 5px;
105
+          }
106
+        }
107
+      }
108
+      tbody {
109
+        tr {
110
+          td {
111
+            border: 1px solid;
112
+            text-align: center;
113
+            font-size: 18px;
114
+            padding: 10px 5px;
115
+
116
+            .proj {
117
+              padding: 5px 0;
118
+              text-align: left;
119
+
120
+              .proj_title {
121
+                font-size: 16px;
122
+                font-weight: 500;
123
+                line-height: 25px;
124
+              }
125
+
126
+              .proj_item {
127
+                font-size: 15px;
128
+                line-height: 20px;
129
+
130
+                .zone_name {
131
+                  font-weight: 500;
132
+                }
133
+              }
134
+            }
135
+          }
136
+        }
137
+      }
138
+    }
139
+  }
140
+}
141
+</style>

+ 224 - 0
src/xt_pages/dialysis/dialysisParameters_print.vue Ver fichero

@@ -0,0 +1,224 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        <el-row style="float:right;">
6
+            <el-col :span="24">
7
+            <el-button size="small" icon="el-icon-printer" type="primary" @click="printAction">打印</el-button>
8
+            </el-col>
9
+        </el-row>
10
+        </div>
11
+        <div class="app-container" style="background-color: white;">
12
+            <div id="print_content">
13
+                <div class="print_main_content">
14
+                    <div class="order_title_panl">
15
+                        <span class="main_title">透析参数统计表</span>
16
+                    </div>
17
+                    <div style="display:flex;justify-content: space-between;margin-bottom:10px;">
18
+                        <p>印单日期:{{nowDate}}</p>
19
+                    </div>
20
+                    <div class="table_panel">
21
+                      <table class="table">
22
+                         <thead>
23
+                           <tr>
24
+                             <td width="50">姓名</td>
25
+                             <td width="50">透析模式</td>
26
+                             <td width="50">上次透后体重(kg)</td>
27
+                             <td width="50">透前体重(kg)</td>
28
+                             <td width="50">干体重(kg)</td>
29
+                             <td width="50">透前血压(mmhg)</td>
30
+                             <td width="50">目标超滤量</td>
31
+                             <td width="50">血流量(ml/min)</td>
32
+                             <td width="50">抗凝剂(首剂)(维持)(总量)</td>
33
+                             <td width="50">透析器/灌流器</td>
34
+                           </tr>
35
+                           <tr v-for="(item,index) in tableData" :key="index">
36
+                             <td>{{item.patient.name}}</td>
37
+                             <td>{{item.treatment_mode.name}}</td>
38
+                             <td>{{item.assessment_before_dislysis.weight_after_last_transparency}}</td>
39
+                             <td>{{item.assessment_before_dislysis.weighing_before}}</td>
40
+                             <td>{{item.assessment_before_dislysis.dry_weight}}</td>
41
+                             <td>{{item.assessment_before_dislysis.systolic_blood_pressure}}</td>
42
+                             <td>{{item.prescription.target_ultrafiltration}}</td>
43
+                             <td>{{item.prescription.blood_flow_volume}}</td>
44
+                             <td>
45
+                               <span>
46
+                                 <span v-if="item.prescription.anticoagulant == 0"></span>
47
+                                 <span v-if="item.prescription.anticoagulant == 1">无肝素</span>
48
+                                 <span v-if="item.prescription.anticoagulant == 2">普通肝素</span>
49
+                                 <span v-if="item.prescription.anticoagulant == 3">低分子肝素</span>
50
+                                 <span v-if="item.prescription.anticoagulant == 4">阿加曲班</span>
51
+                                 <span v-if="item.prescription.anticoagulant == 5">枸橼酸钠</span>
52
+                                 <span v-if="item.prescription.anticoagulant == 6">低分子肝素钙</span>
53
+                                 <span v-if="item.prescription.anticoagulant == 7">低分子肝素钠</span>
54
+                                 <span v-if="item.prescription.anticoagulant == 8">依诺肝素</span>
55
+                                 <span v-if="item.prescription.anticoagulant == 9">达肝素</span>
56
+                                 <span v-if="item.prescription.anticoagulant == 10">体外抗凝</span>
57
+                               </span>
58
+                               <span>
59
+                                  {{item.prescription.anticoagulant_shouji?item.prescription.anticoagulant_shouji:""}}
60
+                                  <span v-if="item.prescription.anticoagulant == 1 && item.prescription.anticoagulant_shouji!=''">mg</span>
61
+                                  <span v-if="item.prescription.anticoagulant == 2  && item.prescription.anticoagulant_shouji!=''">iu/h</span>
62
+                                  <span v-if="item.prescription.anticoagulant == 3  && item.prescription.anticoagulant_shouji!=''">iu</span>
63
+                                  <span v-if="item.prescription.anticoagulant == 4  && item.prescription.anticoagulant_shouji!=''">mg</span>
64
+                                  <span v-if="item.prescription.anticoagulant == 5  && item.prescription.anticoagulant_shouji!=''">mg</span>
65
+                                  <span v-if="item.prescription.anticoagulant == 6  && item.prescription.anticoagulant_shouji!=''">iu</span>
66
+                                  <span v-if="item.prescription.anticoagulant == 7  && item.prescription.anticoagulant_shouji!=''">iu</span>
67
+                                  <span v-if="item.prescription.anticoagulant == 8  && item.prescription.anticoagulant_shouji!=''">iu</span>
68
+                                  <span v-if="item.prescription.anticoagulant == 9  && item.prescription.anticoagulant_shouji!=''">iu</span>
69
+                                  <span v-if="item.prescription.anticoagulant == 10 && item.prescription.anticoagulant_shouji!=''">mg</span>
70
+                                </span>
71
+                                <span>{{item.prescription.anticoagulant_weichi?item.prescription.anticoagulant_weichi:""}}
72
+                                  <span v-if="item.prescription.anticoagulant == 1 && item.prescription.anticoagulant_weichi!=''">mg/h</span>
73
+                                  <span v-if="item.prescription.anticoagulant == 2 && item.prescription.anticoagulant_weichi!=''">iu/h</span>
74
+                                  <span v-if="item.prescription.anticoagulant == 3 && item.prescription.anticoagulant_weichi!=''">iu/h</span>
75
+                                  <span v-if="item.prescription.anticoagulant == 4 && item.prescription.anticoagulant_weichi!=''">mg/h</span>
76
+                                  <span v-if="item.prescription.anticoagulant == 5 && item.prescription.anticoagulant_weichi!=''">ml/h</span>
77
+                                  <span v-if="item.prescription.anticoagulant == 6 && item.prescription.anticoagulant_weichi!=''">iu/h</span>
78
+                                  <span v-if="item.prescription.anticoagulant == 7 && item.prescription.anticoagulant_weichi!=''">iu/h</span>
79
+                                  <span v-if="item.prescription.anticoagulant == 8 && item.prescription.anticoagulant_weichi!=''">iu/h</span>
80
+                                  <span v-if="item.prescription.anticoagulant == 9 && item.prescription.anticoagulant_weichi!=''">iu/h</span>
81
+                                  <span v-if="item.prescription.anticoagulant == 10 && item.prescription.anticoagulant_weichi!=''">mg</span>
82
+                                </span>
83
+                                <span>{{item.prescription.anticoagulant_zongliang?item.prescription.anticoagulant_zongliang:""}}
84
+                                  <span v-if="item.prescription.anticoagulant == 1 && item.prescription.anticoagulant_zongliang!=''">mg</span>
85
+                                  <span v-if="item.prescription.anticoagulant == 2 && item.prescription.anticoagulant_zongliang!=''">iu</span>
86
+                                  <span v-if="item.prescription.anticoagulant == 3 && item.prescription.anticoagulant_zongliang!=''">iu</span>
87
+                                  <span v-if="item.prescription.anticoagulant == 4 && item.prescription.anticoagulant_zongliang!=''">mg</span>
88
+                                  <span v-if="item.prescription.anticoagulant == 5 && item.prescription.anticoagulant_zongliang!=''">mg</span>
89
+                                  <span v-if="item.prescription.anticoagulant == 6 && item.prescription.anticoagulant_zongliang!=''">iu/h</span>
90
+                                  <span v-if="item.prescription.anticoagulant == 7 && item.prescription.anticoagulant_zongliang!=''">iu</span>
91
+                                  <span v-if="item.prescription.anticoagulant == 8 && item.prescription.anticoagulant_zongliang!=''">iu</span>
92
+                                  <span v-if="item.prescription.anticoagulant == 9 && item.prescription.anticoagulant_zongliang!=''">iu/h</span>
93
+                                  <span v-if="item.prescription.anticoagulant == 10 && item.prescription.anticoagulant_zongliang!=''">mg</span>
94
+                                </span>
95
+                             </td>
96
+                             <td>{{item.prescription.dialyzer_perfusion_apparatus}}</td>
97
+                           </tr>
98
+                         </thead>
99
+                      </table>
100
+                    </div>
101
+                </div>
102
+            </div>
103
+        </div>
104
+    </div>
105
+</template>
106
+
107
+<script>
108
+const moment = require('moment')
109
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
110
+import print from 'print-js'
111
+import {getDialysisBatchParameters} from '@/api/consumable'
112
+export default {
113
+    components:{
114
+        BreadCrumb
115
+    },
116
+    data(){
117
+        return{
118
+            crumbs: [
119
+                { path: false, name: '耗材药品' },
120
+                { path: false, name: '参数打印' }
121
+            ],
122
+            tableData:[],
123
+            nowDate:""
124
+        }
125
+    },
126
+    methods:{
127
+        printAction: function() {
128
+            const style = '@media print { .print_main_content { background-color: white; width:960px;  margin:0 auto; padding: 0 0 20px 0; } .order_title_panl { text-align: center; } .main_title { font-size: 18px; line-height: 40px; font-weight: 500; } .table_panel { } .table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } thead tr td { border: 1px solid; text-align: center; font-size: 20px; padding: 15px 5px; } tbody tr td { border: 1px solid; text-align: center; font-size: 18px; padding: 10px 5px; } .proj { padding: 5px 0; text-align: left; } .proj_title { font-size: 16px; font-weight: 500; line-height: 25px; } .proj_item { font-size: 15px; line-height: 20px; } .zone_name { font-weight: 500; } }'
129
+
130
+            printJS({
131
+            printable: 'print_content',
132
+            type: 'html',
133
+            documentTitle: '  ',
134
+            style: style,
135
+            scanStyles: false
136
+            })
137
+        }
138
+    },
139
+   created(){
140
+     var nowDate  = moment(new Date()).add('year',0).format("YYYY-MM-DD")
141
+     this.nowDate = nowDate
142
+   },
143
+   mounted(){
144
+     var ids = this.$store.getters.temp_params.batch_print_dialysis_record_ids
145
+     console.log("打印数据",ids)
146
+     getDialysisBatchParameters(ids.join(',')).then(response=>{
147
+        if(response.data.state == 1){
148
+          var schedule =  response.data.data.schedule
149
+          console.log("schedule",schedule)
150
+          this.tableData = schedule
151
+        } 
152
+     })
153
+   }
154
+}
155
+</script>
156
+
157
+
158
+<style rel="stylesheet/scss" lang="scss" scoped>
159
+.print_main_content {
160
+  background-color: white;
161
+  max-width: 1500px;
162
+  margin: 0 auto;
163
+  padding: 0 0 20px 0;
164
+
165
+  .order_title_panl {
166
+    text-align: center;
167
+
168
+    .main_title {
169
+      font-size: 18px;
170
+      line-height: 40px;
171
+      font-weight: 500;
172
+    }
173
+  }
174
+  .table_panel {
175
+    .table {
176
+      width: 100%;
177
+      border: 1px solid;
178
+      border-collapse: collapse;
179
+      padding: 2px;
180
+
181
+      thead {
182
+        tr {
183
+          td {
184
+            border: 1px solid;
185
+            text-align: center;
186
+            font-size: 20px;
187
+            padding: 15px 5px;
188
+          }
189
+        }
190
+      }
191
+      tbody {
192
+        tr {
193
+          td {
194
+            border: 1px solid;
195
+            text-align: center;
196
+            font-size: 18px;
197
+            padding: 10px 5px;
198
+
199
+            .proj {
200
+              padding: 5px 0;
201
+              text-align: left;
202
+
203
+              .proj_title {
204
+                font-size: 16px;
205
+                font-weight: 500;
206
+                line-height: 25px;
207
+              }
208
+
209
+              .proj_item {
210
+                font-size: 15px;
211
+                line-height: 20px;
212
+
213
+                .zone_name {
214
+                  font-weight: 500;
215
+                }
216
+              }
217
+            }
218
+          }
219
+        }
220
+      }
221
+    }
222
+  }
223
+}
224
+</style>

+ 1 - 1
src/xt_pages/qcd/patientControlAnalysis.vue Ver fichero

@@ -300,7 +300,7 @@ export default {
300 300
       this.listQuery.page = page
301 301
       this.getlist()
302 302
     },
303
-    changeTime() {
303
+    changeTime(val) {
304 304
         var time = this.getTimestamp(val) - this.getTimestamp(this.listQuery.end_time);
305 305
       if (time > 0) {
306 306
         this.$message.error("结束时间不能小于开始时间");

+ 3 - 0
src/xt_pages/stock/stockOutOrderDetail.vue Ver fichero

@@ -195,9 +195,12 @@
195 195
         }
196 196
         getWarehouseOutInfo(params).then(response => {
197 197
           if (response.data.state == 0) {
198
+           
198 199
             this.$message.error(response.data.msg)
199 200
             return false
200 201
           } else {
202
+            console.log("=====",response.data.data.list)
203
+            console.log("=11111",response.data.data.info)
201 204
             for (let i = 0; i < response.data.data.list.length; i++) {
202 205
               this.warehousingOutInfo.warehousingOutData.push(response.data.data.list[i])
203 206
             }