Browse Source

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

see999 3 years ago
parent
commit
c36f9ed42d

+ 56 - 0
src/api/drug/drug.js View File

395
     data: data
395
     data: data
396
   })
396
   })
397
 }
397
 }
398
+
399
+export function getDrugInventoryList(params) {
400
+  return request({
401
+    url: '/api/drug/getdruginventorylist',
402
+    methods: 'get',
403
+    params: params
404
+  })
405
+}
406
+
407
+export function SaveDrugCheckedInventory(params) {
408
+  return request({
409
+    url: '/api/drug/savedrugcheckinventory',
410
+    method: 'get',
411
+    params: params
412
+  })
413
+}
414
+
415
+export function getDrugInventoryDetail(id, params) {
416
+  return request({
417
+    url: '/api/drug/getdruginventorydetail?id=' + id,
418
+    method: 'Get',
419
+    params: params
420
+  })
421
+}
422
+
423
+export function modifyInventory(params) {
424
+  return request({
425
+    url: '/api/drug/modifyinventory',
426
+    method: 'Get',
427
+    params: params
428
+  })
429
+}
430
+
431
+export function deleteDrugInventory(params) {
432
+  return request({
433
+    url: '/api/drug/deletedruginventory',
434
+    method: 'get',
435
+    params: params
436
+  })
437
+}
438
+
439
+export function getDrugInventoryPrintList(params) {
440
+  return request({
441
+    url: '/api/drug/getdruginventoryprintlist',
442
+    method: 'get',
443
+    params: params
444
+  })
445
+}
446
+
447
+export function getInventoryDetailList(params) {
448
+  return request({
449
+    url: '/api/drug/getinventorydetaillist',
450
+    method: 'Get',
451
+    params: params
452
+  })
453
+}

+ 341 - 36
src/xt_pages/stock/drugs/inventory.vue View File

27
                 >
27
                 >
28
                 <el-date-picker
28
                 <el-date-picker
29
                 size="small"
29
                 size="small"
30
-                v-model="value1"
30
+                v-model="start_time"
31
                 type="date"
31
                 type="date"
32
                 style="margin-left:5px;width:140px;"
32
                 style="margin-left:5px;width:140px;"
33
                 placeholder="选择日期">
33
                 placeholder="选择日期">
34
                 </el-date-picker>
34
                 </el-date-picker>
35
                 <el-date-picker
35
                 <el-date-picker
36
                 size="small"
36
                 size="small"
37
-                v-model="value2"
37
+                v-model="end_time"
38
                 type="date"
38
                 type="date"
39
                 style="margin-left:5px;width:140px;"
39
                 style="margin-left:5px;width:140px;"
40
                 placeholder="选择日期">
40
                 placeholder="选择日期">
42
             </div>
42
             </div>
43
             <div>
43
             <div>
44
                 <el-button size="small" type="primary" @click="dialogVisible = true">新增</el-button>
44
                 <el-button size="small" type="primary" @click="dialogVisible = true">新增</el-button>
45
-                <el-button size="small" type="primary">核对</el-button>
45
+                <el-button size="small" type="primary" @click="toCheck">核对</el-button>
46
                 <el-button size="small" type="primary" @click="print">打印</el-button>
46
                 <el-button size="small" type="primary" @click="print">打印</el-button>
47
-                <el-button size="small" type="primary">导出</el-button>
47
+                <el-button size="small" type="primary" @click="exportList">导出</el-button>
48
             </div>
48
             </div>
49
         </div>
49
         </div>
50
-        <el-table :data="tableData" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
51
-            <el-table-column
52
-            prop="date"
53
-            label="盘点编号">
50
+        <el-table :data="tableList" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }"  @selection-change="changePrice">
51
+           <el-table-column type="selection" width="55" align="center"> </el-table-column>
52
+            <el-table-column prop="date" label="盘点编号" align="center">
53
+                <template slot-scope="scope">
54
+                  {{scope.row.warehousing_order}}
55
+                </template>
54
             </el-table-column>
56
             </el-table-column>
55
-            <el-table-column
56
-            prop="date"
57
-            label="盘点日期">
57
+            <el-table-column prop="date" label="盘点日期" align="center">
58
+                <template slot-scope="scope">
59
+                  {{getTime(scope.row.start_time)}}
60
+                </template>
61
+            </el-table-column>
62
+             <el-table-column prop="name" label="盘点数量" align="center">
63
+                <template slot-scope="scope">
64
+                  {{scope.row.count}}
65
+                </template>
58
             </el-table-column>
66
             </el-table-column>
59
-            <el-table-column
60
-            prop="name"
61
-            label="盘点人">
67
+            <el-table-column prop="name" label="盘点人" align="center">
68
+                <template slot-scope="scope">
69
+                  {{getDoctorName(scope.row.creater)}}
70
+                </template>
62
             </el-table-column>
71
             </el-table-column>
63
-            <el-table-column
64
-            prop="name"
65
-            label="审核日期">
72
+            <el-table-column prop="name" label="审核日期" align="center">
73
+                <template slot-scope="scope">
74
+                  {{getTime(scope.row.checker_time)}}
75
+                </template>
66
             </el-table-column>
76
             </el-table-column>
67
-            <el-table-column
68
-            prop="name"
69
-            label="审核人">
77
+            <el-table-column prop="name" label="审核人" align="center">
78
+                <template slot-scope="scope">
79
+                   {{getDoctorName(scope.row.checker)}}
80
+                </template>
70
             </el-table-column>
81
             </el-table-column>
71
-            <el-table-column
72
-            prop="name"
73
-            label="状态">
82
+            <el-table-column prop="name" label="状态" align="center">
83
+              <template slot-scope="scope">
84
+                 <span v-if="scope.row.checker_status == 1">已核对</span>
85
+                 <span v-if="scope.row.checker_status == 2">未核对</span>
86
+              </template>
74
             </el-table-column>
87
             </el-table-column>
75
-            <el-table-column
76
-            label="操作">
88
+            <el-table-column label="操作" align="center">
77
                 <template slot-scope="scope">
89
                 <template slot-scope="scope">
