소스 검색

Merge branch '20220812' of http://git.shengws.com/csx/Vue_New into 2022-10-17_vue_schedule_branch

张保健 1 년 전
부모
커밋
39d7484399

+ 16 - 0
src/api/stock.js 파일 보기

@@ -1072,3 +1072,19 @@ export function getwarehouseinfolist(params) {
1072 1072
     params: params
1073 1073
   })
1074 1074
 }
1075
+
1076
+export function getNewGoodWarehouseInfo(params) {
1077
+  return request({
1078
+    url: '/api/stock/getnewgoodwarehouseinfo',
1079
+    method: 'get',
1080
+    params: params
1081
+  })
1082
+}
1083
+
1084
+export function getNewWarehouseOutInfoList(params) {
1085
+  return request({
1086
+    url: '/api/stock/getnewwarehouseoutinfolist',
1087
+    method: 'Get',
1088
+    params: params
1089
+  })
1090
+}

+ 23 - 23
src/router/modules/dialysis.js 파일 보기

@@ -68,17 +68,17 @@ export default {
68 68
       }
69 69
     },
70 70
 
71
-    {
72
-      path: '/dialysis/doctorAdviceStaticPrint',
73
-      component: () => import('@/xt_pages/dialysis/doctorAdviceStaticPrint'),
74
-      name: '透析医嘱统计打印',
75
-      hidden: true,
76
-      is_menu: false,
77
-      meta: {
78
-        title: '透析医嘱统计打印',
79
-        noCache: true
80
-      }
81
-    },
71
+    // {
72
+    //   path: '/dialysis/doctorAdviceStaticPrint',
73
+    //   component: () => import('@/xt_pages/dialysis/doctorAdviceStaticPrint'),
74
+    //   name: '透析医嘱统计打印',
75
+    //   hidden: true,
76
+    //   is_menu: false,
77
+    //   meta: {
78
+    //     title: '透析医嘱统计打印',
79
+    //     noCache: true
80
+    //   }
81
+    // },
82 82
 
83 83
     {
84 84
       path: '/dialysis/signPrint',
@@ -503,18 +503,18 @@ export default {
503 503
         noCache: true
504 504
       }
505 505
     },
506
-    // {
507
-    //   path: '/dialysis/print/batch/twentySeven',
508
-    //   component: () =>
509
-    //   import('@/xt_pages/dialysis/batch_print/batch_print_order_twentySeven'),
510
-    //   hidden: true,
511
-    //   is_menu: false,
512
-    //   name: 'dialysis_batch_twentySeven',
513
-    //   meta: {
514
-    //     title: '批量打印',
515
-    //     noCache: true
516
-    //   }
517
-    // },
506
+    {
507
+      path: '/dialysis/print/batch/twentySeven',
508
+      component: () =>
509
+      import('@/xt_pages/dialysis/batch_print/batch_print_order_twentySeven'),
510
+      hidden: true,
511
+      is_menu: false,
512
+      name: 'dialysis_batch_twentySeven',
513
+      meta: {
514
+        title: '批量打印',
515
+        noCache: true
516
+      }
517
+    },
518 518
     {
519 519
       path: '/dialysis/print/batch/twentyEight',
520 520
       component: () =>

+ 22 - 0
src/router/modules/stock.js 파일 보기

@@ -259,6 +259,28 @@ export default {
259 259
         noCache: true
260 260
       }
261 261
     },
