diff --git a/sub-operation-service/src/apis/agricultural.js b/sub-operation-service/src/apis/agricultural.js index 1d17497..0dc4ba4 100644 --- a/sub-operation-service/src/apis/agricultural.js +++ b/sub-operation-service/src/apis/agricultural.js @@ -27,9 +27,9 @@ export function getGoodDetail(id, params) { } // 获取用户评价列表 -export function agriculturalContent(params) { +export function agriculturalContent(data = {}) { return request('goods/goodInfoManage/contentPage', { method: 'POST', - params, + data, }); } diff --git a/sub-operation-service/src/assets/images/avatar.jfif b/sub-operation-service/src/assets/images/avatar.jfif new file mode 100644 index 0000000..6ac1872 Binary files /dev/null and b/sub-operation-service/src/assets/images/avatar.jfif differ diff --git a/sub-operation-service/src/assets/images/avatar.webp b/sub-operation-service/src/assets/images/avatar.webp new file mode 100644 index 0000000..09d44a7 Binary files /dev/null and b/sub-operation-service/src/assets/images/avatar.webp differ diff --git a/sub-operation-service/src/assets/images/smartFarm/deep.png b/sub-operation-service/src/assets/images/smartFarm/deep.png new file mode 100644 index 0000000..6724f05 Binary files /dev/null and b/sub-operation-service/src/assets/images/smartFarm/deep.png differ diff --git a/sub-operation-service/src/assets/images/smartFarm/testPic2.png b/sub-operation-service/src/assets/images/smartFarm/testPic2.png new file mode 100644 index 0000000..ce7abd4 Binary files /dev/null and b/sub-operation-service/src/assets/images/smartFarm/testPic2.png differ diff --git a/sub-operation-service/src/assets/images/smartFarm/testPic3.png b/sub-operation-service/src/assets/images/smartFarm/testPic3.png new file mode 100644 index 0000000..b21e026 Binary files /dev/null and b/sub-operation-service/src/assets/images/smartFarm/testPic3.png differ diff --git a/sub-operation-service/src/components/centerMap.vue b/sub-operation-service/src/components/centerMap.vue index 92c68bd..f2fff6a 100644 --- a/sub-operation-service/src/components/centerMap.vue +++ b/sub-operation-service/src/components/centerMap.vue @@ -137,7 +137,7 @@ const chartsData = reactive({ trigger: 'item', formatter: function (params) { if (params.seriesType === 'effectScatter') { - return `${params.name}: (${params.value[0]}, ${params.value[1]})`; + return `${params.name}`; } return params.name; }, diff --git a/sub-operation-service/src/layouts/component/Header/index.vue b/sub-operation-service/src/layouts/component/Header/index.vue index 2a5e4a2..1d28edd 100644 --- a/sub-operation-service/src/layouts/component/Header/index.vue +++ b/sub-operation-service/src/layouts/component/Header/index.vue @@ -111,7 +111,7 @@ function Search() { const toHome = () => { console.info('toHome', router); - router.push('/sub-operation-service/home'); + router.push('/sub-operation-service'); }; const toUserCenter = () => { @@ -239,9 +239,9 @@ const toCart = () => { .search-warp { position: relative; padding-left: 36px; - width: 100%; + width: 80%; .el-input { - width: 100%; + width: 50%; height: 50px; font-size: 18px; flex-grow: 1; @@ -252,7 +252,7 @@ const toCart = () => { .el-button { position: absolute; top: 50%; - right: 8px; + right: 25%; padding: 0 24px; height: 42px; font-size: 18px; diff --git a/sub-operation-service/src/router/index.js b/sub-operation-service/src/router/index.js index 825e730..fbf6107 100644 --- a/sub-operation-service/src/router/index.js +++ b/sub-operation-service/src/router/index.js @@ -232,10 +232,16 @@ export const constantRoutes = [ children: [ { path: '/sub-operation-service/ruralFinance/index', - component: () => import('@/views/ruralFinance/index.vue'), + component: () => import('@/views/error/blank.vue'), name: 'ruralFinanceMain', meta: { title: '涉农金融首页' }, }, + // { + // path: '/sub-operation-service/ruralFinance/index', + // component: () => import('@/views/ruralFinance/index.vue'), + // name: 'ruralFinanceMain', + // meta: { title: '涉农金融首页' }, + // }, ], }, { @@ -247,16 +253,28 @@ export const constantRoutes = [ children: [ { path: '/sub-operation-service/packaging/sorting', - component: () => import('@/views/packaging/sorting.vue'), + component: () => import('@/views/error/blank.vue'), name: 'sortingMain', meta: { title: '分拣首页' }, }, + // { + // path: '/sub-operation-service/packaging/sorting', + // component: () => import('@/views/packaging/sorting.vue'), + // name: 'sortingMain', + // meta: { title: '分拣首页' }, + // }, { path: '/sub-operation-service/packaging/index', - component: () => import('@/views/packaging/index.vue'), + component: () => import('@/views/error/blank.vue'), name: 'packagingMain', meta: { title: '包装首页' }, }, + // { + // path: '/sub-operation-service/packaging/index', + // component: () => import('@/views/packaging/index.vue'), + // name: 'packagingMain', + // meta: { title: '包装首页' }, + // }, { path: '/sub-operation-service/packaging/details', component: () => import('@/views/packaging/details.vue'), @@ -274,10 +292,16 @@ export const constantRoutes = [ children: [ { path: '/sub-operation-service/warehouse', - component: () => import('@/views/warehouseLogistics/warehouse/index.vue'), + component: () => import('@/views/error/blank.vue'), name: 'warehouseMain', meta: { title: '仓储首页' }, }, + // { + // path: '/sub-operation-service/warehouse', + // component: () => import('@/views/warehouseLogistics/warehouse/index.vue'), + // name: 'warehouseMain', + // meta: { title: '仓储首页' }, + // }, { path: '/sub-operation-service/warehouse-detail', component: () => import('@/views/warehouseLogistics/warehouse/detail.vue'), @@ -286,10 +310,16 @@ export const constantRoutes = [ }, { path: '/sub-operation-service/logistics', - component: () => import('@/views/warehouseLogistics/logistics/index.vue'), + component: () => import('@/views/error/blank.vue'), name: 'logistics-list', meta: { title: '物流首页' }, }, + // { + // path: '/sub-operation-service/logistics', + // component: () => import('@/views/warehouseLogistics/logistics/index.vue'), + // name: 'logistics-list', + // meta: { title: '物流首页' }, + // }, { path: '/sub-operation-service/logistics-detail', component: () => import('@/views/warehouseLogistics/logistics/detail.vue'), diff --git a/sub-operation-service/src/views/brand/components/ApplyList.vue b/sub-operation-service/src/views/brand/components/ApplyList.vue index b5f3052..7d00825 100644 --- a/sub-operation-service/src/views/brand/components/ApplyList.vue +++ b/sub-operation-service/src/views/brand/components/ApplyList.vue @@ -31,9 +31,9 @@ const products = ref([]); const applyData = [ { id: 1, title: '耿马绿色蔬菜', imgPath: 'images/brand/11.png' }, - { id: 2, title: '耿马云斛石斛', imgPath: 'images/brand/12.png' }, + // { id: 2, title: '耿马云斛石斛', imgPath: 'images/brand/12.png' }, { id: 3, title: '耿马蒸酶茶', imgPath: 'images/brand/15.png' }, - { id: 4, title: '孟定蔬菜', imgPath: 'images/brand/14.png' }, + // { id: 4, title: '孟定蔬菜', imgPath: 'images/brand/14.png' }, { id: 5, title: '耿马芒抗金丝凤梨', imgPath: 'images/brand/16.png' }, // { id: 6, name: '四川泡菜', imgPath: 'images/brand/16.png' }, ]; diff --git a/sub-operation-service/src/views/brand/components/Auth.vue b/sub-operation-service/src/views/brand/components/Auth.vue index e8ce17f..ec965e8 100644 --- a/sub-operation-service/src/views/brand/components/Auth.vue +++ b/sub-operation-service/src/views/brand/components/Auth.vue @@ -7,13 +7,13 @@
-
999
+
817
授权产品
-