78
-                  <el-button type="text" size="small" >编辑</el-button>
79
-                  <el-button type="text" size="small" >删除</el-button>
90
+                  <el-button type="primary" size="small" @click="editInventory(scope.row.id,scope.row.checker_status,scope.$index)">编辑</el-button>
91
+                  <el-button type="danger" size="small" @click="deleteDrugInventory(scope.row.id,scope.row.checker_status,scope.$index)">删除</el-button>
80
                 </template>
92
                 </template>
81
             </el-table-column>
93
             </el-table-column>
82
         </el-table>
94
         </el-table>
83
         <el-pagination
95
         <el-pagination
84
             @size-change="handleSizeChange"
96
             @size-change="handleSizeChange"
85
             @current-change="handleCurrentChange"
97
             @current-change="handleCurrentChange"
86
-            :page-sizes="[5, 10, 50, 100]"
87
-            :page-size="5"
98
+            :page-sizes="[10, 20, 40, 100]"
99
+            :page-size="10"
88
             background
100
             background
89
             style="margin-top:20px;text-align: right"
101
             style="margin-top:20px;text-align: right"
90
             layout="total, sizes, prev, pager, next, jumper"
102
             layout="total, sizes, prev, pager, next, jumper"
186
                        {{scope.row.retail_price}}
198
                        {{scope.row.retail_price}}
187
                     </template>
199
                     </template>
188
                 </el-table-column>
200
                 </el-table-column>
189
-                <el-table-column prop="name" label="新零售价" width="100">
201
+                <!-- <el-table-column prop="name" label="新零售价" width="100">
190
                      <template slot-scope="scope">
202
                      <template slot-scope="scope">
191
                        {{scope.row.new_price}}
203
                        {{scope.row.new_price}}
192
                     </template>
204
                     </template>
193
-                </el-table-column>
205
+                </el-table-column> -->
194
                 <el-table-column  prop="name" label="生产厂商" width="100">
206
                 <el-table-column  prop="name" label="生产厂商" width="100">
195
                     <template slot-scope="scope">
207
                     <template slot-scope="scope">
196
                        {{scope.row.manufacturer}}
208
                        {{scope.row.manufacturer}}
234
             :visible.sync="editdialogVisible"
246
             :visible.sync="editdialogVisible"
235
             width="1200px">
247
             width="1200px">
236
             <el-form :model="form" class="modifyDialog" label-width="120px">
248
             <el-form :model="form" class="modifyDialog" label-width="120px">
249
+
237
                 <el-form-item label="耗材ID">
250
                 <el-form-item label="耗材ID">
238
                     <el-input v-model="form.drug_id"></el-input>
251
                     <el-input v-model="form.drug_id"></el-input>
239
                 </el-form-item>
252
                 </el-form-item>
292
                 <el-button type="primary" @click="saveInventory">确 定</el-button>
305
                 <el-button type="primary" @click="saveInventory">确 定</el-button>
293
             </span>
306
             </span>
294
         </el-dialog>
307
         </el-dialog>
308
+
309
+      <el-dialog
310
+        title="药品盘点核对"
311
+        :visible.sync="checkDialogVisible"
312
+        width="30%"
313
+        >
314
+        <span>
315
+          <el-form :model="form">
316
+            <el-row>
317
+              <el-col>
318
+                <el-form-item label="核对时间">
319
+                 <el-date-picker
320
+                    size="small"
321
+                    v-model="check_time"
322
+                    type="date"
323
+                    style="margin-left:5px;width:140px;"
324
+                    placeholder="选择日期">
325
+                  </el-date-picker>
326
+                </el-form-item>  
327
+              </el-col>
328
+            </el-row>  
329
+             <el-row>
330
+              <el-col>
331
+                <el-form-item label="核对人">
332
+                  <el-select v-model="checker" placeholder="请选择">
333
+                    <el-option
334
+                    v-for="item in doctorList"
335
+                    :key="item.admin_user_id"
336
+                    :label="item.user_name"
337
+                    :value="item.admin_user_id">
338
+                    </el-option>
339
+                 </el-select>
340
+                </el-form-item>  
341
+              </el-col>
342
+            </el-row>  
343
+          </el-form>  
344
+        </span>
345
+        <span slot="footer" class="dialog-footer">
346
+            <el-button @click="checkDialogVisible = false">取 消</el-button>
347
+            <el-button type="primary" @click="SaveDrugCheckedInventory">保 存</el-button>
348
+        </span>
349
+    </el-dialog>
350
+
351
+
352
+       <el-dialog
353
+            title="库房调价"
354
+            :visible.sync="modifydialogVisible"
355
+            width="1200px">
356
+            <el-form :model="form" class="modifyDialog" label-width="120px">
357
+
358
+                <el-form-item label="耗材ID">
359
+                    <el-input v-model="form.drug_id"></el-input>
360
+                </el-form-item>
361
+                <el-form-item label="药品名称">
362
+                  <el-autocomplete
363
+                    class="checkSearch"
364
+                    popper-class="my-autocomplete"
365
+                    v-model="form.drug_name"
366
+                    :fetch-suggestions="querySearchAsync"
367
+                    :trigger-on-focus="true"
368
+                    placeholder="请输入药品名称"
369
+                    @select="handleSelect"
370
+                    style="width:160px;"
371
+                  >
372
+                    <i class="el-icon-search el-input__icon" slot="suffix"></i>
373
+                  <template slot-scope="{ item }">
374
+                    <div class="name">{{ item.drug_name + item.dose + item.dose_unit + "*" +item.min_number + item.min_unit +"/" + item.max_unit + "  "+item.manufacturer}}</div>
375
+                  </template>
376
+                 </el-autocomplete>  
377
+                </el-form-item>
378
+                <el-form-item label="规格">
379
+                    <el-input v-model="form.specification_name" :disabled="true"></el-input>
380
+                </el-form-item>
381
+                <el-form-item label="单位">
382
+                    <el-input v-model="form.warehousing_unit"></el-input>
383
+                </el-form-item>
384
+                <el-form-item label="进货价">
385
+                    <el-input v-model="form.last_price"></el-input>
386
+                </el-form-item>
387
+                <el-form-item label="零售价">
388
+                    <el-input v-model="form.retail_price"></el-input>
389
+                </el-form-item>
390
+                <el-form-item label="盘点数量">
391
+                    <el-input v-model="form.count"></el-input>
392
+                </el-form-item>
393
+                <el-form-item label="库存">
394
+                    <el-input v-model="form.total" :disabled="true"></el-input>
395
+                </el-form-item>
396
+                <el-form-item label="产地">
397
+                    <el-input v-model="form.drug_origin_place"></el-input>
398
+                </el-form-item>
399
+                <el-form-item label="批准文号">
400
+                    <el-input v-model="form.number"></el-input>
401
+                </el-form-item>
402
+                <el-form-item label="生产厂商">
403
+                    <el-input v-model="form.manufacturer"></el-input>
404
+                </el-form-item>
405
+                <el-form-item label="备注">
406
+                    <div style="display:flex;">
407
+                        <el-input v-model="form.remark"></el-input>
408
+                    </div>
409
+                </el-form-item>
410
+            </el-form>
411
+            <span slot="footer" class="dialog-footer">
412
+                <el-button @click="modifydialogVisible = false">取 消</el-button>
413
+                <el-button type="primary" @click="modifyInventory">确 定</el-button>
414
+            </span>
415
+        </el-dialog>
295
     </div>