262
+    {
263
+      path: '/stock/print/one',
264
+      component: () => import('@/xt_pages/stock/detail/printOne'),
265
+      hidden: true,
266
+      is_menu: false,
267
+      name: 'stock_print_one',
268
+      meta: {
269
+        title: '库存打印',
270
+        noCache: true
271
+      }
272
+    },
273
+    {
274
+      path: '/stock/print/two',
275
+      component: () => import('@/xt_pages/stock/detail/printTwo'),
276
+      hidden: true,
277
+      is_menu: false,
278
+      name: 'stock_print_two',
279
+      meta: {
280
+        title: '库存打印',
281
+        noCache: true
282
+      }
283
+    },
262 284
     {
263 285
       path: '/stock/user/detail',
264 286
       component: () => import('@/xt_pages/stock/stockUserDetail'),

+ 147 - 1
src/xt_pages/dialysis/batch_print/batch_print_order_six.vue 파일 보기

@@ -1503,7 +1503,7 @@
1503 1503
                     </table>
1504 1504
                   </td>
1505 1505
                 </tr>
1506
-                <tr>
1506
+                <tr v-if="org_id!=10402">
1507 1507
                   <td style="padding: 0; position: relative" colspan="2">
1508 1508
                     <table class="inside_table">
1509 1509
                       <tbody>
@@ -1650,6 +1650,151 @@
1650 1650
                     </table>
1651 1651
                   </td>
1652 1652
                 </tr>
1653
+
1654
+                 <tr v-if="org_id == 10402">
1655
+                  <td style="padding: 0; position: relative" colspan="2">
1656
+                    <table class="inside_table">
1657
+                      <tbody>
1658
+                        <tr style="line-height: 35px; padding: 8px 5px">
1659
+                          <td
1660
+                            colspan="7"
1661
+                            style="
1662
+                              letter-spacing: 5px;
1663
+                              text-align: center;
1664
+                              font-weight: 520;
1665
+                              font-size: 16px;
1666
+                              padding: 6px 8px;
1667
+                              line-height: 30px;
1668
+                            "
1669
+                          >
1670
+                            医嘱内容
1671
+                          </td>
1672
+                        </tr>
1673
+                        <!-- <tr style="line-height:35px;padding:8px 5px;">
1674
+                                            <td colspan="4" style="font-size: 16px">开医嘱</td>
1675
+                                            <td colspan="3" style="font-size: 16px">执行核对医嘱</td>
1676
+                            </tr> -->
1677
+                        <tr style="line-height: 35px; padding: 8px 5px">
1678
+                          <td style="font-size: 16px" width="10%">时间</td>
1679
+                          <td style="font-size: 16px" colspan="2" width="45%">
1680
+                            医嘱内容
1681
+                          </td>
1682
+                          <td style="font-size: 16px" width="10%">医生签名</td>
1683
+                          <!-- <td style="font-size: 16px" width="10%">核对人签名</td> -->
1684
+                          <td style="font-size: 16px" width="10%">
1685
+                            执行人签名
1686
+                          </td>
1687
+                          <td style="font-size: 16px" width="10%">时间</td>
1688
+                        </tr>
1689
+                        <!-- <template v-for="group in doctor_advices" > -->
1690
+
1691
+                        <template v-if="record.advices">
1692
+                          <tr
1693
+                            v-for="(advice, advice_index) in record.his_advices"
1694
+                            :key="advice_index"
1695
+                          >
1696
+                            <td height="35px">
1697
+                              <span v-if="advice.start_time">
1698
+                                {{ getTime(advice.start_time, "{h}:{i}") }}
1699
+                              </span>
1700
+                            </td>
1701
+
1702
+                            <td
1703
+                              height="35px"
1704
+                              colspan="2"
1705
+                              class="advice-name"
1706
+                              style="padding-left: 7px"
1707
+                            >
1708
+                              <span v-if="advice.parent_id > 0">---></span>
1709
+                              <span>{{ advice.advice_name }}</span>
1710
+
1711
+                              <span
1712
+                               v-if="advice && advice.advice_desc"
1713
+                              >
1714
+                                ({{ advice.advice_desc
1715
+                                }}{{ advice.drug_spec_unit }} )
1716
+                              </span>
1717
+
1718
+                              <span v-if="advice.prescribing_number"
1719
+                                >&nbsp;&nbsp; {{ advice.prescribing_number
1720
+                                }}{{ advice.prescribing_number_unit }}</span
1721
+                              >
1722
+                              <span v-if="advice.single_dose != 0">
1723
+                                {{ advice.single_dose
1724
+                                }}{{ advice.single_dose_unit }}</span
1725
+                              >
1726
+
1727
+                              <span v-if="advice.parent_id == 0">{{
1728
+                                advice.delivery_way
1729
+                              }}</span>
1730
+                              <span v-if="advice.parent_id == 0">{{
1731
+                                advice.execution_frequency
1732
+                              }}</span>
1733
+                              <span
1734
+                                v-if="
1735
+                                  advice.parent_id == 0 &&
1736
+                                  advice.remark.length > 0
1737
+                                "
1738
+                                >({{ advice.remark }})</span
1739
+                              >
1740
+                            </td>
1741
+
1742
+                            <td height="35px">
1743
+                              <span
1744
+                                v-if="
1745
+                                  setAdminUserES(advice, 'advice_doctor') ==
1746
+                                  ''
1747
+                                "
1748
+                                >{{
1749
+                                  getAdminUser(advice, "advice_doctor")
1750
+                                }}</span
1751
+                              >
1752
+                              <img
1753
+                                class="es-img"
1754
+                                :src="
1755
+                                  setAdminUserES(advice, 'advice_doctor')
1756
+                                "
1757
+                                alt=""
1758
+                                srcset=""
1759
+                                v-else
1760
+                                style="height: 40px"
1761
+                              />
1762
+                            </td>
1763
+
1764
+                            <td height="35px">
1765
+                              <span
1766
+                                v-if="
1767
+                                  setAdminUserES(
1768
+                                    advice,
1769
+                                    'execution_staff'
1770
+                                  ) == ''
1771
+                                "
1772
+                                >{{
1773
+                                  getAdminUser(advice, "execution_staff")
1774
+                                }}</span
1775
+                              >
1776
+                              <img
1777
+                                class="es-img"
1778
+                                :src="
1779
+                                  setAdminUserES(advice, 'execution_staff')
1780
+                                "
1781
+                                alt=""
1782
+                                srcset=""
1783
+                                v-else
1784
+                                style="height: 40px"
1785
+                              />
1786
+                            </td>
1787
+                            <td height="35px">
1788
+                              <span v-if="advice.execution_time">{{
1789
+                                getTime(advice.execution_time, " {h}:{i}")
1790
+                              }}</span>
1791
+                            </td>
1792
+                          </tr>
1793
+                        </template>
1794
+                      </tbody>
1795
+                    </table>
1796
+                  </td>
1797
+                </tr>
1653 1798
               </tbody>
1654 1799
             </table>
1655 1800
           </div>
@@ -1740,6 +1885,7 @@
1740 1885
                 </div>
1741 1886
               </div>
1742 1887
             </div>
1888
+            
1743 1889
             <div class="row">
1744 1890
               <div class="inline_block">
1745 1891
                 入科方式:

+ 1 - 1
src/xt_pages/dialysis/batch_print/batch_print_order_sixtyOne.vue 파일 보기

@@ -1377,7 +1377,7 @@
1377 1377
                                     monitor_record.operate_time ==
1378 1378
                                       record.dialysis_order.start_time
1379 1379
                                   "
1380
-                                  >【开始透析】</template
1380
+                                  >【开始透析】引血100ml/min</template
1381 1381
                                 >
1382 1382
                                 <template
1383 1383
                                   v-if="

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4264 - 0
src/xt_pages/dialysis/batch_print/batch_print_order_twentySeven.vue


+ 3 - 3
src/xt_pages/dialysis/bloodPresssWatch.vue 파일 보기

@@ -11,7 +11,7 @@
11 11
           @click="batchPrintAction"
12 12
           type="primary"
13 13
           >打印</el-button
14
-        >
14
+        > 
15 15
       </template>
16 16
       <template v-if="this.template_id == 2 || this.template_id == 0 || this.template_id == 33">
17 17
         <div>
@@ -219,7 +219,7 @@
219 219
           >批量打印</el-button
220 220
         >
221 221
       </template>
222
-      <template v-if="this.template_id == 27">
222
+      <!-- <template v-if="this.template_id == 27">
223 223
         <el-button
224 224
           size="small"
225 225
           icon="el-icon-printer"
@@ -228,7 +228,7 @@
228 228
           type="primary"
229 229
           >批量打印</el-button
230 230
         >
231
-      </template>
231
+      </template> -->
232 232
       <template v-if="this.template_id == 28">
233 233
         <el-button
234 234
           size="small"

+ 9 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderForty.vue 파일 보기

@@ -353,15 +353,23 @@
353 353
                       &nbsp;
354 354
                       <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('颈内静脉-左') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('颈内静脉-右') > -1 ? true : false" showValue="颈内静脉"></label-box>
355 355
                       &nbsp;
356
-                      (<label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('颈内静脉-左') > -1 ? true : false" showValue="左"></label-box>
356
+                      <!-- (<label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('颈内静脉-左') > -1 ? true : false" showValue="左"></label-box>
357 357
                       &nbsp;
358 358
                       <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('颈内静脉-右') > -1 ? true : false" showValue="右"></label-box>)
359 359
                       <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('股静脉') > -1 ? true : false" showValue="股静脉"></label-box>
360 360
                       &nbsp;
361 361
                       <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('锁骨下') > -1 ? true : false" showValue="锁骨下"></label-box>
362
+                      &nbsp; -->
363
+                    </div>
364
+                  </td>
365
+                  <td width="50">其它</td>
366
+                  <td width="150">
367
+                    <div class="under-line">
362 368
                       &nbsp;
369
+                      <span v-if="predialysis.blood_access_part_opera_name.indexOf('自体内瘘') <= -1&&predialysis.blood_access_part_opera_name.indexOf('人造血管') <= -1&&predialysis.blood_access_part_opera_name.indexOf('直穿') <= -1&&predialysis.blood_access_part_opera_name.indexOf('颈内静脉-左') <= -1&&predialysis.blood_access_part_opera_name.indexOf('颈内静脉-右') <= -1">{{ predialysis.blood_access_part_opera_name }}</span>
363 370
                     </div>
364 371
                   </td>
372
+                  <td width="250"></td>
365 373
                 </tr>
366 374
                 </tbody>
367 375
               </table>

+ 91 - 5
src/xt_pages/dialysis/template/DialysisPrintOrderFortyEight.vue 파일 보기

@@ -101,9 +101,7 @@
101 101
               >&nbsp;
102 102
               <label-box
103 103
                 :isChecked="
104
-                  prescription.mode_id == 3
105
-                    ? true
106
-                    : prescription.mode_id == 4
104
+                  prescription.mode_id == 4
107 105
                     ? true
108 106
                     : false
109 107
                 "
@@ -111,11 +109,99 @@
111 109
               ></label-box
112 110
               >&nbsp;
113 111
               <!-- <label-box :isChecked="prescription.mode_id == 7 ? true : false" showValue="IUF"></label-box>&nbsp; -->
114
-              <label-box
112
+              <!-- <label-box
115 113
                 :isChecked="prescription.mode_id == 5 ? true : false"
116 114
                 showValue="HF"
117 115
               ></label-box
118
-              >&nbsp;
116
+              >&nbsp; -->
117
+                  &nbsp;
118
+                  <span>其他:  <span v-if="prescription.mode_id==3">HD+HP</span>
119
+                                <span v-if="prescription.mode_id == 5">
120
+                                HF
121
+                                </span>
122
+                                <span v-if="prescription.mode_id == 6">
123
+                                SCUF
124
+                                </span>
125
+                                <span v-if="prescription.mode_id == 7">
126
+                                IUF
127
+                                </span>
128
+                                <span v-if="prescription.mode_id == 8">
129
+                                HFHD
130
+                                </span>
131
+                                <span v-if="prescription.mode_id == 9">
132
+                                HFHD+HP
133
+                                </span>
134
+                                <span v-if="prescription.mode_id == 10">
135
+                                PHF
136
+                                </span>
137
+                                <span v-if="prescription.mode_id == 11">
138
+                                HFR
139
+                                </span>
140
+                                <span v-if="prescription.mode_id == 12">
141
+                                HDF+HP
142
+                                </span>
143
+                                <span v-if="prescription.mode_id == 13">
144
+                                CRRT
145
+                                </span>
146
+                                <span v-if="prescription.mode_id == 14">
147
+                                腹水回输
148
+                                </span>
149
+                                <span v-if="prescription.mode_id == 15">
150
+                                HD前置换
151
+                                </span>
152
+                                <span v-if="prescription.mode_id == 16">
153
+                                HD后置换
154
+                                </span>
155
+                                <span v-if="prescription.mode_id == 17">
156
+                                HDF前置换
157
+                                </span>
158
+                                <span v-if="prescription.mode_id == 18">
159
+                                HDF后置换
160
+                                </span>
161
+                                <span v-if="prescription.mode_id == 19">
162
+                                IUF+HD
163
+                                </span>
164
+                                <span v-if="prescription.mode_id == 20">
165
+                                UF
166
+                                </span>
167
+                                <span v-if="prescription.mode_id == 21">
168
+                                HD+
169
+                                </span>
170
+                                <span v-if="prescription.mode_id == 22">
171
+                                血浆胆红素吸附+HDF
172
+                                </span>
173
+                                <span v-if="prescription.mode_id == 23">
174
+                                血浆胆红素吸附
175
+                                </span>
176
+                                <span v-if="prescription.mode_id == 24">
177
+                                  I-HDF
178
+                                </span>
179
+                                <span v-if="prescription.mode_id == 25">
180
+                                  HD高通
181
+                                </span>
182
+                                <span v-if="prescription.mode_id == 26">
183
+                                  CVVH
184
+                                </span>
185
+                                <span v-if="prescription.mode_id == 27">
186
+                                  CVVHD
187
+                                </span>
188
+                                <span v-if="prescription.mode_id == 28">
189
+                                  CVVHDF
190
+                                </span>
191
+                                <span v-if="prescription.mode_id == 29">
192
+                                  PE
193
+                                </span>
194
+                               <span v-if="prescription.mode_id == 30">
195
+                                血浆胆红素吸附+HP
196
+                                </span>
197
+                                <span v-if="prescription.mode_id == 31">
198
+                                HPD
199
+                                </span>
200
+                                <span v-if="prescription.mode_id == 32">
201
+                                HDP
202
+                                </span>
203
+                                </span>
204
+                
119 205
             </td>
120 206
             <td style="text-align: left" colspan="5">
121 207
               <span

+ 31 - 3
src/xt_pages/dialysis/template/DialysisPrintOrderFortyFour.vue 파일 보기

@@ -568,11 +568,21 @@
568 568
                         </td>
569 569
                         <td height="30px" colspan="2" class="advice-name" style="padding:4px 5px;">
570 570
                           <span v-if="advice.parent_id > 0">---></span>
571
-                          <span>{{ advice.advice_name }}</span>
571
+                          <span v-if="advice.advice_name">{{ advice.advice_name }}</span>
572
+                          <span
573
+                            v-else-if="
574
+                              advice.project && advice.project.project_name
575
+                            "
576
+                            >{{ advice.project.project_name }}</span
577
+                          >
578
+
572 579
                           <span v-if="advice.parent_id == 0 && advice.remark.length > 0">({{ advice.remark }})</span>
573 580
                           <span v-if="advice && advice.advice_desc">({{ advice.advice_desc }}{{ advice.drug_spec_unit }})</span>
574 581
                           <span v-if="advice.prescribing_number">&nbsp;&nbsp; {{ advice.prescribing_number }}{{ advice.prescribing_number_unit }}</span>
575 582
                           <span v-if="advice.single_dose != 0">{{ advice.single_dose }}{{ advice.single_dose_unit }}</span>
583
+                          <span v-if="advice && advice.project">{{
584
+                            advice.project.unit
585
+                          }}</span>
576 586
                           <span v-if="advice.parent_id == 0">{{ advice.delivery_way }}</span>
577 587
                           <span v-if="advice.parent_id == 0">{{ advice.execution_frequency }}</span>
578 588
                           
@@ -685,7 +695,7 @@
685 695
                         {{ afterdialysis.actual_treatment_minute ? afterdialysis.actual_treatment_minute : 0 }}
686 696
                       </div>
687 697
                       min
688
-                    </div>
698
+                    </div> 
689 699
                   </div>
690 700
                   <div class="row" style="padding: 2px 0;line-height:23px;display:flex;">
691 701
                     <div class="inline_block" style="flex:1">
@@ -1389,13 +1399,31 @@ export default {
1389 1399
 
1390 1400
         var doctorAdevieInfo = JSON.parse(JSON.stringify(response.data.data.advices))
1391 1401
         this.tableAdvice = doctorAdevieInfo;
1402
+
1403
+
1404
+        let project_arr = response.data.data.projects
1405
+        // console.log(project_arr,'ppooo')
1406
+        // if(project_arr.length > 0){
1407
+        //   this.tableAdvice.concat(project_arr)
1408
+        //  }
1409
+      let flag = this.tableAdvice.findIndex(o => {
1410
+        return !o.advice_name
1411
+      })
1412
+        console.log(flag,'flag')
1413
+        for(let i=0;i<project_arr.length;i++){
1414
+          this.tableAdvice.splice(flag, 0, project_arr[i]);
1415
+          flag++
1416
+        }
1417
+        
1418
+        console.log(this.tableAdvice,'新的心得')
1419
+
1392 1420
         if (this.tableAdvice.length < 7) {
1393 1421
           var nl = 6 - this.tableAdvice.length;
1394 1422
           for (let index = 0; index < nl; index++) {
1395 1423
             this.tableAdvice.push([]);
1396 1424
           }
1397 1425
         }
1398
-         
1426
+        // console.log(project_arr,'project_arr')
1399 1427
         this.monitors = response.data.data.monitors
1400 1428
         this.summary = response.data.data.summary
1401 1429
         this.org_template_info = response.data.data.org_template_info

+ 2 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderFortySeven.vue 파일 보기

@@ -1493,7 +1493,8 @@
1493 1493
                                 advice.prescribing_number_unit
1494 1494
                               "
1495 1495
                               >{{ advice.prescribing_number
1496
-                              }}{{ advice.prescribing_number_unit }}</span
1496
+                              }}{{ advice.prescribing_number_unit }}
1497
+                              </span
1497 1498
                             >
1498 1499
                             <span v-if="advice.single_dose"
1499 1500
                               ><span v-if="!advice.project">单次用量</span>

+ 1 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderSixty.vue 파일 보기

@@ -25,7 +25,7 @@
25 25
               font-weight: 600;
26 26
               font-size: 22px;
27 27
               display: inline-block;
28
-            "
28
+            " 
29 29
           >
30 30
             血液净化治疗记录单
31 31
           </div>

+ 1 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderSixtyOne.vue 파일 보기

@@ -1402,7 +1402,7 @@
1402 1402
                                 v-if="
1403 1403
                                   (dialysisOrder &&
1404 1404
                                   monitor.operate_time ==
1405
-                                    dialysisOrder.start_time)&&(org_id!=10414)
1405
+                                    dialysisOrder.start_time)
1406 1406
                                 "
1407 1407
                                 >【开始透析】引血100ml/min
1408 1408
                                 </template>

+ 9 - 2
src/xt_pages/dialysis/template/DialysisPrintOrderSixtyTwo.vue 파일 보기

@@ -1033,7 +1033,7 @@
1033 1033
               >
1034 1034
             </td>
1035 1035
           </tr>
1036
-          <tr>
1036
+          <!-- <tr>
1037 1037
             <td style="text-align: left" colspan="12">
1038 1038
               <span style="display: inline-block; margin-left: 15px">
1039 1039
                 透后评估: 透析过程:
@@ -1054,7 +1054,7 @@
1054 1054
                 }}
