Browse Source

Merge remote-tracking branch 'origin/20230223_pc_vue_new_branch' into 20230223_pc_vue_new_branch

yq1 1 year ago
parent
commit
80e45a9ce2

+ 34 - 0
src/api/his/his_zuobiao.js View File

1
+import request from '@/utils/request'
2
+
3
+
4
+export function getZuoBiaoPatientList(params) {
5
+  return request({
6
+    url: "/api/zuobiaodetail/list",
7
+    method: "get",
8
+    params:params
9
+  });
10
+}
11
+
12
+
13
+export function getZuoBiaoPatientInfo(params) {
14
+  return request({
15
+    url: "/api/zuobiaodetail/info",
16
+    method: "get",
17
+    params:params
18
+  });
19
+}
20
+
21
+export function getZuoBiaoPatientMonthInfo(params) {
22
+  return request({
23
+    url: "/api/zuobiaomonthdetail/info",
24
+    method: "get",
25
+    params:params
26
+  });
27
+}
28
+
29
+
30
+
31
+
32
+
33
+
34
+

+ 1 - 0
src/lang/zh.js View File

301
     objectRegistration:"医疗器械登记",
301
     objectRegistration:"医疗器械登记",
302
     Dialysisanalysis: '专业质控',
302
     Dialysisanalysis: '专业质控',
303
     queryData:"结算数据查询",
303
     queryData:"结算数据查询",
304
+    chargeDetailManagementTwo:"门诊明细上传"
304
   },
305
   },
305
   navbar: {
306
   navbar: {
306
     logOut: '退出登录',
307
     logOut: '退出登录',

+ 6 - 0
src/router/modules/outpatientCharges.js View File

43
         name: 'OutpatientChargesSummary',
43
         name: 'OutpatientChargesSummary',
44
         meta: { title: 'summary', noCache: true}
44
         meta: { title: 'summary', noCache: true}
45
     },
45
     },
46
+    {
47
+      path: '/outpatientCharges/chargeDetailManagement',
48
+      component: () => import('@/xt_pages/outpatientCharges/chargeDetailManagement'),
49
+      name: 'chargeDetailManagementTwo',
50
+      meta: { title: 'chargeDetailManagementTwo', noCache: true}
51
+    },
46
     {
52
     {
47
         path: '/outpatientCharges/incomeStatistics',
53
         path: '/outpatientCharges/incomeStatistics',
48
         component: () => import('@/xt_pages/outpatientCharges/incomeStatistics'),
54
         component: () => import('@/xt_pages/outpatientCharges/incomeStatistics'),

+ 3 - 2
src/xt_pages/Pharmacy/PatientDispensing.vue View File

142
               </el-option>
142
               </el-option>
143
             </el-select>
143
             </el-select>
144
           </div>
144
           </div>
145
+          
145
 
146
 
146
           <div>
147
           <div>
147
             <el-button type="primary" @click="toExport" v-if="state == 2"
148
             <el-button type="primary" @click="toExport" v-if="state == 2"
533
         if (res.data.state == 1) {
534
         if (res.data.state == 1) {
534
            var list = res.data.data.list;
535
            var list = res.data.data.list;
535
            console.log("hhhhawoowowow",list)
536
            console.log("hhhhawoowowow",list)
536
-          if(this.$store.getters.xt_user.org.id == 10188 || this.$store.getters.xt_user.org.id == 10217 || this.$store.getters.xt_user.org.id == 10387 ){
537
+          if(this.$store.getters.xt_user.org.id == 10188 || this.$store.getters.xt_user.org.id == 10217 || this.$store.getters.xt_user.org.id == 10387 ||  this.$store.getters.xt_user.org.id == 0  ||  this.$store.getters.xt_user.org.id == 10480  ){
537
             this.tableData = []
538
             this.tableData = []
538
             if(list!=null && list.length >0){
539
             if(list!=null && list.length >0){
539
               for(let i=0;i<list.length;i++){
540
               for(let i=0;i<list.length;i++){
544
             }
545
             }
545
 
546
 
546
           }
547
           }
547
-          if(this.$store.getters.xt_user.org.id != 10188 && this.$store.getters.xt_user.org.id != 10217 && this.$store.getters.xt_user.org.id != 10387){
548
+          if(this.$store.getters.xt_user.org.id != 10188 && this.$store.getters.xt_user.org.id != 10217 && this.$store.getters.xt_user.org.id != 10387 && this.$store.getters.xt_user.org.id != 0 && this.$store.getters.xt_user.org.id != 10480 ){
548
             this.tableData = []
549
             this.tableData = []
549
             this.tableData = list
550
             this.tableData = list
550
           }
551
           }

+ 16 - 3
src/xt_pages/data/components/addDrugs.vue View File

488
                             </el-option>
488
                             </el-option>
489
                         </el-select>
489
                         </el-select>
490
                     </el-form-item>
490
                     </el-form-item>
491
+                    <el-form-item label="是否项目:" prop="is_pharmacy">
492
+                        <el-select v-model="form.is_project" style="width:160px;" placeholder="请选择">
493
+                            <el-option
494
+                                    v-for="item in projectList"
495
+                                    :key="item.id"
496
+                                    :label="item.name"
497
+                                    :value="item.id">
498
+                            </el-option>
499
+                        </el-select>
500
+                    </el-form-item>
491
                     <el-form-item label="" style="visibility: hidden;">
501
                     <el-form-item label="" style="visibility: hidden;">
492
                         <el-input style="width:160px;" placeholder="" maxlength="30"></el-input>
502
                         <el-input style="width:160px;" placeholder="" maxlength="30"></el-input>
493
                     </el-form-item>
503
                     </el-form-item>
632
           is_pharmacy:1,//是否通过药房发药
642
           is_pharmacy:1,//是否通过药房发药
633
           bbx01:"",
643
           bbx01:"",
634
           bby01:"",
644
           bby01:"",
645
+          is_project:"",
635
         },
646
         },
636
 
647
 
637
         rules: {
648
         rules: {
645
           unval:[{required:true,message:"请填写拆零",trigger:'change'}],
656
           unval:[{required:true,message:"请填写拆零",trigger:'change'}],
646
           min_number:[{required:true,message:"请填写拆零",trigger:'change'}],
657
           min_number:[{required:true,message:"请填写拆零",trigger:'change'}],
647
           packing_unit: [{ required: true, message: '请填写包装单位', trigger: 'change' }],
658
           packing_unit: [{ required: true, message: '请填写包装单位', trigger: 'change' }],
648
-          drug_type: [{ required: true, message: '请填写药品类型', trigger: 'blur' }],
659
+          // drug_type: [{ required: true, message: '请填写药品类型', trigger: 'blur' }],
649
           drug_stock_limit: [{ required: true, message: '请填写库存警戒', trigger: 'blur' }],
660
           drug_stock_limit: [{ required: true, message: '请填写库存警戒', trigger: 'blur' }],
650
           // drug_origin_place: [{ required: true, message: '请填写产地', trigger: 'blur' }],
661
           // drug_origin_place: [{ required: true, message: '请填写产地', trigger: 'blur' }],
651
-          drug_dosage_form: [{ required: true, message: '请填写药品剂型', trigger: 'blur' }],
662
+          // drug_dosage_form: [{ required: true, message: '请填写药品剂型', trigger: 'blur' }],
652
           medical_insurance_level: [{ required: true, message: '请选择医保等级', trigger: 'change' }],
663
           medical_insurance_level: [{ required: true, message: '请选择医保等级', trigger: 'change' }],
653
 
664
 
654
           unit_matrixing: [{ required: true, message: '请填写单位换算', trigger: 'blur' }],
665
           unit_matrixing: [{ required: true, message: '请填写单位换算', trigger: 'blur' }],
657
           packing_price:[{required:true,message:'请填写包装零售价',trigger:'blur'}],
668
           packing_price:[{required:true,message:'请填写包装零售价',trigger:'blur'}],
658
           drug_classify: [{ required: true, message: '请选择药物分类', trigger: 'change' }],
669
           drug_classify: [{ required: true, message: '请选择药物分类', trigger: 'change' }],
659
           drug_dose: [{ required: true, message: '请填写剂量', trigger: 'blur' }],
670
           drug_dose: [{ required: true, message: '请填写剂量', trigger: 'blur' }],
660
-          manufacturer: [{ required: true, message: '请选择生产产商', trigger: 'change' }],
671
+          // manufacturer: [{ required: true, message: '请选择生产产商', trigger: 'change' }],
661
           dealer: [{ required: true, message: '请选择经销商', trigger: 'change' }],
672
           dealer: [{ required: true, message: '请选择经销商', trigger: 'change' }],
662
           prescription_mark: [{ required: true, message: '请选择处方药标志' }],
673
           prescription_mark: [{ required: true, message: '请选择处方药标志' }],
663
           social_security_directory_code: [{ required: true, message: '请填写社保目录编码' }],
674
           social_security_directory_code: [{ required: true, message: '请填写社保目录编码' }],
690
           id: "2",
701
           id: "2",
691
           name: "否"
702
           name: "否"
692
         }],
703
         }],
704
+        projectList:[{id:"1",name:"是"},{id:"2",name:"否"}]
693
       }
705
       }