较上月上涨 7

+

较上月上涨 13

@@ -22,13 +22,13 @@
-
999
-
授权产品
+
125
+
临期产品
-

较上月上涨 7

+

较上月下降 5

diff --git a/sub-operation-service/src/views/brand/components/Monitor.vue b/sub-operation-service/src/views/brand/components/Monitor.vue index d4146c1..d627624 100644 --- a/sub-operation-service/src/views/brand/components/Monitor.vue +++ b/sub-operation-service/src/views/brand/components/Monitor.vue @@ -166,46 +166,133 @@ const filteredProducts = computed(() => products.value.filter((p) => p.status == function onInspect(id) { console.log('查看产品:', id); // 这里用硬编码模拟请求,实际中可换成接口调用:getTraceById(id).then(res=> traceData.value = res) - const mock = { - productName: '无土栽培土豆', - quantity: '200KG', - producer: '北大荒技术有限公司', - origin: '耿马县孟定镇下坝村', - productionDate: '2025-1-2', - traceCode: '10.5487542154785XSE254.1040201', - traceCount: 30, - base: { - address: '耿马县孟定镇下坝村', - location: '东经102° · 北纬24°', - area: 12000, - climate: '亚热带高原季风型,温和多雨', - soil: '红壤', + const mocks = [ + { + productName: '耿马镇沙疆西红柿', + quantity: '300KG', + producer: '北大荒技术有限公司', + origin: '耿马县孟定镇下坝村', + productionDate: '2025-6-3', + traceCode: '10.5487542154785XSE254.1040201', + traceCount: 30, + base: { + address: '耿马县孟定镇下坝村', + location: '东经102° · 北纬24°', + area: 9000, + climate: '亚热带高原季风型,温和多雨', + soil: '红壤', + }, + farmingRecords: [ + { date: '2025/3/14', operation: '播种西红柿种', operator: '李强' }, + { date: '2025/4/2', operation: '施肥 氮肥', operator: '李强' }, + { date: '2025/5/17', operation: '浇水', operator: '李强' }, + { date: '2025/6/14', operation: '采摘', operator: '李强' }, + ], + packaging: { + company: '瑞禾农产品包装公司', + type: '纸箱', + person: '李明瑞', + time: '2025-1-20 16:27:41', + }, + logistics: { + storageType: '冷藏', + temperature: '2°C', + shipFrom: '北京市朝阳区解放路24号', + shipTo: '上海市黄浦区南京路36号', + }, + trade: { + time: '2025-4-2 08:13:52', + buyer: '李楠', + }, + img: 'images/brand/product4.png', }, - farmingRecords: [ - { date: '2024/1/2', operation: '播种 20250102批土豆种', operator: '张小东' }, - { date: '2024/2/2', operation: '施肥 氮肥', operator: '张小东' }, - { date: '2024/3/2', operation: '浇水', operator: '张小东' }, - { date: '2024/4/2', operation: '采摘', operator: '张小东' }, - ], - packaging: { - company: '瑞禾农产品包装公司', - type: '纸箱', - person: '王大福', - time: '2025-1-2 14:00:47', + { + productName: '无土栽培土豆', + quantity: '200KG', + producer: '北大荒技术有限公司', + origin: '耿马县孟定镇下坝村', + productionDate: '2025-1-2', + traceCode: '10.5487542154785XSE254.1040201', + traceCount: 30, + base: { + address: '耿马县孟定镇下坝村', + location: '东经102° · 北纬24°', + area: 12000, + climate: '亚热带高原季风型,温和多雨', + soil: '红壤', + }, + farmingRecords: [ + { date: '2025/1/22', operation: '播种 20250102批土豆种', operator: '王岚' }, + { date: '2025/2/14', operation: '施肥 氮肥', operator: '王岚' }, + { date: '2025/3/3', operation: '浇水', operator: '王岚' }, + { date: '2025/4/21', operation: '采摘', operator: '王岚' }, + ], + packaging: { + company: '瑞禾农产品包装公司', + type: '纸箱', + person: '李桑', + time: '2025-5-2 07:54:14', + }, + logistics: { + storageType: '冷藏', + temperature: '2°C', + shipFrom: '北京市朝阳区解放路24号', + shipTo: '上海市黄浦区南京路36号', + }, + trade: { + time: '2025-5-16 16:08:35', + buyer: '刘思楠', + }, + img: 'images/brand/product6.png', }, - logistics: { - storageType: '冷藏', - temperature: '2°C', - shipFrom: '北京市朝阳区解放路24号', - shipTo: '上海市黄浦区南京路36号', + { + productName: '彩椒南瓜混合', + quantity: '200KG', + producer: '北大荒技术有限公司', + origin: '耿马县孟定镇下坝村', + productionDate: '2025-5-15', + traceCode: '10.5487542154785XSE254.1040201', + traceCount: 30, + base: { + address: '耿马县孟定镇下坝村', + location: '东经102° · 北纬24°', + area: 12000, + climate: '亚热带高原季风型,温和多雨', + soil: '红壤', + }, + farmingRecords: [ + { date: '2025/2/8', operation: '播种瓜种', operator: '刘琦' }, + { date: '2025/3/14', operation: '施肥 氮肥', operator: '刘琦' }, + { date: '2025/3/20', operation: '浇水', operator: '刘琦' }, + { date: '2025/4/11', operation: '浇水', operator: '刘琦' }, + { date: '2025/5/15', operation: '采摘', operator: '刘琦' }, + ], + packaging: { + company: '瑞禾农产品包装公司', + type: '纸箱', + person: '王大福', + time: '2025-5-26 14:26:27', + }, + logistics: { + storageType: '冷藏', + temperature: '2°C', + shipFrom: '北京市朝阳区解放路24号', + shipTo: '上海市黄浦区南京路36号', + }, + trade: { + time: '2025-6-2 11:00:51', + buyer: '刘小花', + }, + img: 'images/brand/product1.png', }, - trade: { - time: '2025-1-2 14:00:47', - buyer: '刘小花', - }, - img: 'images/brand/product6.png', - }; - traceData.value = mock; + ]; + if (id === 1) { + traceData.value = mocks[0]; + } else if (id === 2) { + traceData.value = mocks[1]; + } else if (id === 3) { + traceData.value = mocks[2]; + } dialogVisible.value = true; } const onRevoke = (p) => { diff --git a/sub-operation-service/src/views/dashboard/breed/components/InventoryCharts.vue b/sub-operation-service/src/views/dashboard/breed/components/InventoryCharts.vue index e4b818e..f0ee1e1 100644 --- a/sub-operation-service/src/views/dashboard/breed/components/InventoryCharts.vue +++ b/sub-operation-service/src/views/dashboard/breed/components/InventoryCharts.vue @@ -93,7 +93,7 @@ const chartsData = reactive({ backgroundColor: 'rgba(17,95,182,0.5)', //设置背景颜色 formatter: function (item) { let params = [...item]; - var res = params[0].name + '
'; + var res = params[0].name + '(万元)
'; for (var i = 0, l = params.length; i < l; i++) { res += params[i].value !== '-' ? params[i].marker + params[i].seriesName + ' : ' + params[i].value + '
' : ''; } diff --git a/sub-operation-service/src/views/dashboard/breed/components/growthIndexesCharts.vue b/sub-operation-service/src/views/dashboard/breed/components/growthIndexesCharts.vue index 6b70295..0d868db 100644 --- a/sub-operation-service/src/views/dashboard/breed/components/growthIndexesCharts.vue +++ b/sub-operation-service/src/views/dashboard/breed/components/growthIndexesCharts.vue @@ -19,6 +19,22 @@ const chartsData = reactive({ }, tooltip: { trigger: 'axis', + formatter: function (params) { + let result = params[0].name + '(亿元)
'; // x轴值(如"1月") + params.forEach((param) => { + // 获取系列颜色(param.color) + const colorDot = ` + `; + result += `${colorDot} ${param.seriesName}: ${param.value}
`; + }); + return result; + }, }, grid: { left: '2%', diff --git a/sub-operation-service/src/views/ecommerce/agriculturalDetail.vue b/sub-operation-service/src/views/ecommerce/agriculturalDetail.vue index a294095..7f60b6e 100644 --- a/sub-operation-service/src/views/ecommerce/agriculturalDetail.vue +++ b/sub-operation-service/src/views/ecommerce/agriculturalDetail.vue @@ -51,14 +51,15 @@ :class="[index === currentWeight ? 'act' : 'normal']" @click="currentWeight = index" > - {{ item.goodSpecs }}/{{ item.unit }} + {{ item.goodSpecs }}{{ item.unit }}
数量:
- 有货 + 有货: {{ currentStock }} + 售罄
@@ -96,7 +97,13 @@
- +
@@ -122,7 +129,7 @@
- +
@@ -168,6 +175,10 @@ const currentPrice = computed(() => { return currentGood.value?.netWeight?.[currentWeight.value]?.goodPrice ?? 0; }); +const currentStock = computed(() => { + return currentGood.value?.netWeight?.[currentWeight.value]?.goodStock ?? 0; +}); + const mockData = [ { goodName: '甜糯玉米种子', @@ -616,7 +627,7 @@ const toCopy = () => {}; .content-detail { .detail-des { margin-bottom: 24px; - width: 80%; + width: 90%; } } .content-source-code { diff --git a/sub-operation-service/src/views/ecommerce/components/evaluate.vue b/sub-operation-service/src/views/ecommerce/components/evaluate.vue index 5420321..0f66063 100644 --- a/sub-operation-service/src/views/ecommerce/components/evaluate.vue +++ b/sub-operation-service/src/views/ecommerce/components/evaluate.vue @@ -40,32 +40,32 @@
- diff --git a/sub-operation-service/src/views/smartFarm/inspection/intelligentFertilizer.vue b/sub-operation-service/src/views/smartFarm/inspection/intelligentFertilizer.vue index ee35a8f..af611c0 100644 --- a/sub-operation-service/src/views/smartFarm/inspection/intelligentFertilizer.vue +++ b/sub-operation-service/src/views/smartFarm/inspection/intelligentFertilizer.vue @@ -6,7 +6,7 @@
- +
配肥分析
@@ -17,14 +17,14 @@
土壤养分含量:
N 元素不足
-
-
光照强度:
-
偏高
-
-
-
风速:
-
微风
-
+ + + + + + + +
作物生长状态:
良好