1055 1055
               </span>
1056 1056
             </td>
1057
-          </tr>
1057
+          </tr> -->
1058 1058
           <tr>
1059 1059
             <td style="text-align: left" colspan="2">
1060 1060
               <span style="display: inline-block; margin-left: 15px"
@@ -1299,6 +1299,13 @@
1299 1299
               >
1300 1300
             </td>
1301 1301
           </tr>
1302
+          <tr>
1303
+            <td style="text-align: left" colspan="6">
1304
+              <span style="display: inline-block; margin-left: 15px"
1305
+                >透析小结:{{ dialysis_summary ? dialysis_summary : "" }}
1306
+              </span>
1307
+            </td>
1308
+          </tr>
1302 1309
           <!-- <tr>
1303 1310
             <td style="text-align:left;" colspan="3">
1304 1311
               <span style="display:inline-block;margin-left:15px;">医生签名:</span>

+ 415 - 0
src/xt_pages/stock/detail/printOne.vue 파일 보기

@@ -0,0 +1,415 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+      <el-button :loading="loading" size="small" icon="el-icon-printer" @click="printThisPage" type="primary">打印
6
+      </el-button>
7
+    </div>
8
+    <div class="app-container ">
9
+      <div id="dialysis-print-box">
10
+        <div class="dialysis-print-order">
11
+          <div class="order-yy-name">{{orgname}}</div>
12
+          <div class="order-title" v-if="type == 1">入库单</div>
13
+          <div style="float: left;margin-bottom: 10px;">{{getDateOne()}}</div>
14
+          <div style="float: right;margin-bottom: 10px;">{{getDateTwo()}}</div>
15
+
16
+
17
+
18
+          <table class="print-table" border="1">
19
+            <tbody>
20
+            <tr>
21
+              <td style="line-height: 50px" width="50">序号</td>
22
+              <td style="line-height: 50px" width="200">耗材名称</td>
23
+              <td style="line-height: 50px" width="200">规格型号</td>
24
+              <td style="line-height: 50px" width="200">仓库名称</td>
25
+              <td style="line-height: 50px" width="80">数量</td>
26
+              <td style="line-height: 50px" width="50">单位</td>
27
+
28
+              <td style="line-height:50px" width="80">
29
+                进货价
30
+              </td>
31
+              <td style="line-height: 50px" width="80">总价</td>
32
+             
33
+            </tr>
34
+
35
+            <tr v-for="(item,index) in stockDatas" :key="item.id">
36
+              <td style="line-height: 50px">&nbsp;
37
+                {{index+1}}
38
+              </td>
39
+              <td style="line-height: 50px">
40
+                {{item.good_name}}
41
+              </td>
42
+              <td style="line-height: 50px">
43
+                {{item.specification_name}}
44
+              </td>
45
+             <td style="line-height: 50px" width="200">
46
+               {{getStorehouseId(item.storehouse_id)}}
47
+             </td>
48
+              <td style="line-height: 50px">
49
+                {{getCount(item.child)}}
50
+              </td>
51
+              <td style="line-height: 50px">
52
+                 {{item.packing_unit}}
53
+              </td>
54
+              <td style="line-height:50px">
55
+                {{item.price}}
56
+              </td>
57
+              <td style="line-height:50px">
58
+               {{(getCount(item.child)*item.price).toFixed(2)}}
59
+              </td>
60
+              
61
+            </tr>
62
+            </tbody>
63
+          </table>
64
+          <table class="print-table" border="1">
65
+            <tr>
66
+              <td style="line-height: 50px"  width="50">合计</td>
67
+              <td style="line-height: 50px"  width="200"></td>
68
+              <td style="line-height: 50px"  width="200"></td>
69
+              <td style="line-height: 50px"  width="80"></td>
70
+              <td style="line-height: 50px"  width="50"></td>
71
+              <td style="line-height: 50px"   width="80"></td>
72
+              <td style="line-height: 50px"  width="80">
73
+               
74
+              </td>
75
+              <td style="line-height: 50px" width="80">
76
+                 {{getSum()}}
77
+              </td>
78
+            </tr>
79
+          </table>
80
+
81
+          <div style="display:flex;margin-top:20px;float:right;">
82
+            <div style="width:50px;">审批:</div><div style="width:100px;"></div>
83
+            <div style="width:80px;">药材主任:</div><div style="width:100px;"></div>
84
+            <div style="width:50px;">会计:</div><div style="width:100px;"></div>
85
+            <div style="width:50px;">审核:</div><div style="width:100px;"></div>
86
+            <div style="width:70px;">制单人:</div><div style="width:100px;"></div>
87
+          </div>
88
+
89
+        </div>
90
+
91
+      </div>
92
+
93
+    </div>
94
+  </div>
95
+
96
+</template>
97
+
98
+<script>
99
+  import { getNewGoodWarehouseInfo } from '@/api/stock'
100
+  import { getDataConfig } from '@/utils/data'
101
+  import { jsGetAge, uParseTime } from '@/utils/tools'
102
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
103
+  import print from 'print-js'
104
+
105
+  export default {
106
+    name: 'dialysisPrintOrder',
107
+    components: {
108
+      BreadCrumb
109
+
110
+    },
111
+    data() {
112
+      return {
113
+        crumbs: [
114
+          { path: false, name: '出入库明细' },
115
+          { path: false, name: '打印单' }
116
+        ],
117
+        loading: false,
118
+        orgname: '',
119
+        queryParams: {
120
+          start_time: this.$route.query.start_time,
121
+          end_time: this.$route.query.end_time,
122
+          type: this.$route.query.type,
123
+          limit:this.$route.query.limit,
124
+          page:this.$route.query.page,
125
+          storehouse_id:this.$route.query.storehouse_id,
126
+          keywords:this.$route.query.keywords
127
+        },
128
+        totalPrice: 0,
129
+        stockDatas: [],
130
+        goodUnit: [],
131
+        type: this.$route.query.type,
132
+        start_time: this.$route.query.start_time,
133
+        end_time: this.$route.query.end_time,
134
+        stockTotal:[],
135
+        wareOutInfo:[],
136
+        org_id:this.$store.getters.xt_user.org.id,
137
+        informationList:[],
138
+        wareOutList:[],
139
+        storeHouseList:[],
140
+      }
141
+    },
142
+    methods:{
143
+      getDateOne(){
144
+
145
+        return "入库日期: "+this.start_time +"~"+this.end_time
146
+        
147
+
148
+      },
149
+      getDateTwo(){
150
+        var ptime = Math.round(new Date().getTime() / 1000)
151
+        return "打印单日期:"+uParseTime(ptime, '{y}-{m}-{d}')
152
+      },
153
+      getTime(value, temp) {
154
+        if (value == 0) {
155
+          return ''
156
+        }
157
+        if (value != undefined) {
158
+          return uParseTime(value, temp)
159
+        }
160
+        return ''
161
+      },
162
+      getlist(){
163
+        console.log("query23323223wo",this.queryParams)
164
+        getNewGoodWarehouseInfo(this.queryParams).then(response=>{
165
+           if(response.data.state == 1){
166
+             var list = response.data.data.list
167
+             console.log("list列表",list)
168
+
169
+             if(list!=null && list.length >0){
170
+              for(let i=0;i<list.length;i++){
171
+                list[i].good_store_id = list[i].good_id+list[i].storehouse_id
172
+               }
173
+             }
174
+             console.log("list23323223wo",list)
175
+
176
+             let dataInfo = {}
177
+              list.forEach((item, index) => {
178
+                let { good_store_id } = item
179
+                if (!dataInfo[good_store_id]) {
180
+                  dataInfo[good_store_id] = {
181
+                    good_store_id,
182
+                    child: [],
183
+                    good_name:item.GoodInfo.good_name,
184
+                    specification_name:item.GoodInfo.specification_name,
185
+                    price:item.price,
186
+                    packing_unit:item.GoodInfo.packing_unit,
187
+                    storehouse_id:item.storehouse_id,
188
+                    remark:item.remark,
189
+                  }
190
+                }
191
+              })
192
+             let arr = Object.values(dataInfo)
193
+           
194
+             for(let j=0;j<arr.length;j++){
195
+              for(let i=0;i<list.length;i++){
196
+                if(arr[j].good_store_id == list[i].good_store_id){
197
+                   arr[j].child.push(list[i])   
198
+                 }
199
+               }
200
+             }
201
+            
202
+             console.log("arr2333232wo",arr)
203
+             this.stockDatas = arr
204
+             var manufacturerList = response.data.data.manufacturerList
205
+             var dealerList = response.data.data.dealerList
206
+             this.storeHouseList = response.data.data.storeHouseList
207
+           }
208
+        })
209
+      },
210
+      getCount(val){
211
+        var total = 0
212
+        if(val!=null && val.length >0){
213
+          for(let i=0;i<val.length;i++){
214
+            total +=val[i].warehousing_count
215
+          }
216
+        }
217
+        return total
218
+      },
219
+      getStorehouseId(id){
220
+        var storehouse_name = ""
221
+        for(let i=0;i<this.storeHouseList.length;i++){
222
+          if(id == this.storeHouseList[i].id){
223
+             storehouse_name = this.storeHouseList[i].storehouse_name
224
+          }
225
+        }
226
+        return storehouse_name
227
+      },
228
+      getSum(){
229
+        var sum = 0
230
+        for(let i=0;i<this.stockDatas.length;i++){
231
+         for(let j=0;j<this.stockDatas[i].child.length;j++){
232
+            sum += this.stockDatas[i].child[j].warehousing_count * this.stockDatas[i].child[j].price
233
+         }
234
+        }
235
+        if (sum > 0) {
236
+          return sum.toFixed(2)
237
+        }else{
238
+          return ""
239
+        }
240
+      },
241
+      printThisPage() {
242
+        var ptime = Math.round(new Date().getTime() / 1000)
243
+        this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
244
+        const style = '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}'
245
+        printJS({
246
+          printable: 'dialysis-print-box',
247
+          type: 'html',
248
+          style: style,
249
+          scanStyles: false
250
+        })
251
+      },
252
+    },
253
+    created() {
254
+      var xtuser = this.$store.getters.xt_user
255
+      this.orgname = xtuser.org.org_name
256
+      this.goodUnit = this.$store.getters.good_unit
257
+      this.getlist()
258
+    }
259
+
260
+  }
261
+</script>
262
+
263
+<style>
264
+  .dialysis-print-order {
265
+    width: 960px;
266
+    margin: 0 auto
267
+  }
268
+
269
+  .dialysis-print-order .order-yy-name {
270
+    margin: auto;
271
+    text-align: center;
272
+    font-size: 20px;
273
+    letter-spacing: 5px;
274
+  }
275
+
276
+  .dialysis-print-order .order-title {
277
+    margin: auto;
278
+    font-weight: 600;
279
+    text-align: center;
280
+    font-size: 22px;
281
+    padding: 10px 20px 20px 20px;
282
+  }
283
+
284
+  .dialysis-print-order .table-box {
285
+
286
+    width: 100%;
287
+    line-height: 23px;
288
+    font-size: 14px;
289
+  }
290
+
291
+  .dialysis-print-order .print-table {
292
+    width: 100%;
293
+    text-align: center;
294
+    border-collapse: collapse;
295
+    line-height: 40px;
296
+    font-size: 14px;
297
+  }
298
+
299
+  .dialysis-print-order .print-table-no {
300
+    width: 100%;
301
+    text-align: center;
302
+    border-collapse: collapse;
303
+    font-size: 14px;
304
+  }
305
+
306
+  .dialysis-print-order .under-line {
307
+    border-bottom: 1px solid #999;
308
+    width: 95%;
309
+    text-align: center;
310
+    margin-left: 2px;
311
+
312
+
313
+  }
314
+
315
+  .dialysis-print-order .title-box {
316
+    text-align: center;
317
+    font-size: 16px;
318
+  }
319
+
320
+  .dialysis-print-order .radio-lebel-box {
321
+    font-weight: 400;
322
+    cursor: pointer;
323
+  }
324
+
325
+  .dialysis-print-order .radio-no {
326
+    opacity: 0;
327
+    outline: none;
328
+    position: absolute;
329
+    margin: 0;
330
+    width: 0;
331
+    height: 0;
332
+    z-index: -1;
333
+  }
334
+
335
+  .dialysis-print-order .radio-inner {
336
+    white-space: nowrap;
337
+    cursor: pointer;
338
+    outline: none;
339
+    display: inline-block;
340
+    line-height: 1;
341
+    position: relative;
342
+    vertical-align: middle;
343
+  }
344
+
345
+  .dialysis-print-order .radio-fang {
346
+    display: inline-block;
347
+    position: relative;
348
+    border: 1px solid #000;
349
+    box-sizing: border-box;
350
+    width: 14px;
351
+    height: 14px;
352
+    background-color: #fff;
353
+    z-index: 1;
354
+    transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46);
355
+  }
356
+
357
+  .dialysis-print-order .is-checked-radio::after {
358
+    content: "√";
359
+    font-size: 15px;
360
+  }
361
+
362
+
363
+  .dialysis-print-order .print-table-no tr td {
364
+    padding: 8px 5px;
365
+    line-height: 25px;
366
+  }
367
+
368
+  .dialysis-print-order .print-table tr td {
369
+    padding: 1px 1px;
370
+    /*line-height: 25px;*/
371
+  }
372
+
373
+  .es-img {
374
+    height: 25px;
375
+  }
376
+
377
+  .advice-name {
378
+    text-align: left;
379
+  }
380
+
381
+  .advice-children {
382
+    display: flex;
383
+  }
384
+
385
+  .title-box-pro {
386
+    border: 0 #fff;
387
+    line-height: 25px;
388
+    height: 25px;
389
+    text-align: left;
390
+    padding-left: 10px !important;
391
+  }
392
+
393
+  .title-box-pro-tr {
394
+    border: 0 #fff;
395
+  }
396
+
397
+  .text-align-left {
398
+    text-align: left !important;
399
+    padding-left: 10px !important;
400
+    font-size: 14px !important;
401
+    line-height: 25px;
402
+  }
403
+
404
+  .print-table-tr-new td {
405
+    line-height: 20px !important;
406
+  }
407
+
408
+  .border-top-solid {
409
+    border: solid 1px #000;
410
+  }
411
+
412
+  .print-template-two tr {
413
+    line-height: 30px;
414
+  }
415
+</style>