416
     </div>
296
 </template>
417
 </template>
297
 
418
 
298
 <script>
419
 <script>
299
 import { uParseTime } from '@/utils/tools'
420
 import { uParseTime } from '@/utils/tools'
300
-import { postSearchDrugWarehouseList,getDrugWarehouseInfoList,saveDrugInventory} from "@/api/drug/drug"
421
+import { postSearchDrugWarehouseList,getDrugWarehouseInfoList,saveDrugInventory,getDrugInventoryList,SaveDrugCheckedInventory,getDrugInventoryDetail,modifyInventory} from "@/api/drug/drug"
301
 export default {
422
 export default {
302
     name: "drugInventory",
423
     name: "drugInventory",
303
     data() {
424
     data() {
338
             },
459
             },
339
             total: 0,
460
             total: 0,
340
             editdialogVisible:false,
461
             editdialogVisible:false,
462
+            limit:10,
463
+            page:1,
464
+            start_time:"",
465
+            end_time:"",
466
+            tableList:[],
467
+            doctorList:[],
468
+            checkDialogVisible:false,
469
+            ids:"",
470
+            checker:this.$store.getters.xt_user.user.id,
471
+            check_time:new Date(),
472
+            id:"",
473
+            modifydialogVisible:false,
341
         }
474
         }
342
     },
475
     },
343
     methods:{
476
     methods:{
345
 
478
 
346
         },
479
         },
347
         print(){
480
         print(){
348
-            this.$router.push({path:'/stock/stockModifyPricePrint'})
481
+          if(this.ids == ""){
482
+           this.$message.error("请勾选打印数据")
483
+           return false
484
+          }
485
+          this.$router.push({path:'/stock/drugs/inventoryPrint?ids='+this.ids})
349
             
486
             
350
         },
487
         },
351
-        handleSizeChange(){},
352
-        handleCurrentChange(){},
488
+        handleSizeChange(val){
489
+          this.limit = val
490
+          this.getlist()
491
+        },
492
+        handleCurrentChange(val){
493
+          this.page = val
494
+          this.getlist()
495
+        },
353
         querySearchAsync(keyword, cb) {
496
         querySearchAsync(keyword, cb) {
354
             let key = '';
497
             let key = '';
355
             if (keyword != undefined) {
498
             if (keyword != undefined) {
548
                if(this.tableData[i].manufacturer == 0){
691
                if(this.tableData[i].manufacturer == 0){
549
                 this.tableData[i].manufacturer = ""
692
                 this.tableData[i].manufacturer = ""
550
               }
693
               }
694
+              if(this.tableData[i].batch_number == undefined){
695
+                 this.tableData[i].batch_number = ""
696
+              }
551
            }
697
            }
552
            var params = {
698
            var params = {
553
               tableData:this.tableData
699
               tableData:this.tableData
560
               this.editdialogVisible = false
706
               this.editdialogVisible = false
561
             }
707
             }
562
           })
708
           })
