Browse Source

Merge branch '20201109_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20201109_pc_vue_new_branch

XMLWAN 3 years ago
parent
commit
8dedf389c8

+ 10 - 0
src/api/his/his.js View File

@@ -642,4 +642,14 @@ export function getMonthHisHospitalDetailInfo(params) {
642 642
 
643 643
 
644 644
 
645
+export function getYidiClearRecord(params) {
646
+  return request({
647
+    url: '/api/his/getyidiclear',
648
+    method: 'get',
649
+    params: params
650
+  })
651
+}
652
+
653
+
654
+
645 655
 

+ 5 - 2
src/xt_pages/outpatientCharges/invoicePrint.vue View File

@@ -13,12 +13,13 @@
13 13
     </template>
14 14
     <div class="app-container" style="padding-top:40px;">
15 15
         <div class='dialysisPage'>
16
-          <div v-if="org_id != 10106 && org_id != 10215 && org_id != 4" >
16
+          <div v-if="org_id != 10106 && org_id != 10215 && org_id != 4 && org_id != 10188" >
17 17
             <printOne v-if="org_id != 10088" :paramsObj="invoiceParams"></printOne>
18 18
             <printThree v-if="org_id == 10088" :paramsObj="invoiceParams"></printThree>
19 19
           </div>
20 20
           <printTwo v-if="org_id == 10106" :paramsObj="invoiceParams"></printTwo>
21 21
           <printFour v-if="org_id == 10215 || org_id == 4" :paramsObj="invoiceParams"></printFour>
22
+          <printFive v-if="org_id == 10188" :paramsObj="invoiceParams"></printFive>
22 23
         </div>
23 24
     </div>
24 25
   </div>
@@ -29,13 +30,15 @@ import printOne from './invoiceTemplate/printOne'
29 30
 import printTwo from './invoiceTemplate/printTwo'
30 31
 import printThree from './invoiceTemplate/printThree'
31 32
 import printFour from './invoiceTemplate/printFour'
33
+import printFive from './invoiceTemplate/printFive'
32 34
 export default {
33 35
    name: "invoicePrint",
34 36
   components: {
35 37
     printOne,
36 38
     printTwo,
37 39
     printThree,
38
-    printFour
40
+    printFour,
41
+    printFive
39 42
   },
40 43
   props:{
41 44
     invoiceParams:Object

+ 203 - 0
src/xt_pages/outpatientCharges/invoiceTemplate/printFive.vue View File

@@ -0,0 +1,203 @@
1
+<template>
2
+    <div id='invoice-print'>
3
+        <div style="display:flex;">
4
+            <div style="position: absolute;top:80px;left:70px;">{{ list.order_number }}</div>
5
+            <!-- <div>{{ list.id_card_no }}</div> -->
6
+        </div>
7
+        <div style="display:flex;justify-content: space-between;">
8
+            <div style="position: absolute;top:100px;left:80px;"> {{ paramsObj.name }}</div>
9
+        </div>
10
+        <div style="position: absolute;top:120px;left:80px">
11
+            <div v-if="list.westernMedicineCostTotal">西药 {{ list.westernMedicineCostTotal }}</div>
12
+            <div v-if="list.treatCostTotal">治疗费 {{ list.treatCostTotal }}</div>
13
+            <div v-if="list.bedCostTotal">床位费 {{ list.bedCostTotal }}</div>
14
+            <div v-if="list.chineseTraditionalMedicineCostTotal">中成药 {{ list.chineseTraditionalMedicineCostTotal }}</div>
15
+            <div v-if="list.laboratoryCostTotal">化验费 {{ list.laboratoryCostTotal }}</div>
16
+            <div v-if="list.operationCostTotal">手术费 {{ list.operationCostTotal }}</div>
17
+            <div v-if="list.otherCostTotal">其他费 {{ list.otherCostTotal }}</div>
18
+            <div v-if="list.materialCostTotal">材料费 {{ list.materialCostTotal }}</div>
19
+        </div>
20
+        <div style="position: absolute;top:120px;left:300px">
21
+            <div v-for="(item,index) in list.order_info" :key="index">
22
+                <span style="display:inline-block;width:240px;">
23
+                    <span v-if="item.advice.id == 0">
24
+                        <span v-if="item.project.type == 2">{{ item.project.project.project_name }}</span>
25
+                        <span v-if="item.project.type == 3">{{ item.project.good_info.good_name }}</span>
26
+                    </span>
27
+                    <span v-else>{{ item.advice.advice_name }}</span>
28
+                </span>
29
+                <span style="display:inline-block;width:50px;">
30
+                    <span v-if="item.advice.id == 0">
31
+                        <span v-if="item.project.type == 2">{{ item.project.count }}{{ item.project.unit }}</span>
32
+                        <span v-if="item.project.type == 3">{{ item.project.count }}{{ item.project.unit }}</span>
33
+                    </span>
34
+                    <span v-else>{{ item.advice.prescribing_number }}{{ item.advice.prescribing_number_unit }}</span>
35
+                </span>
36
+                <span>
37
+                    <span v-if="item.advice.id == 0">
38
+                        <span v-if="item.project.type == 2">{{ (item.project.count * item.pric).toFixed(2) }}</span>
39
+                        <span v-if="item.project.type == 3">{{ (item.project.count * item.pric).toFixed(2) }}</span>
40
+                    </span>
41
+                    <span v-else>{{ (item.advice.prescribing_number * item.pric).toFixed(2) }}</span>
42
+                </span>
43
+            </div>
44
+        </div>
45
+        <div style="position: absolute;top:300px;left:80px">{{ zhongwen }}</div>
46
+        <div style="position: absolute;top:300px;left:300px">{{ list.psn_cash_money ? list.psn_cash_money : list.medfee_sumamt }}</div>
47
+        <div style="position: absolute;top:320px;left:80px;width:100%">
48
+            <div style="display:flex;">
49
+                <div style="width:160px">医疗总费用:{{ list.psn_cash_money ? list.psn_cash_money : list.medfee_sumamt }}</div>
50
+                <div style="width:160px">现金支出:{{ list.psn_cash_money ? list.psn_cash_money : list.medfee_sumamt }}</div>
51
+                <div style="width:160px">上次账户:0</div>
52
+                <div style="width:160px">本次账户:0</div>
53
+            </div>
54
+            <div style="display:flex;">
55
+                <div style="width:160px">账户余额:{{ list.order.balc }}</div>
56
+                <div style="width:160px">统筹支出:{{ list.order.hifp_pay }}</div>
57
+                <div style="width:160px">大病支出:0</div>
58
+                <div style="width:160px">民政支出:0</div>
59
+            </div>
60
+            <div style="display:flex;">
61
+                <div style="width:160px">大病补充保险支出:0</div>
62
+                <div style="width:320px">企业补充医疗保险基金支出:{{ list.order.hifes_pay }}</div>
63
+                <div style="width:160px">其他支出:{{ list.order.oth_pay }}</div>
64
+            </div>
65
+        </div>
66
+        <div>
67
+            <div style="position: absolute;top:380px;left:120px">{{ org_name }}</div>
68
+            <div style="position: absolute;top:380px;left:300px">{{ paramsObj.chargeName }}</div>
69
+             <div  style="position: absolute;left:470px;top:380px;">
70
+                <span>{{  paramsObj.setl_time ? paramsObj.setl_time.split(' ')[0].slice(0,4) : getTime(list.date, '{y}-{m}-{d}').slice(0,4) }}</span>
71
+            </div>
72
+            <div  style="position: absolute;left:530px;top:380px;">
73
+                <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(5,7)) : getTime(list.date, '{y}-{m}-{d}').slice(5,7) }}</span>
74
+            </div>
75
+            <div  style="position: absolute;left:560px;top:380px;">
76
+                <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(8,11)) : getTime(list.date, '{y}-{m}-{d}').slice(8,11) }}</span>
77
+            </div>
78
+        </div>
79
+    </div>
80
+</template>
81
+
82
+
83
+<script>
84
+import { getInvoice } from '@/api/project/project'
85
+import { uParseTime } from '@/utils/tools'
86
+export default {
87
+    props:{
88
+        paramsObj:Object
89
+    },
90
+    data(){
91
+        return{
92
+            list:{},
93
+            printDate:'',
94
+            zhongwen:'',
95
+            totalPrice:0.0,
96
+            org_id:'',
97
+            org_name:''
98
+        }
99
+    },
100
+    created(){
101
+        console.log('paramsObj',this.paramsObj)
102
+        let params = {
103
+            order_id: this.paramsObj.order_id,
104
+            patient_id: this.paramsObj.patient_id,
105
+        }
106
+        this.getInvoice(params)
107
+        // var data = new Date();
108
+        // var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
109
+        // var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
110
+        // this.printDate = data.getFullYear() + "-" + month + "-" + date;
111
+        // this.smalltoBIG(982732.21)
112
+        this.org_id = this.$store.getters.xt_user.org_id
113
+        this.org_name = this.$store.getters.xt_user.org.org_name
114
+    },
115
+    methods:{
116
+        getInvoice(params){
117
+            getInvoice(params).then((res) => {
118
+                console.log('res',res)
119
+                this.list = res.data.data
120
+                this.totalPrice = this.list.westernMedicineCostTotal + this.list.checkCostTotal + this.list.treatCostTotal + this.list.bedCostTotal + this.list.chineseTraditionalMedicineCostTotal +
121
+                                    this.list.laboratoryCostTotal + this.list.operationCostTotal + this.list.otherCostTotal + this.list.materialCostTotal
122
+                this.smalltoBIG(this.list.psn_cash_money ? this.list.psn_cash_money : this.list.medfee_sumamt)
123
+                var data = new Date(res.data.data.date * 1000);
124
+                var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
125
+                var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
126
+                this.printDate = data.getFullYear() + "-" + month + "-" + date;
127
+            })
128
+        },
129
+        smalltoBIG(n) {
130
+            // let fraction = ['角', '分'];
131
+            // let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
132
+            // let unit = [['元.', '万,', '亿,'], ["元",'拾', '佰', '仟']];
133
+            // let head = price < 0 ? '欠' : '';
134
+            // price = Math.abs(price);
135
+            // let upper = '';
136
+            // for (let i = 0; i < fraction.length; i++) {
137
+            // upper += (digit[Math.floor(price * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
138
+            // }
139
+            // upper = upper || '整';
140
+            // price = Math.floor(price);
141
+            // for (let i = 0; i < unit[0].length && price > 0; i++) {
142
+            // let p = '';
143
+            // for (let j = 0; j < unit[1].length && price > 0; j++) {
144
+            //     p = digit[price % 10] + unit[1][j] + p;
145
+            //     price = Math.floor(price / 10);
146
+            // }
147
+            // upper = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + upper;
148
+            // }
149
+            // this.zhongwen = head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整')
150
+            // console.log('6666',head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整'))
151
+            if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)){
152
+                return "数据非法";  //判断数据是否大于0
153
+            }
154
+
155
+            var unit = "仟佰拾亿仟佰拾万仟佰拾元角分", str = "";
156
+            n += "00";  
157
+
158
+            var indexpoint = n.indexOf('.');  // 如果是小数,截取小数点前面的位数
159
+
160
+            if (indexpoint >= 0){
161
+
162
+                n = n.substring(0, indexpoint) + n.substr(indexpoint+1, 2);   // 若为小数,截取需要使用的unit单位
163
+            }
164
+
165
+            unit = unit.substr(unit.length - n.length);  // 若为整数,截取需要使用的unit单位
166
+            for (var i=0; i < n.length; i++){
167
+                str += "零壹贰叁肆伍陆柒捌玖".charAt(n.charAt(i)) + unit.charAt(i);  //遍历转化为大写的数字
168
+            }
169
+            console.log("str",str)
170
+            if(str == '零元零角零分'){
171
+                this.zhongwen = '零'
172
+            }else{
173
+                this.zhongwen =  str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
174
+            }
175
+
176
+            console.log(this.zhongwen)
177
+        },
178
+        getTime(value, temp) {
179
+            if (value == 0) {
180
+                return ''
181
+            }
182
+            if (value != undefined) {
183
+                return uParseTime(value, temp)
184
+            }
185
+            return ''
186
+        },
187
+
188
+    },
189
+    watch:{
190
+        paramsObj:{//深度监听,可监听到对象、数组的变化
191
+            handler(val, oldVal){
192
+                let params = {
193
+                    order_id: val.order_id,
194
+                    patient_id: val.patient_id,
195
+                }
196
+                this.getInvoice(params)
197
+
198
+            },
199
+            deep:true
200
+        }
201
+    }
202
+}
203
+</script>

