| src/components/product_card/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/manifest.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/pages/production/detail/wireDetail.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/pages/production/list/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/pages/production/wire/report/reportManage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/pages/production/wire/report/wire.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/components/product_card/index.vue
@@ -3,6 +3,13 @@ <template #title> <view class="flex justify-between w-full"> <text class="font-medium text-[#252525]">设备编号: {{ data[map.deviceModel] }}</text> <wd-tag :color="data[map.isMonofil] == 1 ? '#0D867F' : '#e6a23c'" :bg-color="data[map.isMonofil] == 1 ? '#E7F4EC' : '#fdf6ec'" > <text class="text-xs">{{ data[map.isMonofil] == 1 ? "成品" : "半成品" }}</text> </wd-tag> <!-- #fdf6ec #e6a23c--> <wd-tag color="#0D867F" bg-color="#E7F4EC"> <text class="text-xs">{{ data[map.model] }}</text> </wd-tag> @@ -60,6 +67,19 @@ </view> </wd-col> </wd-row> <wd-row class="my-2" v-if="data.type === '拉丝' && data.contractNo && data[map.isMonofil] == 1"> <wd-col :span="24"> <view class="flex"> <view class="icon_box"> <wd-icon name="folder" color="#0D867F"></wd-icon> </view> <text class="text-[#646874] mx-2"> 重量: <text class="text-[#252525]">{{ data.totalWeight }} kg</text> </text> </view> </wd-col> </wd-row> <wd-row class="my-2"> <wd-col :span="12"> <view class="flex"> src/manifest.json
@@ -2,7 +2,7 @@ "name" : "线缆上报", "appid" : "__UNI__F64E0A4", "description" : "", "versionName" : "1.0.26", "versionName" : "1.0.27", "versionCode" : "100", "transformPx" : false, /* 5+App特有相关 */ src/pages/production/detail/wireDetail.vue
@@ -11,6 +11,8 @@ unAmount: 'unAmount', poleModel: 'poleModel', contractNo: 'contractNo', isMonofil: 'isMonofil', totalWeight: 'totalWeight', }" /> <view class="mx-3"> @@ -57,6 +59,9 @@ oneLength: undefined, poleModel: undefined, contractNo: undefined, isMonofil: undefined, totalWeight: undefined, meterWeight: undefined, type: "拉丝", }); const detailData = ref<any>({}); @@ -75,6 +80,9 @@ cardData.oneLength = data.oneLength; cardData.poleModel = data.poleModel; cardData.contractNo = data.contractNo; cardData.isMonofil = data.isMonofil; cardData.totalWeight = data.totalWeight; cardData.meterWeight = data.meterWeight; cardData.type = data.type || "拉丝"; }; @@ -127,8 +135,14 @@ } // 如果有 prepareId,正常跳转 const isMonofil = cardData.isMonofil !== undefined && cardData.isMonofil !== null ? cardData.isMonofil : ""; const meterWeight = cardData.meterWeight !== undefined && cardData.meterWeight !== null ? cardData.meterWeight : ""; const totalWeight = cardData.totalWeight !== undefined && cardData.totalWeight !== null ? cardData.totalWeight : ""; uni.navigateTo({ url: `/pages/production/wire/report/wire?id=${paramsId.value}&model=${cardData.model}&oneLength=${cardData.oneLength}`, url: `/pages/production/wire/report/wire?id=${paramsId.value}&model=${cardData.model}&oneLength=${cardData.oneLength}&isMonofil=${isMonofil}&meterWeight=${meterWeight}&totalWeight=${totalWeight}`, }); }; src/pages/production/list/index.vue
@@ -43,6 +43,8 @@ unit: "unit", poleModel: "poleModel", contractNo: "contractNo", isMonofil: "isMonofil", totalWeight: "totalWeight", }); const props = defineProps({ api: { @@ -103,6 +105,8 @@ map.unAmount = "unAmount"; map.poleModel = "poleModel"; map.contractNo = "contractNo"; map.isMonofil = "isMonofil"; map.totalWeight = "totalWeight"; } if (data.data.total == 0) { pagingRef.value.complete(true); src/pages/production/wire/report/reportManage.vue
@@ -272,6 +272,9 @@ const oneLength = ref(); const allChildDataList = ref<any[]>([]); const wireDetail = ref<any>(null); const isMonofil = ref(); const meterWeight = ref(); const totalWeight = ref(); // 新增弹框相关 const addDialogVisible = ref(false); @@ -344,20 +347,33 @@ const handleAdd = () => { const lastChild = childList.value[childList.value.length - 1]; // 从详情数据中获取米重 const meterWeight = // 从详情数据中获取米重,优先使用传入的参数 const meterWeightValue = Number(meterWeight.value) || Number(wireDetail.value?.meterWeight) || Number(wireDetail.value?.weight) || Number(wireDetail.value?.theoryWeight) || 0; // 如果是成品单丝,根据公式自动计算盘长:(totalWeight/meterWeight)*1000 let calculatedLength = ""; if ( isMonofil.value && (isMonofil.value === 1 || isMonofil.value === "1" || isMonofil.value === true) ) { const totalWeightValue = Number(totalWeight.value) || 0; if (totalWeightValue > 0 && meterWeightValue > 0) { calculatedLength = ((totalWeightValue / meterWeightValue) * 1000).toFixed(2); } } // 初始化新数据,如果有最后一条数据,使用其值作为默认值 newChildData.value = { dishModel: lastChild?.dishModel || "", actuallyLength: lastChild?.actuallyLength || "", actuallyLength: calculatedLength || lastChild?.actuallyLength || "", actuallyWeight: lastChild?.actuallyWeight || "", isJoint: lastChild?.isJoint || 0, meterWeight: meterWeight, meterWeight: meterWeightValue, }; addDialogVisible.value = true; @@ -530,28 +546,68 @@ } }; // 自动计算实际重量 // 自动计算实际重量(根据长度) const handleCalculateWeight = (row: any) => { // 从 newChildData 对象中获取米重 const meterWeight = Number(row.meterWeight) || 0; const meterWeightValue = Number(row.meterWeight) || 0; const actuallyLength = Number(row.actuallyLength); if (meterWeight > 0 && actuallyLength > 0) { const calculatedWeight = (meterWeight * actuallyLength) / 1000; if (meterWeightValue > 0 && actuallyLength > 0) { const calculatedWeight = (meterWeightValue * actuallyLength) / 1000; row.actuallyWeight = Number(calculatedWeight.toFixed(3)); } console.log("row", meterWeight, actuallyLength); console.log("row", meterWeightValue, actuallyLength); }; // 监听实际长度变化,自动计算重量 // 自动计算实际长度(根据重量,仅成品单丝) const handleCalculateLength = (row: any) => { // 如果是成品单丝,根据重量计算长度 if ( isMonofil.value && (isMonofil.value === 1 || isMonofil.value === "1" || isMonofil.value === true) ) { const meterWeightValue = Number(meterWeight.value) || Number(row.meterWeight) || 0; const actuallyWeight = Number(row.actuallyWeight); if (meterWeightValue > 0 && actuallyWeight > 0) { const calculatedLength = (actuallyWeight / meterWeightValue) * 1000; row.actuallyLength = Number(calculatedLength.toFixed(2)); } } }; // 监听实际长度变化,自动计算重量(非成品单丝时) watch( () => newChildData.value.actuallyLength, (newValue, oldValue) => { console.log("实际长度变化:", { newValue, oldValue, newChildData: newChildData.value }); if (newValue && String(newValue).trim() !== "") { console.log("实际长度变化:", { newValue, oldValue, isMonofil: isMonofil.value }); // 如果不是成品单丝,才根据长度计算重量 if ( newValue && String(newValue).trim() !== "" && !( isMonofil.value && (isMonofil.value === 1 || isMonofil.value === "1" || isMonofil.value === true) ) ) { // 使用 nextTick 确保 v-model 已经更新 nextTick(() => { handleCalculateWeight(newChildData.value); }); } }, { immediate: false, deep: true } ); // 监听实际重量变化,自动计算长度(仅成品单丝) watch( () => newChildData.value.actuallyWeight, (newValue, oldValue) => { console.log("实际重量变化:", { newValue, oldValue, isMonofil: isMonofil.value }); if (newValue && String(newValue).trim() !== "") { // 使用 nextTick 确保 v-model 已经更新 nextTick(() => { handleCalculateLength(newChildData.value); }); } }, @@ -571,6 +627,11 @@ supplier: options.supplier, }; // 接收传递的参数 isMonofil.value = options.isMonofil; meterWeight.value = options.meterWeight; totalWeight.value = options.totalWeight; await getDetailData(options.wireId); await getData(); }); src/pages/production/wire/report/wire.vue
@@ -221,6 +221,9 @@ const paramsId = ref(); const model = ref(); const oneLength = ref(); const isMonofil = ref(); const meterWeight = ref(); const totalWeight = ref(); // 父级数据列表 const parentDataList = ref<any[]>([]); @@ -518,8 +521,11 @@ } // 跳转到报工管理页面 const isMonofilParam = isMonofil.value !== undefined && isMonofil.value !== null ? isMonofil.value : ""; const meterWeightParam = meterWeight.value !== undefined && meterWeight.value !== null ? meterWeight.value : ""; const totalWeightParam = totalWeight.value !== undefined && totalWeight.value !== null ? totalWeight.value : ""; uni.navigateTo({ url: `/pages/production/wire/report/reportManage?wireId=${paramsId.value}&parentId=${parentRow.id}&poleNumber=${parentRow.poleNumber}&poleModel=${parentRow.poleModel}&polePackageNumber=${parentRow.polePackageNumber}&poleWeight=${parentRow.poleWeight}&supplier=${parentRow.supplier || ""}`, url: `/pages/production/wire/report/reportManage?wireId=${paramsId.value}&parentId=${parentRow.id}&poleNumber=${parentRow.poleNumber}&poleModel=${parentRow.poleModel}&polePackageNumber=${parentRow.polePackageNumber}&poleWeight=${parentRow.poleWeight}&supplier=${parentRow.supplier || ""}&isMonofil=${isMonofilParam}&meterWeight=${meterWeightParam}&totalWeight=${totalWeightParam}`, }); }; @@ -612,6 +618,11 @@ onLoad(async (options: any) => { paramsId.value = options.id; model.value = options.model; oneLength.value = options.oneLength; isMonofil.value = options.isMonofil; meterWeight.value = options.meterWeight; totalWeight.value = options.totalWeight; await getDetailData(options.id); await loadSupplierDict(); await getData();