563
-        }
709
+        },
710
+        getlist(){
711
+          var params = {
712
+            limit:this.limit,
713
+            page:this.page,
714
+            keyword:this.searchKey, 
715
+            start_time:this.start_time,
716
+            end_time:this.end_time,
717
+          }
718
+          console.log("params2332332",params)
719
+          getDrugInventoryList(params).then(response=>{
564
 
720
 
721
+            if(response.data.state == 1){
722
+              this.total =  response.data.data.total
723
+              this.tableList = response.data.data.list
724
+              console.log("09999999",this.tableList)
725
+              console.log("表格",this.tableList)
726
+              this.doctorList =  response.data.data.doctorList
727
+              console.log("医生",this.doctorList)
728
+
729
+            }
730
+          })
731
+        },
732
+        getDoctorName(id){
733
+          var name = ""
734
+          for(let i=0;i<this.doctorList.length;i++){
735
+            if(id == this.doctorList[i].admin_user_id){
736
+                name = this.doctorList[i].user_name
737
+            }
738
+          }
739
+          return name
740
+        },
741
+     changePrice(val){  
742
+        var arr = []
743
+        for(let i=0;i<val.length;i++){
744
+            arr.push(val[i].id)
745
+        }
746
+        var str = arr.join(",") 
747
+        console.log("str",str)
748
+        this.ids = str
749
+        },
750
+      toCheck(){
751
+        if(this.ids.length <=0){
752
+            this.$message.error("请勾选核对数据")
753
+            return
754
+        }else{
755
+            this.checkDialogVisible = true
756
+        }
757
+     },
758
+      SaveDrugCheckedInventory(){
759
+         var params = {
760
+            ids:this.ids,
761
+            check_time:this.getTime(this.check_time),
762
+            checker:this.checker,
763
+         }
764
+       console.log("params",params)
765
+       SaveDrugCheckedInventory(params).then(response=>{
766
+         if(response.data.state == 1){
767
+           this.$message.success("保存成功")
768
+           var msg = response.data.data.msg
769
+           this.checkDialogVisible = false
770
+           this.getlist()
771
+         }
772
+       })
773
+     },
774
+     editInventory(id,check_status){
775
+      if(check_status == 1){
776
+        this.$message.error("已核对不能编辑")
777
+        return false
778
+      }
779
+       getDrugInventoryDetail(id).then(response=>{
780
+         if(response.data.state == 1){
781
+            var detail = response.data.data.detail
782
+            this.id = detail.id
783
+            this.form.drug_id = detail.drug_id
784
+            this.form.drug_name = detail.drug_name
785
+            this.form.specification_name = detail.specification_name
786
+            this.form.retail_price = detail.retail_price
787
+            this.form.warehousing_order =detail.warehousing_order
788
+            this.form.number = detail.number
789
+        
790
+            this.form.manufacturer = detail.manufacturer
791
+            this.form.remark = detail.remark
792
+            this.form.warehousing_unit = detail.warehousing_unit
793
+            this.form.total = parseInt(detail.total)
794
+        
795
+            this.form.last_price = detail.last_price
796
+          
797
+            this.form.count =  parseInt(detail.count)
798
+            this.form.drug_origin_place = detail.drug_origin_place
799
+            this.modifydialogVisible = true
800
+         }
801
+       })
802
+     },
803
+     modifyInventory(){
804
+       var params = {
805
+          id:this.id,
806
+          drug_id:this.form.drug_id,
807
+          drug_name:this.form.drug_name,
808
+          specification_name:this.form.specification_name,
809
+          warehousing_unit:this.form.warehouseing_unit,
810
+          last_price:this.form.last_price,
811
+          retail_price:this.form.retail_price,
812
+          count:this.form.count,
813
+          total:this.form.total,
814
+          drug_origin_place:this.form.drug_origin_place,
815
+          batch_number:this.form.batch_number,
816
+          manufacturer:this.form.manufacturer,
817
+          remark:this.form.remark,
818
+       }
819
+      modifyInventory(params).then(response=>{
820
+         if(response.data.state == 1){
821
+           var inventory =  response.data.data.inventory
822
+           this.modifydialogVisible = false
823
+           this.getlist()
824
+         }
825
+      })
826
+     },
827
+     deleteDrugInventory(id,check_status){
828
+       if(check_status == 1){
829
+          this.$message.error("已核对的不能编辑")
830
+          return
831
+        }
832
+        this.$confirm('是否删除所选内容?', '提示', {
833
+          confirmButtonText: '确定',
834
+          cancelButtonText: '取消',
835
+          type: 'warning'
836
+        }).then(() => {
837
+          let params = {
838
+            id:id,
839
+          }
840
+       deleteDrugInventory(params).then(response => {
841
+            if (response.data.state == 1) {
842
+              var msg = response.data.data.msg
843
+              this.$message.success("保存成功")
844
+              this.tableList.splice(index,1)
845
+            } 
846
+          })
847
+        }).catch(() => {
848
+          this.loading = false
849
+        });   
850
+     },
851
+       exportList(){
852
+       
853
+         import('@/vendor/Export2Excel').then(excel => {
854
+         const tHeader = ['药品名称', '规格', '单位','零售价','当前库存','盘点数','亏损金额']
855
+         const filterVal = ['drug_name', 'spe', 'count','retail_price','total','count','']
856
+         const data = this.formatJson(filterVal, this.tableList)
857
+      
858
+         excel.export_json_to_excel({
859
+           header: tHeader,
860
+           data,
861
+           filename: '耗材盘点'
862
+         })
863
+          this.downloadLoading = false
864
+        })
865
+       },
866
+       formatJson(filterVal, jsonData) {
867
+        return jsonData.map(v => filterVal.map(j => v[j]));
868
+      },
565
     },
869
     },
566
     created(){
870
     created(){
871
+      this.getlist()
567
     },
872
     },
568
     mounted() {
873
     mounted() {
569
     },
874
     },

+ 101 - 187
src/xt_pages/stock/drugs/inventoryDetails.vue View File

2
     <div>
2
     <div>
3
         <div style="display: flex;align-items: center;justify-content: space-between;margin-bottom:10px;">
3
         <div style="display: flex;align-items: center;justify-content: space-between;margin-bottom:10px;">
4
             <div>
4
             <div>
5
-                耗材类别:
5
+                <!-- 耗材类别:
6
                 <el-select v-model="value" size="small" placeholder="请选择">
6
                 <el-select v-model="value" size="small" placeholder="请选择">
7
                     <el-option
7
                     <el-option
8
                     v-for="item in options"
8
                     v-for="item in options"
19
                     :label="item.label"
19
                     :label="item.label"
20
                     :value="item.value">
20
                     :value="item.value">
21
                     </el-option>
21
                     </el-option>
22
-                </el-select>
22
+                </el-select> -->
23
                 <el-input
23
                 <el-input
24
                 size="small"
24
                 size="small"
25
                 style="width: 200px;margin-left:10px;"
25
                 style="width: 200px;margin-left:10px;"
36
                 >搜索</el-button
36
                 >搜索</el-button
37
                 >
37
                 >
38
             </div>
38
             </div>
39
-            <div>
39
+            <!-- <div>
40
                 <el-button size="small" type="primary" @click="print">打印</el-button>
40
                 <el-button size="small" type="primary" @click="print">打印</el-button>
41
                 <el-button size="small" type="primary">导出</el-button>
41
                 <el-button size="small" type="primary">导出</el-button>
42
-            </div>
42
+            </div> -->
43
         </div>
43
         </div>
44
         <el-table :data="tableData" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
44
         <el-table :data="tableData" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
45
-            <el-table-column
46
-            prop="date"
47
-            label="耗材名称"
48
-            width="100">
45
+            <el-table-column prop="date" label="药品名称" width="100" align="center">
46
+               <template slot-scope="scope">
47
+                 {{scope.row.drug_name}}
48
+               </template>
49
             </el-table-column>
49
             </el-table-column>
50
-            <el-table-column
51
-            prop="date"
52
-            label="类别"
53
-            width="100">
50
+            <el-table-column  prop="name" label="规格" width="100"  align="center">
51
+              <template slot-scope="scope">
52
+                 {{scope.row.specification_name}}
53
+               </template>
54
             </el-table-column>