694
     },
706
     },
695
     props: {
707
     props: {
961
         form['is_pharmacy'] = this.form.is_pharmacy
973
         form['is_pharmacy'] = this.form.is_pharmacy
962
         form['bbx01'] = this.form.bbx01
974
         form['bbx01'] = this.form.bbx01
963
         form['bby01'] = this.form.bby01
975
         form['bby01'] = this.form.bby01
976
+        form['is_project'] = this.form.is_project
964
 
977
 
965
         return form
978
         return form
966
       },
979
       },

+ 6 - 1
src/xt_pages/data/components/drugs.vue View File

725
               if(this.formValue.drug_classify == 0){
725
               if(this.formValue.drug_classify == 0){
726
                  this.formValue.drug_classify = ""
726
                  this.formValue.drug_classify = ""
727
               }
727
               }
728
-
728
+           
729
+              if(this.formValue.is_project<=0){
730
+                  this.formValue.is_project = ''
731
+              }else{
732
+                this.formValue.is_project = this.formValue.is_project.toString()
733
+              }
729
 
734
 
730
 
735
 
731
               this.$refs.addDrugs.show(id, this.formValue)
736
               this.$refs.addDrugs.show(id, this.formValue)

+ 2 - 2
src/xt_pages/dialysis/template/DialysisPrintOrderSix.vue View File

82
           <div class="inline_block">
82
           <div class="inline_block">
83
             病区:
83
             病区:
84
             <div class="under_line" style="width: 50px; text-align: center">
84
             <div class="under_line" style="width: 50px; text-align: center">
