浏览代码

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

csx 4 年前
父节点
当前提交
4acb2b96b7

+ 8 - 3
src/xt_pages/outpatientCharges/components/registerDialog9504.vue 查看文件

@@ -212,7 +212,7 @@
212 212
           medical_insurance_card: '',
213 213
           name: '',
214 214
           gender: '',
215
-          certificates: 1,
215
+          certificates: '',
216 216
           p_type:'',
217 217
           sick_type:'',
218 218
           diagnosis:'',
@@ -222,7 +222,7 @@
222 222
           id_card: '',
223 223
           register: '',
224 224
           doctor: '',
225
-          id_card_type: 1,
225
+          id_card_type: '',
226 226
           department: '',
227 227
           registration_fee: '',
228 228
           medical_expenses: '',
@@ -390,6 +390,9 @@
390 390
         if (value != 4){
391 391
           this.form.registration_fee = 10
392 392
           this.form.medical_expenses = 0
393
+        }else{
394
+          this.form.registration_fee = 0
395
+          this.form.medical_expenses = 0
393 396
         }
394 397
       },
395 398
       handleSelect(val) {
@@ -477,7 +480,9 @@
477 480
         // this.form.birthday = patientInfo.birthday
478 481
         // this.form.id_card = patientInfo.id_card_no
479 482
         // this.form.social_type = patientInfo.health_care_type
480
-        // this.form.id_card_type = 1
483
+        this.form.id_card_type = 1
484
+        this.form.certificates = 1
485
+
481 486
         // if( this.form.social_type == 0){
482 487
         //   this.form.social_type = ""
483 488
         //

+ 78 - 24
src/xt_pages/outpatientRegistration/index.vue 查看文件

@@ -3,7 +3,7 @@
3 3
         <div class="position">
4 4
             <bread-crumb :crumbs='crumbs'></bread-crumb>
5 5
         </div>
6
-        <div v-if="this.$store.getters.xt_user.org_id == 9504" class="app-container">
6
+        <div v-if="this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 0" class="app-container">
7 7
             <div class="nameTitle">患者基本信息:</div>
8 8
             <div class="formMain">
9 9
                 <el-form class="basicForm" :model="form" :rules="rules2" ref="form" label-width="100px">
@@ -113,7 +113,7 @@
113 113
                     <el-form-item class="specialFormItem" label="医保卡号:">
114 114
                         <div style="display:flex;">
115 115
                             <el-input v-model="form.medicalInsuranceCard"></el-input>
116
-                            <el-button style="margin-left:10px;" type="primary" @click="reading">读卡</el-button>
116
+                            <el-button style="margin-left:10px;" type="primary" @click="readingSZ">读卡</el-button>
117 117
                         </div>
118 118
                     </el-form-item>
119 119
 
@@ -121,11 +121,11 @@
121 121
             </div>
122 122
             <div class="nameTitle">患者挂号信息:</div>
123 123
             <div class="formMain">
124
-                <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
125
-                    <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name">
126
-                        <el-select v-model="form.register" placeholder="请选择">
124
+                <el-form class="basicForm" :model="form" :rules="rules2" ref="form" label-width="100px">
125
+                    <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name" >
126
+                        <el-select v-model="form.register" placeholder="请选择" @change="changeReg">
127 127
                             <el-option
128
-                                    v-for="item in register"
128
+                                    v-for="item in his_registers"
129 129
                                     :key="item.value"
130 130
                                     :label="item.label"
131 131
                                     :value="item.value">
@@ -133,9 +133,7 @@
133 133
                         </el-select>
134 134
                     </el-form-item>
135 135
 
136
-
137
-
138
-                    <el-form-item label="医疗类别:">
136
+                    <el-form-item label="医疗类别:" :validate-event="is_Name"  prop="medicalCare" >
139 137
                         <el-select v-model="form.medicalCare" placeholder="请选择">
140 138
                             <el-option
141 139
                                     v-for="(item,index) in medical_care"
@@ -168,10 +166,10 @@
168 166
                     </el-form-item>
169 167
 
170 168
                     <el-form-item label="挂号费:">
171
-                        <el-input v-model.number="form.registrationFee"></el-input>
169
+                        <el-input v-model="form.registrationFee" readonly></el-input>
172 170
                     </el-form-item>
173 171
                     <el-form-item label="诊疗费:">
174
-                        <el-input v-model.number="form.medicalExpenses"></el-input>
172
+                        <el-input v-model="form.medicalExpenses" readonly></el-input>
175 173
                     </el-form-item>
176 174
                     <el-form-item label="合计:">
177 175
                         <el-input v-model.number="total" readonly></el-input>
@@ -315,7 +313,7 @@
315 313
                     <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name">
316 314
                         <el-select v-model="form.register" placeholder="请选择">
317 315
                             <el-option
318
-                                    v-for="item in register"
316
+                                    v-for="item in his_registers"
319 317
                                     :key="item.value"
320 318
                                     :label="item.label"
321 319
                                     :value="item.value">
@@ -562,7 +560,7 @@
562 560
             value: 7,
563 561
             label: '生育保险'
564 562
           }],