54
             </el-table-column>
55
-            <el-table-column
56
-            prop="name"
57
-            label="规格"
58
-            width="100">
59
-            </el-table-column>
60
-            <el-table-column
61
-            prop="name"
62
-            label="单位"
63
-            width="100">
55
+            <el-table-column prop="name" label="单位" width="100"  align="center">
56
+                <template slot-scope="scope">
57
+                  {{scope.row.warehousing_unit}}
58
+               </template>
64
             </el-table-column>
59
             </el-table-column>
65
-            <el-table-column
66
-            prop="name"
67
-            label="库存数量"
68
-            width="100">
60
+            <el-table-column prop="name" label="库存数量" width="100"  align="center">
61
+                <template slot-scope="scope">
62
+                  {{scope.row.total}}
63
+                </template> 
69
             </el-table-column>
64
             </el-table-column>
70
-            <el-table-column
71
-            prop="name"
72
-            label="进价"
73
-            width="100">
65
+            <el-table-column prop="name" label="进价" width="100"  align="center">
66
+                <template slot-scope="scope">
67
+                   {{scope.row.last_price}}
68
+                </template> 
74
             </el-table-column>
69
             </el-table-column>
75
-            <el-table-column
76
-            prop="name"
77
-            label="零售价"
78
-            width="100">
70
+            <el-table-column prop="name" label="零售价" width="100"  align="center">
71
+                <template slot-scope="scope">
72
+                  {{scope.row.retail_price}}
73
+                </template> 
79
             </el-table-column>
74
             </el-table-column>
80
-            <el-table-column
81
-            prop="name"
82
-            label="零售总价"
83
-            width="100">
75
+            <el-table-column prop="name"  label="零售总价" width="100"  align="center">
76
+                <template slot-scope="scope">
77
+                  {{scope.row.count * scope.row.retail_price}}
78
+                </template> 
84
             </el-table-column>
79
             </el-table-column>
85
-            <el-table-column
86
-            prop="name"
87
-            label="产地"
88
-            width="100">
80
+            <el-table-column prop="name" label="产地" width="100"  align="center">
81
+                <template slot-scope="scope">
82
+                   {{scope.row.drug_origin_place}}
83
+                </template> 
89
             </el-table-column>
84
             </el-table-column>
90
-            <el-table-column
91
-            prop="name"
92
-            label="生产厂商"
93
-            width="100">
85
+            <el-table-column prop="name" label="生产厂商" width="100"  align="center">
86
+                <template slot-scope="scope">
87
+                  {{scope.row.manufacturer}}
88
+                </template> 
94
             </el-table-column>
89
             </el-table-column>
95
-            <el-table-column
96
-            prop="name"
97
-            label="实盘点"
98
-            width="100">
90
+            <el-table-column prop="name" label="实盘点" width="100"  align="center">
91
+               <template slot-scope="scope">
92
+                  {{scope.row.count}}
93
+                </template> 
99
             </el-table-column>
94
             </el-table-column>
100
-            <el-table-column
101
-            prop="name"
102
-            label="亏损价格"
103
-            width="100">
95
+            <el-table-column  prop="name" label="亏损价格" width="100"  align="center">
96
+               <template slot-scope="scope">
97
+               
98
+                </template>  
104
             </el-table-column>
99
             </el-table-column>
105
-            <el-table-column
106
-            prop="name"
107
-            label="生产日期"
108
-            width="100">
100
+            <el-table-column prop="name" label="生产日期" width="100"  align="center">
101
+                <template slot-scope="scope">
102
+                  {{getTime(scope.row.product_date)}}
103
+                </template>  
109
             </el-table-column>
104
             </el-table-column>
110
-            <el-table-column
111
-            prop="name"
112
-            label="有效日期"
113
-            width="100">
105
+            <el-table-column prop="name" label="有效日期" width="100"  align="center">
106
+                <template slot-scope="scope">
107
+                   {{getTime(scope.row.expiry_date)}}
108
+                </template>  
114
             </el-table-column>
109
             </el-table-column>
115
-            <el-table-column
110
+            <!-- <el-table-column
116
             fixed="right"
111
             fixed="right"
117
             width="100"
112
             width="100"
118
             label="操作">
113
             label="操作">
120
                     <el-button type="text" size="small">删除</el-button>
115
                     <el-button type="text" size="small">删除</el-button>
121
                     <el-button type="text" size="small">编辑</el-button>
116
                     <el-button type="text" size="small">编辑</el-button>
122
                 </template>
117
                 </template>
123
-            </el-table-column>
118
+            </el-table-column> -->
124
         </el-table>
119
         </el-table>
125
         <el-pagination
120
         <el-pagination
126
             @size-change="handleSizeChange"
121
             @size-change="handleSizeChange"
133
             :total="total"
128
             :total="total"
134
         >
129
         >
135
         </el-pagination>
130
         </el-pagination>
