|
|
|
@ -103,200 +103,6 @@
|
|
|
|
|
</div>
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
<!-- ///////////////////////////////////////// 农事活动 ///////////////////////////////////////// -->
|
|
|
|
|
<!--
|
|
|
|
|
<div class="app-container-search main-bgcolor main-radius setting-container">
|
|
|
|
|
<div class="setting-title flex-jcenter">
|
|
|
|
|
<div class="">
|
|
|
|
|
<span class="mr-6">农事活动</span>
|
|
|
|
|
</div>
|
|
|
|
|
<el-button @click="openSelectPlan">选择地块计划</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
<el-collapse>
|
|
|
|
|
<el-collapse-item v-for="(item, index) in farmingPlans" :key="index" :name="index">
|
|
|
|
|
<template #title>
|
|
|
|
|
<div class="info-setting-title">
|
|
|
|
|
<span style="display: flex; width: 190px;">
|
|
|
|
|
<el-input v-model="item.linkName" @click.native.stop="" />
|
|
|
|
|
</span>
|
|
|
|
|
<div style="flex: 1;"></div>
|
|
|
|
|
<div style="display: flex;align-items: center;">
|
|
|
|
|
<div>
|
|
|
|
|
<span class="fs-12 mr-6" >扫码展示</span>
|
|
|
|
|
<el-switch v-model="item.scanShow" @change="changePlanScanShow($event, index)" @click.native.stop="" :active-value="true" :inactive-value="false"></el-switch>
|
|
|
|
|
</div>
|
|
|
|
|
<el-button slot="reference" type="text" class="mlr-10" @click="farmingPlans.splice(index, 1)" @click.native.stop="">删除</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<div style="margin-top: 10px;">
|
|
|
|
|
<el-form ref="form" label-width="80px">
|
|
|
|
|
<el-row :gutter="40">
|
|
|
|
|
<el-col :span="5">
|
|
|
|
|
<el-form-item label="地块编码:">
|
|
|
|
|
<el-input disabled v-model="item.operateDetails[0].content"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="5">
|
|
|
|
|
<el-form-item label="计划编号:">
|
|
|
|
|
<el-input disabled v-model="item.operateDetails[1].content"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="5">
|
|
|
|
|
<el-form-item label="种植时间:">
|
|
|
|
|
<el-input disabled v-model="item.operateDetails[2].content"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="5">
|
|
|
|
|
<el-form-item label="采收时间:">
|
|
|
|
|
<el-input disabled v-model="item.operateDetails[3].content"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="5">
|
|
|
|
|
<el-form-item label="说明:">
|
|
|
|
|
<el-input v-model="item.operateDetails[4].content"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-form>
|
|
|
|
|
<el-table :data="item.tableData" style="width: 100%">
|
|
|
|
|
<el-table-column prop="jobType" label="任务类型">
|
|
|
|
|
<template slot-scope="{ row }">
|
|
|
|
|
<el-input v-model="row.jobType" placeholder="请输入任务类型"></el-input>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="inputsName" label="农资名称">
|
|
|
|
|
<template slot-scope="{ row }">
|
|
|
|
|
<el-input v-model="row.inputsName" placeholder="请输入农资名称"></el-input>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="inputsBatchId" label="农资批次编号">
|
|
|
|
|
<template slot-scope="{ row }">
|
|
|
|
|
<div class="flex-acenter">
|
|
|
|
|
<el-tooltip class="item" effect="dark" :content="row.inputsBatchId" placement="top">
|
|
|
|
|
<span class="more-width-full">{{ row.inputsBatchId }}</span>
|
|
|
|
|
</el-tooltip>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="jobDate" label="作业日期">
|
|
|
|
|
<template slot-scope="{ row }">
|
|
|
|
|
<div class="flex-acenter">
|
|
|
|
|
<el-input v-model="row.jobDate" placeholder="请输入作业日期"></el-input>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="jobWorker" label="作业员工">
|
|
|
|
|
<template slot-scope="{ row }">
|
|
|
|
|
<div class="flex-acenter">
|
|
|
|
|
<el-input v-model="row.jobWorker" placeholder="请输入作业员工"></el-input>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="remarks" label="图片">
|
|
|
|
|
<template v-slot="{ row }">
|
|
|
|
|
<div class="flex-acenter">
|
|
|
|
|
<div v-if="row.jobImage" @click="openPreviewImage(row.jobImage)">查看</div>
|
|
|
|
|
<div v-if="!row.jobImage">-</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="remarks" label="视频">
|
|
|
|
|
<template v-slot="{ row }">
|
|
|
|
|
<div class="flex-acenter">
|
|
|
|
|
<div v-if="row.jobVideo" @click="openPreviewVideo(row.jobVideo)">查看</div>
|
|
|
|
|
<div v-if="!row.jobVideo">-</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="remarks" label="说明">
|
|
|
|
|
<template v-slot="{ row }">
|
|
|
|
|
<div class="flex-acenter">
|
|
|
|
|
<el-input v-model="row.remarks" placeholder="请输入"></el-input>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="扫码展示">
|
|
|
|
|
<template v-slot="{ row }">
|
|
|
|
|
<el-switch v-model="row.scanShow"></el-switch>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="操作">
|
|
|
|
|
<template v-slot="{ $index }">
|
|
|
|
|
<el-button @click="item.tableData.splice($index, 1) && item.farmingJobs.splice($index, 1)" type="text" size="small">删除</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<div slot="empty">
|
|
|
|
|
<EmptyTable />
|
|
|
|
|
</div>
|
|
|
|
|
</el-table>
|
|
|
|
|
</div>
|
|
|
|
|
</el-collapse-item>
|
|
|
|
|
</el-collapse>
|
|
|
|
|
<div v-if="farmingPlans && farmingPlans.length == 0">
|
|
|
|
|
<EmptyTable />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
<!-- ///////////////////////////////////////// 商品认证 ///////////////////////////////////////// -->
|
|
|
|
|
<div class="app-container-search main-bgcolor main-radius setting-container">
|
|
|
|
|
<div class="setting-title flex-jcenter">
|
|
|
|
|
<div class="">商品认证</div>
|
|
|
|
|
<div class="">
|
|
|
|
|
<el-button class="mr-10" @click="openImportGoodsVerify">导入商品认证</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<el-table :data="goodsVerifys" style="width: 100%">
|
|
|
|
|
<el-table-column prop="verifyName" label="认证名称">
|
|
|
|
|
<template v-slot="{ row }">
|
|
|
|
|
<el-input v-model="row.verifyName" placeholder="请输入认证名称"></el-input>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="verifyAgencies" label="认证机构">
|
|
|
|
|
<template v-slot="{ row }">
|
|
|
|
|
<el-input v-model="row.verifyAgencies" placeholder="请输入认证机构"></el-input>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="verifyDate" label="有效期">
|
|
|
|
|
<template v-slot="{ row }">
|
|
|
|
|
<el-input v-model="row.verifyDate" placeholder="请输入有效期"></el-input>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="verifyDataUrl" label="认证资料" >
|
|
|
|
|
<template v-slot="{ row }">
|
|
|
|
|
<template v-if="row.verifyDataUrl != '--'">
|
|
|
|
|
<el-image
|
|
|
|
|
style="width: 60px; height: 60px;margin: 5px;"
|
|
|
|
|
v-for="(item, index) in row.verifyDataUrl"
|
|
|
|
|
:key="index"
|
|
|
|
|
:src="item"
|
|
|
|
|
:preview-src-list="row.verifyDataUrl"
|
|
|
|
|
fit="fill"></el-image>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-else>
|
|
|
|
|
<span>{{row.verifyDataUrl}}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="扫码展示">
|
|
|
|
|
<template v-slot="{ row }">
|
|
|
|
|
<el-switch v-model="row.scanShow" :active-value="true" :inactive-value="false"></el-switch>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="操作">
|
|
|
|
|
<template v-slot="{$index}">
|
|
|
|
|
<!--
|
|
|
|
|
<el-popconfirm title="确定删除吗?" @confirm="deleteVerify($index)">
|
|
|
|
|
<el-button slot="reference" type="text" size="small">删除</el-button>
|
|
|
|
|
</el-popconfirm>
|
|
|
|
|
-->
|
|
|
|
|
<el-button slot="reference" type="text" size="small" @click="deleteVerify($index)">删除</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- ///////////////////////////////////////// 检验检疫 ///////////////////////////////////////// -->
|
|
|
|
|
<div class="app-container-search main-bgcolor main-radius setting-container">
|
|
|
|
|
<div class="setting-title flex-jcenter">
|
|
|
|
@ -561,22 +367,6 @@
|
|
|
|
|
</span>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 选择计划弹窗 -->
|
|
|
|
|
<el-dialog class="add-dialog" title="地块计划信息列表" v-if="selectPlanVisible" :visible.sync="selectPlanVisible" width="1200px" append-to-body>
|
|
|
|
|
<Transfer
|
|
|
|
|
ref="transfer"
|
|
|
|
|
:data="planOptions"
|
|
|
|
|
:vModel="inputCheckedIdList"
|
|
|
|
|
:renderContent="renderTransferLabel"
|
|
|
|
|
:titles="['可选', '已选']"
|
|
|
|
|
@change="handleSelectChange"
|
|
|
|
|
/>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button type="primary" @click="submitTransferForm">确 定</el-button>
|
|
|
|
|
<el-button @click="selectPlanVisible = false">取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<el-dialog class="add-dialog" title="查看图片" :visible.sync="previewImageVisible" width="600px" append-to-body>
|
|
|
|
|
<ImageUpload v-model="imageList" :disabled="true"></ImageUpload>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
@ -607,7 +397,6 @@
|
|
|
|
|
import { getInspectionByHarvestBatchId } from '@/api/production/inspection';
|
|
|
|
|
import { getAvailableEnvType, getEnvTypeConfigGroupByLandId } from '@/api/iot/envType';
|
|
|
|
|
import { getAVGEnvDatasByTypeIds } from '@/api/iot/envData';
|
|
|
|
|
// import { getBusinessNamesByLandId } from '@/api/product/landInfo';
|
|
|
|
|
import { getMonitorPreviewURLByLandId } from '@/api/iot/deviceInfo';
|
|
|
|
|
import { getLanguageType } from "@/api/system/languageType";
|
|
|
|
|
import { getUniTemplateOptions } from '@/api/configure/uniTemplate';
|
|
|
|
@ -817,7 +606,7 @@
|
|
|
|
|
spinner: 'el-icon-loading',
|
|
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
|
|
});
|
|
|
|
|
getHarvestBatchConfig(id, languageTypeId).then(({ data, data: { belongBusinessId, goodsId, businessInfo, goodsInfo, goodsVerifys, linkInfos, farmingPlans, inspections, } }) => {
|
|
|
|
|
getHarvestBatchConfig(id, languageTypeId).then(({ data, data: { goodsId, businessInfo, goodsInfo, linkInfos, inspections, } }) => {
|
|
|
|
|
this.harvestBatchConfig = {
|
|
|
|
|
...data,
|
|
|
|
|
id,
|
|
|
|
@ -825,7 +614,7 @@
|
|
|
|
|
// 企业信息
|
|
|
|
|
if(businessInfo !== null) {
|
|
|
|
|
const operateDetails = businessInfo.operateDetails?.map(detail => {
|
|
|
|
|
if(detail.type == 7 || detail.type == 10) {
|
|
|
|
|
if(detail.type == 7 || detail.type == 10 || detail.type == 14 || detail.type == 15) {
|
|
|
|
|
detail.content = JSON.parse(detail.content);
|
|
|
|
|
detail.mapContent = detail.content;
|
|
|
|
|
}
|
|
|
|
@ -839,7 +628,7 @@
|
|
|
|
|
// 商品信息
|
|
|
|
|
if(goodsInfo !== null) {
|
|
|
|
|
const operateDetails = goodsInfo.operateDetails?.map(detail => {
|
|
|
|
|
if(detail.type == 7 || detail.type == 10) {
|
|
|
|
|
if(detail.type == 7 || detail.type == 10 || detail.type == 14 || detail.type == 15) {
|
|
|
|
|
detail.content = JSON.parse(detail.content);
|
|
|
|
|
detail.mapContent = detail.content;
|
|
|
|
|
}
|
|
|
|
@ -850,22 +639,11 @@
|
|
|
|
|
operateDetails,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
// 商品认证
|
|
|
|
|
this.goodsVerifys = goodsVerifys.map(verify => {
|
|
|
|
|
const { operateDetails } = verify;
|
|
|
|
|
return {
|
|
|
|
|
...verify,
|
|
|
|
|
verifyName: operateDetails[0].content,
|
|
|
|
|
verifyAgencies: operateDetails[1].content,
|
|
|
|
|
verifyDate: operateDetails[2].content,
|
|
|
|
|
verifyDataUrl: operateDetails[3].content.split(','),
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
// 环节
|
|
|
|
|
this.linkInfos = linkInfos.map(item => {
|
|
|
|
|
const { operateDetails } = item;
|
|
|
|
|
operateDetails.map(items=>{
|
|
|
|
|
if(items.type == 7 || items.type == 10) {
|
|
|
|
|
if(items.type == 7 || items.type == 10 || detail.type == 14 || detail.type == 15) {
|
|
|
|
|
items.content = JSON.parse(items.content);
|
|
|
|
|
items.mapContent = items.content;
|
|
|
|
|
}
|
|
|
|
@ -882,7 +660,7 @@
|
|
|
|
|
item.isExpand = false;
|
|
|
|
|
if(index == 0) item.isExpand = true;
|
|
|
|
|
item.operateDetails?.map(detail => {
|
|
|
|
|
if(detail.type == 7 || detail.type == 10) {
|
|
|
|
|
if(detail.type == 7 || detail.type == 10 || detail.type == 14 || detail.type == 15) {
|
|
|
|
|
detail.content = JSON.parse(detail.content);
|
|
|
|
|
detail.mapContent = detail.content;
|
|
|
|
|
}
|
|
|
|
@ -905,8 +683,6 @@
|
|
|
|
|
loading.close();
|
|
|
|
|
// 查询模板
|
|
|
|
|
this.getTraceTemplate(goodsId);
|
|
|
|
|
// 查询地块列表
|
|
|
|
|
// this.getLandInfoList(belongBusinessId);
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
loading.close();
|
|
|
|
|
});
|
|
|
|
@ -1543,48 +1319,6 @@
|
|
|
|
|
this.previewImageVisible = true;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 确认选择农事计划
|
|
|
|
|
async submitTransferForm() {
|
|
|
|
|
const { data } = await getLandFarmingConfig({
|
|
|
|
|
goodsId: this.harvestBatchConfig.goodsId,
|
|
|
|
|
ids: this.inputCheckedIdList.join(','),
|
|
|
|
|
});
|
|
|
|
|
this.selectPlanVisible = false;
|
|
|
|
|
this.farmingPlans = data.map((item, index)=>{
|
|
|
|
|
item.isExpand = false;
|
|
|
|
|
if(index == 0) item.isExpand = true;
|
|
|
|
|
item.scanShow = true;
|
|
|
|
|
item.tableData = [];
|
|
|
|
|
item.farmingJobs.map((job, index) => {
|
|
|
|
|
job.indexKey = index;
|
|
|
|
|
job.scanShow = true;
|
|
|
|
|
item.tableData.push({
|
|
|
|
|
jobType: job.operateDetails[0].content,
|
|
|
|
|
inputsName: job.operateDetails[1].content,
|
|
|
|
|
inputsBatchId: job.operateDetails[2].content,
|
|
|
|
|
jobDate: job.operateDetails[3].content,
|
|
|
|
|
jobWorker: job.operateDetails[4].content,
|
|
|
|
|
jobImage: job.operateDetails[5].content,
|
|
|
|
|
jobVideo: job.operateDetails[6].content,
|
|
|
|
|
remarks: job.operateDetails[7].content,
|
|
|
|
|
scanShow: true,
|
|
|
|
|
indexKey: index,
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
return item;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 修改计划的展开状态
|
|
|
|
|
changePlanExpand(index) {
|
|
|
|
|
this.farmingPlans = this.farmingPlans.map((plan, i) => {
|
|
|
|
|
return {
|
|
|
|
|
...plan,
|
|
|
|
|
isExpand: index == i ? !plan.isExpand : plan.isExpand,
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 修改检验检疫的展开状态
|
|
|
|
|
changeInspectionExpand(index) {
|
|
|
|
|
this.inspections = this.inspections.map((inspection, i) => {
|
|
|
|
@ -1775,7 +1509,7 @@
|
|
|
|
|
const goodsInfo = {
|
|
|
|
|
...this.goodsInfo,
|
|
|
|
|
operateDetails: this.goodsInfo.operateDetails?.filter(item => item.type !== '').map((item, index) => {
|
|
|
|
|
if(item.type == 7 || item.type == 10){//地图
|
|
|
|
|
if(item.type == 7 || item.type == 10 || item.type == 14 || item.type == 15){//地图
|
|
|
|
|
item.content = JSON.stringify(item.mapContent);
|
|
|
|
|
}
|
|
|
|
|
item.sort = index;
|
|
|
|
@ -1788,7 +1522,7 @@
|
|
|
|
|
businessInfo = {
|
|
|
|
|
...this.businessInfo,
|
|
|
|
|
operateDetails: this.businessInfo.operateDetails?.filter(item => item.type !== '').map((item, index) => {
|
|
|
|
|
if(item.type == 7 || item.type == 10){//地图
|
|
|
|
|
if(item.type == 7 || item.type == 10 || item.type == 14 || item.type == 15){//地图
|
|
|
|
|
item.content = JSON.stringify(item.mapContent);
|
|
|
|
|
}
|
|
|
|
|
item.sort = index;
|
|
|
|
@ -1801,7 +1535,7 @@
|
|
|
|
|
return {
|
|
|
|
|
...link,
|
|
|
|
|
operateDetails: link.operateDetails?.filter(item => item.type !== '').map((item, index) => {
|
|
|
|
|
if(item.type == 7 || item.type == 10){//地图
|
|
|
|
|
if(item.type == 7 || item.type == 10 || item.type == 14 || item.type == 15){//地图
|
|
|
|
|
item.content = JSON.stringify(item.mapContent);
|
|
|
|
|
}
|
|
|
|
|
item.sort = index;
|
|
|
|
@ -1814,58 +1548,10 @@
|
|
|
|
|
this.$message.error('商品信息不能为空');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// if(!businessInfo.linkName || !businessInfo.operateDetails || businessInfo.operateDetails.length === 0){
|
|
|
|
|
// this.$message.error('企业信息不能为空');
|
|
|
|
|
// return false;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
const goodsVerifys = this.goodsVerifys.map((item, index) => {
|
|
|
|
|
const operateDetails = item.operateDetails || [
|
|
|
|
|
{
|
|
|
|
|
title: "认证名称",
|
|
|
|
|
type: 3,
|
|
|
|
|
content: item.verifyName,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "认证机构",
|
|
|
|
|
type: 3,
|
|
|
|
|
content: item.verifyAgencies,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "有效期",
|
|
|
|
|
type: 3,
|
|
|
|
|
content: item.verifyDate,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "认证资料",
|
|
|
|
|
type: 1,
|
|
|
|
|
content: item.verifyDataUrl && item.verifyDataUrl.join(','),
|
|
|
|
|
},
|
|
|
|
|
];
|
|
|
|
|
operateDetails.map((detail, i) => {
|
|
|
|
|
if (detail.title === "认证名称") {
|
|
|
|
|
detail.content = item.verifyName;
|
|
|
|
|
}
|
|
|
|
|
if (detail.title === "认证机构") {
|
|
|
|
|
detail.content = item.verifyAgencies;
|
|
|
|
|
}
|
|
|
|
|
if (detail.title === "有效期") {
|
|
|
|
|
detail.content = item.verifyDate;
|
|
|
|
|
}
|
|
|
|
|
detail.sort = i;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
...item,
|
|
|
|
|
linkName: '商品认证',
|
|
|
|
|
sort: index,
|
|
|
|
|
operateDetails,
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const inspections = this.inspections.map((inspection, index) => {
|
|
|
|
|
const operateDetails = inspection.operateDetails?.filter(item => item.type !== '').map(item => {
|
|
|
|
|
if(item.type == 7 || item.type == 10){//地图
|
|
|
|
|
if(item.type == 7 || item.type == 10 || item.type == 14 || item.type == 15){//地图
|
|
|
|
|
item.content = JSON.stringify(item.mapContent);
|
|
|
|
|
}
|
|
|
|
|
return item;
|
|
|
|
@ -1903,39 +1589,6 @@
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// const farmingPlans = this.farmingPlans.map((plan, index) => {
|
|
|
|
|
// const { tableData, } = plan;
|
|
|
|
|
// const farmingJobs = plan.farmingJobs?.map((item, iIndex) => {
|
|
|
|
|
// item.operateDetails.map((detail, i) => {
|
|
|
|
|
// if (detail.title === '说明') {
|
|
|
|
|
// detail.content = tableData[iIndex].remarks;
|
|
|
|
|
// }
|
|
|
|
|
// if (detail.title === "任务类型") {
|
|
|
|
|
// detail.content = tableData[iIndex].jobType;
|
|
|
|
|
// }
|
|
|
|
|
// if (detail.title === "投入品名称") {
|
|
|
|
|
// detail.content = tableData[iIndex].inputsName;
|
|
|
|
|
// }
|
|
|
|
|
// if (detail.title === "作业日期") {
|
|
|
|
|
// detail.content = tableData[iIndex].jobDate;
|
|
|
|
|
// }
|
|
|
|
|
// if (detail.title === "作业员工") {
|
|
|
|
|
// detail.content = tableData[iIndex].jobWorker;
|
|
|
|
|
// }
|
|
|
|
|
// detail.sort = i;
|
|
|
|
|
// });
|
|
|
|
|
// return {
|
|
|
|
|
// ...item,
|
|
|
|
|
// scanShow: tableData[iIndex].scanShow,
|
|
|
|
|
// };
|
|
|
|
|
// });
|
|
|
|
|
// return {
|
|
|
|
|
// ...plan,
|
|
|
|
|
// sort: index,
|
|
|
|
|
// farmingJobs,
|
|
|
|
|
// };
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
// const envTypeConfigs = [];
|
|
|
|
|
// this.landInfos?.map((land, index) => {
|
|
|
|
|
// this.deviceInfo.envTypes[land.value]?.map(item => {
|
|
|
|
@ -1955,9 +1608,7 @@
|
|
|
|
|
templateId,
|
|
|
|
|
businessInfo,
|
|
|
|
|
goodsInfo,
|
|
|
|
|
goodsVerifys,
|
|
|
|
|
linkInfos,
|
|
|
|
|
// farmingPlans,
|
|
|
|
|
inspections,
|
|
|
|
|
// envTypeConfigs,
|
|
|
|
|
};
|
|
|
|
|