565
-        register: [{
563
+        his_registers: [{
566 564
           value: 1,
567 565
           label: '普通'
568 566
         }, {
@@ -599,6 +597,7 @@
599 597
           birthday: [{ required: true, message: '患者出生日期不能为空', trigger: 'blur' }],
600 598
           certificates: [{ required: true, message: '证件类型不能为空', trigger: 'change' }],
601 599
           id_card_type: [{ required: true, message: '读卡类型不能为空', trigger: 'change' }],
600
+          medicalCare: [{ required: true, message: '医疗类别不能为空', trigger: 'change' }],
602 601
 
603 602
 
604 603
         },
@@ -636,6 +635,15 @@
636 635
       }
637 636
     },
638 637
     methods: {
638
+      changeReg(){
639
+        console.log(this.form.register)
640
+        if(this.form.register != 4){
641
+          this.form.registrationFee = 10
642
+        }else{
643
+          this.form.registrationFee = 0
644
+
645
+        }
646
+      },
639 647
       handleSelect(val) {
640 648
         this.form.id = val.id
641 649
         this.form.name = val.name
@@ -659,7 +667,53 @@
659 667
             cb([])
660 668
           }
661 669
         })
670
+      }, readingSZ() {
671
+        var that = this
672
+        if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
673
+          this.$message.error("请先选择读卡类型")
674
+          return
675
+        }
676
+        let params = {
677
+          'id_card_type': this.form.id_card_type,
678
+
679
+        }
680
+        axios.get('http://127.0.0.1:9532/sz/api/readcard', {
681
+          params: params
682
+        })
683
+          .then(function (response) {
684
+            if (response.data.state == 0) {
685
+              that.$message.error(response.data.msg)
686
+              return false
687
+            } else {
688
+              var patient = response.data.data.patient
689
+              if (that.form.id_card_type == 1) {
690
+                that.form.id = patient.id
691
+                that.form.name = patient.name
692
+                that.form.sex = patient.gender
693
+                that.form.age = patient.age
694
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
695
+                that.form.phone = patient.phone
696
+                that.form.id_card = patient.id_card_no
697
+                that.form.medicalInsuranceCard = response.data.data.health_card_no
698
+              } else if (that.form.id_card_type == 2) {
699
+                this.form.id = patient.id
700
+                that.form.name = patient.name
701
+                that.form.sex = patient.gender
702
+                that.form.age = patient.age
703
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
704
+                that.form.phone = patient.phone
705
+                that.form.id_card = patient.id_card_no
706
+              }
707
+              that.$message({message: '读卡成功', type: 'success'})
708
+
709
+            }
710
+          })
711
+          .catch(function (error) {
712
+
713
+          });
714
+
662 715
       },
716
+
663 717
       reading(medicalInsuranceCard) {
664 718
         var that = this
665 719
         if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
@@ -805,11 +859,11 @@
805 859
           return
806 860
         }
807 861
 
808
-        if (this.form.doctor == '') {
809
-          this.$message.error('医生不能为空')
810
-          this.is_Name = true
811
-          return
812
-        }
862
+        // if (this.form.doctor == '') {
863
+        //   this.$message.error('医生不能为空')
864
+        //   this.is_Name = true
865
+        //   return
866
+        // }
813 867
 
814 868
         if (this.form.department == '') {
815 869
           this.$message.error('科室不能为空')
@@ -838,11 +892,11 @@
838 892
           return
839 893
         }
840 894
 
841
-        if (this.form.p_type == '') {
842
-          this.$message.error('处方类型不能为空')
843
-          this.is_Name = true
844
-          return
845
-        }
895
+        // if (this.form.p_type == '') {
896
+        //   this.$message.error('处方类型不能为空')
897
+        //   this.is_Name = true
898
+        //   return
899
+        // }
846 900
 