136
-        <el-dialog
137
-        title="库房调价"
138
-        :visible.sync="dialogVisible"
139
-        width="1200px"
140
-        :before-close="handleClose">
141
-            <el-form :model="form" class="modifyDialog" label-width="120px">
142
-                <el-form-item label="耗材ID">
143
-                    <el-input v-model="form.name"></el-input>
144
-                </el-form-item>
145
-                <el-form-item label="药品名称">
146
-                    <el-input v-model="form.name"></el-input>
147
-                </el-form-item>
148
-                <el-form-item label="规格">
149
-                    <el-input v-model="form.name"></el-input>
150
-                </el-form-item>
151
-                <el-form-item label="单位">
152
-                    <el-input v-model="form.name"></el-input>
153
-                </el-form-item>
154
-                <el-form-item label="进货价">
155
-                    <el-input v-model="form.name"></el-input>
156
-                </el-form-item>
157
-                <el-form-item label="零售价">
158
-                    <el-input v-model="form.name"></el-input>
159
-                </el-form-item>
160
-                <el-form-item label="报损数量">
161
-                    <el-input v-model="form.name"></el-input>
162
-                </el-form-item>
163
-                <el-form-item label="库存">
164
-                    <el-input v-model="form.name"></el-input>
165
-                </el-form-item>
166
-                <el-form-item label="产地">
167
-                    <el-input v-model="form.name"></el-input>
168
-                </el-form-item>
169
-                <el-form-item label="批准文号">
170
-                    <el-input v-model="form.name"></el-input>
171
-                </el-form-item>
172
-                <el-form-item label="生产厂商">
173
-                    <el-input v-model="form.name"></el-input>
174
-                </el-form-item>
175
-                <el-form-item label="备注">
176
-                    <div style="display:flex;">
177
-                        <el-input v-model="form.name"></el-input>
178
-                        <el-button style="margin-left:5px;" type="primary">添加</el-button>
179
-                    </div>
180
-                </el-form-item>
181
-            </el-form>
182
-            <el-table :data="tableData" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
183
-                <el-table-column
184
-                prop="date"
185
-                label="耗材ID"
186
-                width="100">
187
-                </el-table-column>
188
-                <el-table-column
189
-                prop="date"
190
-                label="耗材名称"
191
-                width="100">
192
-                </el-table-column>
193
-                <el-table-column
194
-                prop="name"
195
-                label="规格"
196
-                width="100">
197
-                </el-table-column>
198
-                <el-table-column
199
-                prop="name"
200
-                label="单位"
201
-                width="100">
202
-                </el-table-column>
203
-                <el-table-column
204
-                prop="name"
205
-                label="调价数量"
206
-                width="100">
207
-                </el-table-column>
208
-                <el-table-column
209
-                prop="name"
210
-                label="原进货价"
211
-                width="100">
212
-                </el-table-column>
213
-                <el-table-column
214
-                prop="name"
215
-                label="原零售价"
216
-                width="100">
217
-                </el-table-column>
218
-                <el-table-column
219
-                prop="name"
220
-                label="新零售价"
221
-                width="100">
222
-                </el-table-column>
223
-                <el-table-column
224
-                prop="name"
225
-                label="生产厂商"
226
-                width="100">
227
-                </el-table-column>
228
-                <el-table-column
229
-                prop="name"
230
-                label="产地"
231
-                width="100">
232
-                </el-table-column>
233
-                <el-table-column
234
-                prop="name"
235
-                label="批准文号"
236
-                width="100">
237
-                </el-table-column>
238
-                <el-table-column
239
-                prop="name"
240
-                label="备注"
241
-                width="100">
242
-                </el-table-column>
243
-                <el-table-column
244
-                fixed="right"
245
-                width="100"
246
-                label="操作">
247
-                    <template slot-scope="scope">
248
-                        <el-button type="text" size="small">删除</el-button>
249
-                        <el-button type="text" size="small">编辑</el-button>
250
-                    </template>
251
-                </el-table-column>
252
-            </el-table>
253
-            <span slot="footer" class="dialog-footer">
254
-                <el-button @click="dialogVisible = false">取 消</el-button>
255
-                <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
256
-            </span>
257
-        </el-dialog>
131
+      
258
     </div>
132
     </div>
259
 </template>
133
 </template>
260
 
134
 
261
 <script>
135
 <script>
136
+import { uParseTime } from '@/utils/tools'
137
+import { getInventoryDetailList } from "@/api/drug/drug"
262
 export default {
138
 export default {
263
     name: "inventory",
139
     name: "inventory",
264
     data() {
140
     data() {
272
                 name: '',
148
                 name: '',
273
             },
149
             },
274
             total: 0,
150
             total: 0,
151
+            limit:10,
152
+            page:1,
275
             
153
             
276
         }
154
         }
277
     },
155
     },
283
             this.$router.push({path:'/stock/drugs/inventoryPrint'})
161
             this.$router.push({path:'/stock/drugs/inventoryPrint'})
284
             
162
             
285
         },
163
         },
286
-        handleSizeChange(){},
287
-        handleCurrentChange(){}
164
+        handleSizeChange(val){
165
+         this.limit = val
166
+         this.getlist()
167
+        },
168
+        handleCurrentChange(val){
169
+          this.page = val
170
+          this.getlist()
171
+        },
172
+        getlist(){
173
+            var params = {
174
+              limit:this.limit,
175
+              page:this.page,
176
+              keyword:this.searchKey,
177
+            }
178
+           console.log("parasm232332323",params)
179
+          getInventoryDetailList(params).then(response=>{
180
+             if(response.data.state == 1){
181
+              this.total =  response.data.data.total
182
+              this.tableData = response.data.data.list
183
+              this.doctorList = response.data.data.doctorList
184
+             }
185
+          })   
186
+        },
187
+         getTime(val) {
188
+          console.log("val3233232322323",val)
189
+         if(val == undefined){
190
+           return  ""
191
+         }
192
+         if(val < 0){
193
+            return ""
194
+          }
195
+         if(val == ""){
196
+            return ""
197
+          }else {
198
+            return uParseTime(val, '{y}-{m}-{d}')
199
+         }
200
+        },
288
 
201
 
289
     },
202
     },
290
     created(){
203
     created(){
204
+      this.getlist()
291
     },
205
     },
292
     mounted() {
206
     mounted() {
293
     },
207
     },

+ 24 - 10
src/xt_pages/stock/drugs/inventoryPrint.vue View File

23
                         <td>盘点数</td>
23
                         <td>盘点数</td>
24
                         <td>亏损金额</td>
24
                         <td>亏损金额</td>
25
                     </tr>
25
                     </tr>
26
-                    <tr v-for="item in 3">
27
-                        <td></td>
28
-                        <td></td>
29
-                        <td></td>
30
-                        <td></td>
31
-                        <td></td>
32
-                        <td></td>
33
-                        <td></td>
34
-                        <td></td>
26
+                    <tr v-for="(item,index) in tableData" :key="index">
27
+                        <td>{{index+1}}</td>
28
+                        <td>{{item.drug_name}}</td>
29
+                        <td>{{item.warehouseing_unit}}</td>
30
+                        <td>{{item.retail_price}}</td>
31
+                        <td>{{item.total}}</td>
32
+                        <td>{{item.count}}</td>
33
+                        <td></td>       
35
                     </tr>
34
                     </tr>
36
                 </table>
35
                 </table>
37
                 <div style="margin-top:10px;">
36
                 <div style="margin-top:10px;">
54
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
53
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
55
 const moment = require('moment');