+ 415 - 0
src/xt_pages/stock/detail/printTwo.vue 파일 보기

@@ -0,0 +1,415 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+      <el-button :loading="loading" size="small" icon="el-icon-printer" @click="printThisPage" type="primary">打印
6
+      </el-button>
7
+    </div>
8
+    <div class="app-container ">
9
+      <div id="dialysis-print-box">
10
+        <div class="dialysis-print-order">
11
+          <div class="order-yy-name">{{orgname}}</div>
12
+          <div class="order-title" v-if="type == 1">入库单</div>
13
+
14
+          <div class="order-title" v-if="type == 2">出库单</div>
15
+          <div class="order-title" v-if="type == 4">退库单</div>
16
+
17
+          <div style="float: left;margin-bottom: 10px;">{{getDateOne()}}</div>
18
+          <div style="float: right;margin-bottom: 10px;">{{getDateTwo()}}</div>
19
+
20
+
21
+
22
+          <table class="print-table" border="1">
23
+            <tbody>
24
+            <tr>
25
+              <td style="line-height: 50px" width="50">序号</td>
26
+              <td style="line-height: 50px" width="200">耗材名称</td>
27
+              <td style="line-height: 50px" width="200">规格型号</td>
28
+             <td style="line-height: 50px" width="200">仓库名称</td>
29
+              <td style="line-height: 50px" width="80">数量</td>
30
+              <td style="line-height: 50px" width="50">单位</td>
31
+
32
+              <td style="line-height:50px" width="80">
33
+                 出货价
34
+              </td>
35
+              <td style="line-height: 50px" width="80">总价</td>
36
+            </tr>
37
+
38
+            <tr v-for="(item,index) in stockDatas" :key="item.id">
39
+              <td style="line-height: 50px">&nbsp;
40
+                {{index+1}}
41
+              </td>
42
+              <td style="line-height: 50px">
43
+                {{item.good_name}}
44
+              </td>
45
+              <td style="line-height: 50px">
46
+                 {{item.specification_name}}
47
+              </td>
48
+              <td style="line-height: 50px" width="200">
49
+                {{getStorehouseId(item.storehouse_id)}}
50
+              </td>
51
+              <td style="line-height: 50px">
52
+                 {{getCount(item.child)}}
53
+              </td>
54
+              <td style="line-height: 50px">
55
+                {{item.packing_unit}}
56
+              </td>
57
+              <td style="line-height:50px">
58
+                {{item.price}}
59
+              </td>
60
+              <td style="line-height:50px">
61
+                 {{(getCount(item.child)*item.price).toFixed(2)}}
62
+              </td>
63
+            </tr>
64
+            </tbody>
65
+          </table>
66
+          <table class="print-table" border="1">
67
+            <tr>
68
+              <td style="line-height: 50px"  width="50">合计</td>
69
+              <td style="line-height: 50px"  width="200"></td>
70
+              <td style="line-height: 50px"  width="200"></td>
71
+              <td style="line-height: 50px"  width="80"></td>
72
+              <td style="line-height: 50px"  width="50"></td>
73
+              <td style="line-height: 50px"   width="80"></td>
74
+              <td style="line-height: 50px"  width="80">
75
+              
76
+              </td>
77
+              <td style="line-height: 50px" width="80">
78
+                {{getSum()}}
79
+              </td>
80
+            </tr>
81
+          </table>
82
+
83
+          <div style="display:flex;margin-top:20px;float:right;">
84
+            <div style="width:50px;">审批:</div><div style="width:100px;"></div>
85
+            <div style="width:80px;">药材主任:</div><div style="width:100px;"></div>
86
+            <div style="width:50px;">会计:</div><div style="width:100px;"></div>
87
+            <div style="width:50px;">审核:</div><div style="width:100px;"></div>
88
+            <div style="width:70px;">制单人:</div><div style="width:100px;"></div>
89
+          </div>
90
+
91
+        </div>
92
+
93
+      </div>
94
+
95
+    </div>
96
+  </div>
97
+
98
+</template>
99
+
100
+<script>
101
+  import { getNewWarehouseOutInfoList } from '@/api/stock'
102
+  import { getDataConfig } from '@/utils/data'
103
+  import { jsGetAge, uParseTime } from '@/utils/tools'
104
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
105
+  import print from 'print-js'
106
+
107
+  export default {
108
+    name: 'dialysisPrintOrder',
109
+    components: {
110
+      BreadCrumb
111
+
112
+    },
113
+    data() {
114
+      return {
115
+        crumbs: [
116
+          { path: false, name: '出入库明细' },
117
+          { path: false, name: '打印单' }
118
+        ],
119
+        loading: false,
120
+        orgname: '',
121
+        queryParams: {
122
+          start_time: this.$route.query.start_time,
123
+          end_time: this.$route.query.end_time,
124
+          type: this.$route.query.type,
125
+          limit:this.$route.query.limit,
126
+          page:this.$route.query.page,
127
+          storehouse_id:this.$route.query.storehouse_id,
128
+          keyword:this.$route.query.keyword,
129
+        },
130
+        totalPrice: 0,
131
+        stockDatas: [],
132
+        goodUnit: [],
133
+        type: this.$route.query.type,
134
+        start_time: this.$route.query.start_time,
135
+        end_time: this.$route.query.end_time,
136
+        stockTotal:[],
137
+        wareOutInfo:[],
138
+        org_id:this.$store.getters.xt_user.org.id,
139
+        informationList:[],
140
+        wareOutList:[],
141
+        storeHouseList:[],
142
+      }
143
+    },
144
+    methods: {
145
+      getDateOne(){
146
+       
147
+       return "出库日期: "+this.start_time +"~"+this.end_time
148
+       
149
+      },
150
+      getDateTwo(){
151
+        var ptime = Math.round(new Date().getTime() / 1000)
152
+        return "打印单日期:"+uParseTime(ptime, '{y}-{m}-{d}')
153
+      },
154
+      getTime(value, temp) {
155
+        if (value == 0) {
156
+          return ''
157
+        }
158
+        if (value != undefined) {
159
+          return uParseTime(value, temp)
160
+        }
161
+        return ''
162
+      },
163
+      printThisPage() {
164
+        var ptime = Math.round(new Date().getTime() / 1000)
165
+        this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
166
+        const style = '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}'
167
+        printJS({
168
+          printable: 'dialysis-print-box',
169
+          type: 'html',
170
+          style: style,
171
+          scanStyles: false
172
+        })
173
+      },
174
+      getlist(){
175
+        getNewWarehouseOutInfoList(this.queryParams).then(response=>{
176
+           if(response.data.state == 1){
177
+             var list =  response.data.data.list
178
+             console.log("list列表",list)
179
+           
180
+             if(list!=null && list.length >0){
181
+              for(let i=0;i<list.length;i++){
182
+                list[i].good_store_id = list[i].good_id+list[i].storehouse_id
183
+               }
184
+             }
185
+             console.log("list23323223wo",list)
186
+
187
+             let dataInfo = {}
188
+              list.forEach((item, index) => {
189
+                let { good_store_id } = item
190
+                if (!dataInfo[good_store_id]) {
191
+                  dataInfo[good_store_id] = {
192
+                    good_store_id,
193
+                    child: [],
194
+                    good_name:item.GoodInfo.good_name,
195
+                    specification_name:item.GoodInfo.specification_name,
196
+                    price:item.price,
197
+                    packing_unit:item.GoodInfo.packing_unit,
198
+                    storehouse_id:item.storehouse_id,
199
+                    remark:item.remark,
200
+                  }
201
+                }
202
+              })
203
+             let arr = Object.values(dataInfo)
204
+           
205
+             for(let j=0;j<arr.length;j++){
206
+              for(let i=0;i<list.length;i++){
207
+                if(arr[j].good_store_id == list[i].good_store_id){
208
+                   arr[j].child.push(list[i])   
209
+                 }
210
+               }
211
+             }
212
+            
213
+             console.log("arr2333232wo",arr)
214
+             this.stockDatas = arr
215
+             var manufacturerList = response.data.data.manufacturerList
216
+             var dealerList = response.data.data.dealerList
217
+             this.storeHouseList = response.data.data.storeHouseList
218
+           }
219
+        })
220
+      },
221
+      getStorehouseId(id){
222
+        var storehouse_name = ""
223
+        for(let i=0;i<this.storeHouseList.length;i++){
224
+          if(id == this.storeHouseList[i].id){
225
+             storehouse_name = this.storeHouseList[i].storehouse_name
226
+          }
227
+        }
228
+        return storehouse_name
229
+      },
230
+     getCount(val){
231
+        var total = 0
232
+        if(val!=null && val.length >0){
233
+          for(let i=0;i<val.length;i++){
234
+            total +=val[i].count
235
+          }
236
+        }
237
+        return total
238
+      },
239
+      getSum(){
240
+        var sum = 0
241
+        for(let i=0;i<this.stockDatas.length;i++){
242
+         for(let j=0;j<this.stockDatas[i].child.length;j++){
243
+            sum += this.stockDatas[i].child[j].count * this.stockDatas[i].child[j].price
244
+         }
245
+        }
246
+        if (sum > 0) {
247
+          return sum.toFixed(2)
248
+        }else{
249
+          return ""
250
+        }
251
+      },
252
+    },
253
+    created() {
254
+      var xtuser = this.$store.getters.xt_user
255
+      this.orgname = xtuser.org.org_name
256
+      this.goodUnit = this.$store.getters.good_unit
257
+      this.getlist()
258
+    }
259
+
260
+  }
261
+</script>
262
+
263
+<style>
264
+  .dialysis-print-order {
265
+    width: 960px;
266
+    margin: 0 auto
267
+  }
268
+
269
+  .dialysis-print-order .order-yy-name {
270
+    margin: auto;
271
+    text-align: center;
272
+    font-size: 20px;
273
+    letter-spacing: 5px;
274
+  }
275
+
276
+  .dialysis-print-order .order-title {
277
+    margin: auto;
278
+    font-weight: 600;
279
+    text-align: center;
280
+    font-size: 22px;
281
+    padding: 10px 20px 20px 20px;
282
+  }
283
+
284
+  .dialysis-print-order .table-box {
285
+
286
+    width: 100%;
287
+    line-height: 23px;
288
+    font-size: 14px;
289
+  }
290
+
291
+  .dialysis-print-order .print-table {
292
+    width: 100%;
293
+    text-align: center;
294
+    border-collapse: collapse;
295
+    line-height: 40px;
296
+    font-size: 14px;
297
+  }
298
+
299
+  .dialysis-print-order .print-table-no {
300
+    width: 100%;
301
+    text-align: center;
302
+    border-collapse: collapse;
303
+    font-size: 14px;
304
+  }
305
+
306
+  .dialysis-print-order .under-line {
307
+    border-bottom: 1px solid #999;
308
+    width: 95%;
309
+    text-align: center;
310
+    margin-left: 2px;
311
+
312
+
313
+  }
314
+
315
+  .dialysis-print-order .title-box {
316
+    text-align: center;
317
+    font-size: 16px;
318
+  }
319
+
320
+  .dialysis-print-order .radio-lebel-box {
321
+    font-weight: 400;
322
+    cursor: pointer;
323
+  }
324
+
325
+  .dialysis-print-order .radio-no {
326
+    opacity: 0;
327
+    outline: none;
328
+    position: absolute;
329
+    margin: 0;
330
+    width: 0;
331
+    height: 0;
332
+    z-index: -1;
333
+  }
334
+
335
+  .dialysis-print-order .radio-inner {
336
+    white-space: nowrap;
337
+    cursor: pointer;
338
+    outline: none;
339
+    display: inline-block;
340
+    line-height: 1;
341
+    position: relative;
342
+    vertical-align: middle;
343
+  }
344
+
345
+  .dialysis-print-order .radio-fang {
346
+    display: inline-block;
347
+    position: relative;
348
+    border: 1px solid #000;
349
+    box-sizing: border-box;
350
+    width: 14px;
351
+    height: 14px;
352
+    background-color: #fff;
353
+    z-index: 1;
354
+    transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46), background-color .25s cubic-bezier(.71, -.46, .29, 1.46);
355
+  }
356
+
357
+  .dialysis-print-order .is-checked-radio::after {
358
+    content: "√";
359
+    font-size: 15px;
360
+  }
361
+
362
+
363
+  .dialysis-print-order .print-table-no tr td {
364
+    padding: 8px 5px;
365
+    line-height: 25px;
366
+  }
367
+
368
+  .dialysis-print-order .print-table tr td {
369
+    padding: 1px 1px;
370
+    /*line-height: 25px;*/
371
+  }
372
+
373
+  .es-img {
374
+    height: 25px;
375
+  }
376
+
377
+  .advice-name {
378
+    text-align: left;
379
+  }
380
+
381
+  .advice-children {
382
+    display: flex;
383
+  }
384
+
385
+  .title-box-pro {
386
+    border: 0 #fff;
387
+    line-height: 25px;
388
+    height: 25px;
389
+    text-align: left;
390
+    padding-left: 10px !important;
391
+  }
392
+
393
+  .title-box-pro-tr {
394
+    border: 0 #fff;
395
+  }
396
+
397
+  .text-align-left {
398
+    text-align: left !important;
399
+    padding-left: 10px !important;
400
+    font-size: 14px !important;
401
+    line-height: 25px;
402
+  }
403
+
404
+  .print-table-tr-new td {
405
+    line-height: 20px !important;
406
+  }
407
+
408
+  .border-top-solid {
409
+    border: solid 1px #000;
410
+  }
411
+
412
+  .print-template-two tr {
413
+    line-height: 30px;
414
+  }
415
+</style>