847 901
         this.$refs[formName].validate((valid) => {
848 902
           if (valid) {
@@ -876,7 +930,7 @@
876 930
               params['admin_user_id'] = this.$store.getters.xt_user.user.id
877 931
             this.loadingone = true
878 932
 
879
-            if (this.$store.getters.xt_user.org_id == 9504) {
933
+            if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 0) {
880 934
               var that = this
881 935
               axios.get('http://127.0.0.1:9532/sz/api/register/get', {
882 936
                 params: params

+ 254 - 3
src/xt_pages/outpatientRegistration/registrationHistory.vue 查看文件

@@ -3,7 +3,223 @@
3 3
         <div class="position">
4 4
             <bread-crumb :crumbs='crumbs'></bread-crumb>
5 5
         </div>
6
-        <div class="app-container">
6
+        <div v-if="this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 0" class="app-container">
7
+            <div class="cell clearfix">
8
+                <!-- <el-input style="width: 180px;" v-model.trim="search_input" class="filter-item"/> -->
9
+                <el-autocomplete
10
+                        style="margin:16px 5px"
11
+                        popper-class="my-autocomplete"
12
+                        v-model.trim="search_input"
13
+                        :fetch-suggestions="querySearchAsync"
14
+                        :trigger-on-focus="false"
15
+                        placeholder="病人名字或者透析号"
16
+                        @select="handleSelect"
17
+                >
18
+                    <i class="el-icon-search el-input__icon" slot="suffix"> </i>
19
+                    <template slot-scope="{ item }">
20
+                        <div class="name">{{ item.name }}</div>
21
+                    </template>
22
+                </el-autocomplete>
23
+                <el-button style="margin-right:10px;" class="filter-item" type="primary" icon="el-icon-search" @click="searchAction">搜索</el-button>
24
+                <!-- <el-date-picker
25
+                v-model="value1"
26
+                @change="changeTime"
27
+                style="margin-right:10px;"
28
+                type="daterange"
29
+                range-separator="-"
30
+                start-placeholder="开始日期"
31
+                end-placeholder="结束日期">
32
+                </el-date-picker> -->
33
+                <el-date-picker type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
34
+                                placeholder="选择时间" v-model="start_time" style="width:200px"
35
+                                @change="changeStart"
36
+                >
37
+                </el-date-picker> -
38
+                <el-date-picker type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
39
+                                placeholder="选择时间" v-model="end_time" style="width:200px"
40
+                                @change="changeEnd"
41
+                >
42
+                </el-date-picker>
43
+                <label class="title"><span class="name">挂号类型</span> : </label>
44
+                <el-select v-model="register_type" placeholder="请选择" style="width:150px;" @change="changeRegister">
45
+                    <el-option
46
+                            v-for="item in register"
47
+                            :key="item.value"
48
+                            :label="item.label"
49
+                            :value="item.value">
50
+                    </el-option>
51
+                </el-select>
52
+            </div>
53
+            <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
54
+                <el-table-column align="center" type="index" label="序号" width="60">
55
+                </el-table-column>
56
+                <el-table-column align="center" prop="name" label="时间" width="100">
57
+                    <template slot-scope="scope">{{getTime(scope.row.ctime,"{y}-{m}-{d} {h}:{i}:{s}")}}</template>
58
+                </el-table-column>
59
+                <el-table-column align="center" prop="dialysis_no" label="姓名" width="80">
60
+                    <template slot-scope="scope">{{scope.row.name }}</template>
61
+                </el-table-column>
62
+                <el-table-column align="center" prop="name" label="科室" width="80">
63
+                    <template slot-scope="scope">{{getDepartMent(scope.row.departments)}}</template>
64
+                </el-table-column>
65
+                <el-table-column align="center" prop="name" label="挂号类型" width="90">
66
+                    <template slot-scope="scope">
67
+                        <span v-if="scope.row.register_type == 1">普通</span>
68
+                        <span v-if="scope.row.register_type == 2">主治</span>
69
+                        <span v-if="scope.row.register_type == 3">主任</span>
70
+                        <span v-if="scope.row.register_type == 4">免收诊金</span>
71
+                        <span v-if="scope.row.register_type == 5">专家</span>
72
+                    </template>
73
+                </el-table-column>
74
+                <el-table-column align="center" prop="name" label="就诊号" width="80">
75
+                    <template slot-scope="scope">
76
+                        {{scope.row.number}}
77
+                    </template>
78
+                </el-table-column>
79
+                <el-table-column align="center" prop="name" label="证件号" width='180'>
80
+                    <template slot-scope="scope">{{ scope.row.id_card_no }}</template>
81
+                </el-table-column>
82
+                <el-table-column align="center" label="社保类型">
83
+                    <template slot-scope="scope">{{getMedicalTreatment(scope.row.social_type)}}</template>
84
+                </el-table-column>
85
+                <el-table-column align="center" prop="name" label="医生" width="80">
86
+                    <template slot-scope="scope">{{getDoctor(scope.row.doctor) }}</template>
87
+                </el-table-column>
88
+                <el-table-column align="center" prop="name" label="挂号费" width="70">
89
+                    <template slot-scope="scope">{{ scope.row.register_cost }}</template>
90
+                </el-table-column>
91
+                <el-table-column align="center" prop="name" label="诊疗费" width="70">
92
+                    <template slot-scope="scope">{{ scope.row.treatment_cost }}</template>
93
+                </el-table-column>
94
+                <el-table-column align="center" prop="name" label="工本费" width="70">
95
+                    <template slot-scope="scope">{{ scope.row.cost_of_production }}</template>
96
+                </el-table-column>
97
+                <el-table-column align="center" prop="name" label="结算类型" width="70">
98
+                    <template slot-scope="scope">{{getBanlance(scope.row.balance_accounts_type) }}</template>
99
+                </el-table-column>
100
+                <el-table-column align="center" prop="name" label="操作人" width="70">
101
+                    <template slot-scope="scope">{{creator}}</template>
102
+                </el-table-column>
103
+                <el-table-column align="center" prop="name" label="操作" width="180">
104
+                    <template slot-scope="scope">
105
+                        <!--<el-button size="mini" type="primary" v-if=" scope.row.record_date < startUnix" :disabled="true">已过号</el-button>-->
106
+                        <el-button size="mini" type="primary"  v-if="scope.row.status == 1" @click ="toReturnSZPatient(scope.row)">退号</el-button>
107
+                        <el-button size="mini" type="primary"  :disabled="true" v-if="scope.row.status == 0" >已退号</el-button>
108
+
109
+                        <!--<el-button size="mini" type="primary" v-if="scope.row.record_date == startUnix && scope.row.is_return == 2" :disabled="true">已退号</el-button>-->
110
+                        <!--<el-button size="mini" type="primary" v-if="scope.row.record_date == startUnix && scope.row.is_return == 3" :disabled="true">已就诊</el-button>-->
111
+                        <!--<el-button size="mini" type="primary" @click="open(scope.row)">详情</el-button>-->
112
+                    </template>
113
+                </el-table-column>
114
+            </el-table>
115
+
116
+            <el-pagination
117
+                    @size-change="handleSizeChange"
118
+                    @current-change="handleCurrentChange"
119
+                    :page-sizes="[10, 50, 100]"
120
+                    :page-size="10"
121
+                    background
122
+                    style="margin-top:20px;float: right"
123
+                    layout="total, sizes, prev, pager, next, jumper"
124
+                    :total="total"
125
+            >
126
+            </el-pagination>
127
+            <el-dialog
128
+                    title="挂号历史详情"
129
+                    :visible.sync="dialogVisible"
130
+                    width="1100px"
131
+                    :before-close="handleClose">
132
+                <div>
133
+                    <div class="formMain">
134
+                        <el-form class="basicForm" :model="form"  ref="form"  label-width="130px">
135
+                            <el-form-item label="患者姓名:"  prop="name">
136
+                                <div>{{ form.name }}</div>
137
+                            </el-form-item>
138
+
139
+                            <el-form-item label="性别:" prop="gender">
140
+                                <div v-if="form.gender == 1">男</div>
141
+                                <div v-if="form.gender == 2">女</div>
142
+                            </el-form-item>
143
+
144
+                            <el-form-item label="年龄:" prop="age">
145
+                                <div>{{ form.age }}</div>
146
+                            </el-form-item>
147
+
148
+
149
+                            <el-form-item label="出生日期:" prop="birthday">
150
+                                <div>{{ getTime(form.birthday,"{y}-{m}-{d}") }}</div>
151
+                            </el-form-item>
152
+
153
+                            <el-form-item label="手机号码:" prop="phone">
154
+                                <div>{{ form.phone }}</div>
155
+                            </el-form-item>
156
+
157
+
158
+                            <el-form-item label="医疗类别:">
159
+                                <div>{{ getDictionaryDataConfig(form.medical_treatment_type) }}</div>
160
+                            </el-form-item>
161
+
162
+
163
+                            <el-form-item label="证件类型:">
164
+                                <div>{{ getCertificates(form.id_type) }}</div>
165
+                            </el-form-item>
166
+
167
+                            <el-form-item label="证件号码:" prop="idCard">
168
+                                {{ form.id_card_no }}
169
+                            </el-form-item>
170
+
171
+
172
+                            <el-form-item label="结算类型:">
173
+                                {{ getSettlement(form.balance_accounts_type) }}
174
+                            </el-form-item>
175
+
176
+
177
+                            <el-form-item label="社保类型:">
178
+                                <div>{{ getMedicalCare(form.social_type) }}</div>
179
+                            </el-form-item>
180
+                            <el-form-item class="specialFormItem" style="width:66.5%;" label="医保卡号:">
181
+                                <div>{{ form.medical_insurance_number }}</div>
182
+                            </el-form-item>
183
+                            <el-form-item label="挂号类型:"  prop="register"  :validate-event="is_Name">
184
+                                <div>{{ getRegister(form.register_type) }}</div>
185
+                            </el-form-item>
186
+                            <el-form-item label="医生:"  prop="doctor" :validate-event="is_Name" >
187
+                                <div>{{ getDoctor(form.doctor) }}</div>
188
+                            </el-form-item>
189
+                            <el-form-item label="科室:"  prop="department" :validate-event="is_Name">
190
+                                <div>{{ getDepartMent(form.departments) }}</div>
191
+                            </el-form-item>
192
+                            <!-- <el-form-item label="是否需要工本费:">
193
+                              <div v-if="form.is_need_cost_of_production == 1">是</div>
194
+                              <div v-else>否</div>
195
+                            </el-form-item> -->
196
+
197
+                            <el-form-item label="挂号费:">
198
+                                <div>{{ form.register_cost }}</div>
199
+                            </el-form-item>
200
+                            <el-form-item label="诊疗费:">
201
+                                <div>{{ form.treatment_cost }}</div>
202
+                            </el-form-item>
203
+                            <el-form-item label="工本费:">
204
+                                <div>{{ form.cost_of_production }}</div>
205
+                            </el-form-item>
206
+                            <el-form-item label="合计:">
207
+                                <div>{{ form.total }}</div>
208
+                            </el-form-item>
209
+                            <el-form-item>
210
+                                <!-- <el-input v-model="form.name"></el-input> -->
211
+                            </el-form-item>
212
+                        </el-form>
213
+                    </div>
214
+                </div>
215
+                <span slot="footer" class="dialog-footer">
216
+                <el-button @click="dialogVisible = false">取 消</el-button>
217
+                <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
218
+              </span>
219
+            </el-dialog>
220
+        </div>
221
+
222
+        <div v-else class="app-container">
7 223
             <div class="cell clearfix">
8 224
                 <!-- <el-input style="width: 180px;" v-model.trim="search_input" class="filter-item"/> -->
9 225
                 <el-autocomplete
@@ -225,6 +441,7 @@ import BreadCrumb from '@/xt_pages/components/bread-crumb'
225 441
 import { getHisPatientHistory,changePatient,getHisPatient } from "@/api/project/project"
226 442
 import { uParseTime } from "@/utils/tools";
227 443
 import { getDictionaryDataConfig } from '@/utils/data'
444
+import axios from 'axios'
228 445
 
229 446
 export default {
230 447
     components:{
@@ -478,8 +695,42 @@ export default {
478 695
                 return uParseTime(value, temp);
479 696
             }
480 697
             return "";
481
-        },
482
-        toReturnPatient(id){
698
+        },  toReturnSZPatient(val){
699
+        var that = this
700
+        this.$confirm('是否退号', '退号', {
701
+          confirmButtonText: '确 定',
702
+          cancelButtonText: '取 消',
703
+          type: 'warning'
704
+        }).then(() => {
705
+          axios.get('http://127.0.0.1:9532/sz/api/refundnumber/get', {
706
+            params: {
707
+              order_id: 0,
708
+              record_time: this.getTime(val.record_date,"{y}-{m}-{d}"),
709
+              admin_user_id: this.$store.getters.xt_user.user.id,
710
+              patient_id: val.patient_id
711
+            }
712
+          })
713
+            .then(function(response) {
714
+              if (response.data.state == 0) {
715
+                that.$message.error(response.data.msg)
716
+                return false
717
+              } else {
718
+                if (response.data.data.failed_code == -10) {
719
+                  that.$message.error(response.data.data.msg)
720
+
721
+                } else {
722
+                  this.getlist()
723
+                  that.$message({ message: '退号成功', type: 'success' })
724
+                }
725
+              }
726
+            })
727
+            .catch(function(error) {
728
+            })
729
+        }).catch(() => {
730
+        })
731
+      },
732
+
733
+      toReturnPatient(id){
483 734
           this.$confirm("确认退号吗?", "退号", {
484 735
           confirmButtonText: "确 定",
485 736
           cancelButtonText: "取 消",