From 3af70533501f4138536ba01edb4f02a3a8d69f6a Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期六, 30 三月 2024 14:29:04 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.5.5:10010/r/web/crm-web into dev
---
src/views/sales/salesDetails/index.vue | 330 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 227 insertions(+), 103 deletions(-)
diff --git a/src/views/sales/salesDetails/index.vue b/src/views/sales/salesDetails/index.vue
index 719169e..1af7f6e 100644
--- a/src/views/sales/salesDetails/index.vue
+++ b/src/views/sales/salesDetails/index.vue
@@ -50,6 +50,9 @@
<template v-if="scope.row.status === 3||scope.row.status === 4">
<el-button @click.stop="shipmentsClick(scope.row)" type="text" size="small">鍙戣揣</el-button>
</template>
+ <template v-if="scope.row.status === 3||scope.row.status === 4">
+ <el-button @click.stop="confirmClick(scope.row)" type="text" size="small">纭瀹屾垚</el-button>
+ </template>
</template>
</el-table-column>
</template>
@@ -176,7 +179,8 @@
getProductOrderInfo,
updateStatus,
getProjectList,
- sendSalesDetailsToOtherSystem
+ sendSalesDetailsToOtherSystem,
+ confirmOutputOver
} from "@/api/sales/salesDetails"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
import DetailSpecification from "@/views/sales/salesDetails/DetailSpecification"
@@ -217,11 +221,26 @@
{ label: "浜у搧瑙勬牸", prop: "specs" },
{ label: "鍗曚綅", prop: "unit" },
{ label: "璁㈠崟鏁伴噺", prop: "amount" },
- { label: "宸插畬鎴愭暟閲�", prop: "finishAmount" },
- { label: "宸插彂璐ф暟閲�", prop: "deliveryAmount" },
- { label: "閲囪喘鏁伴噺", prop: "purchaseAmount" },
- { label: "鐢熶骇鏁伴噺", prop: "makeAmount" },
- { label: "濮斿鏁伴噺", prop: "outsourcingAmount" },
+ {
+ label: "宸插畬鎴愭暟閲�",
+ prop: "finishAmount",
+ isClass: true,
+ getClassName: this.getAmountClassName,
+ },
+ { label: "宸插彂璐ф暟閲�", prop: "deliveryAmount",
+ isClass: true,
+ getClassName: this.getAmountClassName, },
+ { label: "閲囪喘鏁伴噺",
+ isClass: true,
+ getClassName: this.getFinishAmountClassName,
+ prop: "purchaseAmount",
+ },
+ { label: "鐢熶骇鏁伴噺", prop: "makeAmount" ,
+ isClass: true,
+ getClassName: this.getFinishAmountClassName, },
+ { label: "濮斿鏁伴噺", prop: "outsourcingAmount",
+ isClass: true,
+ getClassName: this.getFinishAmountClassName, },
{ label: "閿�鍞崟浠�", prop: "price", price: true },
{ label: "鎴愭湰鍗曚环", prop: "cost" },
{ label: "姣涘埄", prop: "profit" },
@@ -241,7 +260,7 @@
{ label: "鎵胯繍鍟�", prop: "carrier" },
{ label: "杩愬崟鍙�", prop: "waybill" },
{ label: "鍒涘缓鏃堕棿", prop: "warehouse" },
- { label: "鐘舵��", prop: "status" },
+ { label: "鐘舵��", prop: "status",isCallMethod: true,getCallMethod: this.getStatusFive },
]
// 鍒堕�犱俊鎭�
const makeColumn = [
@@ -318,57 +337,46 @@
{
label: "濮斿璁㈠崟",
prop: "outsourcingId",
- default: true
},
{
label: "浜у搧缂栧彿",
prop: "productId",
- default: true
},
{
label: "浜у搧鍚嶇О",
prop: "productName",
- default: true
},
{
label: "浜у搧瑙勬牸",
prop: "specs",
- default: true
},
{
label: "浜у搧鍗曚綅",
prop: "unit",
- default: true
},
{
label: "濮斿鏁伴噺",
prop: "amount",
- default: true
},
{
label: "瀹屾垚鏁伴噺",
prop: "finishAmount",
- default: true
},
{
label: "璁㈠崟鐘舵��",
- prop: "status",
- default: true
+ prop: "outsourcingStatus",
},
{
label: "濮斿渚涘簲鍟�",
prop: "supplierName",
- default: true
},
{
label: "绛剧害鏃ユ湡",
prop: "startTime",
- default: true
},
{
label: "浜や粯鏃ユ湡",
prop: "endTime",
- default: true
},
]
return {
@@ -439,7 +447,7 @@
TabsIndex: "0",
productTableList: {},
productColumn: productColumn,
- showProductCol: ["浜у搧缂栧彿", "浜у搧鍚嶇О","浜у搧瑙勬牸", "鍗曚綅", "璁㈠崟鏁伴噺", "宸插畬鎴愭暟閲�", "宸插彂璐ф暟閲�", "閲囪喘鏁伴噺", "鐢熶骇鏁伴噺", "濮斿鏁伴噺","閿�鍞崟浠�","鎴愭湰鍗曚环","姣涘埄","姣涘埄鐜�","浠风◣鍚堣"],
+ showProductCol: ["浜у搧缂栧彿", "浜у搧鍚嶇О","浜у搧瑙勬牸", "鍗曚綅", "璁㈠崟鏁伴噺", "宸插畬鎴愭暟閲�", "宸插彂璐ф暟閲�", "閲囪喘鏁伴噺", "鐢熶骇鏁伴噺", "濮斿鏁伴噺","閿�鍞崟浠�","鎴愭湰鍗曚环","姣涘埄","姣涘埄鐜�(%)","浠风◣鍚堣"],
inventoryColumn: inventoryColumn,
showInventoryCol: [
"鍑哄簱鍗�",
@@ -456,7 +464,7 @@
"鐘舵��"
],
makeColumn: makeColumn,
- showMakeCol: ["鐢熶骇璁㈠崟", "浜у搧鍚嶇О", "璁㈠崟鐘舵��", "宸ュ崟缂栧彿", "宸ュ崟鐘舵��", "璁″垝寮�濮嬫椂闂�", "璁″垝缁撴潫鏃堕棿"],
+ showMakeCol: ["鐢熶骇璁㈠崟", "浜у搧缂栧彿", "浜у搧鍚嶇О", "浜у搧瑙勬牸", "浜у搧鍗曚綅", "璁㈠崟鏁伴噺", "瀹屾垚鏁伴噺","宸ュ崟缂栧彿","宸ュ崟鐘舵��","璁″垝寮�濮嬫椂闂�","璁″垝缁撴潫鏃堕棿"],
// 閲囪喘
purchaseColumn: purchaseColumn,
outsourceColumn:outsourceColumn,
@@ -473,7 +481,9 @@
projectId: [{ required: true, message: "璇烽�夋嫨椤圭洰", trigger: "change" }]
},
purchaseStatusList: getDataByType("purchaseStatus"),
- loading: false
+ loading: false,
+ isRequest: true, //璇锋眰
+ productDataBottom:{},
}
},
created() {
@@ -489,6 +499,29 @@
this.getProjectList()
},
methods: {
+ getFinishAmountClassName(val, row) {
+ let parts = val.split("/");
+ let numerator = parseInt(parts[0], 10); // 鍒嗗瓙
+ let denominator = parseInt(parts[1], 10); // 鍒嗘瘝
+ let classname = "";
+ if (numerator / denominator === 0||numerator===0) {
+ classname = "error";
+ }else if(numerator / denominator === 1){
+ classname = "success";
+ }else if((numerator / denominator) > 0&&(numerator / denominator) <1){
+ classname = "warning-radio";
+ }
+ console.log(classname, numerator,denominator,"鐪嬩笅")
+ return classname;
+ },
+ getAmountClassName(val){
+ console.log(val,"val11")
+ let classname = "";
+ if(val===0){
+ classname = "error";
+ }
+ return classname;
+ },
getpurchaseStatus(val) {
if (val) {
for (let i in this.purchaseStatusList) {
@@ -618,21 +651,12 @@
})
},
// 鑾峰彇浜у搧/搴撳瓨淇℃伅
- async getProductInventoryInfo(row) {
- if (this.TabsIndex == 0 || row.status == 1) {
- this.getProductOrderInfo(row)
- // row.products.map((item)=>{
- // item.purchaseAmount=item.purchaseFinishAmount+"/"+item.purchaseAmount
- // item.makeAmount=item.makeFinishAmount+"/"+item.makeAmount
- // item.outsourcingAmount=item.outsourcingFinishAmount+"/"+item.outsourcingAmount
-
- // })
- // this.productTableList.tableInfomation = row.products || []
- } else {
- if (row.number) {
+ async getProductInventoryInfo(number) {
+ if (number) {
this.loading = true
- await getProductInventoryInfo(row.number)
+ await getProductInventoryInfo(number)
.then((res) => {
+ console.log(res,"resss")
this.productTableList.tableInfomation = res.data?.length > 0 ? res.data : []
this.loading = false
})
@@ -641,39 +665,104 @@
this.loading = false
})
}
- }
},
// 鑾峰彇鍒堕�犱俊鎭�
async getProductOrderInfo(number) {
if (number) {
- this.loading = true
- await getProductOrderInfo(number)
- .then((res) => {
- if (this.TabsIndex == 0) {
+ if (this.TabsIndex == 0) {
+ // 浜у搧淇℃伅鍒楄〃
+ this.tableBottomColumn = this.productColumn // 琛ㄥご
+ this.showBottomCol = this.showProductCol // 鍔ㄦ�佽〃澶�
+ this.setBottomList()
+ }else if(this.TabsIndex == 1){
+ // 鍙戣揣淇℃伅鍒楄〃
+ this.tableBottomColumn = this.inventoryColumn
+ this.showBottomCol = this.showInventoryCol
+ this.setBottomList()
+ }else if (this.TabsIndex == 2) {
+ // 鍒堕�犱俊鎭垪琛�
+ this.tableBottomColumn = this.makeColumn
+ this.showBottomCol = this.showMakeCol
+ this.setBottomList()
+
+ } else if (this.TabsIndex == 3) {
+ // 閲囪喘淇℃伅鍒楄〃
+ this.tableBottomColumn = this.purchaseColumn
+ this.showBottomCol = this.showPurchaseCol
+ this.setBottomList()
+ }else if (this.TabsIndex == 4) {
+ // 濮斿淇℃伅鍒楄〃
+ this.tableBottomColumn = this.outsourceColumn
+ this.showBottomCol = this.showOutsourceCol
+ this.setBottomList()
+ }
+ console.log(this.isRequest,'===isRequest')
+ if (this.TabsIndex != 1&&this.isRequest == false) {
+ this.isRequest = true;
+ this.getListValue(this.productDataBottom)
+ return true;
+ }
+
+ if (this.TabsIndex == 1&&this.selectRow.status == 1) {
+ this.productTableList.tableInfomation = []
+ }
+ console.log(this.selectRow,"鐪嬬湅")
+ this.getProductInventoryInfo(number)
+
+ this.loading = true
+ await getProductOrderInfo(number)
+ .then((res) => {
+ this.productDataBottom=res;
+ this.getListValue(this.productDataBottom)
+ this.loading = false
+ })
+ .catch(() => {
+ this.productTableList.tableInfomation = []
+ this.loading = false
+ })
+ }
+ },
+ getListValue(res){
+ if (this.TabsIndex == 0) {
if(res&&res.data){
res.data.productInfo.map((item=>{
- item.purchaseAmount=item.purchaseFinishAmount+"/"+item.purchaseAmount
- item.makeAmount=item.makeFinishAmount+"/"+item.makeAmount
- item.outsourcingAmount=item.outsourcingFinishAmount+"/"+item.outsourcingAmount
+ let string1 = "--";
+ let number1 = item.purchaseFinishAmount;
+ let val1=item.purchaseAmount
+ if ((val1 && val1 != 0) || (number1 && number1 != 0)) {
+ let a1 = val1 || val1 == 0 ? val1 : "--";
+ let b1 = number1 || number1 == 0 ? number1 : "--";
+ string1 = b1 + "/" + a1;
+ }
+ item.purchaseAmount=string1
+ let string2 = "--";
+ let number2 = item.makeFinishAmount;
+ let val2=item.makeAmount
+ if ((val2 && val2 != 0) || (number2 && number2 != 0)) {
+ let a2 = val2 || val2 == 0 ? val2 : "--";
+ let b2 = number2 || number2 == 0 ? number2 : "--";
+ string2 = b2 + "/" + a2;
+ }
+ item.makeAmount=string2
+ let string3 = "--";
+ let number3 = item.outsourcingFinishAmount;
+ let val3=item.outsourcingAmount
+ if ((val3 && val3 != 0) || (number3 && number3 != 0)) {
+ let a3 = val3 || val3 == 0 ? val3 : "--";
+ let b3 = number3 || number3 == 0 ? number3 : "--";
+ string3 = b3 + "/" + a3;
+ }
+ item.outsourcingAmount=string3
}))
}
this.productTableList.tableInfomation = res.data && res.data.productInfo ? res.data.productInfo : []
- } else if (this.TabsIndex == 1) {
- this.productTableList.tableInfomation = res.data ? res.data : []
- } else if (this.TabsIndex == 2) {
+ } else if (this.TabsIndex == 2) {
this.productTableList.tableInfomation = res.data && res.data.makeInfo ? res.data.makeInfo : []
} else if (this.TabsIndex == 3) {
this.productTableList.tableInfomation = res.data && res.data.purchaseInfo ? res.data.purchaseInfo : []
} else if(this.TabsIndex == 4) {
this.productTableList.tableInfomation = res.data && res.data.outsourcingInfo ? res.data.outsourcingInfo : []
}
- this.loading = false
- })
- .catch(() => {
- this.productTableList.tableInfomation = []
- this.loading = false
- })
- }
},
// 鎼滅储
onFilterSearch(searchText) {
@@ -733,8 +822,78 @@
shipmentsClick(row){
this.editShipmentsConfig.visible=true
this.editShipmentsConfig.infomation.saleDetailID=row.id
+ this.editShipmentsConfig.infomation.deliverType=row.deliverType?row.deliverType:1
this.editShipmentsConfig.infomation.saleDetailNumber=row.number
this.editShipmentsConfig.infomation.projectId=row.projectId
+ },
+ // 纭鍙戣揣瀹屾垚
+ async confirmClick(row){
+ this.selectRow = row
+ await getProductInventoryInfo(this.selectRow.number)
+ .then((res) => {
+ console.log(res,"resss")
+ if(res.data){
+ this.productTableList.tableInfomation = res.data?.length > 0 ? res.data : []
+ // let accumulator=res.data
+ // const reducedArray = array.reduce((accumulator, currentItem) => {
+ // // 鏌ユ壘褰撳墠number鏄惁宸插瓨鍦ㄤ簬accumulator涓�
+ // const existingItem = accumulator.find(item => item.number === currentItem.number);
+ // if (existingItem) {
+ // // 濡傛灉瀛樺湪锛岀疮鍔爊um
+ // existingItem.amount += currentItem.amount;
+ // } else {
+ // // 濡傛灉涓嶅瓨鍦紝灏嗗綋鍓嶉」娣诲姞鍒癮ccumulator涓�
+ // accumulator.push(currentItem);
+ // }
+ // return accumulator;
+ // }, []); // 鍒濆鍖朼ccumulator涓轰竴涓┖鏁扮粍
+
+ // console.log(reducedArray,"鏂版暟缁�");
+ }
+ this.loading = false
+ })
+ // let obj=[
+ // {
+ // name:"灏忔槑",
+ // id:1,
+ // num:10
+ // },
+ // {
+ // name:"灏忔槑",
+ // id:1,
+ // num:20
+ // },
+ // {
+ // name:"灏忔槑",
+ // id:1,
+ // num:5
+ // },
+ // {
+ // name:"灏忕孩",
+ // id:1,
+ // num:5
+ // },
+ // {
+ // name:"灏忕孩",
+ // id:1,
+ // num:10
+ // },
+ // {
+ // name:"灏忔埧",
+ // id:5,
+ // num:3
+ // },
+ // ]
+ .catch(() => {
+ this.productTableList.tableInfomation = []
+ this.loading = false
+ })
+ // await confirmOutputOver({saleDetailNumber:row.number}).then((res)=>{
+ // if(res&&res.code===200){
+ // this.$message.success("纭鍙戣揣瀹屾垚")
+ // this.getData()
+ // }
+ // })
},
// 鍏抽棴
closeClick(row) {
@@ -812,63 +971,21 @@
//鑾峰彇褰撳墠閫変腑璧勬簮鐨刬d
getTab(tab) {
this.TabsIndex = tab
- if (this.TabsIndex == 0) {
- // 浜у搧淇℃伅鍒楄〃
- this.tableBottomColumn = this.productColumn // 琛ㄥご
- this.showBottomCol = this.showProductCol // 鍔ㄦ�佽〃澶�
- this.setBottomList()
- this.getProductInventoryInfo(this.selectRow.number)
- } else if (this.TabsIndex == 1) {
- // 鍙戣揣淇℃伅鍒楄〃
- this.tableBottomColumn = this.inventoryColumn
- this.showBottomCol = this.showInventoryCol
- this.setBottomList()
- if (this.selectRow.status == 1) {
- this.productTableList.tableInfomation = []
- } else {
- this.getProductInventoryInfo(this.selectRow)
- }
- } else if (this.TabsIndex == 2) {
- // 鍒堕�犱俊鎭垪琛�
- this.tableBottomColumn = this.makeColumn
- this.showBottomCol = this.showMakeCol
- this.setBottomList()
- this.getProductOrderInfo(this.selectRow.number)
- } else if (this.TabsIndex == 3) {
- // 閲囪喘淇℃伅鍒楄〃
- this.tableBottomColumn = this.purchaseColumn
- this.showBottomCol = this.showPurchaseCol
- this.setBottomList()
- this.getProductOrderInfo(this.selectRow.number)
- }if (this.TabsIndex == 4) {
- // 濮斿淇℃伅鍒楄〃
- this.tableBottomColumn = this.outsourceColumn
- this.showBottomCol = this.showOutsourceCol
- this.setBottomList()
- this.getProductOrderInfo(this.selectRow.number)
+ if (this.TabsIndex == 1) {
+ this.isRequest =true;
+ } else{
+ this.isRequest = false;
}
+ this.getProductOrderInfo(this.selectRow.number)
},
// 鐘舵��
getStatus(val) {
- return val === 1 ? "寰呯‘璁�" : val === 2 ? "寰呭嚭搴�" : val === 3 ? "澶囪揣涓�" : val === 4 ? "寰呭嚭搴�" : val === 5 ? "鍑哄簱瀹屾垚" : val=== 6 ? "宸插叧闂�": "--"
+ return val === 1 ? "寰呯‘璁�" : val === 2 ? "寰呭垎瑙�" : val === 3 ? "澶囪揣涓�" : val === 4 ? "寰呭嚭搴�" : val === 5 ? "鍑哄簱瀹屾垚" : val=== 6 ? "宸插叧闂�": "--"
},
// top 琛岀偣鍑�
tableRowClick(row) {
this.selectRow = row
- if (this.TabsIndex == 0) {
- this.getProductInventoryInfo(this.selectRow.number)
- } else if (this.TabsIndex == 1) {
- if (this.selectRow.status == 1) {
- this.productTableList.tableInfomation = []
- } else {
- this.getProductInventoryInfo(this.selectRow)
- }
- } else if (this.TabsIndex == 2) {
- this.getProductOrderInfo(this.selectRow.number)
- } else if (this.TabsIndex == 3) {
- // 閲囪喘淇℃伅
- this.getProductOrderInfo(this.selectRow.number)
- }
+ this.getProductOrderInfo(this.selectRow.number)
},
// 鑾峰彇椤圭洰鍒楄〃
async getProjectList() {
@@ -927,7 +1044,14 @@
})
}
})
- }
+ },
+ getStatusFive(val) {
+ if (val) {
+ return val==0?'灏辩华':'瀹屾垚'
+ } else {
+ return "--";
+ }
+ },
}
}
</script>
--
Gitblit v1.8.0