Browse Source

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

XMLWAN 3 years ago
parent
commit
2867723fe6

+ 5 - 4
src/api/supply.js View File

@@ -275,11 +275,12 @@ export function updatesupply(data) {
275 275
   })
276 276
 }
277 277
 
278
-// export function updatesupply(data) {
278
+
279
+// export function getsupplytype(params) {
279 280
 //   return request({
280
-//     url: '/api/supply/updatesupply' ,
281
-//     method: 'post',
282
-//     data: data
281
+//     url: '/api/supply/getsupplytype' ,
282
+//     method: 'get',
283
+//     params: params
283 284
 //   })
284 285
 // }
285 286
 

+ 1 - 1
src/xt_pages/hospitalStation/allListPrint.vue View File

@@ -153,7 +153,7 @@
153 153
               if (new_drug_ids[i].id == details[a].advice.drug_id && new_drug_ids[i].price == details[a].advice.price) {
154 154
                 obj['name'] = details[a].advice.advice_name;
155 155
                 obj['spec'] = details[a].advice.drug.drug_spec;
156
-                obj['unit'] = details[a].advice.drug.max_unit;
156
+                obj['unit'] = details[a].advice.drug.min_unit;
157 157
 
158 158
                 obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type);
159 159
                 obj['price'] = parseFloat(details[a].pric);

+ 9 - 9
src/xt_pages/hospitalStation/components/ChargePrescriptionTable.vue View File

@@ -29,9 +29,9 @@
29 29
         </template>
30 30
       </el-table-column>
31 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>
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 35
 
36 36
       <el-table-column align="center" prop="name" width="100" label="总量">
37 37
         <template slot-scope="scope">
@@ -150,14 +150,14 @@
150 150
 
151 151
         </template>
152 152
       </el-table-column>
153
-      <el-table-column align="center" prop="number_days" width="50" label="天数">
154
-        <template slot-scope="scope">
155
-          <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
156
-          {{scope.row.number_days}}天
153
+<!--      <el-table-column align="center" prop="number_days" width="50" label="天数">-->
154
+<!--        <template slot-scope="scope">-->
155
+<!--          &lt;!&ndash;<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>&ndash;&gt;-->
156
+<!--          {{scope.row.number_days}}天-->
157 157
 
158
-        </template>
158
+<!--        </template>-->
159 159
 
160
-      </el-table-column>
160
+<!--      </el-table-column>-->
161 161
       <el-table-column align="center" prop="total" width="50" label="总量">
162 162
         <template slot-scope="scope">
163 163
           <div style="display:flex;">

+ 14 - 1
src/xt_pages/hospitalStation/components/deskPrescription.vue View File

