浏览代码

11月14日 库存扣减更新

XMLWAN 3 年前
父节点
当前提交
05ee7db7cc

+ 24 - 0
src/api/supply.js 查看文件

@@ -175,3 +175,27 @@ export function updateGoodReturn(data, warehouse_out_id, start_time, rate_of_con
175 175
     data: data
176 176
   })
177 177
 }
178
+
179
+export function MofyGoodOrder(params) {
180
+  return request({
181
+    url: '/api/supply/mofygoodorder',
182
+    method: 'get',
183
+    params: params
184
+  })
185
+}
186
+
187
+export function UpdateSupplyWahouseingInfo(params) {
188
+  return request({
189
+    url: '/api/supply/updatesupplywarehousing',
190
+    method: 'get',
191
+    params: params
192
+  })
193
+}
194
+
195
+export function deleteGoodOrder(id, params) {
196
+  return request({
197
+    url: '/api/supply/deletegoodorder?id=' + id,
198
+    method: 'get',
199
+    params: params
200
+  })
201
+}

+ 24 - 2
src/xt_pages/data/components/addDrugs.vue 查看文件

@@ -342,7 +342,7 @@
342 342
                             <el-input v-model="form.social_security_directory_code" style="width:160px"></el-input>
343 343
                         </el-form-item>
344 344
 
345
-
345
+                      
346 346
 
347 347
                         <el-form-item label="备案日期:">
348 348
                             <el-date-picker
@@ -353,6 +353,19 @@
353 353
                                     placeholder="选择日期时间">
354 354
                             </el-date-picker>
355 355
                         </el-form-item>
356
+                      
357
+                        <!-- <el-form-item label="是否零用:">
358
+
359
+                            <el-select v-model="form.is_user" style="width:160px" filterable placeholder="请选择">
360
+                                <el-option
361
+                                        v-for="(item,index) in userList"
362
+                                        :key="index"
363
+                                        :label="item.name"
364
+                                        :value="item.id">
365
+                                </el-option>
366
+                            </el-select>
367
+                        </el-form-item> -->
368
+                      
356 369
 
357 370
                         <el-form-item label="药品备注:">
358 371
                             <el-input v-model="form.drug_remark" style="width:160px"></el-input>
@@ -582,6 +595,7 @@
582 595
           prescribing_number_unit:"",
583 596
           total:"",
584 597
           specification_name:"",
598
+          is_user:2,
585 599
         },
586 600
 
587 601
         rules: {
@@ -632,7 +646,14 @@
632 646
         dosageShow:false,
633 647
         unitList:[],
634 648
         minNumberShow:false,
635
-        packingUnit:[]
649
+        packingUnit:[],
650
+        userList: [{
651
+          id: '1',
652
+          name: '是'
653
+        }, {
654
+          id: '2',
655
+          name: '否'
656
+        }],
636 657
       }
637 658
     },
638 659
     props: {
@@ -897,6 +918,7 @@
897 918
         form['min_price'] = this.form.min_price
898 919
         form['prescribing_number_unit'] = this.form.prescribing_number_unit
899 920
         form['specification_name'] = this.form.specification_name
921
+        form['is_user'] = this.form.is_user
900 922
         return form
901 923
       },
902 924
       getlist() {

+ 10 - 1
src/xt_pages/data/components/drugs.vue 查看文件

@@ -324,6 +324,7 @@
324 324
           min_price:'',
325 325
           drug_day:"",//默认开药天数,
326 326
           total:"",
327
+          is_user:"",
327 328
         },
328 329
         tempFormValue: {
329 330
           drug_name: '',//药品名称
@@ -383,7 +384,7 @@
383 384
           packing_price:"",//包装零售价
384 385
           drug_day:"",//默认开药天数
385 386
           total:"",
386
-
387
+          is_user:"",
387 388
         },
388 389
 
389 390
         current_id: 0,
@@ -629,6 +630,14 @@
629 630
 
630 631
               }
631 632
 
