|
|
@@ -33,9 +33,10 @@
|
|
|
<span>您是否接受植保服务</span>
|
|
|
</div>
|
|
|
<div class="item-checkbox">
|
|
|
- <el-radio-group v-model="basicForm.expertCode">
|
|
|
- <el-radio-button label="需要" value="1" />
|
|
|
- <el-radio-button label="不需要" value="0" />
|
|
|
+ <el-radio-group v-model="basicForm.needZbCode" @change="handleNeedZbChange">
|
|
|
+ <el-radio-button v-for="item in (basicFarmFormData.needZbOptions || [])"
|
|
|
+ :key="item.code || item.value"
|
|
|
+ :label="item.name || item.label" :value="String(item.code ?? item.value)" />
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -77,7 +78,7 @@ onActivated(() => {
|
|
|
|
|
|
const loadingPage = ref(false);
|
|
|
const basicForm = ref({
|
|
|
- expertCode: "",
|
|
|
+ needZbCode: "",
|
|
|
});
|
|
|
|
|
|
const basicFarmFormData = ref({});
|
|
|
@@ -86,10 +87,10 @@ const getBasicFarmFormData = () => {
|
|
|
VE_API.basic_farm.fetchBasicFarmFormData({ subjectId: route.query?.subjectId }).then(({ data }) => {
|
|
|
basicFarmFormData.value = data;
|
|
|
|
|
|
- if (data.expertOptions && Array.isArray(data.expertOptions)) {
|
|
|
- const selectedExpert = data.expertOptions.find(item => item.selected);
|
|
|
+ if (Array.isArray(basicFarmFormData.value.needZbOptions)) {
|
|
|
+ const selectedExpert = basicFarmFormData.value.needZbOptions.find(item => item.selected);
|
|
|
if (selectedExpert) {
|
|
|
- basicForm.value.expertCode = selectedExpert.code;
|
|
|
+ basicForm.value.needZbCode = String(selectedExpert.code ?? selectedExpert.value);
|
|
|
}
|
|
|
}
|
|
|
}).finally(() => {
|
|
|
@@ -137,6 +138,20 @@ function handleSelect(type, index, custom) {
|
|
|
basicFarmFormData.value[type][index].selected = !basicFarmFormData.value[type][index].selected;
|
|
|
}
|
|
|
|
|
|
+function handleNeedZbChange(selectedCode) {
|
|
|
+ const selectedCodeStr = String(selectedCode ?? "");
|
|
|
+ if (!Array.isArray(basicFarmFormData.value.needZbOptions)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ basicFarmFormData.value.needZbOptions = basicFarmFormData.value.needZbOptions.map(item => {
|
|
|
+ const currentCode = String(item.code ?? item.value ?? "");
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ selected: currentCode === selectedCodeStr,
|
|
|
+ };
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
function isPopupConfirmDisabled() {
|
|
|
return String(popupInputVal.value ?? "").trim().length === 0;
|
|
|
}
|
|
|
@@ -202,8 +217,8 @@ function handleSubmit() {
|
|
|
irrigationMethods: irrigationMethods.map(code => Number(code)),
|
|
|
};
|
|
|
|
|
|
- if (basicForm.value.expertCode) {
|
|
|
- draftData.preferredExpertCode = Number(basicForm.value.expertCode);
|
|
|
+ if (basicForm.value.needZbCode !== undefined && basicForm.value.needZbCode !== null && basicForm.value.needZbCode !== "") {
|
|
|
+ draftData.needZbCode = Number(basicForm.value.needZbCode);
|
|
|
}
|
|
|
|
|
|
return draftData;
|
|
|
@@ -237,7 +252,7 @@ async function submit() {
|
|
|
if (route.query.subjectId) {
|
|
|
router.go(-1);
|
|
|
} else {
|
|
|
- localStorage.setItem("selectedFarmId", res.data.id);
|
|
|
+ localStorage.setItem("selectedFarmId", res.data[0]?.subjectId);
|
|
|
localStorage.setItem("selectedFarmName", res.data.name);
|
|
|
router.replace('/growth_report');
|
|
|
}
|