|
@@ -48,11 +48,11 @@
|
48
|
48
|
|
49
|
49
|
</div>
|
50
|
50
|
<div>
|
51
|
|
- <el-button size="small" type="primary" @click="toAdd">生成购货单</el-button>
|
|
51
|
+ <el-button size="small" type="primary" @click="toAdd" v-show="showOne">生成购货单</el-button>
|
52
|
52
|
<el-button size="small" type="primary" @click="updatePurchaseOrder">修改</el-button>
|
53
|
53
|
<el-button size="small" type="primary" @click="toPrint">打印</el-button>
|
54
|
|
- <el-button size="small" type="primary" v-if="is_check == 2" @click="checkPurchaseOrder">审核</el-button>
|
55
|
|
- <el-button size="small" type="primary" v-if="is_check == 1" @click="checkPurchaseOrder">反审核</el-button>
|
|
54
|
+ <el-button size="small" type="primary" v-if="is_check == 2" @click="checkPurchaseOrder" v-show="showTwo">审核</el-button>
|
|
55
|
+ <el-button size="small" type="primary" v-if="is_check == 1" @click="checkReturnOrder" v-show="showThree">反审核</el-button>
|
56
|
56
|
|
57
|
57
|
</div>
|
58
|
58
|
</div>
|
|
@@ -209,24 +209,27 @@
|
209
|
209
|
</div>
|
210
|
210
|
</div>
|
211
|
211
|
|
212
|
|
- <!-- <el-dialog
|
213
|
|
- title="提示"
|
|
212
|
+ <el-dialog
|
|
213
|
+ title="系统提示"
|
214
|
214
|
:visible.sync="dialogVisible"
|
215
|
|
- width="30%"
|
216
|
|
- :before-close="handleClose">
|
217
|
|
- <span>这是一段信息</span>
|
|
215
|
+ width="30%">
|
|
216
|
+ <span>
|
|
217
|
+ 购货订单{{number}}已有以下关联数据,不能反审核
|
|
218
|
+ <div v-for="(item,index) in orderList" :key="index">
|
|
219
|
+ <li>购货单{{item.good_number}}</li> <a @click="toClick(item.id)">点击查看</a>
|
|
220
|
+ </div>
|
|
221
|
+ </span>
|
218
|
222
|
<span slot="footer" class="dialog-footer">
|
219
|
223
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
220
|
|
- <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
|
221
|
224
|
</span>
|
222
|
|
- </el-dialog> -->
|
|
225
|
+ </el-dialog>
|
223
|
226
|
</div>
|
224
|
227
|
</template>
|
225
|
228
|
|
226
|
229
|
<script>
|
227
|
230
|
import BreadCrumb from "@/xt_pages/components/bread-crumb";
|
228
|
231
|
import {uParseTime } from '@/utils/tools'
|
229
|
|
-import {getInitOrder,updatePurchaseOrder,checkPurchaseOrder,getPurchaseOrderDetail,getAllOrderCountList} from "@/api/supply"
|
|
232
|
+import {getInitOrder,updatePurchaseOrder,checkPurchaseOrder,getPurchaseOrderDetail,getAllOrderCountList,getGoodOrderList,getReturnOrder} from "@/api/supply"
|
230
|
233
|
export default {
|
231
|
234
|
name: "addPurchaseOrder",
|
232
|
235
|
components: {
|
|
@@ -284,6 +287,10 @@ return {
|
284
|
287
|
is_check:0,
|
285
|
288
|
dialogVisible:false,
|
286
|
289
|
total_price:0,
|
|
290
|
+ showOne:true,
|
|
291
|
+ showTwo:true,
|
|
292
|
+ showThree:false,
|
|
293
|
+ orderList:[],
|
287
|
294
|
};
|
288
|
295
|
},
|
289
|
296
|
methods:{
|
|
@@ -554,6 +561,9 @@ getTimes(time) {
|
554
|
561
|
var info = response.data.data.info
|
555
|
562
|
this.disabled = true
|
556
|
563
|
this.$message.success("审核成功!")
|
|
564
|
+ this.showOne = true
|
|
565
|
+ this.showTwo = false
|
|
566
|
+ this.showThree = true
|
557
|
567
|
this.getPurchaseOrderDetail()
|
558
|
568
|
}
|
559
|
569
|
})
|
|
@@ -575,9 +585,15 @@ getTimes(time) {
|
575
|
585
|
var orderInfo = response.data.data.orderInfo
|
576
|
586
|
if(info.is_check == 2){
|
577
|
587
|
this.disabled = false
|
|
588
|
+ this.showOne = false
|
|
589
|
+ this.showTwo = true
|
|
590
|
+ this.showThree = false
|
578
|
591
|
}
|
579
|
592
|
if(info.is_check == 1){
|
580
|
593
|
this.disabled = true
|
|
594
|
+ this.showOne = true
|
|
595
|
+ this.showTwo = false
|
|
596
|
+ this.showThree = true
|
581
|
597
|
}
|
582
|
598
|
console.log("drugli323322332",this.drugList)
|
583
|
599
|
var drugList = response.data.data.baseList
|
|
@@ -627,42 +643,95 @@ getTimes(time) {
|
627
|
643
|
if(response.data.state == 1){
|
628
|
644
|
var purcaseOrder = response.data.data.purcaseOrder
|
629
|
645
|
console.log("采购订单",purcaseOrder)
|
|
646
|
+
|
630
|
647
|
var goodOrder = response.data.data.goodOrder
|
631
|
648
|
console.log("采购单",goodOrder)
|
632
|
|
- var arr = []
|
633
|
|
- var total = 0
|
634
|
|
- var str = ""
|
|
649
|
+ var drugList = response.data.data.drugList
|
|
650
|
+ console.log("druglist23323223",drugList)
|
|
651
|
+ var ids =""
|
635
|
652
|
// 如果采购单没有数据,则代表改订单第一次生成采购订单数据
|
636
|
653
|
if(goodOrder.length == 0){
|
637
|
|
- this.$router.push({path:"/good/order/add?id="+id+"&ids="+str})
|
|
654
|
+ this.$router.push({path:"/good/order/add?id="+id+"&ids="+ids})
|
|
655
|
+ }
|
|
656
|
+ for(let i=0;i<purcaseOrder.length;i++){
|
|
657
|
+ for(let j=0;j<drugList.length;j++){
|
|
658
|
+ if(purcaseOrder[i].is_source == 1){
|
|
659
|
+ if(purcaseOrder[i].supply_unit == drugList[j].max_unit){
|
|
660
|
+ purcaseOrder[i].count = purcaseOrder[i].count * drugList[j].min_number
|
|
661
|
+ }
|
|
662
|
+ }
|
|
663
|
+ }
|
638
|
664
|
}
|
639
|
|
- //如果采购单有数据,则需要比较数量
|
640
|
|
- if(goodOrder.length > 0){
|
641
|
|
- for(let i=0;i<purcaseOrder.length;i++){
|
642
|
|
- for(let j=0;j<goodOrder.length;j++){
|
643
|
|
- if(purcaseOrder[i].project_id == goodOrder[j].project_id){
|
644
|
|
- //根据商品ID比较数量大小,把数量不足的商品ID储存,表示采购单的数量未满足采购订单的数据,可以继续生成采购单
|
645
|
|
- if(purcaseOrder[i].count > goodOrder[j].count){
|
646
|
|
- arr.push(purcaseOrder[i].project_id)
|
647
|
|
- }
|
648
|
665
|
|
|
666
|
+ for(let i=0;i<goodOrder.length;i++){
|
|
667
|
+ for(let j=0;j<drugList.length;j++){
|
|
668
|
+ if(goodOrder[i].is_source == 1){
|
|
669
|
+ if(goodOrder[i].supply_unit == drugList[j].max_unit){
|
|
670
|
+ goodOrder[i].count = goodOrder[i].count * drugList[j].min_number
|
649
|
671
|
}
|
650
|
672
|
}
|
651
|
673
|
}
|
652
|
|
- //如果total的长度等于 采购单的长度,怎表示该采购订单已经全部生成
|
653
|
|
-
|
654
|
|
- if(arr.length == 0){
|
655
|
|
- this.$message.error("该订单已全部生成采购单,请知悉!")
|
|
674
|
+ }
|
|
675
|
+
|
|
676
|
+ let objInfo = {}
|
|
677
|
+ if (goodOrder.length >0){
|
|
678
|
+ goodOrder.forEach((item,index)=>{
|
|
679
|
+ let { project_id } = item
|
|
680
|
+ if(!objInfo[project_id]){
|
|
681
|
+ objInfo[project_id] = {
|
|
682
|
+ project_id,
|
|
683
|
+ child:[],
|
|
684
|
+ count:0,
|
|
685
|
+ }
|
|
686
|
+ }
|
|
687
|
+ })
|
|
688
|
+ let newArr = Object.values(objInfo);
|
|
689
|
+
|
|
690
|
+ for(let i=0;i<goodOrder.length;i++){
|
|
691
|
+ for(let j=0;j<newArr.length;j++){
|
|
692
|
+ if(goodOrder[i].project_id == newArr[j].project_id){
|
|
693
|
+ newArr[j].child.push(goodOrder[i])
|
|
694
|
+ }
|
|
695
|
+ }
|
656
|
696
|
}
|
|
697
|
+ console.log("newAr2332232323",newArr)
|
|
698
|
+
|
|
699
|
+ for(let i=0;i<newArr.length;i++){
|
|
700
|
+ for(let j=0;j<newArr[i].child.length;j++){
|
|
701
|
+ newArr[i].count += newArr[i].child[j].count
|
|
702
|
+ }
|
|
703
|
+ }
|
|
704
|
+
|
|
705
|
+ var arr = []
|
|
706
|
+ var total = 0
|
|
707
|
+ var str = ""
|
|
708
|
+
|
|
709
|
+ //如果采购单有数据,则需要比较数量
|
|
710
|
+ if(newArr.length > 0){
|
|
711
|
+ for(let i=0;i<purcaseOrder.length;i++){
|
|
712
|
+ for(let j=0;j<newArr.length;j++){
|
|
713
|
+ if(purcaseOrder[i].project_id == newArr[j].project_id){
|
|
714
|
+ //根据商品ID比较数量大小,把数量不足的商品ID储存,表示采购单的数量未满足采购订单的数据,可以继续生成采购单
|
|
715
|
+ if(purcaseOrder[i].count > newArr[j].count){
|
|
716
|
+ arr.push(purcaseOrder[i].project_id)
|
|
717
|
+ }
|
|
718
|
+ }
|
|
719
|
+ }
|
|
720
|
+ }
|
|
721
|
+ //如果total的长度等于 采购单的长度,怎表示该采购订单已经全部生成
|
657
|
722
|
|
|
723
|
+ if(arr.length == 0){
|
|
724
|
+ this.$message.error("该订单已全部生成采购单,请知悉!")
|
|
725
|
+ return
|
|
726
|
+ }
|
|
727
|
+
|
658
|
728
|
|
659
|
|
- if(total!=goodOrder.length){
|
660
|
|
- str = arr.join(",")
|
661
|
|
- this.$router.push({path:"/good/order/add?id="+id+"&ids="+str})
|
|
729
|
+ if(total!=goodOrder.length){
|
|
730
|
+ str = arr.join(",")
|
|
731
|
+ this.$router.push({path:"/good/order/add?id="+id+"&ids="+str})
|
|
732
|
+ }
|
662
|
733
|
}
|
663
|
734
|
}
|
664
|
|
-
|
665
|
|
-
|
666
|
735
|
}
|
667
|
736
|
})
|
668
|
737
|
|
|
@@ -671,6 +740,40 @@ getTimes(time) {
|
671
|
740
|
if(this.rate_of_concession >0){
|
672
|
741
|
this.discount_amount = (this.rate_of_concession/100*this.total_price).toFixed(2)
|
673
|
742
|
}
|
|
743
|
+ },
|
|
744
|
+ checkReturnOrder(){
|
|
745
|
+ var id = this.$route.query.id
|
|
746
|
+ //获取购货订单号
|
|
747
|
+ getGoodOrderList(id).then(response=>{
|
|
748
|
+ if(response.data.state == 1){
|
|
749
|
+ var list = response.data.data.list
|
|
750
|
+ this.orderList = list
|
|
751
|
+ //如果长度大于0,有购货单不能反审核
|
|
752
|
+ if(list.length >0){
|
|
753
|
+ this.dialogVisible = true
|
|
754
|
+ }
|
|
755
|
+ if(list.length == 0){
|
|
756
|
+ this.getReturnOrder()
|
|
757
|
+ this.showOne = false
|
|
758
|
+ this.showTwo = true
|
|
759
|
+ this.showThree = false
|
|
760
|
+ }
|
|
761
|
+ }
|
|
762
|
+ })
|
|
763
|
+ },
|
|
764
|
+ getReturnOrder(){
|
|
765
|
+ var id = this.$route.query.id
|
|
766
|
+ getReturnOrder(id).then(response=>{
|
|
767
|
+ if(response.data.state == 1){
|
|
768
|
+ var msg = response.data.data.msg
|
|
769
|
+ this.disabled = false
|
|
770
|
+ this.$message.success("反审核成功!")
|
|
771
|
+ this.getPurchaseOrderDetail()
|
|
772
|
+ }
|
|
773
|
+ })
|
|
774
|
+ },
|
|
775
|
+ toClick(id){
|
|
776
|
+ this.$router.push("/good/order/edit?id="+id)
|
674
|
777
|
}
|
675
|
778
|
},
|
676
|
779
|
created(){
|