633
+              // if(this.formValue.is_user <= 0){
634
+
635
+              //   this.formValue.is_user = ''
636
+              // } else{
637
+              //   this.formValue.is_user = this.formValue.is_user.toString()
638
+              // }
639
+
640
+
632 641
               if(this.formValue.is_charge_predict <= 0){
633 642
 
634 643
                 this.formValue.is_charge_predict = ''

+ 121 - 3
src/xt_pages/supply/components/editGoodOrder.vue 查看文件

@@ -49,8 +49,8 @@
49 49
     <div>
50 50
         <el-button size="small" type="primary" @click="updateGoodOrder">保存</el-button>
51 51
         <el-button size="small" type="primary"  @click="toClick" v-show="showThree">生成采购退货单</el-button>
52
-        <el-button size="small" type="primary"  v-show="showOne">审核</el-button>
53
-        <el-button size="small" type="primary"  v-show="showTwo">反审核</el-button>
52
+        <el-button size="small" type="primary"  v-show="showOne" @click="checkGoodOrder">审核</el-button>
53
+        <el-button size="small" type="primary"  v-show="showTwo" @click="MofyGoodOrder">反审核</el-button>
54 54
 
55 55
        
56 56
     </div>
@@ -275,7 +275,7 @@
275 275
 <script>
276 276
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
277 277
 import {uParseTime } from '@/utils/tools'
278
-import {getInitOrder,checkPurchaseOrder,getGoodOrderDetail,updateGoodOrder,getGoodOrderCountList,ModefySupplyWarehousing} from "@/api/supply"
278
+import {getInitOrder,checkPurchaseOrder,getGoodOrderDetail,updateGoodOrder,getGoodOrderCountList,ModefySupplyWarehousing,MofyGoodOrder,UpdateSupplyWahouseingInfo} from "@/api/supply"
279 279
 export default {
280 280
 name: "addPurchaseOrder",
281 281
 components: {
@@ -818,6 +818,124 @@ getTimes(time) {
818 818
   },
819 819
   toClick(){
820 820
     this.$router.push({path:"/good/return/add?id="+this.id})
821
+  },
822
+  //反审核
823
+  MofyGoodOrder(){
824
+     var id = this.$route.query.id
825
+     var warehousing_id = this.$route.query.warehousing_id
826
+     var params = {
827
+       id:id,
828
+       warehousing_id:warehousing_id,
829
+     }
830
+    MofyGoodOrder(params).then(response=>{
831
+      if(response.data.state == 1){
832
+        var msg = response.data.data.msg
833
+        if(msg == 1){
834
+          this.$message.success("反审核成功!")
835
+        }
836
+        if(msg == 2){
837
+          this.$message.success("该单有自动出库或生成了退货单,反审核失败!")
838
+        }
839
+
840
+        var purcaseOrder = response.data.data.purcaseOrder
841
+        console.log("采购订单",purcaseOrder)
842
+        
843
+        var goodOrder = response.data.data.goodOrder
844
+        console.log("采购单",goodOrder)
845
+        var drugList = response.data.data.drugList
846
+        console.log("druglist23323223",drugList)
847
+        var ids =""
848
+        // 如果采购单没有数据,则代表改订单第一次生成采购订单数据
849
+        if(goodOrder.length == 0){
850
+          this.$router.push({path:"/good/order/add?id="+id+"&ids="+ids})
851
+        } 
852
+        for(let i=0;i<purcaseOrder.length;i++){
853
+          for(let j=0;j<drugList.length;j++){
854
+             if(purcaseOrder[i].is_source == 1){
855
+               if(purcaseOrder[i].supply_unit == drugList[j].max_unit){
856
+                  purcaseOrder[i].count = purcaseOrder[i].count * drugList[j].min_number
857
+               }
858
+             }
859
+          }
860
+        }
861
+
862
+        for(let i=0;i<goodOrder.length;i++){
863
+          for(let j=0;j<drugList.length;j++){
864
+            if(goodOrder[i].is_source == 1){
865
+              if(goodOrder[i].supply_unit == drugList[j].max_unit){
866
+                 goodOrder[i].count = goodOrder[i].count * drugList[j].min_number
867
+              }
868
+            }
869
+          }
870
+        }
871
+        
872
+        let objInfo = {}
873
+        if (goodOrder.length >0){
874
+          goodOrder.forEach((item,index)=>{
875
+            let { project_id } = item
876
+            if(!objInfo[project_id]){
877
+              objInfo[project_id] = {
878
+                project_id,
879
+                child:[],
880
+                count:0,
881
+              }
882
+            }
883
+          })
884
+          let newArr = Object.values(objInfo);
885
+        
886
+          for(let i=0;i<goodOrder.length;i++){
887
+            for(let j=0;j<newArr.length;j++){
888
+              if(goodOrder[i].project_id == newArr[j].project_id){
889
+                newArr[j].child.push(goodOrder[i])
890
+              }
891
+            }
892
+          }
893
+          console.log("newAr2332232323",newArr)
894
+        
895
+          for(let i=0;i<newArr.length;i++){
896
+           for(let j=0;j<newArr[i].child.length;j++){
897
+             newArr[i].count += newArr[i].child[j].count
898
+           }
899
+          }
900
+
901
+          var arr = []
902
+          var total = 0
903
+          var str = ""
904
+         
905
+          //如果采购单有数据,则需要比较数量
906
+          if(newArr.length > 0){
907
+            for(let i=0;i<purcaseOrder.length;i++){
908
+              for(let j=0;j<newArr.length;j++){
909
+                if(purcaseOrder[i].project_id == newArr[j].project_id){
910
+                    //根据商品ID比较数量大小,如果采购单的数量大于采购订单的数据
911
+                    if(purcaseOrder[i].count < newArr[j].count){
912
+                      arr.push(purcaseOrder[i].project_id)
913
+                    }
914
+
915
+                }
916
+              }
917
+            }
918
+            //如果total的长度等于0,怎修改该订单的状态为全部入库
919
+        
920
+            if(arr.length > 0){
921
+              //修改采购订单的状态为全部入库
922
+              this.UpdateSupplyWahouseingInfo()
923
+            }
924
+          }
925
+        }
926
+        
927
+      }
928
+    })
929
+  },
930
+  UpdateSupplyWahouseingInfo(){
931
+     var params = {
932
+       warehousing_id:this.$route.query.warehousing_id,
933
+     }
934
+    UpdateSupplyWahouseingInfo(params).then(response =>{
935
+       if(response.data.state == 1){
936
+         var msg = response.data.data.msg
937
+       }
938
+    })
821 939
   }
822 940
 },
823 941
 created(){

+ 32 - 3
src/xt_pages/supply/goodOrderQuery.vue 查看文件

@@ -149,7 +149,7 @@
149 149
                 icon="el-icon-delete"
150 150
                 size="small"
151 151
                 type="danger"
152
-                @click="toClickOne(scope.row)"
152
+                @click="toDelete(scope.row)"
153 153
               >删除
154 154
               </el-button>
155 155
           </template>
@@ -175,7 +175,7 @@
175 175
 <script>
176 176
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
177 177
 
178
-import {getAllSupply,getAllGoodOrderList} from "@/api/supply"
178
+import {getAllSupply,getAllGoodOrderList,deleteGoodOrder} from "@/api/supply"
179 179
 import {uParseTime } from '@/utils/tools'
180 180
 export default {
181 181
   name: "stockIn",
@@ -337,8 +337,37 @@ export default {
337 337
       
338 338
      },
339 339
      toClick(val){
340
+       
340 341
        this.$router.push({path:"/good/order/edit?id="+val.id+"&warehousing_id="+val.warehousing_id})
341
-     }
342
+     },
343
+     toDelete(val,index){
344
+       console.log("val323223233223",val)
345
+       if(val.is_check == 1){
346
+         this.$message.error("已审核单据,不能删除!")
347
+         return false
348
+       }
349
+       if(val.cancelOut.length >0 ){
350
+         this.$message.error("已关联单据,不能删除!")
351
+         return false
352
+       }
353
+       this.$confirm('确认删除吗?', '删除', {
354
+          confirmButtonText: '确 定',
355
+          cancelButtonText: '取 消',
356
+          type: 'warning'
357
+        }).then(() => {
358
+          deleteGoodOrder(val.id).then(response => {
359
+            if (response.data.state == 1) {
360
+                var msg = response.data.data.msg
361
+                this.tableList.splice(index, 1);
362
+                this.$message.success("删除成功")
363
+            } else {
364
+                this.$message.error("删除失败")
365
+            }
366
+          })
367
+        })
368
+        .catch(() => {
369
+        }) 
370
+      }
342 371
   },
343 372
   created() {
344 373
     var now = new Date(); //当前日期