54
 const moment = require('moment');
56
 import { uParseTime } from '@/utils/tools'
55
 import { uParseTime } from '@/utils/tools'
56
+import { getDrugInventoryPrintList } from "@/api/drug/drug"
57
 export default {
57
 export default {
58
     components:{
58
     components:{
59
         BreadCrumb
59
         BreadCrumb
65
             { path: false, name: '药品管理' },
65
             { path: false, name: '药品管理' },
66
             { path: false, name: '药品盘点打印' },
66
             { path: false, name: '药品盘点打印' },
67
           ],
67
           ],
68
+          ids:"",
69
+          tableData:[]
68
         }
70
         }
69
     },
71
     },
70
     methods:{
72
     methods:{
78
             scanStyles: false
80
             scanStyles: false
79
             })
81
             })
80
         },
82
         },
81
-
83
+        getDrugInventoryPrintList(ids){
84
+             var params = {
85
+                 ids:ids,
86
+             }
87
+          console.log("parasm2232",params)
88
+          getDrugInventoryPrintList(params).then(response=>{
89
+              if(response.data.state == 1){
90
+                 this.tableData = response.data.data.list
91
+              }
92
+          })    
93
+        }
82
 
94
 
83
     },
95
     },
84
     created(){
96
     created(){
97
+      this.ids = this.$route.query.ids
98
+      this.getDrugInventoryPrintList(this.ids)
85
     }
99
     }
86
 }
100
 }
87
 </script>
101
 </script>

+ 1 - 1
src/xt_pages/stock/inventory.vue View File

47
                 <el-button size="small" type="primary" @click="exportList">导出</el-button>
47
                 <el-button size="small" type="primary" @click="exportList">导出</el-button>
48
             </div>
48
             </div>
49
         </div>
49
         </div>
50
-        <el-table :data="tableList" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }"  @selection-change="changePrice">>
50
+        <el-table :data="tableList" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }"  @selection-change="changePrice">
51
             <el-table-column type="selection" width="55" align="center"> </el-table-column>
51
             <el-table-column type="selection" width="55" align="center"> </el-table-column>
52
             <el-table-column prop="date" label="盘点编号"  align="center">
52
             <el-table-column prop="date" label="盘点编号"  align="center">
53
               <template slot-scope="scope">
53
               <template slot-scope="scope">

+ 1 - 1
src/xt_pages/user/dialysisSolution.vue View File

672
             <el-form-item label="促红素:">
672
             <el-form-item label="促红素:">
673
               <el-select v-model="addPlan.epo" @change="changeBodyFluid">
673
               <el-select v-model="addPlan.epo" @change="changeBodyFluid">
674
                 <el-option
674
                 <el-option
675
-                        v-for="item in epo"
675
+                        v-for="item in epoOptions"
676
                         :label="item.name"
676
                         :label="item.name"
677
                         :key="item.id"
677
                         :key="item.id"
678
                         :value="item.name"
678
                         :value="item.name"

+ 4 - 4
src/xt_pages/user/templateSummary.vue View File

303
                         :value="item.value">
303
                         :value="item.value">
304
                         </el-option>
304
                         </el-option>
305
                      </el-select>
305
                      </el-select>
306
-                     <el-input style="margin:10px 0;" type="text" v-model="form.template_summary_content"></el-input>
306
+                     <el-input style="margin:10px 0;" type="textarea" autosize v-model="form.template_summary_content"></el-input>
307
                   </el-row>
307
                   </el-row>
308
                   <el-row>
308
                   <el-row>
309
                     <label class="title"><span class="name">阶段小结个体化透析方案</span> : </label>
309
                     <label class="title"><span class="name">阶段小结个体化透析方案</span> : </label>
315
                         :value="item.value">
315
                         :value="item.value">
316
                         </el-option>
316
                         </el-option>
317
                      </el-select>
317
                      </el-select>
318
-                     <el-input style="margin:10px 0;" type="text" v-model="form.template_plan_content"></el-input>
318
+                     <el-input style="margin:10px 0;" type="textarea"  autosize v-model="form.template_plan_content"></el-input>
319
                   </el-row>
319
                   </el-row>
320
                   <el-row>
320
                   <el-row>
321
                     <label class="title"><span class="name">阶段小结化验结果</span> : </label>
321
                     <label class="title"><span class="name">阶段小结化验结果</span> : </label>
561
                         :value="item.value">
561
                         :value="item.value">
562
                         </el-option>
562
                         </el-option>
563
                      </el-select>
563
                      </el-select>
564
-                     <el-input style="margin:10px 0;" type="text" v-model="form.template_summary_content"></el-input>
564
+                     <el-input style="margin:10px 0;" type="textarea" autosize v-model="form.template_summary_content"></el-input>
565
                   </el-row>
565
                   </el-row>
566
                   <el-row>
566
                   <el-row>
567
                     <label class="title"><span class="name">阶段小结个体化透析方案</span> : </label>
567
                     <label class="title"><span class="name">阶段小结个体化透析方案</span> : </label>
573
                         :value="item.value">
573
                         :value="item.value">
574
                         </el-option>
574
                         </el-option>
575
                      </el-select>
575
                      </el-select>
576
-                     <el-input style="margin:10px 0;" type="text" v-model="form.template_plan_content"></el-input>
576
+                     <el-input style="margin:10px 0;" type="textarea" autosize v-model="form.template_plan_content"></el-input>
577
                   </el-row>
577
                   </el-row>
578
                   <el-row>
578
                   <el-row>
579
                     <label class="title"><span class="name">阶段小结化验结果</span> : </label>
579
                     <label class="title"><span class="name">阶段小结化验结果</span> : </label>

+ 2 - 2
src/xt_pages/workforce/components/tableWeeks.vue View File

665
         let desc = ''
665
         let desc = ''
666
         for (let b = 0; b < modes.length; b++) {
666
         for (let b = 0; b < modes.length; b++) {
667
           if (desc.length == 0) {
667
           if (desc.length == 0) {
668
-            desc = modes[b].name + ': ' + modes[b].count + '支'
668
+            desc = modes[b].name + ': ' + modes[b].count
669
           } else {
669
           } else {
670
-            desc = desc + '              ' + modes[b].name + ': ' + modes[b].count + '支'
670
+            desc = desc + '              ' + modes[b].name + ': ' + modes[b].count
671
           }
671
           }
672
         }
672
         }
