瀏覽代碼

feat:添加农事方案页面

wangsisi 18 小時之前
父節點
當前提交
65f84ae81c

+ 1 - 1
src/App.vue

@@ -138,7 +138,7 @@ const router = useRouter();
 // 首页loading加载完才显示底部导航栏
 const showTab = ref(false);
 // 0: 农户, 1: 专家, 2:农资农服
-const curRole = ref(2);
+const curRole = ref(localStorage.getItem("SET_USER_CUR_ROLE"));
 
 let tabBarHeight = 0;
 onMounted(() => {

+ 46 - 16
src/components/pageComponents/TabList.vue

@@ -4,10 +4,10 @@
             v-for="(tab, index) in tabs" 
             :key="index"
             class="tab-item"
-            :class="{ active: modelValue === index }"
-            @click="handleTabClick(index)"
+            :class="{ active: isActive(index, tab) }"
+            @click="handleTabClick(index, tab)"
         >
-            {{ tab }}
+            {{ getTabTitle(tab) }}
         </div>
     </div>
 </template>
@@ -20,7 +20,7 @@ const props = defineProps({
         default: () => []
     },
     modelValue: {
-        type: Number,
+        type: [Number, String],
         default: 0
     },
     type: {
@@ -32,9 +32,39 @@ const props = defineProps({
 
 const emit = defineEmits(['update:modelValue', 'change']);
 
-const handleTabClick = (index) => {
-    emit('update:modelValue', index);
-    emit('change', index, props.tabs[index]);
+// 判断是否为对象格式的 tab
+const isObjectTab = (tab) => {
+    return typeof tab === 'object' && tab !== null && (tab.title !== undefined || tab.label !== undefined);
+};
+
+// 获取 tab 的标题
+const getTabTitle = (tab) => {
+    if (isObjectTab(tab)) {
+        return tab.title || tab.label || '';
+    }
+    return tab;
+};
+
+// 判断当前 tab 是否激活
+const isActive = (index, tab) => {
+    if (isObjectTab(tab)) {
+        // 对象格式:比较 value
+        return props.modelValue === tab.value;
+    }
+    // 字符串/简单格式:比较索引
+    return props.modelValue === index;
+};
+
+const handleTabClick = (index, tab) => {
+    if (isObjectTab(tab)) {
+        // 对象格式:传递 value
+        emit('update:modelValue', tab.value);
+        emit('change', tab.value, tab, index);
+    } else {
+        // 字符串/简单格式:传递索引
+        emit('update:modelValue', index);
+        emit('change', index, tab);
+    }
 };
 </script>
 
@@ -45,12 +75,8 @@ const handleTabClick = (index) => {
     gap: 8px;
     
     .tab-item {
-        flex: 1;
-        padding: 6px 0;
         border-radius: 20px;
         text-align: center;
-        cursor: pointer;
-        transition: all 0.3s ease;
     }
     
     // 标签数量 <= 2 时的样式
@@ -58,20 +84,24 @@ const handleTabClick = (index) => {
         gap: 8px;
         
         .tab-item {
-            flex: none;
             padding: 5px 12px;
         }
     }
     
     // 默认样式
     &.tabs-type-default {
+        justify-content: center;
+        background: #fff;
+        padding: 5px 0;
         .tab-item {
-            background: #F7F8FA;
-            color: #8B8B8B;
+            padding: 4px 12px;
+            color: rgba(0, 0, 0, 0.5);
+            border: 1px solid transparent;
             
             &.active {
-                background: #2199F8;
-                color: #ffffff;
+                background: rgba(33, 153, 248, 0.1);
+                color: #2199F8;
+                border: 1px solid #2199F8;
             }
         }
     }

+ 2 - 2
src/components/recordItem.vue

@@ -50,7 +50,7 @@
         <div class="record-content" v-else>
             <div class="info-item">
                 推荐时间:
-                <span class="info-val">{{ recordItemData?.farmWorkDetail?.executeDate }}</span>
+                <span class="info-val">{{ recordItemData?.executeDate }}</span>
             </div>
             <div class="info-item recipe-name" v-if="onlyRecipeName && recordItemData?.prescriptionList && recordItemData?.prescriptionList.length">
                 <span class="name-text">药物处方:</span>
@@ -190,7 +190,7 @@ const getParentTitle = () => {
     background: #ffffff;
     border-radius: 8px;
     padding: 12px;
-    margin: 0 10px 10px;
+    margin-bottom: 10px;
     .record-title {
         font-size: 16px;
         color: #333333;

+ 36 - 1176
src/views/old_mini/agri_services/components/farmDynamics.vue

@@ -1,40 +1,19 @@
 <template>
     <div class="farm-dynamics">
-        <div class="record-filter">
-            <div
-                class="filter-item"
-                v-for="(item, index) in filterType"
-                :key="index"
-                @click="handlePlanClick(index)"
-                :class="{ active: activePlanIndex === index }"
-            >
-                {{ item }}
-            </div>
-        </div>
+        <tab-list
+            v-model="activePlanIndex"
+            :tabs="filterType"
+            @change="handlePlanClick"
+        />
         <div class="task-content">
-            <!-- <div class="plan-menu">
-                <el-anchor :container="containerRef" direction="vertical" type="default" @click="handleClick">
-                    <el-menu :default-active="defaultActive" class="el-menu-vertical-demo">
-                        <el-sub-menu v-for="(menu, index) in menuData" :key="index" :index="String(menu.id)">
-                            <template #title>
-                                <img class="menu-icon" :src="require(`@/assets/img/gallery/icon-${index}.png`)" />
-                                <span class="menu-text">{{ menu.title }}</span>
-                            </template>
-                            <el-menu-item v-for="item in menu.children" :key="item.id" :index="`${menu.id}-${item.id}`">
-                                <el-anchor-link :href="item.href" :title="item.title" />
-                            </el-menu-item>
-                        </el-sub-menu>
-                    </el-menu>
-                </el-anchor>
-            </div> -->
-            <div class="expert-content" ref="containerRef">
+            <div class="expert-content">
                 <div v-for="(section, index) in contentData" :key="index" class="content-section">
                     <div class="section-id" :id="section.targetId"></div>
                     <record-item :record-item-data="section" :onlyRecipeName="true" :showContent="activePlanIndex === 1" class="recipe-item">
                         <template #title>
                             <div class="box-title">
                                 <div class="title-l">
-                                    {{ section.title }}
+                                    {{ section.farmWorkName }}
                                     <span class="parent-text">{{ section.parentTitle || "秋梢期" }}</span>
                                 </div>
                                 <div class="title-r">
@@ -73,7 +52,7 @@
                                     <div class="action-item second-item">拍照识别</div>
                                     <div class="action-item primary-item">去确认</div>
                                 </div>
-                                <div class="action-r" v-if="activePlanIndex === 0">
+                                <div class="action-r" v-if="activePlanIndex === 4">
                                     <div class="action-item warning-item" :class="{ 'has-applied': section.hasApplied }" @click="handleApply(section, index)">{{ section.hasApplied ? '已发起需求' : '发起需求' }}</div>
                                     <div class="action-item primary-item">确认完成</div>
                                 </div>
@@ -96,46 +75,42 @@
     </popup>
 </template>
 <script setup>
-import { ref } from "vue";
+import { ref,onMounted } from "vue";
 import recordItem from "@/components/recordItem.vue";
+import tabList from "@/components/pageComponents/TabList.vue";
 import { Popup } from "vant";
 
 const showApplyPopup = ref(false);
 
-const filterType = ref(["待完成", "已完成"]);
-const activePlanIndex = ref(0);
+const filterType = ref([{
+    title: "待完成",
+    value: 4,
+}, {
+    title: "已完成",
+    value: 5,
+}, {
+    title: "已过期",
+    value: 6,
+}]);
 
-const handlePlanClick = (index) => {
-    activePlanIndex.value = index;
+const activePlanIndex = ref(4);
+const handlePlanClick = (value) => {
+    activePlanIndex.value = value;
 };
 
-const containerRef = ref(null);
-const handleClick = (e) => {
-    e.preventDefault();
-};
+onMounted(() => {
+    getContentData();
+});
 
-// 菜单
-const defaultActive = ref("1-1");
-const menuData = [
-    {
-        id: 1,
-        title: "秋梢期",
-        children: [
-            { id: 1, title: "巡园农事", href: "#part1" },
-            { id: 2, title: "梢期防虫", href: "#part2" },
-            { id: 3, title: "梢期营养", href: "#part3" },
-        ],
-    },
-    {
-        id: 2,
-        title: "开花期",
-        children: [
-            { id: 1, title: "巡园农事", href: "#part4" },
-            { id: 2, title: "摇花吹花", href: "#part5" },
-            { id: 3, title: "花期防治", href: "#part6" },
-        ],
-    },
-];
+const contentData = ref([]);
+const getContentData = () => {
+    VE_API.z_farm_work_record.getSimpleList({
+        role: localStorage.getItem("SET_USER_CUR_ROLE"),
+        // status: activePlanIndex.value,
+    }).then((res) => {
+        contentData.value = res.data;
+    });
+};
 
 const handleApply = (section, index) => {
     // 更新当前项的发起需求状态
@@ -162,1131 +137,16 @@ const hasUploadedPhotos = (section) => {
     const hasExecuteEvidence = section.executeEvidence && section.executeEvidence.length > 0;
     return hasConfirmPictures || hasExecuteEvidence;
 };
-
-const contentData = ref([
-    {
-        targetId: "part1",
-        title: "巡园农事",
-        parentTitle: "秋梢期",
-        isExpanded: false, // 添加展开状态
-        hasApplied: false, // 是否已发起需求
-        reCheckText: "本次农事复核成效优异,作物产量潜力实现大幅增长,虫害风险控制优异,未发现虫害风险",
-        expert: 91356,
-        orderStatus: 3,
-        activeStatus: 0,
-        regionId: 2,
-        speciesId: "1",
-        speciesName: "荔枝",
-        farmWorkId: "699343457474318336",
-        farmWorkLibId: "699343457474318336",
-        farmWorkLibName: "梢期防虫",
-        farmWorkName: "梢期防虫",
-        expertIcon:
-            "https://birdseye-img.sysuimars.com/birdseye-look-vue/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250411150343.png",
-        expertName: "韦帮稳",
-        icon: 4,
-        beforeExecuteDate: "2025-08-01",
-        executeDate: "2025-08-15",
-        code: "BZ-BC-04-SQFC-20",
-        expertPrescription: "",
-        condition: "单树嫩叶率大于20.0%",
-        defaultFarmWork: 0,
-        farmWorkType: 3,
-        farmWorkTypeName: "病虫",
-        usageMode: "叶面施",
-        serviceMain: "广州泽秾丰农资有限公司",
-        updateDate6: null,
-        confirmPicture: [],
-        executeMain: "广州泽秾丰农资有限公司",
-        storeShortName: "泽秾丰",
-        serviceRegion: "广州市从化区荔枝博览园",
-        prescriptionList: [
-            {
-                name: "营养",
-                pesticideFertilizerList: [
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "尿素",
-                        defaultRatio: 0,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 15000.0,
-                        muUsage2: 15000.0,
-                        ratio: 0,
-                        ratio2: 0,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施、根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1001",
-                        pesticideFertilizerId: "1",
-                        pesticideFertilizerName: "尿素",
-                        brand: "山东联盟",
-                        typeName: "营养",
-                        price: 132,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "15-15-15复合肥",
-                        defaultRatio: 0,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 45000.0,
-                        muUsage2: 45000.0,
-                        ratio: 0,
-                        ratio2: 0,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1002",
-                        pesticideFertilizerId: "2",
-                        pesticideFertilizerName: "15-15-15复合肥",
-                        brand: "金正大",
-                        typeName: "营养",
-                        price: 220,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                ],
-            },
-        ],
-    },
-    {
-        targetId: "part2",
-        title: "梢期防虫",
-        parentTitle: "秋梢期",
-        isExpanded: false, // 添加展开状态
-        hasApplied: false, // 是否已发起需求
-        consequenceText: "如果不做本次农事,会导致您的产量、质量下降30%,管理得分降低10分",
-        id: "274654",
-        reCheckText: "本次农事复核成效优异,作物产量潜力实现大幅增长,树体营养较充足,土壤肥力增加",
-        farmName: "荔枝博览园",
-        farmPoint: "POINT(113.61702297075017 23.584863449735067)",
-        orderId: "745923632567422976",
-        area: 2.719998598098755,
-        expert: 91356,
-        orderStatus: 4,
-        activeStatus: 0,
-        farmId: 766,
-        regionId: 2,
-        speciesId: "1",
-        speciesName: "荔枝",
-        agriculturalId: 24,
-        farmWorkId: "699343457444958208",
-        farmWorkLibId: "699343457444958208",
-        farmWorkLibName: "梢期营养",
-        farmWorkName: "梢期营养",
-        expertIcon:
-            "https://birdseye-img.sysuimars.com/birdseye-look-vue/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250411150343.png",
-        expertName: "韦帮稳",
-        expertUserIcon: "",
-        expertUserName: "韦帮稳",
-        icon: 4,
-        indexChart: [],
-        indexName: "",
-        beforeExecuteDate: "2025-05-26",
-        checkDate: null,
-        executeDate: "2025-08-01",
-        indexJson: "",
-        code: "BZ-YY-04-SQYY-20",
-        expertPrescription: "",
-        condition: "园区叶芽率大于20.0%",
-        solarName: "",
-        reCheck: null,
-        executeBlueZones: [
-            {
-                id: "ws0y1m6x7cjz",
-                level: null,
-            },
-            {
-                id: "ws0y1md9v3ht",
-                level: null,
-            },
-            {
-                id: "ws0y1mdspbk7",
-                level: null,
-            },
-            {
-                id: "ws0y1mdvvdsz",
-                level: null,
-            },
-            {
-                id: "ws0y1me545tg",
-                level: null,
-            },
-        ],
-        menu: 1,
-        isEdit: 0,
-        isMaster: null,
-        num: null,
-        purpose: "",
-        selfExec: null,
-        defaultFarmWork: 0,
-        farmWorkType: 2,
-        farmWorkTypeName: "营养",
-        type: 1,
-        execute: 4,
-        updateDate0: "2025-08-20",
-        updateDate1: null,
-        updateDate2: null,
-        updateDate3: null,
-        updateDate4: null,
-        updateDate5: null,
-        usageMode: "根部施",
-        serviceMain: "广州泽秾丰农资有限公司",
-        updateDate6: null,
-        confirmPicture: [],
-        executeMain: "广州泽秾丰农资有限公司",
-        storeShortName: "泽秾丰",
-        weatherWarningMsg: "",
-        executeEvidence: [],
-        userEvaluation: null,
-        reviewDate: null,
-        reviewDate2: null,
-        reviewImage: [],
-        reviewImage2: [],
-        serviceRegion: "广州市从化区荔枝博览园",
-        users: [
-            {
-                id: null,
-                orderId: null,
-                serviceType: null,
-                userType: null,
-                userId: 81881,
-                joinStatus: null,
-                icon: "https://birdseye-img.sysuimars.com/birdseye-look-mini/Group%201321316260.png",
-                userName: "飞鸟种植助手",
-                area: "",
-                point: "",
-                farmName: "",
-                selected: null,
-            },
-        ],
-        cost: null,
-        prescriptionList: [
-            {
-                name: "营养",
-                pesticideFertilizerList: [
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "尿素",
-                        defaultRatio: 0,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 15000.0,
-                        muUsage2: 15000.0,
-                        ratio: 0,
-                        ratio2: 0,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施、根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1001",
-                        pesticideFertilizerId: "1",
-                        pesticideFertilizerName: "尿素",
-                        brand: "山东联盟",
-                        typeName: "营养",
-                        price: 132,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "15-15-15复合肥",
-                        defaultRatio: 0,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 45000.0,
-                        muUsage2: 45000.0,
-                        ratio: 0,
-                        ratio2: 0,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1002",
-                        pesticideFertilizerId: "2",
-                        pesticideFertilizerName: "15-15-15复合肥",
-                        brand: "金正大",
-                        typeName: "营养",
-                        price: 220,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                ],
-            },
-        ],
-        conditionList: [
-            {
-                index: "1-2-001-02-02-02-01-0008",
-                name: "园区叶芽率",
-                type: 1,
-                value: "0.2",
-            },
-        ],
-    },
-    {
-        targetId: "part3",
-        title: "梢期营养",
-        isExpanded: false, // 添加展开状态
-        hasApplied: false, // 是否已发起需求
-        consequenceText: "如果不做本次农事,会导致您的产量、质量下降5%,管理得分降低2分",
-        reCheckText: "本次农事复核成效优异,作物产量潜力实现大幅增长,树体营养较充足,转色速度非常稳定,转色率超过80%",
-        farmName: "荔枝博览园",
-        farmPoint: "POINT(113.61702297075017 23.584863449735067)",
-        orderId: "745923697054846976",
-        area: 2.719998598098755,
-        expert: 91356,
-        orderStatus: 2,
-        activeStatus: 0,
-        farmId: 766,
-        regionId: 2,
-        speciesId: "1",
-        speciesName: "荔枝",
-        agriculturalId: 24,
-        farmWorkId: "699343457482706947",
-        farmWorkLibId: "699343457482706947",
-        farmWorkLibName: "转色营养",
-        farmWorkName: "转色营养",
-        expertIcon:
-            "https://birdseye-img.sysuimars.com/birdseye-look-vue/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250411150343.png",
-        expertName: "韦帮稳",
-        expertUserIcon: "",
-        expertUserName: "韦帮稳",
-        icon: 0,
-        indexChart: [],
-        indexName: "",
-        beforeExecuteDate: "2025-05-26",
-        checkDate: null,
-        executeDate: "2025-05-26",
-        indexJson: "",
-        code: "BZ-YY-06-ZSYY-100",
-        expertPrescription: "",
-        condition: "园区转色率大于20.0%",
-        solarName: "",
-        reCheck: null,
-        executeBlueZones: [
-            {
-                id: "ws0y1m6x7cjz",
-                level: null,
-            },
-            {
-                id: "ws0y1md9v3ht",
-                level: null,
-            },
-            {
-                id: "ws0y1mdspbk7",
-                level: null,
-            },
-            {
-                id: "ws0y1mdvvdsz",
-                level: null,
-            },
-            {
-                id: "ws0y1me545tg",
-                level: null,
-            },
-        ],
-        menu: 1,
-        isEdit: 0,
-        isMaster: null,
-        num: null,
-        purpose: "",
-        selfExec: null,
-        defaultFarmWork: 0,
-        farmWorkType: 2,
-        farmWorkTypeName: "营养",
-        type: 1,
-        execute: 4,
-        updateDate0: "2025-08-20",
-        updateDate1: null,
-        updateDate2: null,
-        updateDate3: null,
-        updateDate4: null,
-        updateDate5: null,
-        usageMode: "根部施",
-        serviceMain: "广州泽秾丰农资有限公司",
-        updateDate6: null,
-        confirmPicture: [],
-        executeMain: "广州泽秾丰农资有限公司",
-        storeShortName: "泽秾丰",
-        weatherWarningMsg: "",
-        executeEvidence: [],
-        userEvaluation: null,
-        reviewDate: null,
-        reviewDate2: null,
-        reviewImage: [],
-        reviewImage2: [],
-        serviceRegion: "广州市从化区荔枝博览园",
-        users: [
-            {
-                id: null,
-                orderId: null,
-                serviceType: null,
-                userType: null,
-                userId: 81881,
-                joinStatus: null,
-                icon: "https://birdseye-img.sysuimars.com/birdseye-look-mini/Group%201321316260.png",
-                userName: "飞鸟种植助手",
-                area: "",
-                point: "",
-                farmName: "",
-                selected: null,
-            },
-        ],
-        cost: null,
-        prescriptionList: [
-            {
-                name: "营养",
-                pesticideFertilizerList: [
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "矿源黄腐酸钾",
-                        defaultRatio: 2000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 4.0,
-                        muUsage2: 4.0,
-                        ratio: 2000,
-                        ratio2: 200,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施、根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1166",
-                        pesticideFertilizerId: "166",
-                        pesticideFertilizerName: "矿源黄腐酸钾",
-                        brand: "广州大炎",
-                        typeName: "营养",
-                        price: 15000,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "有机质水溶肥",
-                        defaultRatio: 5000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 10.0,
-                        muUsage2: 10.0,
-                        ratio: 5000,
-                        ratio2: 500,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1167",
-                        pesticideFertilizerId: "167",
-                        pesticideFertilizerName: "有机质水溶肥",
-                        brand: "广州大炎",
-                        typeName: "营养",
-                        price: 10000,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "磷酸二氢钾",
-                        defaultRatio: 5000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 10.0,
-                        muUsage2: 10.0,
-                        ratio: 5000,
-                        ratio2: 500,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施、根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1168",
-                        pesticideFertilizerId: "168",
-                        pesticideFertilizerName: "磷酸二氢钾",
-                        brand: "广州大炎",
-                        typeName: "营养",
-                        price: 12000,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "高钾复合肥",
-                        defaultRatio: 5000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 10.0,
-                        muUsage2: 10.0,
-                        ratio: 5000,
-                        ratio2: 500,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1169",
-                        pesticideFertilizerId: "169",
-                        pesticideFertilizerName: "高钾复合肥",
-                        brand: "未知",
-                        typeName: "营养",
-                        price: 245,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "红牛硫酸钾",
-                        defaultRatio: 5000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 10.0,
-                        muUsage2: 10.0,
-                        ratio: 5000,
-                        ratio2: 500,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1170",
-                        pesticideFertilizerId: "170",
-                        pesticideFertilizerName: "红牛硫酸钾",
-                        brand: "广州大炎",
-                        typeName: "营养",
-                        price: 230,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                ],
-            },
-        ],
-        conditionList: [
-            {
-                index: "1-2-016-02-02-02-01-0008",
-                name: "园区转色率",
-                type: 1,
-                value: "0.2",
-            },
-        ],
-    },
-    {
-        targetId: "part4",
-        title: "巡园农事",
-        parentTitle: "开花期",
-        isExpanded: false, // 添加展开状态
-        hasApplied: false, // 是否已发起需求
-        consequenceText: "如果不做本次农事,会导致您的产量、质量下降20%,管理得分降低8分",
-        id: "274672",
-        reCheckText: "本次农事复核成效优异,作物产量潜力实现大幅增长,病虫害基数得到大幅下降,未发现病虫害风险",
-        farmName: "荔枝博览园",
-        farmPoint: "POINT(113.61702297075017 23.584863449735067)",
-        orderId: "745923690209742848",
-        area: 2.719998598098755,
-        expert: 91356,
-        orderStatus: 3,
-        activeStatus: 0,
-        farmId: 766,
-        regionId: 2,
-        speciesId: "1",
-        speciesName: "荔枝",
-        agriculturalId: 24,
-        farmWorkId: "699343457478512646",
-        farmWorkLibId: "699343457478512646",
-        farmWorkLibName: "果期防治II",
-        farmWorkName: "果期防治II",
-        expertIcon:
-            "https://birdseye-img.sysuimars.com/birdseye-look-vue/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250411150343.png",
-        expertName: "韦帮稳",
-        expertUserIcon: "",
-        expertUserName: "韦帮稳",
-        icon: 1,
-        indexChart: [],
-        indexName: "",
-        beforeExecuteDate: "2025-05-06",
-        checkDate: null,
-        executeDate: "2025-05-12",
-        indexJson: "",
-        code: "BZ-BC-06-GQFZ2-100",
-        expertPrescription: "",
-        condition: "园区膨果率大于20.0%",
-        solarName: "",
-        reCheck: null,
-        executeBlueZones: [
-            {
-                id: "ws0y1m6x7cjz",
-                level: null,
-            },
-            {
-                id: "ws0y1md9v3ht",
-                level: null,
-            },
-            {
-                id: "ws0y1mdspbk7",
-                level: null,
-            },
-            {
-                id: "ws0y1mdvvdsz",
-                level: null,
-            },
-            {
-                id: "ws0y1me545tg",
-                level: null,
-            },
-        ],
-        menu: 1,
-        isEdit: 0,
-        isMaster: null,
-        num: null,
-        purpose: "",
-        selfExec: null,
-        defaultFarmWork: 0,
-        farmWorkType: 3,
-        farmWorkTypeName: "病虫",
-        type: 1,
-        execute: 4,
-        updateDate0: "2025-08-20",
-        updateDate1: null,
-        updateDate2: null,
-        updateDate3: null,
-        updateDate4: null,
-        updateDate5: null,
-        usageMode: "叶面施",
-        serviceMain: "广州泽秾丰农资有限公司",
-        updateDate6: null,
-        confirmPicture: [],
-        executeMain: "广州泽秾丰农资有限公司",
-        storeShortName: "泽秾丰",
-        weatherWarningMsg: "",
-        executeEvidence: [],
-        userEvaluation: null,
-        reviewDate: null,
-        reviewDate2: null,
-        reviewImage: [],
-        reviewImage2: [],
-        serviceRegion: "广州市从化区荔枝博览园",
-        users: [
-            {
-                id: null,
-                orderId: null,
-                serviceType: null,
-                userType: null,
-                userId: 81881,
-                joinStatus: null,
-                icon: "https://birdseye-img.sysuimars.com/birdseye-look-mini/Group%201321316260.png",
-                userName: "飞鸟种植助手",
-                area: "",
-                point: "",
-                farmName: "",
-                selected: null,
-            },
-        ],
-        cost: null,
-        prescriptionList: [
-            {
-                name: "病虫",
-                pesticideFertilizerList: [
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "威远.绿凯",
-                        defaultRatio: 150000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 150.0,
-                        muUsage2: 150.0,
-                        ratio: 150000,
-                        ratio2: 15000,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1147",
-                        pesticideFertilizerId: "147",
-                        pesticideFertilizerName: "威远.绿凯",
-                        brand: "利民控股绿凯",
-                        typeName: "病虫",
-                        price: 90,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "微量元素益元液",
-                        defaultRatio: 150000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 300.0,
-                        muUsage2: 300.0,
-                        ratio: 150000,
-                        ratio2: 15000,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1174",
-                        pesticideFertilizerId: "174",
-                        pesticideFertilizerName: "微量元素益元液",
-                        brand: "广州大炎",
-                        typeName: "营养",
-                        price: 60,
-                        unit: "ml",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "中量元素益元液",
-                        defaultRatio: 150000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 300.0,
-                        muUsage2: 300.0,
-                        ratio: 150000,
-                        ratio2: 15000,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1175",
-                        pesticideFertilizerId: "175",
-                        pesticideFertilizerName: "中量元素益元液",
-                        brand: "广州大炎",
-                        typeName: "营养",
-                        price: 30,
-                        unit: "ml",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "济南中科翠剑",
-                        defaultRatio: 150000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 150.0,
-                        muUsage2: 150.0,
-                        ratio: 150000,
-                        ratio2: 15000,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1149",
-                        pesticideFertilizerId: "149",
-                        pesticideFertilizerName: "吡唑醚菌酯",
-                        brand: "济南中科翠剑",
-                        typeName: "病虫",
-                        price: 60,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "佳果天成",
-                        defaultRatio: 150000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 300.0,
-                        muUsage2: 300.0,
-                        ratio: 150000,
-                        ratio2: 15000,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1171",
-                        pesticideFertilizerId: "171",
-                        pesticideFertilizerName: "佳果天成",
-                        brand: "广州大炎",
-                        typeName: "营养",
-                        price: 120,
-                        unit: "ml",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "高效氟氯氰菊酯",
-                        defaultRatio: 150000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 150.0,
-                        muUsage2: 150.0,
-                        ratio: 150000,
-                        ratio2: 15000,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1155",
-                        pesticideFertilizerId: "155",
-                        pesticideFertilizerName: "高效氟氯氰菊酯",
-                        brand: "广东立威.立功",
-                        typeName: "病虫",
-                        price: 50,
-                        unit: "ml",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "联苯噻虫嗪",
-                        defaultRatio: 150000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 150.0,
-                        muUsage2: 150.0,
-                        ratio: 150000,
-                        ratio2: 15000,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1156",
-                        pesticideFertilizerId: "156",
-                        pesticideFertilizerName: "联苯噻虫嗪",
-                        brand: "青岛金正飞灵",
-                        typeName: "病虫",
-                        price: 60,
-                        unit: "ml",
-                        executeStyle: null,
-                    },
-                ],
-            },
-        ],
-        conditionList: [
-            {
-                index: "1-2-014-02-02-02-01-0008",
-                name: "园区膨果率",
-                type: 1,
-                value: "0.2",
-            },
-        ],
-    },
-    {
-        id: "part5",
-        title: "摇花吹花",
-        parentTitle: "开花期",
-        isExpanded: false, // 添加展开状态
-        hasApplied: false, // 是否已发起需求
-        consequenceText: "如果不做本次农事,会导致您的产量、质量下降15%,管理得分降低5分",
-        id: "274671",
-        reCheckText: "本次农事复核成效优异,作物产量潜力实现大幅增长,树体营养较充足,膨果速度非常稳定,膨果率超过80%",
-        farmName: "荔枝博览园",
-        farmPoint: "POINT(113.61702297075017 23.584863449735067)",
-        orderId: "745923686854299648",
-        area: 2.719998598098755,
-        expert: 91356,
-        orderStatus: 1,
-        activeStatus: 0,
-        farmId: 766,
-        regionId: 2,
-        speciesId: "1",
-        speciesName: "荔枝",
-        agriculturalId: 24,
-        farmWorkId: "699343457482706944",
-        farmWorkLibId: "699343457482706944",
-        farmWorkLibName: "膨果营养",
-        farmWorkName: "膨果营养",
-        expertIcon:
-            "https://birdseye-img.sysuimars.com/birdseye-look-vue/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250411150343.png",
-        expertName: "韦帮稳",
-        expertUserIcon: "",
-        expertUserName: "韦帮稳",
-        icon: 2,
-        indexChart: [],
-        indexName: "",
-        beforeExecuteDate: "2025-05-01",
-        checkDate: null,
-        executeDate: "2025-05-06",
-        indexJson: "",
-        code: "BZ-YY-06-PGYY-100",
-        expertPrescription: "",
-        condition: "园区膨果率大于10.0%",
-        solarName: "",
-        reCheck: null,
-        executeBlueZones: [
-            {
-                id: "ws0y1m6x7cjz",
-                level: null,
-            },
-            {
-                id: "ws0y1md9v3ht",
-                level: null,
-            },
-            {
-                id: "ws0y1mdspbk7",
-                level: null,
-            },
-            {
-                id: "ws0y1mdvvdsz",
-                level: null,
-            },
-            {
-                id: "ws0y1me545tg",
-                level: null,
-            },
-        ],
-        menu: 1,
-        isEdit: 0,
-        isMaster: null,
-        num: null,
-        purpose: "",
-        selfExec: null,
-        defaultFarmWork: 0,
-        farmWorkType: 2,
-        farmWorkTypeName: "营养",
-        type: 1,
-        execute: 4,
-        updateDate0: "2025-08-20",
-        updateDate1: null,
-        updateDate2: null,
-        updateDate3: null,
-        updateDate4: null,
-        updateDate5: null,
-        usageMode: "根部施",
-        serviceMain: "广州泽秾丰农资有限公司",
-        updateDate6: null,
-        confirmPicture: [],
-        executeMain: "广州泽秾丰农资有限公司",
-        storeShortName: "泽秾丰",
-        weatherWarningMsg: "",
-        executeEvidence: [],
-        userEvaluation: null,
-        reviewDate: null,
-        reviewDate2: null,
-        reviewImage: [],
-        reviewImage2: [],
-        serviceRegion: "广州市从化区荔枝博览园",
-        users: [
-            {
-                id: null,
-                orderId: null,
-                serviceType: null,
-                userType: null,
-                userId: 81881,
-                joinStatus: null,
-                icon: "https://birdseye-img.sysuimars.com/birdseye-look-mini/Group%201321316260.png",
-                userName: "飞鸟种植助手",
-                area: "",
-                point: "",
-                farmName: "",
-                selected: null,
-            },
-        ],
-        cost: null,
-        prescriptionList: [
-            {
-                name: "营养",
-                pesticideFertilizerList: [
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "硝酸铵钙",
-                        defaultRatio: 0,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 15000.0,
-                        muUsage2: 15000.0,
-                        ratio: 0,
-                        ratio2: 0,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1162",
-                        pesticideFertilizerId: "162",
-                        pesticideFertilizerName: "硝酸铵钙",
-                        brand: "未知",
-                        typeName: "营养",
-                        price: 2000,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "氯化钾",
-                        defaultRatio: 0,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 15000.0,
-                        muUsage2: 15000.0,
-                        ratio: 0,
-                        ratio2: 0,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1163",
-                        pesticideFertilizerId: "163",
-                        pesticideFertilizerName: "氯化钾",
-                        brand: "未知",
-                        typeName: "营养",
-                        price: 4500,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "高氮水溶肥",
-                        defaultRatio: 5000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 10.0,
-                        muUsage2: 10.0,
-                        ratio: 5000,
-                        ratio2: 500,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1165",
-                        pesticideFertilizerId: "165",
-                        pesticideFertilizerName: "高氮水溶肥",
-                        brand: "广州大炎",
-                        typeName: "营养",
-                        price: 8500,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                    {
-                        defaultDroneRatio: null,
-                        defaultName: "矿源黄腐酸钾",
-                        defaultRatio: 2000,
-                        id: null,
-                        muPrice: null,
-                        muUsage: 4.0,
-                        muUsage2: 4.0,
-                        ratio: 2000,
-                        ratio2: 200,
-                        remark: "",
-                        usageMode: "",
-                        usageModeList: ["叶面施、根部施"],
-                        orderId: null,
-                        pesticideFertilizerCode: "1166",
-                        pesticideFertilizerId: "166",
-                        pesticideFertilizerName: "矿源黄腐酸钾",
-                        brand: "广州大炎",
-                        typeName: "营养",
-                        price: 15000,
-                        unit: "g",
-                        executeStyle: null,
-                    },
-                ],
-            },
-        ],
-        conditionList: [
-            {
-                index: "1-2-014-02-02-02-01-0008",
-                name: "园区膨果率",
-                type: 1,
-                value: "0.1",
-            },
-        ],
-    },
-]);
 </script>
 <style lang="scss" scoped>
 .farm-dynamics {
     width: 100%;
     height: 100vh;
     background: #f5f7fb;
-    .record-filter {
-        display: flex;
-        justify-content: center;
-        align-items: center;
-        background: #fff;
-        padding: 5px 0;
-        .filter-item {
-            color: rgba(0, 0, 0, 0.5);
-            padding: 0 12px;
-            height: 28px;
-            line-height: 28px;
-            border-radius: 20px;
-            border: 1px solid transparent;
-            &.active {
-                background: rgba(33, 153, 248, 0.1);
-                color: #2199f8;
-                border: 1px solid #2199f8;
-            }
-        }
-        .filter-item + .filter-item {
-            margin-left: 10px;
-        }
-    }
     .task-content {
         display: flex;
-        padding-top: 10px;
+        padding: 12px;
         height: calc(100% - 140px);
-        // .plan-menu {
-        //     width: 90px;
-        //     height: 100%;
-        //     padding: 10px 0;
-        //     box-sizing: border-box;
-        //     background: #fff;
-        //     border-radius: 0 10px 10px 0;
-        //     .menu-icon {
-        //         width: 13px;
-        //     }
-        //     .menu-text {
-        //         padding: 0 4px;
-        //     }
-        //     ::v-deep {
-        //         .el-anchor {
-        //             height: 100%;
-        //             background: none;
-        //         }
-        //         .el-anchor__marker {
-        //             display: none;
-        //         }
-        //         .el-menu {
-        //             background: none;
-        //             border: none;
-        //             .el-sub-menu__title {
-        //                 background: none;
-        //                 padding: 0 2px;
-        //                 justify-content: center;
-        //             }
-        //             .el-sub-menu__title {
-        //                 height: 32px;
-        //             }
-        //             .el-sub-menu .el-sub-menu__icon-arrow {
-        //                 position: static;
-        //                 padding-top: 6px;
-        //             }
-        //             .el-sub-menu {
-        //                 margin-bottom: 16px;
-        //                 &.is-opened {
-        //                     .el-sub-menu__icon-arrow {
-        //                         padding-bottom: 6px;
-        //                         padding-top: 0;
-        //                     }
-        //                 }
-        //                 .el-menu-item {
-        //                     height: 32px;
-        //                     line-height: 32px;
-        //                     margin: 4px 8px;
-        //                     padding: 0 2px;
-        //                     justify-content: center;
-        //                     background: none;
-        //                 }
-        //                 .el-menu-item.is-active {
-        //                     background: none;
-        //                     color: #fff;
-        //                 }
-        //                 .el-anchor__item {
-        //                     width: 100%;
-        //                     text-align: center;
-        //                 }
-        //                 .el-anchor__link {
-        //                     color: #666666;
-        //                 }
-        //                 .el-anchor__link.is-active {
-        //                     background: linear-gradient(180deg, #70bffe, #2199f8);
-        //                     border-radius: 20px;
-        //                     color: #fff;
-        //                 }
-        //             }
-        //         }
-        //         .el-anchor__list {
-        //             padding-left: 0;
-        //         }
-        //     }
-        // }
         .expert-content {
             width: 100%;
             height: 100%;

+ 1 - 1
src/views/old_mini/mine/index.vue

@@ -56,7 +56,7 @@ import { useRouter } from "vue-router";
 const router = useRouter();
 
 // 0: 农户, 1: 专家, 2:农资农服
-const curRole = ref(2);
+const curRole = ref(Number(localStorage.getItem("SET_USER_CUR_ROLE")));
 
 // 网格项数据
 const gridItems = ref([]);

+ 8 - 1
src/views/old_mini/plan/editPlan.vue

@@ -3,7 +3,11 @@
         <custom-header name="查看详情"></custom-header>
         <div class="edit-plan-content">
             <record-item :record-item-data="contentData" title-mode="default" class="recipe-item" />
-            <prescription-table> </prescription-table>
+            <prescription-table 
+                :prescription-list="contentData.prescriptionList"
+                :usage-mode="contentData.usageMode"
+                :attention="contentData.attention"
+            ></prescription-table>
         </div>
         <div class="custom-bottom-fixed-btns">
             <div class="bottom-btn secondary-btn" @click="deletePrescription">删除处方</div>
@@ -142,6 +146,9 @@ const contentData = ref({
         .record-item {
             margin: 0;
         }
+        .farm-table {
+            margin-top: 10px;
+        }
     }
 }
 </style>

+ 3 - 3
src/views/old_mini/plan/index.vue

@@ -18,7 +18,7 @@
                                             {{ sub.farmWorkDetail?.name }}
                                             <span class="parent-text">{{ section.name }}</span>
                                         </div>
-                                        <div class="title-r" v-if="curRole === 2">
+                                        <div class="title-r" v-if="curRole == 2">
                                             <el-icon color="#2199F8" size="16"><Edit /></el-icon>
                                         </div>
                                     </div>
@@ -39,14 +39,14 @@ import { useRoute, useRouter } from "vue-router";
 import recordItem from "@/components/recordItem.vue";
 import PlanList from "@/components/pageComponents/PlanList.vue";
 
-const curRole = ref(localStorage.getItem("curRole") || 0);
+const curRole = ref(localStorage.getItem("SET_USER_CUR_ROLE") || 0);
 const route = useRoute();
 const router = useRouter();
 // 菜单
 const defaultActive = ref("1-1");
 
 const handleClick = (sub) => {
-    if (curRole.value === 2) {
+    if (curRole.value == 2) {
         router.push(`/edit_plan?id=${sub.id}`);
     }
 };

+ 11 - 5
src/views/old_mini/user/farmDetails.vue

@@ -77,12 +77,13 @@
                         >
                     </common-box>
                 </tab>
-                <tab title="农事方案" class="tab-item">
+                <tab title="农事方案" class="tab-item plan-tab-item">
                     <common-box title="农事方案">
                         <template #right>
                             <span>查看更多</span>
                         </template>
-                        <plan-list :farm-id="93301" :container-id="route.query.containerId || 2" class="plan-list-wrapper" />
+                        <record-item :record-item-data="contentData[0]" title-mode="default" class="recipe-item" />
+                        <!-- <plan-list :farm-id="93301" :container-id="route.query.containerId || 2" class="plan-list-wrapper" /> -->
                     </common-box>
                 </tab>
             </tabs>
@@ -114,13 +115,13 @@ const farmServiceActiveTab = ref(0);
 
 const handleFarmServiceTabChange = (index) => {
     console.log("切换到标签页:", index, farmServiceTabs[index]);
-    if(index === 0){
+    if (index === 0) {
         serviceStatsData.value = [
             { value: "1258", unit: "元", desc: "总收益" },
             { value: "1258", unit: "元", desc: "投入成本" },
             { value: "118", unit: "次", desc: "服务次数" },
         ];
-    }else{
+    } else {
         serviceStatsData.value = [
             { value: "1258", unit: "元", desc: "预计收益" },
             { value: "1258", unit: "元", desc: "预计成本" },
@@ -229,7 +230,7 @@ const contentData = ref([
     },
 ]);
 
-const isImg = ref(false);
+const isImg = ref(true);
 </script>
 
 <style scoped lang="scss">
@@ -304,6 +305,11 @@ const isImg = ref(false);
                 margin: 12px 0 0 0;
             }
         }
+        .plan-tab-item {
+            .recipe-item {
+                padding: 0;
+            }
+        }
         .plan-list-wrapper {
             height: 500px;
             margin-top: 12px;

+ 8 - 3
yarn.lock

@@ -1363,10 +1363,10 @@
     read-package-json-fast "^3.0.0"
     which "^3.0.0"
 
-"@parcel/watcher-win32-x64@2.5.1":
+"@parcel/watcher-darwin-arm64@2.5.1":
   version "2.5.1"
-  resolved "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz"
-  integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==
+  resolved "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz"
+  integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==
 
 "@parcel/watcher@^2.4.1":
   version "2.5.1"
@@ -6203,6 +6203,11 @@ fs.realpath@^1.0.0:
   resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
   integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
 
+fsevents@~2.3.2:
+  version "2.3.3"
+  resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
+  integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
 function-bind@^1.1.1, function-bind@^1.1.2:
   version "1.1.2"
   resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"