+ 28 - 2
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

@@ -172,10 +172,25 @@
172 172
                         <span>医疗费总额:<span style="color:red;">{{
173 173
                             items.curPrescriptions.order.medfee_sumamt ? items.curPrescriptions.order.medfee_sumamt.toFixed(2) : getTotalFour(items.prescriptions) ? getTotalFour(items.prescriptions) : ''
174 174
                           }}元</span></span>
175
-                        <span>基金支付金额:<span
175
+                        <span>基金支付总额:<span
176
+                            style="color:red;">{{
177
+                            items.curPrescriptions.order.fund_pay_sumamt ? items.curPrescriptions.order.fund_pay_sumamt.toFixed(2) : ''
178
+                          }}元</span></span>
179
+
180
+                        <span>基本医疗保险统筹基金支出:<span
176 181
                             style="color:red;">{{
177 182
                             items.curPrescriptions.order.hifp_pay ? items.curPrescriptions.order.hifp_pay.toFixed(2) : ''
178 183
                           }}元</span></span>
184
+
185
+                        <span>医疗救助基金支出:<span
186
+                            style="color:red;">{{
187
+                            items.curPrescriptions.order.maf_pay ? items.curPrescriptions.order.maf_pay.toFixed(2) : ''
188
+                          }}元</span></span>
189
+
190
+<!--                        <span>基金支付金额:<span-->
191
+<!--                            style="color:red;">{{-->
192
+<!--                            items.curPrescriptions.order.hifp_pay ? items.curPrescriptions.order.hifp_pay.toFixed(2) : ''-->
193
+<!--                          }}元</span></span>-->
179 194
                         <span>个人账户支付金额:<span