673
 
673
 

+ 2 - 1
src/xt_pages/workforce/next_remind_print.vue View File

64
                  <span v-if="org_id!=9987">
64
                  <span v-if="org_id!=9987">
65
                      <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus!=''"> 
65
                      <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus!=''"> 
66
                         <span v-if="org_id!=10131">{{main_collection.prescription.dialyzer_perfusion_apparatus}}</span> 
66
                         <span v-if="org_id!=10131">{{main_collection.prescription.dialyzer_perfusion_apparatus}}</span> 
67
-                        <span v-if="org_id==10131">{{getDialysisDialyszerPerfusionOne(main_collection.prescription.patient_id)}}</span> 
67
+                        <!-- <span v-if="org_id==10131">{{getDialysisDialyszerPerfusionOne(main_collection.prescription.patient_id)}}</span>  -->
68
+                         <span v-if="org_id==10131 || org_id==9671">{{main_collection.dialysissolution.dialyzer_perfusion_apparatus}}</span>
68
                      </span>
69
                      </span>
69
                      <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus ==''&& main_collection.dialysissolution.length>0">{{getDialysisDialyszerPerfusion(main_collection.patient_id)}}</span> 
70
                      <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus ==''&& main_collection.dialysissolution.length>0">{{getDialysisDialyszerPerfusion(main_collection.patient_id)}}</span> 
70
                   </span>
71
                   </span>

+ 7 - 3
src/xt_pages/workforce/remind_print.vue View File

61
                 </td>
61
                 </td>
62
                 <td :width="td_1_width" v-if="printObj.dialyzers == 1 && printObj.perfusion_apparatus ==1">
62
                 <td :width="td_1_width" v-if="printObj.dialyzers == 1 && printObj.perfusion_apparatus ==1">
63
                   <span v-if="org_id!=9987">
63
                   <span v-if="org_id!=9987">
64
-                     <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus!=''"> 
65
-                       <span v-if="org_id!=10131">{{main_collection.prescription.dialyzer_perfusion_apparatus}}</span> 
66
-                       <span v-if="org_id==10131">{{getDialysisDialyszerPerfusionOne(main_collection.prescription.patient_id)}}</span> 
64
+                     <span > 
65
+                       <span v-if="org_id!=10131 && main_collection.prescription.dialyzer_perfusion_apparatus!=''">{{main_collection.prescription.dialyzer_perfusion_apparatus}}</span> 
66
+                       <!-- <span v-if="org_id==10131 || org_id==9671">{{getDialysisDialyszerPerfusionOne(main_collection.prescription.patient_id)}}</span>  -->
67
+                       <span v-if="org_id==10131 || org_id==9671">{{main_collection.dialysissolution.dialyzer_perfusion_apparatus}}</span>
67
                       </span>
68
                       </span>
68
                      <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus ==''&& main_collection.dialysissolution.length>0">{{getDialysisDialyszerPerfusion(main_collection.patient_id)}}</span> 
69
                      <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus ==''&& main_collection.dialysissolution.length>0">{{getDialysisDialyszerPerfusion(main_collection.patient_id)}}</span> 
69
                   </span>
70
                   </span>
137
     created() {
138
     created() {
138
       this.getPrintList()
139
       this.getPrintList()
139
       this.org_id = this.$store.getters.xt_user.org.id
140
       this.org_id = this.$store.getters.xt_user.org.id
141
+      console.log("org_id23322323",this.org_id)
140
     //  this.currentDate = this.getCurrentDate()
142
     //  this.currentDate = this.getCurrentDate()
141
       this.modeOptions = this.$store.getters.treatment_mode
143
       this.modeOptions = this.$store.getters.treatment_mode
142
       this.anticoagulants_confit = this.$store.getters.anticoagulants_confit
144
       this.anticoagulants_confit = this.$store.getters.anticoagulants_confit
152
        getScheduleList(params).then(response=>{
154
        getScheduleList(params).then(response=>{
153
          if(response.data.state ==1){
155
          if(response.data.state ==1){
154
            var list = response.data.data.list
156
            var list = response.data.data.list
157
+           console.log("list2323323",list)
155
            for(let i=0;i<list.length;i++){
158
            for(let i=0;i<list.length;i++){
156
               list[i].sort = list[i].number.sort
159
               list[i].sort = list[i].number.sort
157
            }
160
            }
393
             }
396
             }
394
           }
397
           }
395
         }
398
         }
399
+        console.log("name232333223",name)
396
        return name
400
        return name
397
      }
401
      }
398
     },
402
     },

+ 2 - 6
src/xt_pages/workforce/template.vue View File

99
         </el-button>
99
         </el-button>
100
 
100
 
101
         <!--<upload-excel style="float:right;" :on-success='handleSuccess' :before-upload="beforeUpload"></upload-excel>-->
101
         <!--<upload-excel style="float:right;" :on-success='handleSuccess' :before-upload="beforeUpload"></upload-excel>-->
102
-        <schedule-template-upload-excel style="margin-right:10px;" :on-success='handleSuccess'
103
-                                        :before-upload="beforeUpload"></schedule-template-upload-excel>
102
+        <schedule-template-upload-excel style="margin-right:10px;" :on-success='handleSuccess'></schedule-template-upload-excel>
104
 
103
 
105
 
104
 
106
         <el-button size="small" icon="el-icon-setting" type="primary" @click="setScheduleTemplateAction">设置模板</el-button>
105
         <el-button size="small" icon="el-icon-setting" type="primary" @click="setScheduleTemplateAction">设置模板</el-button>
364
 
363
 
365
 
364
 
366
         })
365
         })
367
-      },
368
-      beforeUpload(){
369
-
370
       },
366
       },
371
       handleSuccess({ results, header }) {
367
       handleSuccess({ results, header }) {
372
-         consle.log("result32eeeeeeee",results)
368
+        
373
         let headers = []
369
         let headers = []
374
         for (let key in results[0]) {
370
         for (let key in results[0]) {
375
           headers.push(key)
371
           headers.push(key)