85
-              <span v-if="org_id == 10121||org_id == 10138||org_id == 10414 ||org_id == 10447 || org_id == 0 || org_id ==10460">{{
85
+              <span v-if="org_id == 10121||org_id == 10138||org_id == 10414 ||org_id == 10447 || org_id == 0 || org_id ==10460 || org_id ==10567">{{
86
                 patientInfo.DialysisSchedule.device_zone.name
86
                 patientInfo.DialysisSchedule.device_zone.name
87
                   ? patientInfo.DialysisSchedule.device_zone.name
87
                   ? patientInfo.DialysisSchedule.device_zone.name
88
                   : ""
88
                   : ""
93
           <div class="inline_block" v-if="org_id!=10460">
93
           <div class="inline_block" v-if="org_id!=10460">
94
             床号:
94
             床号:
95
             <div class="under_line" style="width: 50px; text-align: center">
95
             <div class="under_line" style="width: 50px; text-align: center">
96
-              <span v-if="org_id == 10121||org_id == 10414 || org_id == 10447 || org_id == 9675 || org_id == 0 || org_id ==10460 || org_id ==10515">{{
96
+              <span v-if="org_id == 10121||org_id == 10414 || org_id == 10447 || org_id == 9675 || org_id == 0 || org_id ==10460 || org_id ==10515 || org_id == 10567">{{
97
                 dialysisOrder &&
97
                 dialysisOrder &&
98
                 dialysisOrder.DeviceNumber &&
98
                 dialysisOrder.DeviceNumber &&
99
                 dialysisOrder.DeviceNumber.number.length > 0
99
                 dialysisOrder.DeviceNumber.number.length > 0

+ 8 - 3
src/xt_pages/hospitalStation/components/deskPrescription.vue View File

3081
         if (row.sum_count <= 0) {
3081
         if (row.sum_count <= 0) {
3082
           if (selection) {
3082
           if (selection) {
3083
             selection.forEach(row => {
3083
             selection.forEach(row => {
3084
-              if (row.sum_count <= 0) {
3084
+              if(row.is_project!=1){
3085
+              if ( row.sum_count <= 0) {
3085
                 this.$refs.multipleTable.toggleRowSelection(row)
3086
                 this.$refs.multipleTable.toggleRowSelection(row)
3086
               }
3087
               }
3088
+            }
3087
             })
3089
             })
3088
           } else {
3090
           } else {
3089
             this.$refs.multipleTable.clearSelection()
3091
             this.$refs.multipleTable.clearSelection()
3090
           }
3092
           }
3091
-          this.$message.error(row.drug_name + '库存不足')
3092
-          return
3093
+          if (row.is_project == 0 || row.is_project == 2){
3094
+            this.$message.error(row.drug_name + '库存不足')
3095
+            return 
3096
+          }
3097
+        
3093
        }
3098
        }
3094
       }
3099
       }
3095
 
3100
 

File diff suppressed because it is too large
+ 1775 - 0
src/xt_pages/outpatientCharges/chargeDetailManagement.vue


+ 373 - 0
src/xt_pages/outpatientCharges/componenttwo/ChargePrescriptionTable.vue View File

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="prescription.type == 1" :data="prescription.advices" border style="width: 99%;"
4
+              :row-style="{ color: '#303133' }"
5
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
6
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
7
+      <el-table-column align="center" prop="name" label="名称">
8
+        <template slot-scope="scope"><span :title='scope.row.drug_name'>{{ scope.row.drug_name }}</span></template>
9
+      </el-table-column>
10
+
11
+      <el-table-column align="center" prop="name" width="90" label="单次用量">
12
+        <template slot-scope="scope">
13
+          <!--<el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>-->
14
+          <div>{{scope.row.single_dose}}&nbsp;&nbsp;{{scope.row.single_dose_unit}}</div>
15
+        </template>
16
+      </el-table-column>
17
+      <el-table-column align="center" prop="name" width="100" label="用法">
18
+        <template slot-scope="scope">
19
+          <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
20
+          <div> {{scope.row.delivery_way}}</div>
21
+
22
+        </template>
23
+      </el-table-column>
24
+      <el-table-column align="center" prop="name" width="100" label="频率">
25
+        <template slot-scope="scope">
26
+          <div> {{scope.row.execution_frequency}}</div>
27
+
28
+          <!--<el-input v-model="scope.row.execution_frequency" readonly></el-input>-->
29
+        </template>
30
+      </el-table-column>
31
+
32
+<!--      <el-table-column align="center" prop="day" width="50" label="天数">-->
33
+<!--        <template slot-scope="scope">{{scope.row.day}}天</template>-->
34
+<!--      </el-table-column>-->
35
+
36
+      <el-table-column align="center" prop="name" width="100" label="总量">
37
+        <template slot-scope="scope">
38
+          <!--<el-input v-model="scope.row.prescribing_number" style="width:60%" readonly placeholder=""></el-input>-->
39
+          <div>{{scope.row.prescribing_number}}&nbsp;&nbsp;{{scope.row.prescribing_number_unit}}</div>
40
+        </template>
41
+      </el-table-column>
42
+      <el-table-column align="center" prop="name" width="60" label="单价">
43
+        <template slot-scope="scope">
44
+          <div> {{scope.row.retail_price}}元</div>
45
+
46
+          <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
47
+        </template>
48
+      </el-table-column>
49
+
50
+      <el-table-column align="center" prop="name" width="60" label="总价">
51
+        <template slot-scope="scope">
52
+          <div> {{(scope.row.retail_price * scope.row.prescribing_number).toFixed(2)}}元</div>
53
+        </template>
54
+      </el-table-column>
55
+
56
+
57
+      <el-table-column align="center" prop="name" width="60" label="执行状态">
58
+        <template slot-scope="scope">
59
+          <div> {{scope.row.execution_state == 1?'已执行':'未执行'}}</div>
60
+        </template>
61
+      </el-table-column>
62
+
63
+
64
+
65
+      <el-table-column align="center" prop="name" width="60" label="医保编码">
66
+        <template slot-scope="scope">
67
+          <div> {{scope.row.code}}</div>
68
+        </template>
69
+      </el-table-column>
70
+
71
+
72
+      <el-table-column align="center" prop="name" width="60" label="规格/型号">
73
+        <template slot-scope="scope">
74
+          <div> {{scope.row.spec}}</div>
75
+        </template>
76
+      </el-table-column>
77
+
78
+      <el-table-column align="center" prop="name" width="60" label="金额">
79
+        <template slot-scope="scope">
80
+          <div> {{scope.row.det_item_fee_sumamt}}</div>
81
+        </template>
82
+      </el-table-column>
83
+
84
+
85
+      <el-table-column align="center" prop="name" width="60" label="生产厂家">
86
+        <template slot-scope="scope">
87
+          <div> {{getName(scope.row.name_id)}}</div>
88
+        </template>
89
+      </el-table-column>
90
+
91
+
92
+
93
+      <el-table-column align="center" prop="name" width="60" label="全自费金额">
94
+        <template slot-scope="scope">
95
+          <div> {{scope.row.fulamt_ownpay_amt}}元</div>
96
+        </template>
97
+      </el-table-column>
98
+
99
+
100
+
101
+      <el-table-column align="center" prop="name" width="60" label="超限价金额">
102
+        <template slot-scope="scope">
103
+          <div> {{scope.row.overlmt_amt}}元</div>
104
+        </template>
105
+      </el-table-column>
106
+
107
+
108
+      <el-table-column align="center" prop="name" width="60" label="先行自付金额">
109
+        <template slot-scope="scope">
110
+          <div> {{scope.row.preselfpay_amt}}元</div>
111
+        </template>
112
+      </el-table-column>
113
+
114
+
115
+      <el-table-column align="center" prop="name" width="60" label="符合正常范围金额">
116
+        <template slot-scope="scope">
117
+          <div> {{scope.row.inscp_scp_amt}}元</div>
118
+        </template>
119
+      </el-table-column>
120
+
121
+
122
+
123
+
124
+      <el-table-column align="center" prop="name" width="50" label="备注">
125
+        <template slot-scope="scope">
126
+          <!--<el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>-->
127
+          <div> {{scope.row.remark}}</div>
128
+        </template>
129
+      </el-table-column>
130
+    </el-table>
131
+    <el-table v-if="prescription.type == 2" :data="prescription.project" border style="width: 99%;"
132
+              :row-style="{ color: '#303133' }"
133
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
134
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
135
+      <el-table-column align="center" prop="project_name" label="名称">
136
+        <template slot-scope="scope">{{ scope.row.project_name }}</template>
137
+      </el-table-column>
138
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
139
+        <template slot-scope="scope">{{scope.row.statistical_classification}}</template>
140
+      </el-table-column>
141
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
142
+        <template slot-scope="scope">{{scope.row.single_dose}}{{scope.row.unit}}</template>
143
+
144
+      </el-table-column>
145
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
146
+        <template slot-scope="scope">
147
+          <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
148
+          {{scope.row.delivery_way}}
149
+
150
+        </template>
151
+      </el-table-column>
152
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
153
+        <template slot-scope="scope">
154
+          <!--<el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>-->
155
+          {{scope.row.execution_frequency}}
156
+
157
+        </template>
158
+      </el-table-column>
159
+<!--      <el-table-column align="center" prop="number_days" width="50" label="天数">-->
160
+<!--        <template slot-scope="scope">-->
161
+<!--          &lt;!&ndash;<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>&ndash;&gt;-->
162
+<!--          {{scope.row.number_days}}天-->
163
+
164
+<!--        </template>-->
165
+
166
+<!--      </el-table-column>-->
167
+      <el-table-column align="center" prop="total" width="50" label="总量">
168
+        <template slot-scope="scope">
169
+          <div style="display:flex;">
170
+            <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
171
+            {{scope.row.total}}
172
+
173
+            <div>{{scope.row.unit}}</div>
174
+
175
+          </div>
176
+        </template>
177
+      </el-table-column>
178
+      <el-table-column align="center" prop="name" width="50" label="单价">
179
+        <template slot-scope="scope">
180
+          <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
181
+          {{scope.row.price}}元
182
+
183
+        </template>
184
+      </el-table-column>
185
+
186
+      <el-table-column align="center" prop="name" width="60" label="总价">
187
+        <template slot-scope="scope">
188
+          <div> {{(scope.row.total * scope.row.price).toFixed(2)}}元</div>
189
+        </template>
190
+      </el-table-column>
191
+
192
+      <el-table-column align="center" prop="name" width="60" label="执行状态">
193
+        <template slot-scope="scope">
194
+          <div> {{scope.row.execution_state == 1?'已执行':'未执行'}}</div>
195
+        </template>
196
+      </el-table-column>
197
+
198
+
199
+
200
+
201
+      <el-table-column align="center" prop="name" width="60" label="医保编码">
202
+        <template slot-scope="scope">
203
+          <div> {{scope.row.medical_code}}</div>
204
+        </template>
205
+      </el-table-column>
206
+
207
+
208
+      <el-table-column align="center" prop="name" width="60" label="规格/型号">
209
+        <template slot-scope="scope">
210
+          <div> {{scope.row.spec}}</div>
211
+        </template>
212
+      </el-table-column>
213
+
214
+      <el-table-column align="center" prop="name" width="60" label="金额">
215
+        <template slot-scope="scope">
216
+          <div> {{scope.row.det_item_fee_sumamt}}元</div>
217
+        </template>
218
+      </el-table-column>
219
+
220
+
221
+      <el-table-column align="center" prop="name" width="60" label="生产厂家">
222
+        <template slot-scope="scope">
223
+          <div> {{getName(scope.row.name_id)}}</div>
224
+        </template>
225
+      </el-table-column>
226
+
227
+
228
+
229
+      <el-table-column align="center" prop="name" width="60" label="全自费金额">
230
+        <template slot-scope="scope">
231
+          <div> {{scope.row.fulamt_ownpay_amt}}元</div>
232
+        </template>
233
+      </el-table-column>
234
+
235
+
236
+
237
+      <el-table-column align="center" prop="name" width="60" label="超限价金额">
238
+        <template slot-scope="scope">
239
+          <div> {{scope.row.overlmt_amt}}元</div>
240
+        </template>
241
+      </el-table-column>
242
+
243
+
244
+      <el-table-column align="center" prop="name" width="60" label="先行自付金额">
245
+        <template slot-scope="scope">
246
+          <div> {{scope.row.preselfpay_amt}}元</div>
247
+        </template>
248
+      </el-table-column>
249
+
250
+
251
+      <el-table-column align="center" prop="name" width="60" label="符合正常范围金额">
252
+        <template slot-scope="scope">
253
+          <div> {{scope.row.inscp_scp_amt}}元</div>
254
+        </template>
255
+      </el-table-column>
256
+
257
+
258
+
259
+
260
+      <el-table-column align="center" prop="name" width="50" label="备注">
261
+        <template slot-scope="scope">
262
+          <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
263
+          {{scope.row.remark}}
264
+
265
+        </template>
266
+      </el-table-column>
267
+    </el-table>
268
+
269
+    <div class="additionalBox">
270
+      <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
271
+        <span :title="item.item_name">{{item.item_name}}</span>
272
+        <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
273
+        共
274
+        <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>
275
+        次
276
+        <!--<i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>-->
277
+      </div>
278
+    </div>
279
+  </div>
280
+</template>
281
+
282
+<script>
283
+  import { getInitData } from '@/api/his/his'
284
+  import { getDictionaryDataConfig} from "@/utils/data";
285
+
286
+  export default {
287
+    props: {
288
+      prescription: Object,
289
+      manufacturers:Array,
290
+
291
+    },
292
+    data() {
293
+      return {
294
+        drugways: [],
295
+        efs: []
296
+      }
297
+    }, mounted() {
298
+      getInitData().then(response => {
299
+        if (response.data.state == 0) {
300
+          this.$message.error(response.data.msg);
301
+          return false
302
+        } else {
303
+          this.drugways = response.data.data.drugways;
304
+          this.efs = response.data.data.efs
305
+        }
306
+      })
307
+    }, methods:  {
308
+
309
+      getName(id){
310
+        console.log("!!!!!!!!!")
311
+
312
+        let  name = ""
313
+        for(let i = 0; i  < this.manufacturers.length; i++){
314
+          console.log(this.manufacturers[i].manufacturer_name)
315
+          if(id == this.manufacturers[i].id){
316
+            console.log("!!!!!!!!!")
317
+            name =  this.manufacturers[i].manufacturer_name
318
+          }
319
+        }
320
+        return name
321
+
322
+      },
323
+      getGroup(id){
324
+        var name = "";
325
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category');
326
+        console.log("2235",statistics_category);
327
+        for(let i=0;i<statistics_category.length;i++){
328
+          if(id == statistics_category[i].id){
329
+            name = statistics_category[i].name
330
+          }
331
+        }
332
+        return name
333
+      },
334
+
335
+
336
+    }
337
+  }
338
+</script>
339
+
340
+<style lang="scss">
341
+  .prescriptionTable{
342
+  .additionalBox{
343
+    margin-top: 20px;
344
+    display: flex;
345
+    flex-wrap: wrap;
346
+  .additionalOne{
347
+    margin-right:20px;
348
+    margin-bottom:10px;
349
+    display: flex;
350
+    align-items: center;
351
+  >span{
352
+    white-space: nowrap;
353
+    overflow: hidden;
354
+    text-overflow: ellipsis;
355
+    width:80px;
356
+    display: inline-block;
357
+    font-size: 14px;
358
+  }
359
+  }
360
+  .deleteIcon{
361
+    color:red;
362
+    margin-left:5px;
363
+  }
364
+  }
365
+  .el-table th .cell, .el-table td .cell{
366
+    padding: 0 2px;
367
+    white-space: pre-line;
368
+  }
369
+  .el-icon-delete{
370
+    color:red;
371
+  }
372
+  }
373
+</style>

+ 196 - 0
src/xt_pages/outpatientCharges/componenttwo/chargeMonthPrescriptionTable.vue View File

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="prescription&&prescription.type == 1" :data="prescription.advices" border style="width: 99%;"
4
+              :row-style="{ color: '#303133' }"
5
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
6
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
7
+      <el-table-column align="center" prop="name" label="名称">
8
+        <template slot-scope="scope"><span :title='scope.row.drug_name'>{{ scope.row.drug_name }}</span></template>
9
+      </el-table-column>
10
+
11
+      <el-table-column align="center" prop="name" width="90" label="单次用量">
12
+        <template slot-scope="scope">
13
+          <!--<el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>-->
14
+          <div>{{scope.row.single_dose}}&nbsp;&nbsp;{{scope.row.single_dose_unit}}</div>
15
+        </template>
16
+      </el-table-column>
17
+      <el-table-column align="center" prop="name" width="100" label="用法">
18
+        <template slot-scope="scope">
19
+          <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
20
+          <div> {{scope.row.delivery_way}}</div>
21
+
22
+        </template>
23
+      </el-table-column>
24
+      <el-table-column align="center" prop="name" width="100" label="频率">
25
+        <template slot-scope="scope">
26
+          <div> {{scope.row.execution_frequency}}</div>
27
+
28
+          <!--<el-input v-model="scope.row.execution_frequency" readonly></el-input>-->
29
+        </template>
30
+      </el-table-column>
31
+
32
+      <el-table-column align="center" prop="day" width="50" label="天数">
33
+        <template slot-scope="scope">{{scope.row.day}}天</template>
34
+      </el-table-column>
35
+
36
+      <el-table-column align="center" prop="name" width="100" label="总量">
37
+        <template slot-scope="scope">
38
+          <!--<el-input v-model="scope.row.prescribing_number" style="width:60%" readonly placeholder=""></el-input>-->
39
+          <div>{{scope.row.prescribing_number}}&nbsp;&nbsp;{{scope.row.prescribing_number_unit}}</div>
40
+        </template>
41
+      </el-table-column>
42
+      <el-table-column align="center" prop="name" width="60" label="单价">
43
+        <template slot-scope="scope">
44
+          <div> {{scope.row.retail_price}}元</div>
45
+
46
+          <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
47
+        </template>
48
+      </el-table-column>
49
+      <el-table-column align="center" prop="name" width="50" label="备注">
50
+        <template slot-scope="scope">
51
+          <!--<el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>-->
52
+          <div> {{scope.row.remark}}</div>
53
+        </template>
54
+      </el-table-column>
55
+    </el-table>
56
+    <el-table v-if="prescription&&prescription.type == 2" :data="prescription.project" border style="width: 99%;"
57
+              :row-style="{ color: '#303133' }"
58
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
59
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
60
+      <el-table-column align="center" prop="project_name" label="名称">
61
+        <template slot-scope="scope">{{ scope.row.project_name }}</template>
62
+      </el-table-column>
63
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
64
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
65
+      </el-table-column>
66
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
67
+        <template slot-scope="scope">{{scope.row.single_dose}}{{scope.row.unit}}</template>
68
+
69
+      </el-table-column>
70
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
71
+        <template slot-scope="scope">
72
+          <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
73
+          {{scope.row.delivery_way}}
74
+
75
+        </template>
76
+      </el-table-column>
77
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
78
+        <template slot-scope="scope">
79
+          <!--<el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>-->
80
+          {{scope.row.execution_frequency}}
81
+
82
+        </template>
83
+      </el-table-column>
84
+      <el-table-column align="center" prop="number_days" width="50" label="天数">
85
+        <template slot-scope="scope">
86
+          <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
87
+          {{scope.row.number_days}}天
88
+
89
+        </template>
90
+
91
+      </el-table-column>
92
+      <el-table-column align="center" prop="total" width="50" label="总量">
93
+        <template slot-scope="scope">
94
+          <div style="display:flex;">
95
+            <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
96
+            {{scope.row.total}} {{scope.row.unit}}
97
+
98
+          </div>
99
+        </template>
100
+      </el-table-column>
101
+      <el-table-column align="center" prop="name" width="50" label="单价">
102
+        <template slot-scope="scope">
103
+          <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
104
+          {{scope.row.price}}元
105
+
106
+        </template>
107
+      </el-table-column>
108
+      <el-table-column align="center" prop="name" width="50" label="备注">
109
+        <template slot-scope="scope">
110
+          <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
111
+          {{scope.row.remark}}
112
+
113
+        </template>
114
+      </el-table-column>
115
+    </el-table>
116
+
117
+  </div>
118
+</template>
119
+
120
+<script>
121
+  import { getInitData } from '@/api/his/his'
122
+  import { getDictionaryDataConfig} from "@/utils/data";
123
+
124
+  export default {
125
+    props: {
126
+      prescription: Object
127
+    },
128
+    data() {
129
+      return {
130
+        drugways: [],
131
+        efs: []
132
+      }
133
+    }, mounted() {
134
+      getInitData().then(response => {
135
+        if (response.data.state == 0) {
136
+          this.$message.error(response.data.msg);
137
+          return false
138
+        } else {
139
+          this.drugways = response.data.data.drugways;
140
+          this.efs = response.data.data.efs
141
+        }
142
+      })
143
+    }, methods:  {
144
+
145
+
146
+      getGroup(id){
147
+        var name = "";
148
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category');
149
+        console.log("2235",statistics_category);
150
+        for(let i=0;i<statistics_category.length;i++){
151
+          if(id == statistics_category[i].id){
152
+            name = statistics_category[i].name
153
+          }
154
+        }
155
+        return name
156
+      },
157
+
158
+
159
+    }
160
+  }
161
+</script>
162
+
163
+<style lang="scss">
164
+  .prescriptionTable{
165
+  .additionalBox{
166
+    margin-top: 20px;
167
+    display: flex;
168
+    flex-wrap: wrap;
169
+  .additionalOne{
170
+    margin-right:20px;
171
+    margin-bottom:10px;
172
+    display: flex;
173
+    align-items: center;
174
+  >span{
175
+    white-space: nowrap;
176
+    overflow: hidden;
177
+    text-overflow: ellipsis;
178
+    width:80px;
179
+    display: inline-block;
180
+    font-size: 14px;
181
+  }
182
+  }
183
+  .deleteIcon{
184
+    color:red;
185
+    margin-left:5px;
186
+  }
187
+  }
188
+  .el-table th .cell, .el-table td .cell{
189
+    padding: 0 2px;
190
+    white-space: pre-line;
191
+  }
192
+  .el-icon-delete{
193
+    color:red;
194
+  }
195
+  }
196
+</style>

+ 5 - 5
src/xt_pages/outpatientCharges/listTemplate/printOne.vue View File

125
         return uParseTime(time, '{y}-{m}-{d}')
125
         return uParseTime(time, '{y}-{m}-{d}')
126
       },
126
       },
127
       getPage(){
127
       getPage(){
128
-        if(this.list.length <= 15){
128
+        if(this.list.length <= 16){
129
             this.page = 1
129
             this.page = 1
130
             this.pageArr.push(this.list.length)
130
             this.pageArr.push(this.list.length)
131
-        }else if(this.list.length > 15){
132
-            this.page = parseInt(this.list.length / 15)
133
-            let num = this.list.length % 15
131
+        }else if(this.list.length > 16){
132
+            this.page = parseInt(this.list.length / 16)
133
+            let num = this.list.length % 16
134
             for (var i=0;i<this.page;i++){
134
             for (var i=0;i<this.page;i++){
135
-                this.pageArr.push(15)
135
+                this.pageArr.push(16)
136
             }
136
             }
137
             if(num != 0){
137
             if(num != 0){
138
                 this.pageArr.push(num)
138
                 this.pageArr.push(num)

+ 42 - 33
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

79
       <div class="mainRight">
79
       <div class="mainRight">
80
 
80
 
81
         <div class="mainCell fixedCell" style="margin-bottom:10px;">
81
         <div class="mainCell fixedCell" style="margin-bottom:10px;">
82
-          <div v-if="org_id == 10454">
83
-            <el-button  size="small"
84
-                        @click="openZb(1)"
85
-                        v-if=" this.order.id == 0"
86
-                        type="primary">记账
87
-            </el-button>
88
-            <el-button   size="small"
89
-                         @click="openZb(2)"
90
-                         type="primary">撤销记账
91
-            </el-button>
92
-          </div>
93
 
82
 
94
-          <div v-if="org_id == 10206">
83
+
84
+          <div v-if="org_id == 10206  || org_id == 0">
95
             <el-button  size="small"
85
             <el-button  size="small"
96
                         @click="openZb(1)"
86
                         @click="openZb(1)"
97
                         v-if=" this.order.id == 0"
87
                         v-if=" this.order.id == 0"
103
             </el-button>
93
             </el-button>
104
           </div>
94
           </div>
105
 
95
 
106
-          <div  v-if="org_id != 10206 && org_id != 10340 && org_id != 10454">
96
+          <div  v-if="org_id != 10206 && org_id != 10340 && org_id != 0">
107
             <!--            <el-button size="small"-->
97
             <!--            <el-button size="small"-->
108
             <!--                       @click="openZb(1)"-->
98
             <!--                       @click="openZb(1)"-->
109
             <!--                       type="primary">登记-->
99
             <!--                       type="primary">登记-->
244
                                            v-if="((hisPatientInfo.id > 0 && items.curPrescriptions.order.id == 0) || items.curPrescriptions.order.order_status == 1 ||  items.curPrescriptions.order.order_status == 3) && org_id != 10340"
234
                                            v-if="((hisPatientInfo.id > 0 && items.curPrescriptions.order.id == 0) || items.curPrescriptions.order.order_status == 1 ||  items.curPrescriptions.order.order_status == 3) && org_id != 10340"
245
                                            size="small"
235
                                            size="small"
246
                                            @click="open(4,items.med_type,items.curPrescriptions.order,items.prescriptions)"
236
                                            @click="open(4,items.med_type,items.curPrescriptions.order,items.prescriptions)"
247
-                                           type="primary">收费  
237
+                                           type="primary">收费
248
                                 </el-button>
238
                                 </el-button>
249
                               </div>
239
                               </div>
250
                             </div>
240
                             </div>
252
                             <prescription-table ref="prescription_tables"
242
                             <prescription-table ref="prescription_tables"
253
                                               :prescription="items.curPrescriptions"
243
                                               :prescription="items.curPrescriptions"
254
                                               :manufacturers="manufacturers"></prescription-table>
244
                                               :manufacturers="manufacturers"></prescription-table>
255
-                          
245
+
256
                         </el-tabs>
246
                         </el-tabs>
257
 
247
 
258
                       <div class="costBox">
248
                       <div class="costBox">
325
                   <div>
315
                   <div>
326
                     <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
316
                     <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
327
 
317
 
328
-                      <el-form-item label="大病类别:" prop="sick_type" :validate-event="is_Name">
318
+                      <el-form-item label="大病类别:" prop="sick_type" >
329
                         <el-select style="margin-right:5px;width:100px;"
319
                         <el-select style="margin-right:5px;width:100px;"
330
                                    v-model="form.sick_type" placeholder="">
320
                                    v-model="form.sick_type" placeholder="">
331
                           <el-option
321
                           <el-option
337
                         </el-select>
327
                         </el-select>
338
                       </el-form-item>
328
                       </el-form-item>
339
 
329
 
340
-                      <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
330
+                      <el-form-item label="诊断:" prop="diagnosis" >
341
                         <el-select style="margin-right:5px;width:100px;"
331
                         <el-select style="margin-right:5px;width:100px;"
342
                                    v-model="form.diagnosis" multiple placeholder="">
332
                                    v-model="form.diagnosis" multiple placeholder="">
343
                           <el-option
333
                           <el-option
551
                     <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
541
                     <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
552
 
542
 
553
 
543
 
554
-                      <el-form-item label="大病类别:" prop="sick_type" :validate-event="is_Name">
544
+                      <el-form-item label="大病类别:" prop="sick_type" >
555
                         <el-select style="margin-right:5px;width:100px;"
545
                         <el-select style="margin-right:5px;width:100px;"
556
                                    v-model="form.sick_type" placeholder="">
546
                                    v-model="form.sick_type" placeholder="">
557
                           <el-option
547
                           <el-option
563
                         </el-select>
553
                         </el-select>
564
                       </el-form-item>
554
                       </el-form-item>
565
 
555
 
566
-                      <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
556
+                      <el-form-item label="诊断:" prop="diagnosis" >
567
                         <el-select style="margin-right:5px;width:100px;"
557
                         <el-select style="margin-right:5px;width:100px;"
568
                                    v-model="form.diagnosis" multiple placeholder="">
558
                                    v-model="form.diagnosis" multiple placeholder="">
569
                           <el-option
559
                           <el-option
781
                   <div>
771
                   <div>
782
                     <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
772
                     <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
783
 
773
 
784
-                      <el-form-item label="大病类别:" prop="sick_type" :validate-event="is_Name">
774
+                      <el-form-item label="大病类别:" prop="sick_type" >
785
                         <el-select style="margin-right:5px;width:100px;"
775
                         <el-select style="margin-right:5px;width:100px;"
786
                                    v-model="form.sick_type" placeholder="">
776
                                    v-model="form.sick_type" placeholder="">
787
                           <el-option
777
                           <el-option
793
                         </el-select>
783
                         </el-select>
794
                       </el-form-item>
784
                       </el-form-item>
795
 
785
 
796
-                      <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
786
+                      <el-form-item label="诊断:" prop="diagnosis" >
797
                         <el-select style="margin-right:5px;width:100px;"
787
                         <el-select style="margin-right:5px;width:100px;"
798
                                    v-model="form.diagnosis" multiple placeholder="">
788
                                    v-model="form.diagnosis" multiple placeholder="">
799
                           <el-option
789
                           <el-option
4468
           let two_count = 0
4458
           let two_count = 0
4469
 
4459
 
4470
           for (let i = 0; i < response.data.data.list.length; i++) {
4460
           for (let i = 0; i < response.data.data.list.length; i++) {
4471
-            if (response.data.data.list[i].his_patient.length > 0) {
4472
-              let obj = {
4473
-                id: response.data.data.list[i].id,
4474
-                name: response.data.data.list[i].name,
4475
-                number: response.data.data.list[i].his_patient[0].number,
4476
-                order_status: 0,
4477
-                his_patient_id: response.data.data.list[i].his_patient[0].id,
4478
-                order_number: '',
4479
-                order_id: 0,
4480
-                prescription: response.data.data.list[i].prescription
4461
+            if (this.org_id == 10206 || this.org_id == 0){
4462
+                let obj = {
4463
+                  id: response.data.data.list[i].id,
4464
+                  name: response.data.data.list[i].name,
4465
+                  order_status: 0,
4466
+                  order_number: '',
4467
+                  order_id: 0,
4468
+                  prescription: response.data.data.list[i].prescription
4469
+                }
4470
+                if(response.data.data.list[i].his_patient&& response.data.data.list[i].his_patient.length > 0){
4471
+                  obj["his_patient_id"] = response.data.data.list[i].his_patient[0].id
4472
+                  obj["number"] = response.data.data.list[i].his_patient[0].number
4473
+                }
4474
+
4475
+                this.all_table_data.push(obj)
4476
+            }else{
4477
+              if (response.data.data.list[i].his_patient.length > 0) {
4478
+                let obj = {
4479
+                  id: response.data.data.list[i].id,
4480
+                  name: response.data.data.list[i].name,
4481
+                  number: response.data.data.list[i].his_patient[0].number,
4482
+                  order_status: 0,
4483
+                  his_patient_id: response.data.data.list[i].his_patient[0].id,
4484
+                  order_number: '',
4485
+                  order_id: 0,
4486
+                  prescription: response.data.data.list[i].prescription
4487
+                }
4488
+                this.all_table_data.push(obj)
4481
               }
4489
               }
4482
-              this.all_table_data.push(obj)
4490
+
4483
             }
4491
             }
4484
 
4492
 
4485
           }
4493
           }
4755
       if (this.big_month_prescriptions.length > 0) {
4763
       if (this.big_month_prescriptions.length > 0) {
4756
         this.editableTabsValue = this.big_month_prescriptions[0].curMonthPrescriptions.name
4764
         this.editableTabsValue = this.big_month_prescriptions[0].curMonthPrescriptions.name
4757
       }
4765
       }
4758
-    }, getPName(med_type, index) {
4766
+    },
4767
+    getPName(med_type, index) {
4759
       var med_type = parseInt(med_type)
4768
       var med_type = parseInt(med_type)
4760
 
4769
 
4761
       if(this.org_id == 10206){
4770
       if(this.org_id == 10206){

+ 13 - 5
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue View File

3233
       this.$refs.additionalCharges.show()
3233
       this.$refs.additionalCharges.show()
3234
     },
3234
     },
3235
     selectDrugs(selection, row) {
3235
     selectDrugs(selection, row) {
3236
+    
3236
       // if(this.org_id == 10138 || this.org_id == 9671 || this.org_id == 9675 || this.org_id == 4 || this.org_id == 3877 || this.org_id == 10028 || this.org_id == 10243 || this.org_id == 10188 || this.org_id == 10245 || this.org_id == 9919 || this.org_id == 10106 || this.org_id == 9504 || this.org_id ==10215 || this.org_id == 10188 || this.org_id == 10265 || this.org_id == 10164 || this.org_id == 9956 || this.org_id == 10188 || this.org_id == 10191 || this.org_id == 10278 || this.org_id == 10217 || this.org_id ==10210 || this.org_id ==10318 || this.org_id ==10340){
3237
       // if(this.org_id == 10138 || this.org_id == 9671 || this.org_id == 9675 || this.org_id == 4 || this.org_id == 3877 || this.org_id == 10028 || this.org_id == 10243 || this.org_id == 10188 || this.org_id == 10245 || this.org_id == 9919 || this.org_id == 10106 || this.org_id == 9504 || this.org_id ==10215 || this.org_id == 10188 || this.org_id == 10265 || this.org_id == 10164 || this.org_id == 9956 || this.org_id == 10188 || this.org_id == 10191 || this.org_id == 10278 || this.org_id == 10217 || this.org_id ==10210 || this.org_id ==10318 || this.org_id ==10340){
3237
       //     if (row.count <= 0) {
3238
       //     if (row.count <= 0) {
3238
       //       if (selection) {
3239
       //       if (selection) {
3263
       //     }
3264
       //     }
3264
       // }
3265
       // }
3265
 
3266
 
3266
-      if(row.is_user!=1 &&  this.org_id != 10206 && this.org_id != 0){
3267
+      if(row.is_user!=1 &&  this.org_id != 10206){
3268
+        console.log("row.sum_count",row)
3267
         if (row.sum_count <= 0) {
3269
         if (row.sum_count <= 0) {
3268
         if (selection) {
3270
         if (selection) {
3269
           selection.forEach(row => {
3271
           selection.forEach(row => {
3270
-            if (row.sum_count <= 0) {
3271
-              this.$refs.multipleTable.toggleRowSelection(row)
3272
+            if(row.is_project!=1){
3273
+              if ( row.sum_count <= 0) {
3274
+                this.$refs.multipleTable.toggleRowSelection(row)
3275
+              }
3272
             }
3276
             }
3277
+            
3273
           })
3278
           })
3274
         } else {
3279
         } else {
3275
           this.$refs.multipleTable.clearSelection()
3280
           this.$refs.multipleTable.clearSelection()
3276
         }
3281
         }
3277
-        this.$message.error(row.drug_name + '库存不足')
3278
-        return
3282
+        if (row.is_project == 0 || row.is_project == 2){
3283
+          this.$message.error(row.drug_name + '库存不足')
3284
+          return 
3285
+        }
3279
        }
3286
        }
3280
       }
3287
       }
3281
 
3288
 
3555
       this.teamList = row
3562
       this.teamList = row
3556
     },
3563
     },
3557
     selectChange(selection, row) {
3564
     selectChange(selection, row) {
3565
+    
3558
       // if(this.org_id == 10138 || this.org_id == 9671 || this.org_id == 9675 || this.org_id == 4 || this.org_id ==3877 || this.org_id == 10028 || this.org_id == 10243 || this.org_id == 10188 || this.org_id ==10245 || this.org_id == 9919  || this.org_id == 10106 || this.org_id == 9504 || this.org_id ==10215 ||  this.org_id == 10188 || this.org_id == 10265 || this.org_id == 10164 || this.org_id == 9956 || this.org_id == 10188 || this.org_id == 10191 || this.org_id == 10278 || this.org_id == 10217 || this.org_id ==10210 || this.org_id ==10318 || this.org_id ==10340){
3566
       // if(this.org_id == 10138 || this.org_id == 9671 || this.org_id == 9675 || this.org_id == 4 || this.org_id ==3877 || this.org_id == 10028 || this.org_id == 10243 || this.org_id == 10188 || this.org_id ==10245 || this.org_id == 9919  || this.org_id == 10106 || this.org_id == 9504 || this.org_id ==10215 ||  this.org_id == 10188 || this.org_id == 10265 || this.org_id == 10164 || this.org_id == 9956 || this.org_id == 10188 || this.org_id == 10191 || this.org_id == 10278 || this.org_id == 10217 || this.org_id ==10210 || this.org_id ==10318 || this.org_id ==10340){
3559
       //    if (row.stock_count <= 0) {
3567
       //    if (row.stock_count <= 0) {
3560
       //     if (row.type == 3) {
3568
       //     if (row.type == 3) {

+ 3 - 3
src/xt_pages/qcd/indicatorControlAnalysis/components/office.vue View File

45
         :editable="false"
45
         :editable="false"
46
         style="width: 150px;"
46
         style="width: 150px;"
47
         type="date"
47
         type="date"
48
-        :picker-options="pickerOptions"
48
+       
49
         placeholder="选择日期时间"
49
         placeholder="选择日期时间"
50
         align="right"
50
         align="right"
51
         format="yyyy-MM-dd"
51
         format="yyyy-MM-dd"
57
         prefix-icon="el-icon-date"
57
         prefix-icon="el-icon-date"
58
         @change="changeEndTime"
58
         @change="changeEndTime"
59
         :editable="false"
59
         :editable="false"
60
-        :picker-options="pickerOptions"
60
+        
61
         style="width: 150px;"
61
         style="width: 150px;"
62
         type="date"
62
         type="date"
63
         placeholder="选择日期时间"
63
         placeholder="选择日期时间"
149
 
149
 
150
         pickerOptions: {
150
         pickerOptions: {
151
           disabledDate(time) {
151
           disabledDate(time) {
152
-            let threeMonths = new Date(new Date().setFullYear(new Date().getFullYear() - 1)).getTime() - 24 * 3600 * 1000
152
+            let threeMonths = new Date(new Date().setFullYear(new Date().getFullYear() - 2)).getTime() - 24 * 3600 * 1000
153
             return time.getTime() > Date.now() || time.getTime() < threeMonths
153
             return time.getTime() > Date.now() || time.getTime() < threeMonths
154
 
154
 
155
           }
155
           }

+ 3 - 3
src/xt_pages/qcd/indicatorControlAnalysis/components/personal.vue View File

65
         :editable="false"
65
         :editable="false"
66
         style="width: 150px;"
66
         style="width: 150px;"
67
         type="date"
67
         type="date"
68
-        :picker-options="pickerOptions"
68
+       
69
         placeholder="选择日期时间"
69
         placeholder="选择日期时间"
70
         align="right"
70
         align="right"
71
         format="yyyy-MM-dd"
71
         format="yyyy-MM-dd"
77
         prefix-icon="el-icon-date"
77
         prefix-icon="el-icon-date"
78
         @change="changeEndTime"
78
         @change="changeEndTime"
79
         :editable="false"
79
         :editable="false"
80
-        :picker-options="pickerOptions"
80
+      
81
         style="width: 150px;"
81
         style="width: 150px;"
82
         type="date"
82
         type="date"
83
         placeholder="选择日期时间"
83
         placeholder="选择日期时间"
147
 
147
 
148
         pickerOptions: {
148
         pickerOptions: {
149
           disabledDate(time) {
149
           disabledDate(time) {
150
-            let threeMonths = new Date(new Date().setFullYear(new Date().getFullYear() - 1)).getTime() - 24 * 3600 * 1000
150
+            let threeMonths = new Date(new Date().setFullYear(new Date().getFullYear() - 2)).getTime() - 24 * 3600 * 1000
151
             return time.getTime() > Date.now() || time.getTime() < threeMonths
151
             return time.getTime() > Date.now() || time.getTime() < threeMonths
152
 
152
 
153
           }
153
           }

+ 72 - 0
src/xt_pages/stock/detail/stockOutDetail.vue View File

13
       size="small"
13
       size="small"
14
       @click="exportListDetail"
14
       @click="exportListDetail"
15
       type="primary"
15
       type="primary"
16
+      v-if="orgId !=10480 && orgId!=0"
16
       >明细导出
17
       >明细导出
18
+     
19
+    </el-button>
20
+    <el-button
21
+      style="float: right;margin-right:10px"
22
+      size="small"
23
+      @click="exportListDetailOne"
24
+      type="primary"
25
+      v-if="orgId ==10480 || orgId == 0"
26
+      >明细导出
27
+     
17
     </el-button>
28
     </el-button>
18
      <el-button
29
      <el-button
19
       style="float: right;margin-right:10px"
30
       style="float: right;margin-right:10px"
240
     this.fetchAllAdminUsers();
251
     this.fetchAllAdminUsers();
241
     this.goodUnit = this.$store.getters.good_unit
252
     this.goodUnit = this.$store.getters.good_unit
242
     var org_id = this.$store.getters.xt_user.org.id
253
     var org_id = this.$store.getters.xt_user.org.id
254
+   
243
     this.orgId = org_id
255
     this.orgId = org_id
244
 
256
 
245
 
257
 
707
         return uParseTime(val, "{y}-{m}-{d}");
719
         return uParseTime(val, "{y}-{m}-{d}");
708
       }
720
       }
709
     },
721
     },
722
+    getTimeOne: function(val) {
723
+      if (val == 0) {
724
+        return "";
725
+      } else {
726
+        return uParseTime(val, "{y}-{m}-{d} {h}:{i}");
727
+      }
728
+    },
710
     PrintAction: function() {
729
     PrintAction: function() {
711
       window.sessionStorage.setItem('start',this.start_time)
730
       window.sessionStorage.setItem('start',this.start_time)
712
       window.sessionStorage.setItem('end',this.end_time)
731
       window.sessionStorage.setItem('end',this.end_time)
936
             total += this.tableDataList[i].count * this.tableDataList[i].price
955
             total += this.tableDataList[i].count * this.tableDataList[i].price
937
           }
956
           }
938
           this.tableDataList[i].in_price = this.tableDataList[i].WarehousingInfoNight.price
957
           this.tableDataList[i].in_price = this.tableDataList[i].WarehousingInfoNight.price
958
+
959
+          this.tableDataList[i].expiry_date = this.getTime(this.tableDataList[i].expiry_date)
939
         }
960
         }
940
         obj.total_price = total.toFixed(2)
961
         obj.total_price = total.toFixed(2)
941
         console.log("WOHHAHHAHAH",this.tableDataList)
962
         console.log("WOHHAHHAHAH",this.tableDataList)
956
           this.downloadLoading = false
977
           this.downloadLoading = false
957
         })
978
         })
958
      },
979
      },
980
+
981
+     exportListDetailOne(){
982
+
983
+       console.log("hhahah",this.tableDataList)
984
+       var obj = {index:"合计",out_total_price:0,in_total_price:0}
985
+       var out_total = 0
986
+       var in_total =0
987
+       if(this.tableDataList!=null&&this.tableDataList.length>0){
988
+           for(let i=0;i<this.tableDataList.length;i++){
989
+              this.tableDataList[i].index = i+1
990
+              this.tableDataList[i].good_type_name = this.typeName(this.tableDataList[i].good_type_id)
991
+              this.tableDataList[i].good_name = this.typeNameOne(this.tableDataList[i].good_id)
992
+              this.tableDataList[i].specification_name = this.specificationName(this.tableDataList[i].good_id)
993
+              this.tableDataList[i].batch_number =this.tableDataList[i].WarehousingInfoNight.number
994
+              this.tableDataList[i].manufacturer_name = this.getManufacturerNameOne(this.tableDataList[i].GoodInfo.manufacturer)
995
+              this.tableDataList[i].in_price = this.tableDataList[i].WarehousingInfoNight.price
996
+              this.tableDataList[i].out_count = this.tableDataList[i].count
997
+              this.tableDataList[i].max_unit = this.tableDataList[i].GoodInfo.max_unit
998
+              this.tableDataList[i].out_total_price = (this.tableDataList[i].count * this.tableDataList[i].price).toFixed(2)
999
+              this.tableDataList[i].in_total_price = (this.tableDataList[i].count * this.tableDataList[i].WarehousingInfoNight.price).toFixed(2)
1000
+              this.tableDataList[i].patient_name =  this.getPatientName(this.tableDataList[i].patient_id)
1001
+              this.tableDataList[i].ctimeOne = this.getTime(this.tableDataList[i].ctime)
1002
+              this.tableDataList[i].ctimeTwo = this.getTimeOne(this.tableDataList[i].ctime)
1003
+              this.tableDataList[i].expiry_date = this.getTime(this.tableDataList[i].expiry_date)
1004
+              this.tableDataList[i].project_name ="居民报销"
1005
+            
1006
+              out_total += this.tableDataList[i].count * this.tableDataList[i].price
1007
+              in_total += this.tableDataList[i].count *this.tableDataList[i].WarehousingInfoNight.price
1008
+
1009
+           }
1010
+       }
1011
+       obj.out_total_price = out_total.toFixed(2)
1012
+       obj.in_total_price = in_total.toFixed(2)
1013
+       this.tableDataList.push(obj)
1014
+
1015
+      import('@/vendor/Export2Excel').then(excel => {
1016
+       const tHeader = ['序号','耗材名称', '耗材规格', '批号','生成厂家','耗材类型','报销方式','入库单价','出库单价','出库数量','实际出库数量','单位','出库金额','实际出库金额','实际成本','出库对象','有效日期','出库日期','操作时间','出库单号','备注']
1017
+       const filterVal = ['index','good_name', 'specification_name', 'batch_number','manufacturer_name','good_type_name','project_name','in_price','price','out_count','out_count','max_unit','out_total_price','out_total_price','in_total_price','patient_name','expiry_date','ctimeOne','ctimeTwo','warehouse_out_order_number','remark']
1018
+
1019
+       const data = this.formatJson(filterVal, this.tableDataList)
1020
+
1021
+
1022
+        excel.export_json_to_excel({
1023
+           header: tHeader,
1024
+           data,
1025
+           filename: '耗材出库明细'
1026
+         })
1027
+          this.downloadLoading = false
1028
+        })
1029
+
1030
+     },
959
      formatJson(filterVal, jsonData) {
1031
      formatJson(filterVal, jsonData) {
960
         return jsonData.map(v => filterVal.map(j => v[j]));
1032
         return jsonData.map(v => filterVal.map(j => v[j]));
961
      },
1033
      },

+ 103 - 9
src/xt_pages/stock/drugs/components/drugOutDetail.vue View File

9
       >打印
9
       >打印
10
     </el-button>
10
     </el-button>
11
      <el-button
11
      <el-button
12
-      v-if="org_id != 10265"
12
+      v-if="org_id != 10265 && org_id!=0&&org_id!=10480"
13
       style="float: right;margin-right:10px"
13
       style="float: right;margin-right:10px"
14
       size="small"
14
       size="small"
15
       @click="exportListDetai"
15
       @click="exportListDetai"
23
       @click="exportListDetaiOne"
23
       @click="exportListDetaiOne"
24
       type="primary"
24
       type="primary"
25
       >明细导出
25
       >明细导出
26
+    </el-button>
27
+    <el-button
28
+      v-if="org_id == 10480 || org_id == 0"
29
+      style="float: right;margin-right:10px"
30
+      size="small"
31
+      @click="exportListDetaiTwo"
32
+      type="primary"
33
+      >明细导出
26
     </el-button>
34
     </el-button>
27
      <el-button
35
      <el-button
28
       style="float: right;margin-right:10px"
36
       style="float: right;margin-right:10px"
414
         return uParseTime(val, "{y}-{m}-{d}");
422
         return uParseTime(val, "{y}-{m}-{d}");
415
       }
423
       }
416
     },
424
     },