180 195
                             style="color:red;">{{
181 196
                             items.curPrescriptions.order.acct_pay ? items.curPrescriptions.order.acct_pay.toFixed(2) : ''
@@ -368,10 +383,21 @@
368 383
                         <span>医疗费总额:<span style="color:red;">{{
369 384
                             items.curMonthPrescriptions.order.medfee_sumamt ? items.curMonthPrescriptions.order.medfee_sumamt.toFixed(2) : getTotalFour(items.month_prescriptions) ? getTotalFour(items.month_prescriptions) : ''
370 385
                           }}元</span></span>
371
-                        <span>基金支付金额:<span
386
+                        <span>基金支付总额:<span
387
+                            style="color:red;">{{
388
+                            items.curMonthPrescriptions.order.fund_pay_sumamt ? items.curMonthPrescriptions.order.fund_pay_sumamt.toFixed(2) : ''
389
+                          }}元</span></span>
390
+
391
+                        <span>基本医疗保险统筹基金支出:<span
372 392
                             style="color:red;">{{
373 393
                             items.curMonthPrescriptions.order.hifp_pay ? items.curMonthPrescriptions.order.hifp_pay.toFixed(2) : ''
374 394
                           }}元</span></span>
395
+
396
+                        <span>医疗救助基金支出:<span
397
+                            style="color:red;">{{
398
+                            items.curMonthPrescriptions.order.maf_pay ? items.curMonthPrescriptions.order.maf_pay.toFixed(2) : ''
399
+                          }}元</span></span>
400
+
375 401
                         <span>个人账户支付金额:<span
376 402
                             style="color:red;">{{
377 403
                             items.curMonthPrescriptions.order.acct_pay ? items.curMonthPrescriptions.order.acct_pay.toFixed(2) : ''

+ 1 - 1
src/xt_pages/outpatientCharges/statementPrint.vue View File

@@ -301,7 +301,7 @@ export default {
301 301
           id: obj.order_id,
302 302
 
303 303
         }
304
-        if(this.org_id == 10138 || this.org_id == 0 || this.$store.getters.xt_user.org_id == 4){
304
+        if(this.org_id == 10138 || this.org_id == 0 || this.$store.getters.xt_user.org_id == 4 || this.org_id == 10278){
305 305
           getPrivateExpenses(params).then(response => {
306 306
             if (response.data.state == 0) {
307 307
               // this.$message.error(response.data.msg)

+ 3 - 1
src/xt_pages/outpatientCharges/statementTemplate/printOne.vue View File

@@ -1,6 +1,8 @@
1 1
 <template>
2 2
   <div id="statement-print" class="statement-print">
3
-    <div class="statementTitle">广东省社会医疗保险医疗费用结算单</div>
3
+    <div class="statementTitle" v-if="info.fixmedins_code == 'H32092103007'">江苏省社会医疗保险医疗费用结算单</div>
4
+    <div class="statementTitle" v-else>广东省社会医疗保险医疗费用结算单</div>
5
+
4 6
     <table class="statementTable" border="1">
5 7
       <tr>
6 8
         <td width="80">机构名称</td>

+ 34 - 14
src/xt_pages/outpatientCharges/summary.vue View File

@@ -17,19 +17,29 @@
17 17
                                @click="searchAction">
18 18
                         搜索
19 19
                     </el-button>
20
-                    <el-select size="small" v-model="admin_user_id" placeholder="请选择"
21
-                               style="width:150px;margin-left:10px;" @change="changeDoctor">
22
-                        <el-option
23
-                                label="全部"
24
-                                value="0">
25
-                        </el-option>
26
-                        <el-option
27
-                                v-for="item,index in doctors"
28
-                                :key="index"
29
-                                :label="item.user_name"
30
-                                :value="item.admin_user_id">
31
-                        </el-option>
32
-                    </el-select>
20
+<!--                    <el-select size="small" v-model="admin_user_id" placeholder="请选择"-->
21
+<!--                               style="width:150px;margin-left:10px;" @change="changeDoctor">-->
22
+<!--                        <el-option-->
23
+<!--                                label="全部"-->
24
+<!--                                value="0">-->
25
+<!--                        </el-option>-->
26
+<!--                        <el-option-->
27
+<!--                                v-for="(item,index) in doctors"-->
28
+<!--                                :key="index"-->
29
+<!--                                :label="item.user_name"-->
30
+<!--                                :value="item.admin_user_id">-->
31
+<!--                        </el-option>-->
32
+<!--                    </el-select>-->
33
+
34
+                  <el-select size="small" v-model="sort_type" placeholder="请选择"
35
+                             style="width:150px;margin-left:10px;" @change="changeSortType">
36
+                    <el-option
37
+                        v-for="(item,index) in sort_types"
38
+                        :key="index"
39
+                        :label="item.label"
40
+                        :value="item.value">
41
+                    </el-option>
42
+                  </el-select>
33 43
                     <el-date-picker size="small" v-model="start_time" prefix-icon="el-icon-date"
34 44
                                     @change="handleStartTimeChange" :editable="false" :clearable="false"
35 45
                                     style="width: 196px;margin-right:10px;" type="date" placeholder="选择开始日期"
@@ -247,6 +257,11 @@
247 257
         end_time: '',
248 258
         total: '',
249 259
         doctors: [],
260
+        sort_type:1,
261
+        sort_types: [
262
+          { value: 1, label: '处方时间' },
263
+          { value: 2, label: '结算时间' }
264
+        ],
250 265
         admin_user_id: '',
251 266
         listVisible: false,
252 267
         allListVisible: false,
@@ -615,6 +630,10 @@
615 630
 
616 631
       }, formatJson(filterVal, jsonData) {
617 632
         return jsonData.map(v => filterVal.map(j => v[j]))
633
+      },changeSortType(){
634
+        this.page = 1
635
+        this.keywords = ''
636
+        this.getHisOrderList()
618 637
       },
619 638
       changeDoctor() {
620 639
         this.page = 1
@@ -725,7 +744,8 @@
725 744
           start_time: this.start_time,
726 745
           end_time: this.end_time,
727 746
           type: this.admin_user_id,
728
-          p_type: 2
747
+          p_type: 2,
748
+          sort_type: this.sort_type
729 749
         }
730 750
         getHisOrderList(params).then(response => {
731 751
           if (response.data.state == 0) {

+ 11 - 11
src/xt_pages/outpatientDoctorStation/components/dialysisIndex.vue View File

@@ -145,7 +145,7 @@
145 145
           title="治疗小结"
146 146
         ></treatment-of>
147 147
       </div>
148
-      
148
+
149 149
     </div>
150 150
     <div style="padding-top: 56px;width:100%;text-align:center;font-size:22px;color:red;" v-else>该患者未排班,请先去排班</div>
151 151
   </div>
@@ -319,8 +319,8 @@ export default {
319 319
     var date = this.record_date
320 320
     this.patient_id = patient_id
321 321
     this.date = date
322
-    var ymd = parseTime(new Date(), '{y}-{m}-{d}')
323
-    getDialysisSchedules(ymd).then(rs => {
322
+    // var ymd = parseTime(new Date(), '{y}-{m}-{d}')
323
+    getDialysisSchedules(this.date).then(rs => {
324 324
       var resp = rs.data
325 325
       if (resp.state == 1) {
326 326
         var schedules = resp.data.schedules
@@ -343,22 +343,22 @@ export default {
343 343
       }
344 344
     })
345 345
 
346
-    
346
+
347 347
 
348 348
   },
349 349
   mounted() {
350 350
     if(this.dialysisShow == true){
351
-      
351
+
352 352
       this.getScheduleDetail()
353 353
       this.getLongAdvice()
354 354
     }
355
-    
355
+
356 356
   },
357 357
   watch:{
358 358
         patientid:{
359 359
             handler(newVal){
360
-              var ymd = parseTime(new Date(), '{y}-{m}-{d}')
361
-              getDialysisSchedules(ymd).then(rs => {
360
+              // var ymd = parseTime(new Date(), '{y}-{m}-{d}')
361
+              getDialysisSchedules(this.record_date).then(rs => {
362 362
                 var resp = rs.data
363 363
                 if (resp.state == 1) {
364 364
                   var schedules = resp.data.schedules
@@ -574,7 +574,7 @@ export default {
574 574
       }
575 575
     },
576 576
     getScheduleDetail: function() {
577
-      
577
+
578 578
       this.loading = true
579 579
     //   var dateStr = parseTime(this.date, '{y}-{m}-{d}')
580 580
       // if(this.$route.query.showView == true){
@@ -590,7 +590,7 @@ export default {
590 590
         if (resp.state == 1) {
591 591
           var patient = resp.data.patient // 患者信息
592 592
           var schedual = resp.data.schedual // 患者排班信息
593
-         
593
+
594 594
           var prescription = resp.data.prescription // 透析处方
595 595
           if (prescription != null) {
596 596
             if (prescription.body_fluid == -2) {
@@ -599,7 +599,7 @@ export default {
599 599
           }
600 600
 
601 601
           var solution = resp.data.solution // 透析方案
602
-         
602
+
603 603
           var receiver_treatment_access = resp.data.receiver_treatment_access // 接诊评估
604 604
 
605 605
           var predialysis_evaluation = resp.data.predialysis_evaluation // 透前评估

+ 168 - 0
src/xt_pages/outpatientTool/yidiClear.vue View File

@@ -0,0 +1,168 @@
1
+<template>
2
+  <!-- <div class="main-contain outpatientChargesManagement">
3
+      <div class="position">
4
+          <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+      </div> -->
6
+  <div>
7
+    <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
+      <div>
9
+
10
+        <el-date-picker
11
+            v-model="year"
12
+            type="year"
13
+            placeholder="选择年">
14
+        </el-date-picker>
15
+        <el-date-picker
16
+            v-model="month"
17
+            type="month"
18
+            placeholder="选择月">
19
+        </el-date-picker>
20
+      </div>
21
+      <div>
22
+        <el-button size="small" type="primary" @click="getYidiClear()">提取异地清分</el-button>
23
+        <el-button size="small" type="primary" @click="comfirmClear()">异地清分确认</el-button>
24
+      </div>
25
+    </div>
26
+    <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
27
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
28
+              show-summary
29
+              max-height="600"
30
+              highlight-current-row>
31
+      <el-table-column align="center" prop="name" label="清分机构">
32
+        <template slot-scope="scope">{{scope.row.org_name}}</template>
33
+      </el-table-column>
34
+      <el-table-column align="center" prop="name" label="清分时间">
35
+        <template slot-scope="scope">{{getTime(scope.row.ctime) ? getTime(scope.row.ctime): ''}}</template>
36
+      </el-table-column>
37
+      <el-table-column align="center" prop="name" label="清分流水号">
38
+        <template slot-scope="scope">{{scope.row.msg_id}}</template>
39
+      </el-table-column>
40
+    </el-table>
41
+
42
+    <el-dialog title="异地清分明细" :visible.sync="dialogTableVisible">
43
+      <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
44
+                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
45
+                show-summary
46
+                max-height="600"
47
+                highlight-current-row>
48
+        <el-table-column align="center" prop="name" label="身份证号码">
49
+          <template slot-scope="scope">{{scope.row.certno}}</template>
50
+        </el-table-column>
51
+        <el-table-column align="center" prop="name" label="就诊登记号">
52
+          <template slot-scope="scope">{{scope.row.mdtrt_id}}</template>
53
+        </el-table-column>
54
+        <el-table-column align="center" prop="name" label="就诊结算时间">
55
+          <template slot-scope="scope">{{scope.row.mdtrt_setl_time}}</template>
56
+        </el-table-column>
57
+        <el-table-column align="center" prop="name" label="就诊流水号">
58
+          <template slot-scope="scope">{{scope.row.setl_sn}}</template>
59
+        </el-table-column>
60
+        <el-table-column align="center" prop="name" label="全额垫付标志">
61
+          <template slot-scope="scope" v-if="scope.row.fulamt_advpay_flag == 0">{{医院报销}}</template>
62
+          <template slot-scope="scope" v-if="scope.row.fulamt_advpay_flag == 1">{{零星报销}}</template>
63
+        </el-table-column>
64
+        <el-table-column align="center" prop="name" label="总费用">
65
+          <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
66
+        </el-table-column>
67
+        <el-table-column align="center" prop="name" label="经办机构支付总额">
68
+          <template slot-scope="scope">{{scope.row.optins_pay_sumamt}}</template>
69
+        </el-table-column>
70
+      </el-table>
71
+    </el-dialog>
72
+  </div>
73
+
74
+  <!-- </div> -->
75
+</template>
76
+
77
+
78
+<script>
79
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
80
+import { getYidiClearRecord } from '@/api/his/his'
81
+import { uParseTime } from '@/utils/tools'
82
+import axios from 'axios'
83
+const moment = require('moment')
84
+export default {
85
+  components: {
86
+    BreadCrumb
87
+
88
+  },
89
+  data() {
90
+    return {
91
+      dialogTableVisible:false,
92
+      year:'',
93
+      month:'',
94
+      tableData:[],
95
+    }
96
+  },
97
+  methods: {
98
+    getYidiClear(){
99
+      var that = this;
100
+      let params = {
101
+        'year':year,
102
+        'month':month,
103
+        'admin_user_id':this.$store.getters.xt_user.user.id,
104
+      };
105
+      axios.get('http://127.0.0.1:9532/api/allopatry/get',{params:params}).then(function(response) {
106
+        if (response.data.state == 0) {
107
+          that.$message.error(response.data.data.msg);
108
+          return false
109
+        } else {
110
+          this.dialogTableVisible = true
111
+          this.tableData = []
112
+          for(let i = 0; i < response.data.data.list.length; i++){
113
+            let obj = {
114
+              certno: response.data.data.list[i].certno,
115
+              mdtrt_id:response.data.data.list[i].mdtrt_id,
116
+              mdtrt_setl_time:response.data.data.list[i].mdtrt_setl_time,
117
+              setl_sn:response.data.data.list[i].setl_sn,
118
+              fulamt_advpay_flag:response.data.data.list[i].fulamt_advpay_flag,
119
+              medfee_sumamt:response.data.data.list[i].medfee_sumamt,
120
+              optins_pay_sumamt:response.data.data.list[i].optins_pay_sumamt,
121
+            }
122
+            this.tableData.push(obj)
123
+          }
124
+        }
125
+      }).catch(function(error) {
126
+      })
127
+    },comfirmClear(){
128
+      var that = this;
129
+      let params = {
130
+        'year':year,
131
+        'month':month,
132
+        'admin_user_id':this.$store.getters.xt_user.user.id,
133
+      };
134
+      axios.post('http://127.0.0.1:9532/api/comfirmallopatry/post',{params:params}).then(function(response) {
135
+        if (response.data.state == 0) {
136
+          that.$message.error(response.data.data.msg);
137
+          return false
138
+        } else {
139
+          that.$message.success("异地清分确认成功");
140
+        }
141
+      }).catch(function(error) {
142
+      })
143
+
144
+    },
145
+    getTime(value, temp) {
146
+      if (value != undefined) {
147
+        return uParseTime(value, temp)
148
+      }
149
+      return ''
150
+    },
151
+    getYidiClearRecord() {
152
+      getYidiClearRecord({}).then(response => {
153
+        if (response.data.state == 1) {
154
+
155
+
156
+
157
+        } else {
158
+          this.$message.error(response.data.msg)
159
+        }
160
+      })
161
+    },
162
+  },
163
+  created() {
164
+    this.getYidiClearRecord()
165
+
166
+  }
167
+}
168
+</script>

+ 234 - 36
src/xt_pages/sign/lineUp.vue View File

@@ -77,38 +77,46 @@
77 77
                     <div class="callingBox">
78 78
                         <div :class="(queueConfig.jzjhyc == 1 && queueConfig.sjjhyc == 0) ? 'callingBoxLeft1' : 'callingBoxLeft'" v-if="queueConfig.jzjhyc == 1">
79 79
                             <div class="callingTitle"><span style="margin: 0 auto;">接<br />诊<br />叫<br />号</span></div>
80
-                            <div style="flex: 1;">
80
+                            <div style="flex: 1;justify-content: space-between;display: flex;flex-direction: column;">
81 81
                                 <div class="callingTop" style="margin-bottom:10px;">
82 82
                                     <div class="callingTopTip"><span style="margin: 0 auto;">正在<br />接诊</span></div>
83 83
                                     <div class="callingContent">
84
-                                        <p style="margin:50px 0 14px;"><span v-for="(item,index) in (receivingPatient || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
85
-                                        <p><span v-for="(item,index) in (receivingPatient || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
84
+                                        <div>
85
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
86
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
87
+                                        </div>
86 88
                                     </div>
87 89
                                 </div>
88 90
                                 <div class="callingTop" style="border-radius: 0 0 15px 0;">
89 91
                                     <div class="callingTopTip"><span style="margin: 0 auto;">等待<br />接诊</span></div>
90 92
                                     <div class="callingContent">
91
-                                        <p style="margin:50px 0 14px;"><span v-for="(item,index) in (waitDoctorList || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
92
-                                        <p><span v-for="(item,index) in (waitDoctorList || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
93
+                                        <div>
94
+                                            <p><span v-for="(item,index) in (waitDoctorList || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
95
+                                            <p><span v-for="(item,index) in (waitDoctorList || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
96
+                                        </div>
93 97
                                     </div>
94 98
                                 </div>
95 99
                             </div>
96 100
                         </div>
97 101
                         <div :class="(queueConfig.jzjhyc == 0 && queueConfig.sjjhyc == 1) ? 'callingBoxLeft1' : 'callingBoxLeft'" v-if="queueConfig.sjjhyc == 1">
98 102
                             <div class="callingTitle newCallingTitle"><span style="margin: 0 auto;">上<br />机<br />叫<br />号</span></div>
99
-                            <div style="flex: 1;">
103
+                            <div style="flex: 1;justify-content: space-between;display: flex;flex-direction: column;">
100 104
                                 <div class="callingTop" style="margin-bottom:10px;">
101 105
                                     <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">正在<br />叫号</span></div>
102 106
                                     <div class="callingContent newCallingContent">
103
-                                        <p style="margin:50px 0 14px;"><span v-for="(item,index) in (upPatientList || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
104
-                                        <p><span v-for="(item,index) in (upPatientList || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
107
+                                        <div>
108
+                                            <p><span v-for="(item,index) in (upPatientList || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
109
+                                            <p><span v-for="(item,index) in (upPatientList || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
110
+                                        </div>
105 111
                                     </div>
106 112
                                 </div>
107 113
                                 <div class="callingTop" style="border-radius: 0 0 15px 0;">
108 114
                                     <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">等待<br />叫号</span></div>
109 115
                                     <div class="callingContent newCallingContent">
110
-                                        <p style="margin:50px 0 14px;"><span v-for="(item,index) in (receivingPatient || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
111
-                                        <p><span v-for="(item,index) in (receivingPatient || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
116
+                                        <div>
117
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
118
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
119
+                                        </div>
112 120
                                     </div>
113 121
                                 </div>
114 122
                             </div>
@@ -117,6 +125,91 @@
117 125
                 </div>
118 126
                 
119 127
             </div>
128
+        
129
+            <!-- <div class="page_lineUp">
130
+                <div class="lineUpTitle">
131
+                    <div>{{ this.$store.getters.xt_user.org.org_name }}<span>&nbsp;&nbsp;温馨提示:请注意排队叫号,依次叫号就诊上机,谢谢配合</span></div>
132
+                    <div>{{ newdate }}&nbsp;&nbsp;{{ time }}</div>
133
+                </div>
134
+                <div class="lineUpMain">
135
+                    <div class="lineUpMainLeft">
136
+                        <div class="lineUpMainLeftTitle">
137
+                            <p style="width:12%">排队号</p>
138
+                            <p style="width:14%">姓名</p>
139
+                            <p style="width:14%">病例号</p>
140
+                            <p style="width:14%">床位号</p>
141
+                            <p style="width:14%">治疗状态</p>
142
+                            <p style="width:14%">上机时间</p>
143
+                            <p style="width:16%">预计下机时间</p>
144
+                        </div>
145
+                        <div class="lineUpList">
146
+                            <div class="lineUpListOne" v-for="(item,index) in 6" :key="index">
147
+                                <p style="width:12%">
148
+                                    <span>上午</span>
149
+                                    {{ 89 }}号
150
+                                </p>
151
+                                <p style="width:14%">{{ '张三' }}</p>
152
+                                <p style="width:14%">{{ 3023 }}</p>
153
+                                <p style="width:14%">{{ 'A区' + '098' }}</p>
154
+                                <p style="width:14%">
155
+                                    <span>待接诊</span>
156
+                                </p>
157
+                                <p style="width:14%">07:38:00</p>
158
+                                <p style="width:16%">07:38:00</p>
159
+                            </div>
160
+                        </div>
161
+                    </div> 
162
+                    <div class="callingBox">
163
+                        <div class="callingBoxLeft">
164
+                            <div class="callingTitle"><span style="margin: 0 auto;">接<br />诊<br />叫<br />号</span></div>
165
+                            <div style="flex: 1;justify-content: space-between;display: flex;flex-direction: column;">
166
+                                <div class="callingTop">
167
+                                    <div class="callingTopTip"><span style="margin: 0 auto;">正在<br />接诊</span></div>
168
+                                    <div class="callingContent">
169
+                                        <div>
170
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
171
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
172
+                                        </div>
173
+                                    </div>
174
+                                </div>
175
+                                <div class="callingTop" style="border-radius: 0 0 15px 0;">
176
+                                    <div class="callingTopTip"><span style="margin: 0 auto;">等待<br />接诊</span></div>
177
+                                    <div class="callingContent">
178
+                                        <div>
179
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
180
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
181
+                                        </div>
182
+                                    </div>
183
+                                </div>
184
+                            </div>
185
+                        </div>
186
+                        <div class="callingBoxLeft">
187
+                            <div class="callingTitle newCallingTitle"><span style="margin: 0 auto;">上<br />机<br />叫<br />号</span></div>
188
+                            <div style="flex: 1;justify-content: space-between;display: flex;flex-direction: column;">
189
+                                <div class="callingTop">
190
+                                    <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">正在<br />叫号</span></div>
191
+                                    <div class="callingContent newCallingContent">
192
+                                        <div>
193
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
194
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
195
+                                        </div>
196
+                                    </div>
197
+                                </div>
198
+                                <div class="callingTop" style="border-radius: 0 0 15px 0;">
199
+                                    <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">等待<br />叫号</span></div>
200
+                                    <div class="callingContent newCallingContent">
201
+                                        <div>
202
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
203
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
204
+                                        </div>
205
+                                    </div>
206
+                                </div>
207
+                            </div>
208
+                        </div>
209
+                    </div>
210
+                </div>
211
+                
212
+            </div> -->
120 213
         </div>
121 214
         <div class="app-container">
122 215
             <div class="page_lineUp">
@@ -161,38 +254,46 @@
161 254
                     <div class="callingBox">
162 255
                         <div :class="(queueConfig.jzjhyc == 1 && queueConfig.sjjhyc == 0) ? 'callingBoxLeft1' : 'callingBoxLeft'" v-if="queueConfig.jzjhyc == 1">
163 256
                             <div class="callingTitle"><span style="margin: 0 auto;">接<br />诊<br />叫<br />号</span></div>
164
-                            <div style="flex: 1;">
257
+                            <div style="flex: 1;justify-content: space-between;display: flex;flex-direction: column;">
165 258
                                 <div class="callingTop" style="margin-bottom:10px;">
166 259
                                     <div class="callingTopTip"><span style="margin: 0 auto;">正在<br />接诊</span></div>
167 260
                                     <div class="callingContent">
168
-                                        <p style="margin:50px 0 14px;"><span v-for="(item,index) in (receivingPatient || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
169
-                                        <p><span v-for="(item,index) in (receivingPatient || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
261
+                                        <div>
262
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
263
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
264
+                                        </div>
170 265
                                     </div>
171 266
                                 </div>
172 267
                                 <div class="callingTop" style="border-radius: 0 0 15px 0;">
173 268
                                     <div class="callingTopTip"><span style="margin: 0 auto;">等待<br />接诊</span></div>
174 269
                                     <div class="callingContent">
175
-                                        <p style="margin:50px 0 14px;"><span v-for="(item,index) in (waitDoctorList || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
176
-                                        <p><span v-for="(item,index) in (waitDoctorList || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
270
+                                        <div>
271
+                                            <p><span v-for="(item,index) in (waitDoctorList || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
272
+                                            <p><span v-for="(item,index) in (waitDoctorList || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
273
+                                        </div>
177 274
                                     </div>
178 275
                                 </div>
179 276
                             </div>
180 277
                         </div>
181 278
                         <div :class="(queueConfig.jzjhyc == 0 && queueConfig.sjjhyc == 1) ? 'callingBoxLeft1' : 'callingBoxLeft'" v-if="queueConfig.sjjhyc == 1">
182 279
                             <div class="callingTitle newCallingTitle"><span style="margin: 0 auto;">上<br />机<br />叫<br />号</span></div>
183
-                            <div style="flex: 1;">
280
+                            <div style="flex: 1;justify-content: space-between;display: flex;flex-direction: column;">
184 281
                                 <div class="callingTop" style="margin-bottom:10px;">
185 282
                                     <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">正在<br />叫号</span></div>
186 283
                                     <div class="callingContent newCallingContent">
187
-                                        <p style="margin:50px 0 14px;"><span v-for="(item,index) in (upPatientList || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
188
-                                        <p><span v-for="(item,index) in (upPatientList || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
284
+                                        <div>
285
+                                            <p><span v-for="(item,index) in (upPatientList || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
286
+                                            <p><span v-for="(item,index) in (upPatientList || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
287
+                                        </div>
189 288
                                     </div>
190 289
                                 </div>
191 290
                                 <div class="callingTop" style="border-radius: 0 0 15px 0;">
192 291
                                     <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">等待<br />叫号</span></div>
193 292
                                     <div class="callingContent newCallingContent">
194
-                                        <p style="margin:50px 0 14px;"><span v-for="(item,index) in (receivingPatient || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
195
-                                        <p><span v-for="(item,index) in (receivingPatient || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
293
+                                        <div>
294
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
295
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
296
+                                        </div>
196 297
                                     </div>
197 298
                                 </div>
198 299
                             </div>
@@ -201,6 +302,91 @@
201 302
                 </div>
202 303
                 
203 304
             </div>
305
+        
306
+            <!-- <div class="page_lineUp">
307
+                <div class="lineUpTitle">
308
+                    <div>{{ this.$store.getters.xt_user.org.org_name }}<span>&nbsp;&nbsp;温馨提示:请注意排队叫号,依次叫号就诊上机,谢谢配合</span></div>
309
+                    <div>{{ newdate }}&nbsp;&nbsp;{{ time }}</div>
310
+                </div>
311
+                <div class="lineUpMain">
312
+                    <div class="lineUpMainLeft">
313
+                        <div class="lineUpMainLeftTitle">
314
+                            <p style="width:12%">排队号</p>
315
+                            <p style="width:14%">姓名</p>
316
+                            <p style="width:14%">病例号</p>
317
+                            <p style="width:14%">床位号</p>
318
+                            <p style="width:14%">治疗状态</p>
319
+                            <p style="width:14%">上机时间</p>
320
+                            <p style="width:16%">预计下机时间</p>
321
+                        </div>
322
+                        <div class="lineUpList">
323
+                            <div class="lineUpListOne" v-for="(item,index) in 6" :key="index">
324
+                                <p style="width:12%">
325
+                                    <span>上午</span>
326
+                                    {{ 89 }}号
327
+                                </p>
328
+                                <p style="width:14%">{{ '张三' }}</p>
329
+                                <p style="width:14%">{{ 3023 }}</p>
330
+                                <p style="width:14%">{{ 'A区' + '098' }}</p>
331
+                                <p style="width:14%">
332
+                                    <span>待接诊</span>
333
+                                </p>
334
+                                <p style="width:14%">07:38:00</p>
335
+                                <p style="width:16%">07:38:00</p>
336
+                            </div>
337
+                        </div>
338
+                    </div> 
339
+                    <div class="callingBox">
340
+                        <div class="callingBoxLeft">
341
+                            <div class="callingTitle"><span style="margin: 0 auto;">接<br />诊<br />叫<br />号</span></div>
342
+                            <div style="flex: 1;justify-content: space-between;display: flex;flex-direction: column;">
343
+                                <div class="callingTop">
344
+                                    <div class="callingTopTip"><span style="margin: 0 auto;">正在<br />接诊</span></div>
345
+                                    <div class="callingContent">
346
+                                        <div>
347
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
348
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
349
+                                        </div>
350
+                                    </div>
351
+                                </div>
352
+                                <div class="callingTop" style="border-radius: 0 0 15px 0;">
353
+                                    <div class="callingTopTip"><span style="margin: 0 auto;">等待<br />接诊</span></div>
354
+                                    <div class="callingContent">
355
+                                        <div>
356
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
357
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
358
+                                        </div>
359
+                                    </div>
360
+                                </div>
361
+                            </div>
362
+                        </div>
363
+                        <div class="callingBoxLeft">
364
+                            <div class="callingTitle newCallingTitle"><span style="margin: 0 auto;">上<br />机<br />叫<br />号</span></div>
365
+                            <div style="flex: 1;justify-content: space-between;display: flex;flex-direction: column;">
366
+                                <div class="callingTop">
367
+                                    <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">正在<br />叫号</span></div>
368
+                                    <div class="callingContent newCallingContent">
369
+                                        <div>
370
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
371
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
372
+                                        </div>
373
+                                    </div>
374
+                                </div>
375
+                                <div class="callingTop" style="border-radius: 0 0 15px 0;">
376
+                                    <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">等待<br />叫号</span></div>
377
+                                    <div class="callingContent newCallingContent">
378
+                                        <div>
379
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
380
+                                            <p><span v-for="(item,index) in 3" :key="index">张三三、</span></p>
381
+                                        </div>
382
+                                    </div>
383
+                                </div>
384
+                            </div>
385
+                        </div>
386
+                    </div>
387
+                </div>
388
+                
389
+            </div> -->
204 390
         </div>
205 391
     </div>
206 392
 </template>
@@ -505,26 +691,32 @@ export default {
505 691
 </script>
506 692
 
507 693
 <style lang="scss" scoped>
694
+.main-contain{
695
+    height: 100%;
696
+}
508 697
 .page_lineUp{
698
+    height: 100%;
509 699
     .lineUpTitle{
510
-        height: 50px;
700
+        height: 4vh;
511 701
         background: #1A82BF;
512 702
         display: flex;
513 703
         justify-content: space-between;
514 704
         align-items: center;
515 705
         padding: 0 20px;
516 706
         color:#fff;
517
-        font-size: 20px;
707
+        font-size: 2vh;
518 708
         font-weight: 600;
519 709
     }
520 710
     .lineUpMain{
521 711
         background: linear-gradient(0deg, #76ECEC, #479CD2);
522
-        height: 1080px;
712
+        height: 95%;
523 713
         padding:10px;
524 714
     }
525 715
     .lineUpMainLeft{
526
-        height: 620px;
716
+        height: 60%;
527 717
         border-radius: 15px;
718
+        display: flex;
719
+        flex-direction: column;
528 720
         
529 721
     }
530 722
     .lineUpMainLeftTitle{
@@ -532,9 +724,9 @@ export default {
532 724
         justify-content: space-between;
533 725
         align-items: center;
534 726
         color:#fff;
535
-        font-size: 38px;
727
+        font-size: 4vh;
536 728
         font-weight: 600;
537
-        height:80px;
729
+        height:7vh;
538 730
         background: #1A82BF;
539 731
         border-radius: 15px 15px 0 0;
540 732
         >p{
@@ -542,8 +734,9 @@ export default {
542 734
         }
543 735
     }
544 736
     .lineUpList{
545
-        font-size: 35px;
737
+        font-size: 3vh;
546 738
         font-weight: 600;
739
+        flex: 1;
547 740
         >div:nth-child(odd){
548 741
             background: #F9FDFF;
549 742
         }
@@ -554,7 +747,7 @@ export default {
554 747
             border-radius: 0 0 15px 15px;
555 748
         }
556 749
         .lineUpListOne{
557
-            height:90px;
750
+            height:16%;
558 751
             display: flex;
559 752
             justify-content: space-between;
560 753
             align-items: center;
@@ -566,7 +759,7 @@ export default {
566 759
         }
567 760
     }
568 761
     .callingBox{
569
-        height: 430px;
762
+        height: 39%;
570 763
         margin-top: 10px;
571 764
         display: flex;
572 765
         justify-content: space-between;
@@ -577,16 +770,16 @@ export default {
577 770
             justify-content: space-between;
578 771
         }
579 772
         .callingBoxLeft1{
580
-            width: 99.5%;
773
+            width: 100%;
581 774
             height: 100%;
582 775
             display: flex;
583 776
             justify-content: space-between;
584 777
         }
585 778
         .callingTitle{
586
-            width: 130px;
779
+            width: 10vh;
587 780
             height: 100%;
588 781
             border-radius: 15px 0 0 15px;
589
-            font-size: 66px;
782
+            font-size: 5vh;
590 783
             font-weight:600;
591 784
             text-align: center;
592 785
             color: #fff;
@@ -599,16 +792,16 @@ export default {
599 792
             background: #1aa680;
600 793
         }
601 794
         .callingTop{
602
-            height: 210px;
795
+            height: 49.5%;
603 796
             border-radius: 0 15px 0 0;
604 797
             background: #F9FDFF;
605 798
             display: flex;
606 799
             justify-content: space-between;
607 800
             .callingTopTip{
608
-                width: 130px;
801
+                width: 10vh;
609 802
                 height: 100%;
610 803
                 color: #fff;
611
-                font-size: 40px;
804
+                font-size: 3vh;
612 805
                 font-weight: 600;
613 806
                 background: #1A82BF;
614 807
                 display: flex;
@@ -621,15 +814,19 @@ export default {
621 814
                 flex: 1;
622 815
                 display: flex;
623 816
                 flex-direction: column;
624
-                font-size: 50px;
817
+                font-size: 4vh;
625 818
                 color:#1C6895;
626 819
                 font-weight: 600;
627 820
                 padding-left: 20px;
821
+                justify-content: space-around;
628 822
                 >p{
629 823
                     width:100%;
630 824
                     text-align: left;
631 825
                     line-height: 50px;
632 826
                 }
827
+                div>:first-child{
828
+                    margin-bottom: 10px;
829
+                }
633 830
             }
634 831
             .newCallingContent{
635 832
                 color:#1aa680;
@@ -648,6 +845,7 @@ export default {
648 845
   background: #fff;
649 846
   padding: 20px;
650 847
   z-index:5000;
848
+  height: 100%;
651 849
 }
652 850
 #fullscreenbroad #fullscreenbroad-setting {
653 851
   float: right;

+ 125 - 28
src/xt_pages/sign/signIn.vue View File

@@ -41,7 +41,7 @@
41 41
                     <div>{{ newdate }}&nbsp;&nbsp;{{ time }}</div>
42 42
                 </div>
43 43
                 <div class="signInMain">
44
-                    <div style="display: flex;justify-content: space-between;padding:10px;">
44
+                    <div style="display: flex;justify-content: space-between;padding:10px;height:100%;">
45 45
                         <div :class="Object.keys(queueInfo).length>0 ? 'signInMainLeft' : 'signInMainLeft100'">
46 46
                             <div class="signInMainLeftTitle">
47 47
                                 <p>排队号</p>
@@ -71,7 +71,7 @@
71 71
                                     <span v-if="queueInfo.schedule_type == 1">上午</span>
72 72
                                     <span v-if="queueInfo.schedule_type == 2">下午</span>
73 73
                                     <span v-if="queueInfo.schedule_type == 3">晚上</span>
74
-                                    <span style="font-size:180px;">{{ queueInfo.queue_no }}号</span>
74
+                                    <span style="font-size:10vh;">{{ queueInfo.queue_no }}号</span>
75 75
                                 </p>
76 76
                             </div>
77 77
                             <div class="signInMianRightBottom"><span style="margin:0 auto;" v-if='Object.keys(queueInfo).length>0'>签到成功</span></div>
@@ -82,6 +82,50 @@
82 82
                     </div>
83 83
                 </div>
84 84
             </div>
85
+        
86
+            <!-- <div class="page_signIn">
87
+                <div class="signInTitle">
88
+                    <div>{{ this.$store.getters.xt_user.org.org_name }}</div>
89
+                    <div>{{ newdate }}&nbsp;&nbsp;{{ time }}</div>
90
+                </div>
91
+                <div class="signInMain">
92
+                    <div style="display: flex;justify-content: space-between;padding:10px;height:100%;">
93
+                        <div class="signInMainLeft">
94
+                            <div class="signInMainLeftTitle">
95
+                                <p>排队号</p>
96
+                                <p>姓名</p>
97
+                                <p>病历号</p>
98
+                                <p>签到时间</p>
99
+                            </div>
100
+                            <div class="signInList">
101
+                                <div class="signInListOne" v-for="(item,index) in 10" :key="index">
102
+                                    <p>
103
+                                        上午2号
104
+                                    </p>
105
+                                    <p>张三张</p>
106
+                                    <p>400001</p>
107
+                                    <p>07:00</p>
108
+                                </div>
109
+                            </div>
110
+                        </div>
111
+                        <div class="signInMainRight">
112
+                            <div class="signInMainRightTitle"><span style="margin:0 auto;">张三</span></div>
113
+                            <div class="signInMainRightContent">
114
+                                <p style="margin: 0 auto;display:flex;align-items: center;"><span>排队号</span></p>
115
+                                <p style="margin: 0 auto;display:flex;align-items: center;">
116
+                                    <span>上午</span>
117
+                                    <span style="font-size:10vh">69号</span>
118
+                                </p>
119
+                            </div>
120
+                            <div class="signInMianRightBottom"><span style="margin:0 auto;">签到成功</span></div>
121
+                        </div>
122
+                    </div>
123
+                    <div class="signInTip">
124
+                        温馨提示:请注意排队叫号,依次叫号就诊上机,谢谢配合
125
+                    </div>
126
+                </div>
127
+            </div> -->
128
+        
85 129
         </div>
86 130
         <div class="app-container">
87 131
             <div class="page_signIn">
@@ -90,7 +134,7 @@
90 134
                     <div>{{ newdate }}&nbsp;&nbsp;{{ time }}</div>
91 135
                 </div>
92 136
                 <div class="signInMain">
93
-                    <div style="display: flex;justify-content: space-between;padding:10px;">
137
+                    <div style="display: flex;justify-content: space-between;padding:10px;height:100%;">
94 138
                         <div :class="Object.keys(queueInfo).length>0 ? 'signInMainLeft' : 'signInMainLeft100'">
95 139
                             <div class="signInMainLeftTitle">
96 140
                                 <p>排队号</p>
@@ -120,7 +164,7 @@
120 164
                                     <span v-if="queueInfo.schedule_type == 1">上午</span>
121 165
                                     <span v-if="queueInfo.schedule_type == 2">下午</span>
122 166
                                     <span v-if="queueInfo.schedule_type == 3">晚上</span>
123
-                                    <span style="font-size:180px;">{{ queueInfo.queue_no }}号</span>
167
+                                    <span style="font-size:10vh;">{{ queueInfo.queue_no }}号</span>
124 168
                                 </p>
125 169
                             </div>
126 170
                             <div class="signInMianRightBottom"><span style="margin:0 auto;" v-if='Object.keys(queueInfo).length>0'>签到成功</span></div>
@@ -131,6 +175,49 @@
131 175
                     </div>
132 176
                 </div>
133 177
             </div>
178
+        
179
+            <!-- <div class="page_signIn">
180
+                <div class="signInTitle">
181
+                    <div>{{ this.$store.getters.xt_user.org.org_name }}</div>
182
+                    <div>{{ newdate }}&nbsp;&nbsp;{{ time }}</div>
183
+                </div>
184
+                <div class="signInMain">
185
+                    <div style="display: flex;justify-content: space-between;padding:10px;height:100%;">
186
+                        <div class="signInMainLeft">
187
+                            <div class="signInMainLeftTitle">
188
+                                <p>排队号</p>
189
+                                <p>姓名</p>
190
+                                <p>病历号</p>
191
+                                <p>签到时间</p>
192
+                            </div>
193
+                            <div class="signInList">
194
+                                <div class="signInListOne" v-for="(item,index) in 10" :key="index">
195
+                                    <p>
196
+                                        上午2号
197
+                                    </p>
198
+                                    <p>张三张</p>
199
+                                    <p>400001</p>
200
+                                    <p>07:00</p>
201
+                                </div>
202
+                            </div>
203
+                        </div>
204
+                        <div class="signInMainRight">
205
+                            <div class="signInMainRightTitle"><span style="margin:0 auto;">张三张</span></div>
206
+                            <div class="signInMainRightContent">
207
+                                <p style="margin: 0 auto;display:flex;align-items: center;"><span>排队号</span></p>
208
+                                <p style="margin: 0 auto;display:flex;align-items: center;">
209
+                                    <span>上午</span>
210
+                                    <span style="font-size:10vh">69号</span>
211
+                                </p>
212
+                            </div>
213
+                            <div class="signInMianRightBottom"><span style="margin:0 auto;">签到成功</span></div>
214
+                        </div>
215
+                    </div>
216
+                    <div class="signInTip">
217
+                        温馨提示:请注意排队叫号,依次叫号就诊上机,谢谢配合
218
+                    </div>
219
+                </div>
220
+            </div> -->
134 221
         </div>
135 222
     </div>
136 223
 </template>
@@ -341,42 +428,50 @@ export default {
341 428
 
342 429
 
343 430
 <style lang="scss" scoped>
431
+.main-contain{
432
+    height: 100%;
433
+}
344 434
 .page_signIn{
435
+    height: 98%;
345 436
     .signInTitle{
346
-        height: 50px;
437
+        height: 4vh;
347 438
         background: #1A82BF;
348 439
         display: flex;
349 440
         justify-content: space-between;
350 441
         align-items: center;
351 442
         padding: 0 20px;
352 443
         color:#fff;
353
-        font-size: 20px;
444
+        font-size: 2vh;
354 445
         font-weight: 600;
355 446
     }
356 447
     .signInMain{
357 448
         background: linear-gradient(0deg, #76ECEC, #479CD2);
358
-        height: 1040px;
449
+        height: 86%;
359 450
         
360 451
         
361 452
     }
362 453
     .signInMainLeft{
363
-        width:69%;
364
-        height: 980px;
454
+        width:70%;
455
+        // height: 100%;
365 456
         border-radius: 15px;
457
+        display: flex;
458
+        flex-direction: column;
366 459
     }
367 460
     .signInMainLeft100{
368 461
         width:100%;
369
-        height: 980px;
462
+        height: 100%;
370 463
         border-radius: 15px;
464
+        display: flex;
465
+        flex-direction: column;
371 466
     }
372 467
     .signInMainLeftTitle{
373 468
         display: flex;
374 469
         justify-content: space-between;
375 470
         align-items: center;
376 471
         color:#fff;
377
-        font-size: 38px;
472
+        font-size: 4vh;
378 473
         font-weight: 600;
379
-        height:80px;
474
+        height:7vh;
380 475
         background: #1A82BF;
381 476
         border-radius: 15px 15px 0 0;
382 477
         >p{
@@ -385,16 +480,17 @@ export default {
385 480
         }
386 481
     }
387 482
     .signInList{
388
-        font-size: 36px;
483
+        font-size: 3vh;
389 484
         font-weight: 600;
485
+        flex: 1;
390 486
         >div:nth-child(1){
391
-            font-size: 50px;
487
+            font-size: 4.5vh;
392 488
         }
393 489
         >div:nth-child(2){
394
-            font-size: 50px;
490
+            font-size: 4.5vh;
395 491
         }
396 492
         >div:nth-child(3){
397
-            font-size: 50px;
493
+            font-size: 4.5vh;
398 494
         }
399 495
         >div:nth-child(odd){
400 496
             background: #F9FDFF;
@@ -406,7 +502,7 @@ export default {
406 502
             border-radius: 0 0 15px 15px;
407 503
         }
408 504
         .signInListOne{
409
-            height:90px;
505
+            height:10%;
410 506
             display: flex;
411 507
             justify-content: space-between;
412 508
             align-items: center;
@@ -419,16 +515,17 @@ export default {
419 515
     }
420 516
     .signInMainRight{
421 517
         width: 30%;
422
-        height: 980px;
518
+        // height: 100%;
519
+        margin-left: 10px;
423 520
     }
424 521
     .noneSignInMainRight{
425 522
         display: none;
426 523
     }
427 524
     .signInMainRightTitle{
428
-        height: 260px;
525
+        height: 27.5%;
429 526
         border-radius: 15px 15px 0 0;
430 527
         background: #1A82BF;
431
-        font-size: 120px;
528
+        font-size: 10vh;
432 529
         font-weight: 600;
433 530
         color:#fff;
434 531
         display: flex;
@@ -437,22 +534,22 @@ export default {
437 534
     }
438 535
     .signInMainRightContent{
439 536
         background: #F9FDFF;
440
-        height: 450px;
537
+        height: 54.5%;
441 538
         text-align: center;
442 539
         font-weight: 600;
443 540
         color:#1C6895;
444 541
         box-sizing: border-box;
445
-        font-size:90px;
542
+        font-size:6vh;
446 543
         display:flex;
447 544
         align-items:center;
448 545
         flex-direction: column;
449 546
         justify-content: space-around;
450 547
     }
451 548
     .signInMianRightBottom{
452
-        height: 270px;
549
+        height: 18%;
453 550
         background: #1A82BF;
454 551
         border-radius: 0 0 15px 15px;
455
-        font-size: 90px;
552
+        font-size: 8vh;
456 553
         font-weight: 600;
457 554
         color:#fff;
458 555
         display: flex;
@@ -461,14 +558,13 @@ export default {
461 558
     }
462 559
     .signInTip{
463 560
         color:#fff;
464
-        font-size: 18px;
561
+        font-size: 1.5vw;
465 562
         font-weight: 600;
466 563
         display: flex;
467 564
         align-items: center;
468
-        height: 50px;
565
+        height: 3vw;
469 566
         background: linear-gradient(0deg, #42A9E7, #3686B9, #42A9E7);
470
-        margin-top: 1px;
471
-        padding-left:20px;
567
+        padding-left:2vw;
472 568
     }
473 569
 }
474 570
 #fullscreenbroad {
@@ -482,6 +578,7 @@ export default {
482 578
   background: #fff;
483 579
   padding: 20px;
484 580
   z-index:5000;
581
+  height: 100%;
485 582
 }
486 583
 #fullscreenbroad #fullscreenbroad-setting {
487 584
   float: right;