@@ -2752,11 +2752,21 @@ export default {
2752 2752
       //   return
2753 2753
       // }
2754 2754
 
2755
+      let isAdd = true
2756
+      for (let i = 0; i < this.prescriptions.length; i++) {
2757
+        if(this.prescriptions[i].order_status == 4 || this.prescriptions[i].order_status == 2){
2758
+          isAdd = false
2759
+        }
2760
+      }
2761
+      if(!isAdd){
2762
+        this.$message.error("该患者已经上传明细或者已经结算,无法新增药品或耗材")
2763
+        return
2764
+      }
2765
+
2755 2766
       if (this.curStatus == 1 && this.rightTab == 2) {
2756 2767
         this.$message.error('改处方是药品,无法添加项目')
2757 2768
         this.teamList = []
2758 2769
         this.$refs.tables.clearSelection()
2759
-
2760 2770
         return
2761 2771
       }
2762 2772
 
@@ -2807,6 +2817,9 @@ export default {
2807 2817
       //   }
2808 2818
       // }
2809 2819
 
2820
+
2821
+
2822
+
2810 2823
       for (let i = 0; i < this.prescriptions.length; i++) {
2811 2824
         if (this.prescriptions[i].name == this.editableTabsValue) {
2812 2825
           var temp = this.deepClone(this.curDrugs)

+ 2 - 2
src/xt_pages/hospitalStation/outpatientChargesManagement.vue View File

@@ -142,11 +142,11 @@
142 142
             >撤销出院
143 143
             </el-button>
144 144
 
145
-            <el-button
145
+            <el-buttonsu
146 146
                 v-if="(this.activeName == 'third' &&this.hisPatientInfo.id > 0 && this.hisPatientInfo.in_hospital_status == 1 && this.hisPatientInfo.out_hospital_status == 0)"
147 147
                 size="small" @click="open(7)" type="primary"
148 148
             >撤销入院
149
-            </el-button>
149
+            </el-buttonsu>
150 150
 
151 151
           </div>
152 152
 

+ 39 - 32
src/xt_pages/hospitalStation/summary.vue View File

@@ -12,19 +12,15 @@
12 12
                                @click="searchAction">
13 13
                         搜索
14 14
                     </el-button>
15
-                    <el-select size="small" v-model="admin_user_id" placeholder="请选择"
16
-                               style="width:150px;margin-left:10px;" @change="changeDoctor">
17
-                        <el-option
18
-                                label="全部"
19
-                                value="0">
20
-                        </el-option>
21
-                        <el-option
22
-                                v-for="item,index in doctors"
23
-                                :key="index"
24
-                                :label="item.user_name"
25
-                                :value="item.admin_user_id">
26
-                        </el-option>
27
-                    </el-select>
15
+                  <el-select size="small" v-model="sort_type" placeholder="请选择"
16
+                             style="width:150px;margin-left:10px;" @change="changeSortType">
17
+                    <el-option
18
+                        v-for="(item,index) in sort_types"
19
+                        :key="index"
20
+                        :label="item.label"
21
+                        :value="item.value">
22
+                    </el-option>
23
+                  </el-select>
28 24
                     <el-date-picker size="small" v-model="start_time" prefix-icon="el-icon-date"
29 25
                                     @change="handleStartTimeChange" :editable="false" :clearable="false"
30 26
                                     style="width: 196px;margin-right:10px;" type="date" placeholder="选择开始日期"
@@ -50,7 +46,7 @@
50 46
                       <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
51 47
 
52 48
                     </el-popover> -->
53
-                    <el-button size="small" type="primary" @click="export_detail" v-loading="loading">报表下载</el-button>
49
+                    <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
54 50
                 </div>
55 51
             </div>
56 52
             <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
@@ -104,35 +100,34 @@
104 100
                 <el-table-column align="center" prop="name" label="操作">
105 101
                     <template slot-scope="scope">
106 102
                         <el-button size="mini" type="primary" @click="toDetail(scope.row)">详情</el-button>
107
-                        <el-button size="mini" type="primary" @click="toPrint(scope.row)"
108
-                                   v-if="(scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10138) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9504) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9919) ||  ($store.getters.xt_user.org_id == 10106) ||  (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 4) || ($store.getters.xt_user.org_id == 9990) ">
103
+                        <el-button size="mini" type="primary" @click="toPrint(scope.row)">
109 104
                             结算单
110 105
                         </el-button>
111
-                        <el-button size="mini" type="primary" @click="toRefund(scope.row)">
112
-                            退费
113
-                        </el-button>
106
+<!--                        <el-button size="mini" type="primary" @click="toRefund(scope.row)">-->
107
+<!--                            退费-->
108
+<!--                        </el-button>-->
114 109
                         <el-button size="mini" type="primary" @click="uploadInfo(scope.row)"
115 110
                                    v-if="scope.row.order_status == 2 && scope.row.result.id == 0">
116 111
                             上传结算清单
117 112
                         </el-button>
118 113
                         <el-button size="mini" type="primary" @click="invoicePrint(scope.row)">打印发票</el-button>
119 114
 
120
-                        <el-button size="mini" type="primary" @click="refundOne(scope.row)">
121
-                            撤销出院
122
-                        </el-button>
115
+<!--                        <el-button size="mini" type="primary" @click="refundOne(scope.row)">-->
116
+<!--                            撤销出院-->
117
+<!--                        </el-button>-->
123 118
 
124 119
                         <!--<el-button size="mini" type="primary" @click="refundTwo(scope.row)" v-if="scope.row.his_hospital_patient.balance_accounts_type == 2">-->
125 120
                             <!--撤销明细-->
126 121
                         <!--</el-button>-->
127 122
 
128
-                        <el-button size="mini" type="primary" @click="refundTwo(scope.row)" v-if="scope.row.his_hospital_patient.balance_accounts_type != 2">
129
-                            撤销明细
130
-                        </el-button>
123
+<!--                        <el-button size="mini" type="primary" @click="refundTwo(scope.row)" v-if="scope.row.his_hospital_patient.balance_accounts_type != 2">-->
124
+<!--                            撤销明细-->
125
+<!--                        </el-button>-->
131 126
 
132 127
 
133
-                        <el-button size="mini" type="primary" @click="refundThee(scope.row)">
134
-                            撤销入院
135
-                        </el-button>
128
+<!--                        <el-button size="mini" type="primary" @click="refundThee(scope.row)">-->
129
+<!--                            撤销入院-->
130
+<!--                        </el-button>-->
136 131
                     </template>
137 132
                 </el-table-column>
138 133
             </el-table>
@@ -251,11 +246,21 @@
251 246
         invoiceVisible: false,
252 247
         paramsObj: {},
253 248
         invoiceParams: {},
254
-        settlementVisible: false
249
+        settlementVisible: false,
250
+        sort_type:1,
251
+        sort_types: [
252
+          { value: 1, label: '处方时间' },
253
+          { value: 2, label: '结算时间' }
254
+        ],
255 255
 
256 256
       }
257 257
     },
258 258
     methods: {
259
+      changeSortType(){
260
+        this.page = 1
261
+        this.keywords = ''
262
+        this.getHisOrderList()
263
+      },
259 264
       refundOne(row) {
260 265
         if(row.his_hospital_patient.balance_accounts_type == 2){
261 266
           var that = this
@@ -455,7 +460,7 @@
455 460
       },
456 461
       uploadInfo(row) {
457 462
         var that = this
458
-        axios.get('http://127.0.0.1:9532/api/settlelist/get', {
463
+        axios.get('http://127.0.0.1:9532/api/settlelisthosptial/get', {
459 464
           params: {
460 465
             order_id: row.id,
461 466
             admin_user_id: this.$store.getters.xt_user.user.id
@@ -611,7 +616,7 @@
611 616
               let department = ''
612 617
               let doctor_name = ''
613 618
               let balance_accounts = ''
614
-
619
+              let charge_name = ''
615 620
               let order_status = ''
616 621
 
617 622
               if (order.his_patient != null && order.his_patient.number.length > 0) {
@@ -751,7 +756,9 @@
751 756
           start_time: this.start_time,
752 757
           end_time: this.end_time,
753 758
           type: this.admin_user_id,
754
-          p_type: 1
759
+          p_type: 1,
760
+          sort_type: this.sort_type
761
+
755 762
         }
756 763
         getHisOrderList(params).then(response => {
757 764
           if (response.data.state == 0) {

+ 8 - 17
src/xt_pages/hospitalStation/summaryDetail.vue View File

@@ -43,13 +43,7 @@
43 43
                             <el-table-column align="center" prop="execution_frequency" width="90" label="频率">
44 44
                                 <template slot-scope="scope">{{scope.row.execution_frequency}}</template>
45 45
                             </el-table-column>
46
-                            <el-table-column align="center" prop="number_days" width="60" label="天数">
47
-                                <template slot-scope="scope">
48
-                                    <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
49
-                                    {{scope.row.day}}天
50 46
 
51
-                                </template>
52
-                            </el-table-column>
53 47
                             <el-table-column align="center" prop="total" width="60" label="总量">
54 48
                                 <template slot-scope="scope">{{scope.row.count}}&nbsp;&nbsp;{{scope.row.prescribing_number_unit}}</template>
55 49
                             </el-table-column>
@@ -111,18 +105,15 @@
111 105
                         <li style="width:50%;">电话:{{patientInfo.phone}}</li>
112 106
                     </ul>
113 107
                     <p class="centerRightTitle" style="margin-top:10px;">收费信息</p>
114
-                    <ul class="basicUl">
115
-                        <li style="width:50%;">应收金额:{{order.medfee_sumamt.toFixed(2) }}元</li>
116
-                        <li style="width:50%;">实收金额:{{order.reality_price.toFixed(2)}}元</li>
117
-                        <li style="width:50%;">舍入金额:{{order.medfee_sumamt.toFixed(2) - order.reality_price.toFixed(2)}}元</li>
118
-                        <li style="width:50%;">优惠金额:{{order.preferential_price.toFixed(2)}}元</li>
119
-                        <li style="width:50%;">总金额</li>
120
-                        <li style="width:50%;">{{order.medfee_sumamt.toFixed(2)}}元</li>
108
+                    <ul >
109
+                      <li style="width:30%;">医疗费总额:{{order.medfee_sumamt.toFixed(2) }}元</li>
110
+                      <li style="width:30%;">基金支付总额:{{order.fund_pay_sumamt.toFixed(2)}}元</li>
111
+                      <li style="width:30%;">基本医疗保险统筹基金支出:{{order.hifp_pay}}元</li>
112
+                      <li style="width:30%;">医疗救助基金支出:{{order.maf_pay.toFixed(2)}}元</li>
113
+                      <li style="width:30%;">个人账户支付金额:{{ order.acct_pay}}</li>
114
+                      <li style="width:30%;">个人支付金额:{{order.psn_cash_pay.toFixed(2)}}元</li>
121 115
                     </ul>
122
-                    <!--<p class="centerRightTitle">发票费用</p>-->
123
-                    <!--<ul class="basicUl">-->
124
-                    <!--<li style="width:100%;">西药费:0.00元</li>-->
125
-                    <!--</ul>-->
116
+
126 117
                 </div>
127 118
             </div>
128 119
         </div>

+ 4 - 2
src/xt_pages/outpatientCharges/allListPrint.vue View File

@@ -14,7 +14,7 @@
14 14
     </template>
15 15
 
16 16
     <div class='dialysisPage' style="padding-top:40px;">
17
-      <printOne :list="list" :patient="patient" :order="order" :admin="admin"></printOne>
17
+      <printOne :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printOne>
18 18
     </div>
19 19
   </div>
20 20
 </template>
@@ -37,7 +37,8 @@
37 37
         list: [],
38 38
         patient: {},
39 39
         order: {},
40
-        admin: {}
40
+        admin: {},
41
+        his_hospital:{},
41 42
       }
42 43
     },
43 44
 
@@ -60,6 +61,7 @@
60 61
             this.order = response.data.data.order
61 62
             this.patient = response.data.data.patient
62 63
             this.admin = response.data.data.admin_info
64
+            this.his_hospital = response.data.data.his_hospital
63 65
             var order_info = response.data.data.order_info
64 66
 
65 67
             //获取所有项目类型进行去重

+ 158 - 143
src/xt_pages/outpatientCharges/allListTemplate/printOne.vue View File

@@ -1,174 +1,189 @@
1 1
 <template>
2
-    <div id="allList-print" class="allList-print">
3
-        <div v-for='(i,index) in pageArr.length' :key="index">
4
-            <div class="allListTitle">{{$store.getters.xt_user.org.org_name}}费用汇总</div>
5
-            <div class="allListInfo">
6
-            <div>患者姓名:{{patient.name}}</div>
7
-            <div>透析号:{{patient.dialysis_no}}</div>
8
-            <div>性别:{{patient.gender == 1 ? '男': '女'}}</div>
9
-            <div>年龄:{{patient.age}}  岁</div>
10
-            <div>日期:{{getTimes(order.settle_start_time)}} 至 {{getTimes(order.settle_end_time)}}</div>
11
-
12
-            </div>
13
-            <table class="allListTable" border="1">
14
-                <tr>
15
-                    <td style="width:10%">类别</td>
16
-                    <td style="width:50%">项目名称</td>
17
-                    <td style="width:10%">规格</td>
18
-                    <td style="width:10%">单价(元)</td>
19
-                    <td style="width:10%">数量</td>
20
-                    <td style="width:10%">金额(元)</td>
21
-                </tr>
22
-                <template v-for='item in list.slice(index * 13,(index * 13) + pageArr[index])'>
23
-                    <tr v-if="item.is_total == 2">
24
-                        <td style="width:10%">{{item.med_chrgitm_type}}</td>
25
-                        <td style="width:50%">{{item.name}}</td>
26
-                        <td style="width:10%">{{item.spec}}</td>
27
-                        <td style="width:10%">{{(item.price).toFixed(2)}}</td>
28
-                        <td style="width:10%">{{item.count}}{{item.unit}}</td>
29
-                        <td style="width:10%">{{(item.price * item.count).toFixed(2)}}</td>
30
-                    </tr>
31
-                    <tr>
32
-                        <td colspan="6" style="text-align:right;" v-if="item.is_total == 1">合计:{{item.total}}元</td>
33
-                    </tr>
34
-                </template>
35
-            </table>
36
-            <div class="tableBottom">
37
-            <div class="tableBottomOne">制表人:{{admin.user_name}}</div>
38
-            <div class="tableBottomOne">制表日期:{{ getNowTime()}}</div>
39
-            <div class="tableBottomOne">总费用:{{order.medfee_sumamt}}元</div>
40
-            </div>
2
+  <div id="allList-print" class="allList-print">
3
+    <div v-for='(i,index) in pageArr.length' :key="index">
4
+      <div class="allListTitle">{{ $store.getters.xt_user.org.org_name }}费用汇总</div>
5
+      <div class="allListInfo">
6
+        <div>患者姓名:{{ patient.name }}</div>
7
+        <div>透析号:{{ patient.dialysis_no }}</div>
8
+        <div>性别:{{ patient.gender == 1 ? '男' : '女' }}</div>
9
+        <div>年龄:{{ patient.age }} 岁</div>
10
+        <div v-if="$store.getters.xt_user.org_id  == 0">日期:{{ hospital.in_hosptial_time }} 至
11
+          {{ hospital.out_hosptial_time }}
41 12
         </div>
13
+        <div v-else>日期:{{ getTimes(order.settle_start_time) }} 至 {{ getTimes(order.settle_end_time) }}</div>
14
+
15
+      </div>
16
+      <table class="allListTable" border="1">
17
+        <tr>
18
+          <td style="width:10%">类别</td>
19
+          <td style="width:50%">项目名称</td>
20
+          <td style="width:10%">规格</td>
21
+          <td style="width:10%">单价(元)</td>
22
+          <td style="width:10%">数量</td>
23
+          <td style="width:10%">金额(元)</td>
24
+        </tr>
25
+        <template v-for='item in list.slice(index * 13,(index * 13) + pageArr[index])'>
26
+          <tr v-if="item.is_total == 2">
27
+            <td style="width:10%">{{ item.med_chrgitm_type }}</td>
28
+            <td style="width:50%">{{ item.name }}</td>
29
+            <td style="width:10%">{{ item.spec }}</td>
30
+            <td style="width:10%">{{ (item.price).toFixed(2) }}</td>
31
+            <td style="width:10%">{{ item.count }}{{ item.unit }}</td>
32
+            <td style="width:10%">{{ (item.price * item.count).toFixed(2) }}</td>
33
+          </tr>
34
+          <tr>
35
+            <td colspan="6" style="text-align:right;" v-if="item.is_total == 1">合计:{{ item.total }}元</td>
36
+          </tr>
37
+        </template>
38
+      </table>
39
+      <div class="tableBottom">
40
+        <div class="tableBottomOne">制表人:{{ admin.user_name }}</div>
41
+        <div class="tableBottomOne">制表日期:{{ getNowTime() }}</div>
42
+        <div class="tableBottomOne">总费用:{{ order.medfee_sumamt }}元</div>
43
+      </div>
42 44
     </div>
45
+  </div>
43 46
 </template>
44 47
 
45 48
 <script>
46
-  import { uParseTime } from '@/utils/tools'
49
+import { uParseTime } from '@/utils/tools'
47 50
 
48
-  export default {
49
-    props: {
50
-      list: {
51
-        type: Array,
52
-        default: function () {
53
-          return [];
54
-        }
55
-      }, patient: {
56
-        type: Object,
57
-        default: function () {
58
-          return {};
59
-        }
60
-      }, order: {
61
-        type: Object,
62
-        default: function () {
63
-          return {};
64
-        }
65
-      }, admin: {
66
-        type: Object,
67
-        default: function () {
68
-          return {};
69
-        }
70
-      },
71
-    },
72
-    data(){
73
-        return{
74
-            page:1,
75
-            pageArr:[],
76
-        }
77
-    },
78
-    methods:{
79
-      getNowTime: function () {
80
-        let dateTime
81
-        let yy = new Date().getFullYear()
82
-        let mm = new Date().getMonth() + 1
83
-        let dd = new Date().getDate()
84
-        let hh = new Date().getHours()
85
-        let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
51
+export default {
52
+  props: {
53
+    list: {
54
+      type: Array,
55
+      default: function() {
56
+        return []
57
+      }
58
+    }, patient: {
59
+      type: Object,
60
+      default: function() {
61
+        return {}
62
+      }
63
+    }, order: {
64
+      type: Object,
65
+      default: function() {
66
+        return {}
67
+      }
68
+    }, admin: {
69
+      type: Object,
70
+      default: function() {
71
+        return {}
72
+      }
73
+    }, hospital: {
74
+      type: Object,
75
+      default: function() {
76
+        return {}
77
+      }
78
+
79
+    }
80
+  },
81
+  data() {
82
+    return {
83
+      page: 1,
84
+      pageArr: []
85
+    }
86
+  },
87
+  methods: {
88
+    getNowTime: function() {
89
+      let dateTime
90
+      let yy = new Date().getFullYear()
91
+      let mm = new Date().getMonth() + 1
92
+      let dd = new Date().getDate()
93
+      let hh = new Date().getHours()
94
+      let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
86 95
           :
87 96
           new Date().getMinutes()
88
-        let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
97
+      let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
89 98
           :
90 99
           new Date().getSeconds()
91
-        dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
92
-        return dateTime
93
-      },
94
-      getTimes(time) {
95
-        return uParseTime(time, '{y}-{m}-{d}')
96
-      },getTotal:function(items){
97
-        let total = 0
98
-        for(let i = 0; i < items.length; i++){
99
-          total = total + (items[i].count * items[i].price).toFixed(2)
100
-        }
101
-        return total
102
-
103
-      },
104
-      getPage(){
105
-        if(this.list.length <= 13){
106
-            this.page = 1
107
-            this.pageArr.push(this.list.length)
108
-        }else if(this.list.length > 13){
109
-            this.page = parseInt(this.list.length / 13)
110
-            let num = this.list.length % 13
111
-            for (var i=0;i<this.page;i++){
112
-                this.pageArr.push(13)
113
-            }
114
-            if(num != 0){
115
-                this.pageArr.push(num)
116
-            }
117
-        }
100
+      dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
101
+      return dateTime
102
+    },
103
+    getTimes(time) {
104
+      return uParseTime(time, '{y}-{m}-{d}')
105
+    }, getTotal: function(items) {
106
+      let total = 0
107
+      for (let i = 0; i < items.length; i++) {
108
+        total = total + (items[i].count * items[i].price).toFixed(2)
118 109
       }
110
+      return total
119 111
 
120 112
     },
121
-    watch:{
122
-        list: {
123
-            handler(newVal) {
124
-                this.getPage()
125
-            },
126
-            deep: true
113
+    getPage() {
114
+      if (this.list.length <= 13) {
115
+        this.page = 1
116
+        this.pageArr.push(this.list.length)
117
+      } else if (this.list.length > 13) {
118
+        this.page = parseInt(this.list.length / 13)
119
+        let num = this.list.length % 13
120
+        for (var i = 0; i < this.page; i++) {
121
+          this.pageArr.push(13)
122
+        }
123
+        if (num != 0) {
124
+          this.pageArr.push(num)
127 125
         }
126
+      }
127
+    }
128
+
129
+  },
130
+  watch: {
131
+    list: {
132
+      handler(newVal) {
133
+        this.getPage()
134
+      },
135
+      deep: true
128 136
     }
129 137
   }
138
+}
130 139
 
131 140
 
132 141
 </script>
133 142
 
134 143
 <style lang="scss" scoped>
135
-.allList-print{
136
-    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
137
-    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
138
-    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
139
-    margin-bottom: 20px;
140
-    padding:20px 10px;
144
+.allList-print {
145
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
146
+  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
147
+  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
148
+  margin-bottom: 20px;
149
+  padding: 20px 10px;
141 150
 }
142
-.allListTitle{
143
-    font-size: 24px;
144
-    text-align: center;
145
-    font-weight: bold;
146
-    margin-bottom: 10px;
151
+
152
+.allListTitle {
153
+  font-size: 24px;
154
+  text-align: center;
155
+  font-weight: bold;
156
+  margin-bottom: 10px;
147 157
 }
148
-.allListInfo{
149
-    display: flex;
150
-    font-size: 16px;
151
-    justify-content: space-between;
152
-    margin: 10px 0;
158
+
159
+.allListInfo {
160
+  display: flex;
161
+  font-size: 16px;
162
+  justify-content: space-between;
163
+  margin: 10px 0;
153 164
 }
154
-.allListTable{
155
-    width: 100%;
156
-    text-align: center;
157
-    border-collapse: collapse;
158
-    line-height: 40px;
159
-    font-size: 14px;
160
-    border-color: #000;
161
-    text-align: left;
165
+
166
+.allListTable {
167
+  width: 100%;
168
+  text-align: center;
169
+  border-collapse: collapse;
170
+  line-height: 40px;
171
+  font-size: 14px;
172
+  border-color: #000;
173
+  text-align: left;
162 174
 }
175
+
163 176
 .allListTable tr td {
164
-    padding: 0 5px;
177
+  padding: 0 5px;
165 178
 }
166
-.tableBottom{
167
-    font-size: 16px;
168
-    display: flex;
169
-    margin-top: 20px;
179
+
180
+.tableBottom {
181
+  font-size: 16px;
182
+  display: flex;
183
+  margin-top: 20px;
170 184
 }
171
-.tableBottomOne{
172
-    margin-right: 40px;
185
+
186
+.tableBottomOne {
187
+  margin-right: 40px;
173 188
 }
174 189
 </style>

+ 2 - 2
src/xt_pages/outpatientCharges/invoiceTemplate/printThree.vue View File

@@ -12,7 +12,7 @@
12 12
                 <span style="position: absolute;left:80px;top:80px;">{{ paramsObj.setl_time.split(' ')[0].slice(0,10) }}</span>
13 13
                 <!-- <span style="position: absolute;left:630px;top:40px;">{{ paramsObj.setl_time.split(' ')[0].slice(5,7) }}</span>
14 14
                 <span style="position: absolute;left:690px;top:40px;">{{ paramsObj.setl_time.split(' ')[0].slice(8,11) }}</span>-->
15
-            </div> 
15
+            </div>
16 16
         </div>
17 17
         <div style="display:flex;justify-content: space-between;">
18 18
             <div style="position: absolute;top:100px;left:80px;"> {{ paramsObj.name }}</div>
@@ -187,7 +187,7 @@ export default {
187 187
             }
188 188
 
189 189
             var unit = "仟佰拾亿仟佰拾万仟佰拾元角分", str = "";
190
-            n += "00";  
190
+            n += "00";
191 191
 
192 192
             var indexpoint = n.indexOf('.');  // 如果是小数,截取小数点前面的位数
193 193
 

File diff suppressed because it is too large
+ 623 - 136
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue


+ 342 - 355
src/xt_pages/outpatientCharges/summaryDetail.vue View File

@@ -1,157 +1,147 @@
1 1
 <template>
2
-    <div class="main-contain summaryDetail">
3
-        <div class="position">
4
-            <bread-crumb :crumbs='crumbs'></bread-crumb>
5
-        </div>
6
-      <el-popover
2
+  <div class="main-contain summaryDetail">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+    <el-popover
7 7
         placement="bottom"
8 8
         width="210"
9 9
         trigger="click">
10
-        <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
11
-        <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
12
-        <el-button  slot="reference" style="margin:10px 10px;float: right" type="primary" size="small" >打印</el-button>
13
-
14
-      </el-popover>
15
-        <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
16
-            <div class="mainCenter">
17
-                <div class="centerLeft">
18
-                    <div class="tabsBox">
19
-                      <el-table  :data="tableData" border style="width: 100%;"
20
-                                :row-style="{ color: '#303133' }"
21
-                                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
22
-
23
-                        <el-table-column align="center" prop="project_name" label="名称">
24
-                          <template slot-scope="scope">{{ scope.row.name }}</template>
25
-                        </el-table-column>
26
-
27
-                        <el-table-column align="center" prop="project_name" label="分类" width="100">
28
-                          <template slot-scope="scope">{{ scope.row.type == 1?'药品': scope.row.project_type == 2? '项目':'耗材'}}</template>
29
-                        </el-table-column>
30
-
31
-
32
-                        <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
33
-                          <template slot-scope="scope">{{scope.row.single_dose}}&nbsp;&nbsp;{{scope.row.single_dose_unit}}</template>
34
-
35
-                        </el-table-column>
36
-                        <el-table-column align="center" prop="delivery_way" width="90" label="用法">
37
-                          <template slot-scope="scope">
38
-                            <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
39
-                            {{scope.row.delivery_way}}
40
-
41
-                          </template>
42
-                        </el-table-column>
43
-                        <el-table-column align="center" prop="execution_frequency" width="90" label="频率">
44
-                          <template slot-scope="scope">{{scope.row.execution_frequency}}</template>
45
-                        </el-table-column>
46
-                        <el-table-column align="center" prop="number_days" width="60" label="天数">
47
-                          <template slot-scope="scope">
48
-                            <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
49
-                            {{scope.row.day}}天
50
-
51
-                          </template>
52
-                        </el-table-column>
53
-                        <el-table-column align="center" prop="total" width="60" label="总量">
54
-                          <template slot-scope="scope">{{scope.row.count}}&nbsp;&nbsp;{{scope.row.prescribing_number_unit}}</template>
55
-                        </el-table-column>
56
-                        <el-table-column align="center" prop="name" width="60" label="单价">
57
-                          <template slot-scope="scope">
58
-                            <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
59
-                            {{scope.row.price}}元
60
-
61
-                          </template>
62
-                        </el-table-column>
63
-
64
-                          <el-table-column align="center" prop="name" width="60" label="总价">
65
-                              <template slot-scope="scope">
66
-                                  <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
67
-                                  {{scope.row.price.toFixed(2)}}元
68
-
69
-                              </template>
70
-                          </el-table-column>
71
-
72
-
73
-                        <el-table-column align="center" prop="name" width="80" label="备注">
74
-                          <template slot-scope="scope">
75
-                            <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
76
-                            {{scope.row.remark}}
77
-
78
-                          </template>
79
-                        </el-table-column>
80
-                      </el-table>
81
-
82
-                      <div class="additionalBox">
83
-                        <div class="additionalOne" v-for="(item,index) in additions" :key="index">
84
-                          <span :title="item.item_name">{{item.item_name}}</span>
85
-                          <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
86
-                          共
87
-                          <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>
88
-                          次
89
-                          <!--<i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>-->
90
-                        </div>
91
-                      </div>
92
-
93
-                    </div>
94
-                    <div class="costBox">
95
-                      <span>当前处方总费用:<span style="color:red;">{{ order.medfee_sumamt.toFixed(2)}}元</span></span>
96
-                      <span v-if="order.order_status == 1">待结算</span>
97
-                      <span v-if="order.order_status == 2">已结算</span>
98
-                      <span v-if="order.order_status == 3">已退费</span>
99
-
100
-
101
-                    </div>
102
-                </div>
103
-                <div class="centerRight">
104
-                    <p class="centerRightTitle">人员信息</p>
105
-                    <ul class="basicUl">
106
-                        <li style="width:50%;">姓名:{{patientInfo.name}}</li>
107
-                        <li style="width:50%;">性别:{{patientInfo.gender == 1 ? '男' : '女' }}</li>
108
-                        <li style="width:50%;">年龄:{{patientInfo.age }}</li>
109
-                        <li style="width:50%;">身高:{{patientInfo.height?patientInfo.height:''}}</li>
110
-                        <li style="width:50%;">体重:{{patientInfo.weight?patientInfo.weight:''}}</li>
111
-                        <li style="width:50%;">电话:{{patientInfo.phone}}</li>
112
-                    </ul>
113
-                    <p class="centerRightTitle" style="margin-top:10px;">收费信息</p>
114
-                    <ul class="basicUl">
115
-                        <li style="width:50%;">应收金额:{{order.medfee_sumamt.toFixed(2) }}元</li>
116
-                        <li style="width:50%;">实收金额:{{order.reality_price.toFixed(2)}}元</li>
117
-                        <li style="width:50%;">舍入金额:{{order.medfee_sumamt.toFixed(2) - order.reality_price.toFixed(2)}}元</li>
118
-                        <li style="width:50%;">优惠金额:{{order.preferential_price.toFixed(2)}}元</li>
119
-                        <li style="width:50%;">总金额</li>
120
-                        <li style="width:50%;">{{order.medfee_sumamt.toFixed(2)}}元</li>
121
-                    </ul>
122
-                    <!--<p class="centerRightTitle">发票费用</p>-->
123
-                    <!--<ul class="basicUl">-->
124
-                        <!--<li style="width:100%;">西药费:0.00元</li>-->
125
-                    <!--</ul>-->
126
-                </div>
127
-            </div>
10
+      <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
11
+      <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
12
+      <el-button  slot="reference" style="margin:10px 10px;float: right" type="primary" size="small" >打印</el-button>
13
+
14
+    </el-popover>
15
+    <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
16
+      <div class="mainCenter">
17
+        <div class="centerLeft">
18
+          <div class="tabsBox">
19
+            <el-table  :data="tableData" border style="width: 100%;"
20
+                       :row-style="{ color: '#303133' }"
21
+                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
22
+
23
+              <el-table-column align="center" prop="project_name" label="名称">
24
+                <template slot-scope="scope">{{ scope.row.name }}</template>
25
+              </el-table-column>
26
+
27
+              <el-table-column align="center" prop="project_name" label="分类" width="100">
28
+                <template slot-scope="scope">{{ scope.row.type == 1?'药品': scope.row.project_type == 2? '项目':'耗材'}}</template>
29
+              </el-table-column>
30
+
31
+
32
+              <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
33
+                <template slot-scope="scope">{{scope.row.single_dose}}&nbsp;&nbsp;{{scope.row.single_dose_unit}}</template>
34
+
35
+              </el-table-column>
36
+              <el-table-column align="center" prop="delivery_way" width="90" label="用法">
37
+                <template slot-scope="scope">
38
+                  <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
39
+                  {{scope.row.delivery_way}}
40
+
41
+                </template>
42
+              </el-table-column>
43
+              <el-table-column align="center" prop="execution_frequency" width="90" label="频率">
44
+                <template slot-scope="scope">{{scope.row.execution_frequency}}</template>
45
+              </el-table-column>
46
+
47
+              <el-table-column align="center" prop="total" width="60" label="总量">
48
+                <template slot-scope="scope">{{scope.row.count}}&nbsp;&nbsp;{{scope.row.prescribing_number_unit}}</template>
49
+              </el-table-column>
50
+              <el-table-column align="center" prop="name" width="60" label="单价">
51
+                <template slot-scope="scope">
52
+                  <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
53
+                  {{scope.row.price.toFixed(2)}}元
54
+
55
+                </template>
56
+              </el-table-column>
57
+
58
+              <el-table-column align="center" prop="name" width="60" label="总价">
59
+                <template slot-scope="scope">
60
+                  <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
61
+                  {{scope.row.price.toFixed(2)}}元
62
+
63
+                </template>
64
+              </el-table-column>
65
+
66
+
67
+              <el-table-column align="center" prop="name" width="80" label="备注">
68
+                <template slot-scope="scope">
69
+                  <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
70
+                  {{scope.row.remark}}
71
+
72
+                </template>
73
+              </el-table-column>
74
+            </el-table>
75
+
76
+<!--            <div class="additionalBox">-->
77
+<!--              <div class="additionalOne" v-for="(item,index) in additions" :key="index">-->
78
+<!--                <span :title="item.item_name">{{item.item_name}}</span>-->
79
+<!--                <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>-->
80
+<!--                共-->
81
+<!--                <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>-->
82
+<!--                次-->
83
+<!--                &lt;!&ndash;<i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>&ndash;&gt;-->
84
+<!--              </div>-->
85
+<!--            </div>-->
86
+
87
+          </div>
88
+          <div class="costBox">
89
+            <span>当前处方总费用:<span style="color:red;">{{ order.medfee_sumamt}}元</span></span>
90
+            <span v-if="order.order_status == 1">待结算</span>
91
+            <span v-if="order.order_status == 2">已结算</span>
92
+            <span v-if="order.order_status == 3">已退费</span>
93
+
94
+
95
+          </div>
128 96
         </div>
97
+        <div class="centerRight">
98
+          <p class="centerRightTitle">人员信息</p>
99
+          <ul class="basicUl">
100
+            <li style="width:50%;">姓名:{{patientInfo.name}}</li>
101
+            <li style="width:50%;">性别:{{patientInfo.gender == 1 ? '男' : '女' }}</li>
102
+            <li style="width:50%;">年龄:{{patientInfo.age }}</li>
103
+            <li style="width:50%;">身高:{{patientInfo.height?patientInfo.height:''}}</li>
104
+            <li style="width:50%;">体重:{{patientInfo.weight?patientInfo.weight:''}}</li>
105
+            <li style="width:50%;">电话:{{patientInfo.phone}}</li>
106
+          </ul>
107
+          <p class="centerRightTitle" style="margin-top:10px;">收费信息</p>
108
+          <ul >
109
+            <li style="width:30%;">医疗费总额:{{order.medfee_sumamt.toFixed(2) }}元</li>
110
+            <li style="width:30%;">基金支付总额:{{order.fund_pay_sumamt.toFixed(2)}}元</li>
111
+            <li style="width:30%;">基本医疗保险统筹基金支出:{{order.hifp_pay}}元</li>
112
+            <li style="width:30%;">医疗救助基金支出:{{order.maf_pay.toFixed(2)}}元</li>
113
+            <li style="width:30%;">个人账户支付金额:{{ order.acct_pay}}</li>
114
+            <li style="width:30%;">个人支付金额:{{order.psn_cash_pay.toFixed(2)}}元</li>
115
+          </ul>
129 116
 
130
-      <div v-if="listVisible">
117
+        </div>
118
+      </div>
119
+    </div>
120
+
121
+    <div v-if="listVisible">
131 122
       <el-dialog
132
-        class="centerDialog"
133
-        width="900px"
134
-        title="打印"
135
-        :visible.sync="listVisible">
123
+          class="centerDialog"
124
+          width="900px"
125
+          title="打印"
126
+          :visible.sync="listVisible">
136 127
         <list-print  :paramsObj='paramsObj'></list-print>
137 128
       </el-dialog>
138
-      </div>
129
+    </div>
139 130
 
140
-      <div v-if="allListVisible">
131
+    <div v-if="allListVisible">
141 132
       <el-dialog
142
-        class="centerDialog"
143
-        width="900px"
144
-        title="打印"
145
-        :visible.sync="allListVisible">
133
+          class="centerDialog"
134
+          width="900px"
135
+          title="打印"
136
+          :visible.sync="allListVisible">
146 137
         <all-list-print :paramsObj='paramsObj'></all-list-print>
147 138
       </el-dialog>
148
-      </div>
139
+    </div>
149 140
 
150 141
 
151
-    </div>
142
+  </div>
152 143
 </template>
153 144
 
154
-
155 145
 <script>
156 146
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
157 147
 import { getHisOrder } from '@/api/his/his'
@@ -161,69 +151,65 @@ import ListPrint from './listPrint'
161 151
 import AllListPrint from './allListPrint'
162 152
 
163 153
 export default {
164
-    components:{
165
-      AllListPrint,
166
-      ListPrint,
167
-        BreadCrumb,
168
-      prescriptionTable,
169
-
170
-    },
171
-    data(){
172
-        return{
173
-          listVisible:false,
174
-          allListVisible:false,
175
-          paramsObj:{
176
-            id:this.$route.query.id,
177
-            balance_accounts_type:0
178
-          },
179
-            crumbs: [
180
-                { path: false, name: '门诊收费' },
181
-                { path: false, name: '项目消费明细汇总详情' }
182
-            ],
183
-          info: {},
184
-          curPrescriptions: {},
185
-          prescriptions: [],
186
-          record_date: '',
187
-          tableData: [],
188
-          additions:[],
189
-          editableTabsValue: '1',
190
-          loadingone: false,
191
-          editableTabs: [{
192
-            title: '处方1',
193
-            name: '1'
194
-          }],
195
-          tabIndex: 1,
196
-          hisPatientInfo: {},
197
-          loadingtwo: false,
198
-          patientTableData: [{
199
-            name: '杨美英',
200
-            mdtrt_id: '1709946'
201
-          }],
202
-          patientInfo: { id: 0 },
203
-          doctor: {},
204
-          total: 0,
205
-          state: '未收费',
206
-          radio: 1,
207
-          radioStatus: 1,
208
-          search_input: '',
209
-          order:{},
210
-        }
211
-    },created(){
212
-      this.GetOrderDetail()
213
-  },methods:{
214
-      open(val){
215
-        if(val == 1){
216
-          this.paramsObj.id == this.$route.query.id
217
-          this.paramsObj.balance_accounts_type = this.hisPatientInfo.balance_accounts_type
218
-          this.listVisible = true
219
-
220
-        }else if(val == 2){
221
-          this.paramsObj.id == this.$route.query.id
222
-          this.paramsObj.balance_accounts_type = this.hisPatientInfo.balance_accounts_type
223
-
224
-          this.allListVisible = true
225
-        }
154
+  components:{
155
+    AllListPrint,
156
+    ListPrint,
157
+    BreadCrumb,
158
+    prescriptionTable,
159
+
160
+  },
161
+  data(){
162
+    return{
163
+      listVisible:false,
164
+      allListVisible:false,
165
+      paramsObj:{
166
+        id:this.$route.query.id
226 167
       },
168
+      crumbs: [
169
+        { path: false, name: '门诊收费' },
170
+        { path: false, name: '项目消费明细汇总详情' }
171
+      ],
172
+      info: {},
173
+      curPrescriptions: {},
174
+      prescriptions: [],
175
+      record_date: '',
176
+      tableData: [],
177
+      additions:[],
178
+      editableTabsValue: '1',
179
+      loadingone: false,
180
+      editableTabs: [{
181
+        title: '处方1',
182
+        name: '1'
183
+      }],
184
+      tabIndex: 1,
185
+      hisPatientInfo: {},
186
+      loadingtwo: false,
187
+      patientTableData: [{
188
+        name: '杨美英',
189
+        mdtrt_id: '1709946'
190
+      }],
191
+      patientInfo: { id: 0 },
192
+      doctor: {},
193
+      total: 0,
194
+      state: '未收费',
195
+      radio: 1,
196
+      radioStatus: 1,
197
+      search_input: '',
198
+      order:{},
199
+    }
200
+  },created(){
201
+    this.GetOrderDetail()
202
+  },methods:{
203
+    open(val){
204
+      if(val == 1){
205
+        this.paramsObj.id == this.$route.query.id
206
+        this.listVisible = true
207
+
208
+      }else if(val == 2){
209
+        this.paramsObj.id == this.$route.query.id
210
+        this.allListVisible = true
211
+      }
212
+    },
227 213
     // getTotal() {
228 214
     //   var total = 0
229 215
     //   for (let i = 0; i < this.prescriptions.length; i++) {
@@ -334,11 +320,11 @@ export default {
334 320
       }
335 321
       let project_ids = []
336 322
 
337
-      let addition_month_prescriptions = {
338
-        addition: []
339
-
340
-      }
341
-      let additions_ids = []
323
+      // let addition_month_prescriptions = {
324
+      //   addition: []
325
+      //
326
+      // }
327
+      // let additions_ids = []
342 328
 
343 329
       for (let i = 0; i < month_prescriptions.length; i++) {
344 330
         if (month_prescriptions[i].type == 1) { //药品
@@ -379,7 +365,7 @@ export default {
379 365
 
380 366
       drug_ids = this.unique(drug_ids)
381 367
       project_ids= this.unique(project_ids)
382
-      additions_ids= this.unique(additions_ids)
368
+      // additions_ids= this.unique(additions_ids)
383 369
 
384 370
 
385 371
 
@@ -492,59 +478,59 @@ export default {
492 478
           //   var prescription = response.data.data.prescription[i]
493 479
 
494 480
 
495
-            // for (let b = 0; b < prescription.advices.length; b++) {
496
-            //   let obj = {
497
-            //     name: prescription.advices[b].advice_name,
498
-            //     statistical_classification:"",
499
-            //     type:1,
500
-            //     single_dose: prescription.advices[b].single_dose,
501
-            //     delivery_way: prescription.advices[b].delivery_way,
502
-            //     execution_frequency: prescription.advices[b].execution_frequency,
503
-            //     price: prescription.advices[b].price.toString(),
504
-            //     day: prescription.advices[b].day,
505
-            //     count:prescription.advices[b].prescribing_number.toString(),
506
-            //     remark: prescription.advices[b].remark,
507
-            //     single_dose_unit: prescription.advices[b].single_dose_unit,
508
-            //     prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
509
-            //
510
-            //   }
511
-            //   this.tableData.push(obj)
512
-            // }
513
-            //
514
-            // for (let b = 0; b < prescription.project.length; b++) {
515
-            //   let obj = {
516
-            //     name: prescription.project[b].project.project_name,
517
-            //     statistical_classification: prescription.project[b].project.statistical_classification,
518
-            //     single_dose: prescription.project[b].single_dose,
519
-            //     delivery_way: prescription.project[b].delivery_way,
520
-            //     execution_frequency: prescription.project[b].execution_frequency,
521
-            //     price: prescription.project[b].price,
522
-            //     day: prescription.project[b].day,
523
-            //     count: prescription.project[b].count.toString(),
524
-            //     remark: prescription.project[b].remark,
525
-            //     single_dose_unit:prescription.project[b].project.unit,
526
-            //     prescribing_number_unit:prescription.project[b].project.unit,
527
-            //     type:2,
528
-            //   }
529
-            //   this.tableData.push(obj)
530
-            // }
531
-            //
532
-            // for (let b = 0; b < prescription.addition.length; b++) {
533
-            //     this.additions.push( prescription.addition[b])
534
-            // }
535
-
536
-
537
-
538
-            // let index = i + 1
539
-            // let obj = {
540
-            //   id: prescription.id,
541
-            //   name: '处方' + index,
542
-            //   advices: tempAdvice,
543
-            //   project: tempProject,
544
-            //   type: response.data.data.prescription[i].type
545
-            // }
546
-            // this.prescriptions.push(obj)
547
-            // this.curPrescriptions = this.prescriptions[0]
481
+          // for (let b = 0; b < prescription.advices.length; b++) {
482
+          //   let obj = {
483
+          //     name: prescription.advices[b].advice_name,
484
+          //     statistical_classification:"",
485
+          //     type:1,
486
+          //     single_dose: prescription.advices[b].single_dose,
487
+          //     delivery_way: prescription.advices[b].delivery_way,
488
+          //     execution_frequency: prescription.advices[b].execution_frequency,
489
+          //     price: prescription.advices[b].price.toString(),
490
+          //     day: prescription.advices[b].day,
491
+          //     count:prescription.advices[b].prescribing_number.toString(),
492
+          //     remark: prescription.advices[b].remark,
493
+          //     single_dose_unit: prescription.advices[b].single_dose_unit,
494
+          //     prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
495
+          //
496
+          //   }
497
+          //   this.tableData.push(obj)
498
+          // }
499
+          //
500
+          // for (let b = 0; b < prescription.project.length; b++) {
501
+          //   let obj = {
502
+          //     name: prescription.project[b].project.project_name,
503
+          //     statistical_classification: prescription.project[b].project.statistical_classification,
504
+          //     single_dose: prescription.project[b].single_dose,
505
+          //     delivery_way: prescription.project[b].delivery_way,
506
+          //     execution_frequency: prescription.project[b].execution_frequency,
507
+          //     price: prescription.project[b].price,
508
+          //     day: prescription.project[b].day,
509
+          //     count: prescription.project[b].count.toString(),
510
+          //     remark: prescription.project[b].remark,
511
+          //     single_dose_unit:prescription.project[b].project.unit,
512
+          //     prescribing_number_unit:prescription.project[b].project.unit,
513
+          //     type:2,
514
+          //   }
515
+          //   this.tableData.push(obj)
516
+          // }
517
+          //
518
+          // for (let b = 0; b < prescription.addition.length; b++) {
519
+          //     this.additions.push( prescription.addition[b])
520
+          // }
521
+
522
+
523
+
524
+          // let index = i + 1
525
+          // let obj = {
526
+          //   id: prescription.id,
527
+          //   name: '处方' + index,
528
+          //   advices: tempAdvice,
529
+          //   project: tempProject,
530
+          //   type: response.data.data.prescription[i].type
531
+          // }
532
+          // this.prescriptions.push(obj)
533
+          // this.curPrescriptions = this.prescriptions[0]
548 534
 
549 535
           // }
550 536
           // this.tableData = response.data.data.order
@@ -554,112 +540,113 @@ export default {
554 540
     }
555 541
   }
556 542
 }
543
+
557 544
 </script>
558 545
 
559 546
 <style lang="scss" scoped>
560 547
 .summaryDetail{
561
-    height: 100%;
562
-    display: flex;
563
-    flex-direction: column;
564
-    .tabsBox{
565
-        position: relative;
566
-        height: 90%;
567
-        overflow-y: auto;
568
-        margin-bottom: 60px;
569
-        .el-tabs__item{
570
-            padding: 0 10px;
571
-        }
572
-    }
573
-    .addTab{
574
-        position: absolute;
575
-        right: 0;
576
-        top: 6px;
577
-        z-index: 20;
578
-    }
579
-    .mainCenter{
580
-        display: flex;
581
-        flex:1;
582
-    }
583
-    .costBox{
584
-        width:100%;
585
-        height:60px;
586
-        background:#fff;
587
-        position: absolute;
588
-        bottom:0;
589
-        display: flex;
590
-        justify-content: space-between;
591
-        align-items: center;
592
-    }
593
-    .centerLeft{
594
-        flex: 1;
595
-        display: flex;
596
-        flex-direction: column;
597
-        position: relative;
598
-    }
599
-    .centerRight{
600
-        width: 300px;
601
-        margin-left: 5px;
602
-        display: flex;
603
-        flex-direction: column;
604
-    }
605
-    .RP{
606
-        color:#409EFF;
607
-        font-size: 20px;
608
-        margin-bottom: 5px;
609
-    }
610
-    .centerRightTitle{
611
-        color:#409EFF;
612
-        padding:0 0 10px 0;
613
-    }
614
-    .basicUl{
615
-        border-top: 1px solid #e5e5e5;
616
-        border-left: 1px solid #e5e5e5;
617
-        display: flex;
618
-        flex-wrap: wrap;
619
-        li{
620
-            border-bottom: 1px solid #e5e5e5;
621
-            border-right: 1px solid #e5e5e5;
622
-            width: 100%;
623
-            height: 38px;
624
-            line-height: 38px;
625
-            text-indent: 5px;
626
-            font-size: 14px;
627
-        }
628
-    }
629
-    .additionalBox{
630
-      margin-top: 20px;
631
-      display: flex;
632
-      flex-wrap: wrap;
633
-      .additionalOne{
634
-        margin-right:20px;
635
-        margin-bottom:10px;
636
-        display: flex;
637
-        align-items: center;
638
-        >span{
639
-          white-space: nowrap;
640
-          overflow: hidden;
641
-          text-overflow: ellipsis;
642
-          width:80px;
643
-          display: inline-block;
644
-          font-size: 14px;
645
-        }
646
-      }
647
-      .deleteIcon{
648
-        color:red;
649
-        margin-left:5px;
650
-      }
651
-    }
548
+  height: 100%;
549
+  display: flex;
550
+  flex-direction: column;
551
+.tabsBox{
552
+  position: relative;
553
+  height: 90%;
554
+  overflow-y: auto;
555
+  margin-bottom: 60px;
556
+.el-tabs__item{
557
+  padding: 0 10px;
558
+}
559
+}
560
+.addTab{
561
+  position: absolute;
562
+  right: 0;
563
+  top: 6px;
564
+  z-index: 20;
565
+}
566
+.mainCenter{
567
+  display: flex;
568
+  flex:1;
569
+}
570
+.costBox{
571
+  width:100%;
572
+  height:60px;
573
+  background:#fff;
574
+  position: absolute;
575
+  bottom:0;
576
+  display: flex;
577
+  justify-content: space-between;
578
+  align-items: center;
579
+}
580
+.centerLeft{
581
+  flex: 1;
582
+  display: flex;
583
+  flex-direction: column;
584
+  position: relative;
585
+}
586
+.centerRight{
587
+  width: 300px;
588
+  margin-left: 5px;
589
+  display: flex;
590
+  flex-direction: column;
591
+}
592
+.RP{
593
+  color:#409EFF;
594
+  font-size: 20px;
595
+  margin-bottom: 5px;
596
+}
597
+.centerRightTitle{
598
+  color:#409EFF;
599
+  padding:0 0 10px 0;
600
+}
601
+.basicUl{
602
+  border-top: 1px solid #e5e5e5;
603
+  border-left: 1px solid #e5e5e5;
604
+  display: flex;
605
+  flex-wrap: wrap;
606
+li{
607
+  border-bottom: 1px solid #e5e5e5;
608
+  border-right: 1px solid #e5e5e5;
609
+  width: 100%;
610
+  height: 38px;
611
+  line-height: 38px;
612
+  text-indent: 5px;
613
+  font-size: 14px;
614
+}
615
+}
616
+.additionalBox{
617
+  margin-top: 20px;
618
+  display: flex;
619
+  flex-wrap: wrap;
620
+.additionalOne{
621
+  margin-right:20px;
622
+  margin-bottom:10px;
623
+  display: flex;
624
+  align-items: center;
625
+>span{
626
+  white-space: nowrap;
627
+  overflow: hidden;
628
+  text-overflow: ellipsis;
629
+  width:80px;
630
+  display: inline-block;
631
+  font-size: 14px;
632
+}
633
+}
634
+.deleteIcon{
635
+  color:red;
636
+  margin-left:5px;
637
+}
638
+}
652 639
 }
653 640
 </style>
654 641
 
655 642
 <style lang="scss">
656 643
 .summaryDetail{
657
-    .el-table th .cell, .el-table td .cell{
658
-        padding: 0 2px;
659
-    }
660
-    .el-icon-delete{
661
-        color:red;
662
-    }
644
+.el-table th .cell, .el-table td .cell{
645
+  padding: 0 2px;
646
+}
647
+.el-icon-delete{
648
+  color:red;
649
+}
663 650
 }
664 651
 
665 652
 </style>

+ 2 - 2
src/xt_pages/outpatientDoctorStation/pastInquiries.vue View File

@@ -219,9 +219,9 @@
219 219
         return name
220 220
       },
221 221
       handleSelectionChange(val) {
222
-        
222
+
223 223
         this.selecting_schs = val;
224
-        
224
+
225 225
       },
226 226
       batchPrint(type){
227 227
         this.printType = type

+ 35 - 15
src/xt_pages/supply/components/addSupply.vue View File

@@ -60,12 +60,7 @@
60 60
         </el-row>
61 61
       </el-form>
62 62
 
63
-      <el-form
64
-        :rules="tableRules"
65
-        :model="recordInfo"
66
-        ref="recordInfo"
67
-        class="tableclass"
68
-      >
63
+      <el-form :model="recordInfo" ref="recordInfo" class="tableclass">
69 64
         <el-table
70 65
           :row-style="{ color: '#303133' }"
71 66
           :header-cell-style="{
@@ -83,10 +78,21 @@
83 78
             <template slot="header" slot-scope="scope">
84 79
               <span>联系人<span style="color: red">*</span></span>
85 80
             </template>
81
+            <!-- tableRules.name -->
86 82
             <template slot-scope="scope">
87 83
               <el-form-item
88 84
                 :prop="'contacts.' + scope.$index + '.name'"
89
-                :rules="tableRules.name"
85
+                :rules="
86
+                  scope.row.name != ''
87
+                    ? [
88
+                        {
89
+                          required: 'true',
90
+                          message: '请输入主要联系人',
91
+                          trigger: ['blur', 'change'],
92
+                        },
93
+                      ]
94
+                    : null
95
+                "
90 96
               >
91 97
                 <el-input
92 98
                   v-model="scope.row.name"
@@ -362,8 +368,17 @@ export default {
362 368
             this.$refs[formName].validate((valid) => {
363 369
               if (valid) {
364 370
                 let params = {
365
-                  ...this.supplier,
366
-                  ...this.recordInfo,
371
+                  suppliercode: this.supplier.supplierCode,
372
+                  suppliername: this.supplier.supplierName,
373
+                  // ...this.recordInfo
374
+                  id: parseInt(this.supplier_ids),
375
+                  // id:JSON.parse(this.supplier_ids),
376
+                  suppliertype: "",
377
+                  vatrate: "",
378
+                  number: "",
379
+                  bank: "",
380
+                  bankaccount: "",
381
+                  contacts: [...this.recordInfo.contacts],
367 382
                 };
368 383
                 console.log(params, "dhas");
369 384
                 savesupply(params).then((res) => {});
@@ -383,15 +398,20 @@ export default {
383 398
             this.$refs[formName].validate((valid) => {
384 399
               if (valid) {
385 400
                 let params = {
386
-                  suppliercode:this.supplier.supplierCode,
387
-                  suppliername:this.supplier.supplierName,
388
-                  tmp:"测试",
401
+                  suppliercode: this.supplier.supplierCode,
402
+                  suppliername: this.supplier.supplierName,
389 403
                   // ...this.recordInfo
390
-                  id:this.supplier_ids,
391
-                  contacts:[...this.recordInfo.contacts]
404
+                  id: parseInt(this.supplier_ids),
405
+                  // id:JSON.parse(this.supplier_ids),
406
+                  suppliertype: "",
407
+                  vatrate: "",
408
+                  number: "",
409
+                  bank: "",
410
+                  bankaccount: "",
411
+                  contacts: [...this.recordInfo.contacts],
392 412
                 };
393 413
                 console.log(this.recordInfo, "dhas");
394
-                console.log(typeof(this.supplier_ids),'oo')
414
+                console.log(typeof this.supplier_ids, "oo");
395 415
                 updatesupply(params).then((res) => {
396 416
                   console.log(res, "oo");
397 417
                 });

+ 0 - 3
src/xt_pages/supply/goodOrderQuery.vue View File

@@ -267,11 +267,9 @@ export default {
267 267
           page:this.page,
268 268
           limit:this.limit,
269 269
         }
270
-       console.log("param2323322332",params)
271 270
        getAllGoodOrderList(params).then(response=>{
272 271
           if(response.data.state == 1){
273 272
             var list = response.data.data.list 
274
-            console.log("购货单列表",list)
275 273
             this.tableList = list
276 274
             var total = response.data.data.total
277 275
             this.total = total
@@ -341,7 +339,6 @@ export default {
341 339
        this.$router.push({path:"/good/order/edit?id="+val.id+"&warehousing_id="+val.warehousing_id})
342 340
      },
343 341
      toDelete(val,index){
344
-       console.log("val323223233223",val)
345 342
        if(val.is_check == 1){
346 343
          this.$message.error("已审核单据,不能删除!")
347 344
          return false

+ 25 - 48
src/xt_pages/supply/supplyQuery.vue View File

@@ -15,52 +15,19 @@
15 15
         <div>
16 16
           <el-select
17 17
             v-model="type_name"
18
-            style="width: 140px; margin-right: 10px"
19
-            placeholder="请选择"
18
+            style="width: 170px; margin-right: 10px"
19
+            placeholder="请选择供应商类别"
20 20
             @change="changeTypeName"
21 21
           >
22 22
             <el-option
23
-              v-for="item in types"
23
+              v-for="item in sType"
24 24
               :key="item.id"
25
-              :label="item.type_name"
26
-              :value="item.id"
25
+              :label="item.name"
26
+              :value="item.value"
27 27
             >
28 28
             </el-option>
29 29
           </el-select>
30
-          <el-date-picker
31
-            size="small"
32
-            v-model="start_time"
33
-            prefix-icon="el-icon-date"
34
-            :editable="false"
35
-            style="width: 196px"
36
-            type="date"
37
-            placeholder="选择日期时间"
38
-            align="right"
39
-            format="yyyy-MM-dd"
40
-            value-format="yyyy-MM-dd"
41
-            @change="startTimeChange"
42
-          ></el-date-picker
43
-          >-
44
-          <el-date-picker
45
-            size="small"
46
-            v-model="end_time"
47
-            prefix-icon="el-icon-date"
48
-            :editable="false"
49
-            style="width: 196px"
50
-            type="date"
51
-            placeholder="选择日期时间"
52
-            align="right"
53
-            format="yyyy-MM-dd"
54
-            value-format="yyyy-MM-dd"
55
-            @change="endTimeChange"
56
-          ></el-date-picker>
57
-          <el-input
58
-            size="small"
59
-            style="width: 200px; margin-left: 10px"
60
-            class="filter-item"
61
-            v-model.trim="keywords"
62
-            placeholder="耗材名称"
63
-          />
30
+
64 31
           <el-button
65 32
             size="small"
66 33
             class="filter-item"
@@ -90,7 +57,7 @@
90 57
       >
91 58
         <el-table-column prop="SupplierType" label="供应商类别" align="center">
92 59
           <template slot-scope="scope">
93
-            <span>{{ scope.row.SupplierType }}</span>
60
+            <span>{{ scope.row.TypeName }}</span>
94 61
           </template>
95 62
         </el-table-column>
96 63
         <el-table-column prop="SupplierCode" label="供应商编码" align="center">
@@ -175,13 +142,11 @@
175 142
 <script>
176 143
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
177 144
 import addSupply from "./components/addSupply.vue";
178
-import {
179
-  getexporthistory,
180
-  delsupplys
181
-} from "@/api/supply";
145
+import { getexporthistory, delsupplys, getsupplytype } from "@/api/supply";
182 146
 export default {
183 147
   name: "stockIn",
184 148
   created() {
149
+    this.getsupplytype();
185 150
     // this.initSupplierData()
186 151
     this.org_id = this.$store.getters.xt_user.org_id;
187 152
 
@@ -207,7 +172,7 @@ export default {
207 172
       page: 1,
208 173
       limit: 10,
209 174
 
210
-      type_name: "",
175
+      type_name: 0,
211 176
       crumbs: [
212 177
         { path: false, name: "采购管理" },
213 178
         { path: "/supply/good/order/query", name: "供应商管理" },
@@ -226,13 +191,16 @@ export default {
226 191
       types: [],
227 192
       tableList: [],
228 193
       tyep_name: "",
194
+      sType: [],
229 195
     };
230 196
   },
197
+
231 198
   methods: {
232 199
     initData() {
233 200
       let params = {
234 201
         limit: this.limit,
235 202
         page: this.page,
203
+        ctype: this.type_name,
236 204
       };
237 205
       getexporthistory(params).then((res) => {
238 206
         if (res.data.state == 1) {
@@ -242,6 +210,15 @@ export default {
242 210
       });
243 211
     },
244 212
 
213
+    getsupplytype() {
214
+      getsupplytype().then((res) => {
215
+        if (res.data.state == 1) {
216
+          this.sType = res.data.data.list;
217
+        }
218
+        console.log(res, "oo");
219
+      });
220
+    },
221
+
245 222
     toDelete(val, index) {
246 223
       delsupplys(val.ID)
247 224
         .then((res) => {
@@ -257,15 +234,15 @@ export default {
257 234
         });
258 235
     },
259 236
 
260
-   
261
-
262 237
     toAdd(val) {
263 238
       this.$refs.addSupply.show(1, val);
264 239
     },
265 240
     toClick(data, val) {
266 241
       this.$refs.addSupply.show(data, val);
267 242
     },
268
-    changeTypeName() {},
243
+    changeTypeName() {
244
+      this.initData();
245
+    },
269 246
     startTimeChange() {},
270 247
     endTimeChange() {},
271 248
     search() {},