425
+    getTimeOne: function(val) {
426
+      if (val == 0) {
427
+        return "";
428
+      } else {
429
+        return uParseTime(val, "{y}-{m}-{d} {h}:{i}");
430
+      }
431
+    },
417
     PrintAction: function() {
432
     PrintAction: function() {
418
       //  window.sessionStorage.setItem('start_out_time',this.start_time)
433
       //  window.sessionStorage.setItem('start_out_time',this.start_time)
419
       //  window.sessionStorage.setItem('end_out_time',this.end_time)
434
       //  window.sessionStorage.setItem('end_out_time',this.end_time)
494
 
509
 
495
           }
510
           }
496
            console.log("toal_p3232332332233232",total_price)
511
            console.log("toal_p3232332332233232",total_price)
497
-           order.push({
498
-            warehouse_out_order_number: "合计",
499
-            is_total: 1,
500
-            specification_name:"",
501
-            ctime:"",
502
-            total_price:total_price,
503
-          });
504
-
512
+           if(this.org_id!=0&&this.org_id!=10480){
513
+              order.push({
514
+              warehouse_out_order_number: "合计",
515
+              is_total: 1,
516
+              specification_name:"",
517
+              ctime:"",
518
+              total_price:total_price,
519
+            });
520
+           }
521
+          
505
           for(let i=0;i<order.length;i++){
522
           for(let i=0;i<order.length;i++){
506
             order[i].total_price = order[i].total_price.toFixed(2)
523
             order[i].total_price = order[i].total_price.toFixed(2)
507
           }
524
           }
