|
|
@@ -1,6 +1,11 @@
|
|
|
<template>
|
|
|
<div class="plan-page">
|
|
|
- <custom-header :name="headerTitle" isGoBack @goback="goback" :isClose="route.query.headerTitle?true:false"></custom-header>
|
|
|
+ <custom-header
|
|
|
+ :name="headerTitle"
|
|
|
+ isGoBack
|
|
|
+ @goback="goback"
|
|
|
+ :isClose="route.query.headerTitle ? true : false"
|
|
|
+ ></custom-header>
|
|
|
<div class="plan-content">
|
|
|
<div class="plan-content-header" v-if="pageType === 'plant'">
|
|
|
<el-select
|
|
|
@@ -162,7 +167,11 @@ const handleBtn = () => {
|
|
|
};
|
|
|
|
|
|
const goback = () => {
|
|
|
- if(tabs.value[currentTabIndex.value]?.enabled == 0 && pageType.value === "plant" && active.value !== tabs.value[0]?.id) {
|
|
|
+ if (
|
|
|
+ tabs.value[currentTabIndex.value]?.enabled == 0 &&
|
|
|
+ pageType.value === "plant" &&
|
|
|
+ active.value !== tabs.value[0]?.id
|
|
|
+ ) {
|
|
|
highlightText.value = tabs.value[currentTabIndex.value]?.name;
|
|
|
showTipPopup.value = true;
|
|
|
} else {
|
|
|
@@ -406,31 +415,45 @@ const handleConfirmCopyPlan = () => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+// 验证药肥报价信息并返回结果
|
|
|
+// 返回: { allTrue: boolean, invalidIds: string[] }
|
|
|
+const validatePesticideFertilizerQuotes = async () => {
|
|
|
+ const { data, code } = await VE_API.monitor.batchValidatePesticideFertilizerQuotes({
|
|
|
+ ids: farmWorkIds.value,
|
|
|
+ schemeId: active.value,
|
|
|
+ });
|
|
|
+
|
|
|
+ if (code !== 0 || !data) {
|
|
|
+ return { allTrue: false, invalidIds: [] };
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断所有值是否都为true
|
|
|
+ const allTrue = Object.values(data).every((value) => value === true);
|
|
|
+
|
|
|
+ // 收集所有不为true的ID
|
|
|
+ const invalidIds = Object.keys(data).filter((key) => data[key] !== true);
|
|
|
+
|
|
|
+ return { allTrue, invalidIds };
|
|
|
+};
|
|
|
+
|
|
|
// 提交方案
|
|
|
const handleSubmitPlan = async () => {
|
|
|
// 调用验证方法,传入所有ids
|
|
|
if (farmWorkIds.value.length > 0) {
|
|
|
- const { data, code } = await VE_API.monitor.batchValidatePesticideFertilizerQuotes({
|
|
|
- ids: farmWorkIds.value,
|
|
|
- schemeId: active.value,
|
|
|
- });
|
|
|
- if (code === 0) {
|
|
|
- // 判断data对象中所有的值是否都为true
|
|
|
- const allTrue = Object.values(data).every((value) => value === true);
|
|
|
- if (allTrue) {
|
|
|
- VE_API.monitor
|
|
|
- .enableScheme({
|
|
|
- schemeId: active.value,
|
|
|
- })
|
|
|
- .then(({ code }) => {
|
|
|
- if (code === 0) {
|
|
|
- ElMessage.success("提交成功");
|
|
|
- getListMySchemes("auto");
|
|
|
- }
|
|
|
- });
|
|
|
- } else {
|
|
|
- ElMessage.warning("当前方案有未完善报价信息的农事,请先完善报价信息");
|
|
|
- }
|
|
|
+ const { allTrue } = await validatePesticideFertilizerQuotes();
|
|
|
+ if (allTrue) {
|
|
|
+ VE_API.monitor
|
|
|
+ .enableScheme({
|
|
|
+ schemeId: active.value,
|
|
|
+ })
|
|
|
+ .then(({ code }) => {
|
|
|
+ if (code === 0) {
|
|
|
+ ElMessage.success("提交成功");
|
|
|
+ getListMySchemes("auto");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ ElMessage.warning("当前方案有未完善报价信息的农事,请先完善报价信息");
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
@@ -475,7 +498,7 @@ const handleRowClick = (item) => {
|
|
|
id: item.id,
|
|
|
noPrice: pageType.value === "plant" ? true : false,
|
|
|
farmId: route.query.farmId,
|
|
|
- farmWorkId: item.farmWorkId,
|
|
|
+ farmWorkId: item.invalidIds,
|
|
|
containerSpaceTimeId: item.containerSpaceTimeId,
|
|
|
isDefault: active.value === tabs.value[0]?.id,
|
|
|
enabled: enabled,
|