+ 23 - 1
src/xt_pages/stock/detail/stockInDetail.vue 파일 보기

@@ -636,9 +636,13 @@ export default {
636 636
       return (r1 * r2) / Math.pow(10, m);
637 637
     },
638 638
     PrintAction: function() {
639
+
640
+      
639 641
       window.sessionStorage.setItem('start_time',this.start_time)
640 642
       window.sessionStorage.setItem('end_time',this.end_time)
641
-      this.$router.push({
643
+
644
+      if(this.org_id!=9671){
645
+        this.$router.push({
642 646
         path: "/stock/print",
643 647
         query: {
644 648
           type: 1,
@@ -649,6 +653,24 @@ export default {
649 653
           keywords:this.$router.keywords,
650 654
         }
651 655
       });
656
+      }
657
+      if(this.org_id == 9671){
658
+       
659
+        this.$router.push({
660
+        path: "/stock/print/one",
661
+        query: {
662
+          type: 1,
663
+          start_time: this.start_time,
664
+          end_time: this.end_time,
665
+          limit:this.limit,
666
+          page:this.page,
667
+          keywords:this.searchKey,
668
+          storehouse_id:this.storehouse_id,
669
+          
670
+        }
671
+       });
672
+      }
673
+     
652 674
     },
653 675
    getPrintStockGood(){
654 676
      const params = {

+ 28 - 10
src/xt_pages/stock/detail/stockOutDetail.vue 파일 보기

@@ -659,16 +659,34 @@ export default {
659 659
     PrintAction: function() {
660 660
       window.sessionStorage.setItem('start',this.start_time)
661 661
       window.sessionStorage.setItem('end',this.end_time)
662
-      this.$router.push({
663
-        path: "/stock/print",
664
-        query: {
665
-          type: 2,
666
-          start_time: this.start_time,
667
-          end_time: this.end_time,
668
-          limit:this.limit,
669
-          page:this.page,
670
-        }
671
-      });
662
+     
663
+      if(this.orgId != 9671){
664
+        this.$router.push({
665
+          path: "/stock/print",
666
+          query: {
667
+            type: 2,
668
+            start_time: this.start_time,
669
+            end_time: this.end_time,
670
+            limit:this.limit,
671
+            page:this.page,
672
+          }
673
+        });
674
+      }
675
+      if(this.orgId == 9671){
676
+         this.$router.push({
677
+          path: "/stock/print/two",
678
+          query: {
679
+            type: 2,
680
+            start_time: this.start_time,
681
+            end_time: this.end_time,
682
+            limit:this.limit,
683
+            page:this.page,
684
+            storehouse_id:this.storehouse_id,
685
+            keyword:this.searchKey,
686
+          }
687
+        });
688
+      }
689
+    
672 690
     },
673 691
     // getPrintStockGood(){
674 692
     //   const params = {

+ 1 - 1
src/xt_pages/stock/drugs/components/drugPatientQuery.vue 파일 보기

@@ -190,7 +190,7 @@ export default {
190 190
     },
191 191
     handleCurrentChangeOne(val) {
192 192
       this.page = val;
193
-      console.log("val3232232323",val)
193
+      
194 194
       this.getDrugWarehouseOutDetailByPatientId()
195 195
     },
196 196
     startTimeChange(){

+ 6 - 1
src/xt_pages/workforce/components/nextTableWeeks.vue 파일 보기

@@ -88,6 +88,7 @@
88 88
        </el-select>
89 89
     </div>
90 90
     <el-table
91
+      v-loading="loading"
91 92
       :row-style="{ color: '#303133' }"
92 93
       :data="scheduleData"
93 94
       border
@@ -304,7 +305,8 @@ export default {
304 305
       zone:"",
305 306
       // zoneList:[{id:0,name:"全部"}],
306 307
       zoneList:[],
307
-      start_time:moment().week(moment().week() + 1).startOf('week').unix()
308
+      start_time:moment().week(moment().week() + 1).startOf('week').unix(),
309
+      loading:false,
308 310
     };
309 311
   },
310 312
   watch: {
@@ -343,6 +345,7 @@ export default {
343 345
       }
344 346
      },
345 347
     getNextScheduleWeekDay() {
348
+       this.loading = true
346 349
         const start = moment().weekday(1).format('YYYY-MM-DD'); //本周一
347 350
         const end = moment().weekday(7).format('YYYY-MM-DD')
348 351
         // console.log("start",moment(start).unix())
@@ -375,6 +378,7 @@ export default {
375 378
         //   zone:str,
376 379
         //   record_date:this.getTime(now_time)
377 380
         // }
381
+
378 382
        const params = {
379 383
           start_time:next_monday,
380 384
           end_time:next_sunday,
@@ -387,6 +391,7 @@ export default {
387 391
       getNextScheduleWeekDay(params).then(response => {
388 392
         this.scheduleData = [];
389 393
         if (response.data.state == 1) {
394
+          this.loading = false
390 395
           var scheduleData = response.data.data.schedule;
391 396
           if(this.pre_status == 0){
392 397
               for(let i=0;i<scheduleData.length;i++){

+ 6 - 4
src/xt_pages/workforce/remind_print_setting_one.vue 파일 보기

@@ -17,7 +17,7 @@
17 17
     <div class="app-container" style="background-color: white;">
18 18
       <div id="print_content">
19 19
         <div class="print_main_content">
20
-          <div class="table_panel">
20
+          <div class="table_panel" v-loding="loading"  element-loading-text="拼命加载中">
21 21
             <div v-for="(main_collection,index) in scheduleData" :key="index" :class="(org_id == 9671 || org_id == 10340) && parseInt((index+1)%8) == 0  ? 'page-break-after':''">
22 22
              
23 23
 
@@ -236,7 +236,8 @@
236 236
         pre_status: 0,
237 237
         printObj: {},
238 238
         type: 1,
239
-        printDate: ''
239
+        printDate: '',
240
+        loading:false,
240 241
       }
241 242
     },
242 243
     components: {
@@ -263,11 +264,12 @@
263 264
           week_time: this.week_time,
264 265
           zone: this.zone
265 266
         }
266
-        console.log('params', params)
267
+      
268
+        this.loading = true
267 269
         getScheduleList(params).then(response => {
268 270
           if (response.data.state == 1) {
269 271
             var list = response.data.data.list
270
-  
272
+            this.loading = false
271 273
             for (let i = 0; i < list.length; i++) {
272 274
               list[i].sort = list[i].number.sort
273 275
             }