782
        const data = this.formatJson(filterVal, this.tableData)
799
        const data = this.formatJson(filterVal, this.tableData)
783
 
800
 
784
 
801
 
802
+       excel.export_json_to_excel({
803
+           header: tHeader,
804
+           data,
805
+           filename: '药品出库明细'
806
+         })
807
+          this.downloadLoading = false
808
+      })
809
+    },
810
+
811
+    exportListDetaiTwo(){
812
+      var obj = {index:"合计",out_total_price:0,in_total_price:0}
813
+       var out_total = 0
814
+       var in_total =0
815
+      console.log("tatbledateawowowo",this.tableData)
816
+ 
817
+      for(let i=0;i<this.tableData.length;i++){
818
+         if(this.tableData[i].is_total == 0){
819
+            this.tableData[i].index = i+1
820
+            if(this.tableData[i].drug_type == 1){
821
+              this.tableData[i].drugtype = "西药"
822
+            }
823
+            if(this.tableData[i].drug_type == 2){
824
+              this.tableData[i].drugtype = "草药"
825
+            }
826
+            if(this.tableData[i].drug_type == 3){
827
+              this.tableData[i].drugtype = "成药"
828
+            }
829
+            this.tableData[i].specification_name = this.tableData[i].dose + this.tableData[i].dose_unit +"*" + this.tableData[i].min_number + this.tableData[i].min_unit +  "/" + this.tableData[i].max_unit
830
+            this.tableData[i].time = this.getTime(this.tableData[i].ctime)
831
+            this.tableData[i].user_name = this.getAdminUser(this.tableData[i].creater)
832
+            this.tableData[i].manufacturer_name = this.getManufacturerName(this.tableData[i].manufacturer)
833
+            this.tableData[i].out_count = this.tableData[i].count
834
+            this.tableData[i].in_retail_price = (this.tableData[i].in_price/this.tableData[i].min_number).toFixed(2)
835
+            this.tableData[i].total = (this.tableData[i].count * this.tableData[i].price)
836
+            this.tableData[i].patient_name = this.getPatientName(this.tableData[i].patient_id) 
837
+            if(this.tableData[i].count_unit == this.tableData[i].min_unit && this.tableData[i].max_unit!=this.tableData[i].min_unit){
838
+                this.tableData[i].out_total_price = (this.tableData[i].count * this.tableData[i].price)
839
+                this.tableData[i].in_total_price =  this.tableData[i].in_retail_price * this.tableData[i].count
840
+            }
841
+            if(this.tableData[i].count_unit == this.tableData[i].max_unit && this.tableData[i].max_unit !=this.tableData[i].min_unit){
842
+              this.tableData[i].out_total_price = (this.tableData[i].count * this.tableData[i].price)*this.tableData[i].min_number
843
+              this.tableData[i].in_total_price =  this.tableData[i].min_number * (this.tableData[i].count * this.tableData[i].in_retail_price)
844
+            }
845
+            if(this.tableData[i].count_unit == this.tableData[i].max_unit && this.tableData[i].max_unit ==this.tableData[i].min_unit){
846
+              this.tableData[i].out_total_price = (this.tableData[i].count * this.tableData[i].price)*this.tableData[i].min_number
847
+
848
+              this.tableData[i].in_total_price =  this.tableData[i].min_number * (this.tableData[i].count * this.tableData[i].in_retail_price)
849
+            }
850
+
851
+            this.tableData[i].project_name = "居民医保"
852
+
853
+            this.tableData[i].expiry_date = this.getTime(this.tableData[i].expiry_date)
854
+
855
+            
856
+            this.tableData[i].ctimeOne = this.getTime(this.tableData[i].ctime)
857
+
858
+            this.tableData[i].ctimeTwo = this.getTimeOne(this.tableData[i].ctime)
859
+            
860
+            out_total += this.tableData[i].out_total_price 
861
+            in_total += this.tableData[i].in_total_price
862
+         }
863
+       }
864
+       obj.out_total_price = out_total.toFixed(2)
865
+       obj.in_total_price = in_total.toFixed(2)
866
+       this.tableData.push(obj)
867
+
868
+      import('@/vendor/Export2Excel').then(excel => {
869
+        const tHeader = ['序号','药品名称', '药品规格', '批号','生成厂家','药品类型','报销方式','入库单价','出库单价','出库数量','实际出库数量','单位','出库金额','实际出库金额','实际成本','出库对象','有效日期','出库日期','操作时间','出库单号','备注']
870
+        const filterVal = ['index','drug_name', 'specification_name', 'batch_number','manufacturer_name','drug_type','project_name','in_price','price','out_count','out_count','max_unit','out_total_price','out_total_price','in_total_price','patient_name','expiry_date','ctimeOne','ctimeTwo','warehouse_out_order_number','remark']
871
+
872
+       console.log("hwhhwhwhwhwhw",this.tableData)
873
+        
874
+      
875
+      
876
+       const data = this.formatJson(filterVal, this.tableData)
877
+
878
+
785
        excel.export_json_to_excel({
879
        excel.export_json_to_excel({
786
            header: tHeader,
880
            header: tHeader,
787
            data,
881
            data,