Compare commits

..

2 Commits

Author SHA1 Message Date
aa6362ca5b Merge remote-tracking branch 'origin/dev' into dev 2025-05-29 18:02:51 +08:00
74707dd9f2 29日 根据文档修改页面 2025-05-29 18:02:16 +08:00
22 changed files with 312 additions and 98 deletions

View File

@ -4,7 +4,7 @@ import request from '@/utils/axios';
//获取农资分类查询数据
export function transaction(params = {}) {
return request('goods/business/category/transactionType?type=1', {
return request('goods/goodInfoManage/transactionType?type=1', {
method: 'GET',
params,
});
@ -12,7 +12,7 @@ export function transaction(params = {}) {
//获取农资列表数据
export function agriculturalList(params) {
return request('goods/business/category/transactionGoodInfo', {
return request('goods/goodInfoManage/transactionGoodInfo', {
method: 'GET',
params,
});
@ -20,7 +20,7 @@ export function agriculturalList(params) {
// 获取用户评价列表
export function agriculturalContent(params) {
return request('goods/business/category/contentPage', {
return request('goods/goodInfoManage/contentPage', {
method: 'POST',
params,
});

View File

@ -0,0 +1,19 @@
import request from '@/utils/axios';
//农资
//获取农资分类查询数据
export function transaction(params = {}) {
return request('goods/goodInfoManage/transactionType?type=2', {
method: 'GET',
params,
});
}
//获取农资列表数据
export function agriculturalList(params) {
return request('goods/goodInfoManage/transactionGoodInfo', {
method: 'GET',
params,
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -3,7 +3,7 @@
<div class="layout-header">
<div class="layout-header-top">
<div class="layout-header-top-left">
<span class="welcome-msg">您好欢迎来到农业产业服务平台</span>
<span class="welcome-msg">您好欢迎来到农业产业运营平台</span>
<div class="left-link">
<div class="iconfont icon-bigScreen"></div>
<span>数据大屏</span>

View File

@ -251,6 +251,12 @@ export const constantRoutes = [
name: 'warehouseMain',
meta: { title: '仓储首页' },
},
{
path: '/sub-operation-service/warehouse-detail',
component: () => import('@/views/warehouseLogistics/warehouse/detail.vue'),
name: 'warehouse-detail',
meta: { title: '仓储详情' },
},
{
path: '/sub-operation-service/logistics',
component: () => import('@/views/warehouseLogistics/logistics/index.vue'),

View File

@ -30,17 +30,11 @@ const products = ref([]);
const applyData = [
{ id: 1, name: '耿马绿色蔬菜', imageUrl: 'images/brand/11.png' },
{ id: 2, name: '云南高山茶', imageUrl: 'images/brand/12.png' },
{ id: 3, name: '新疆大枣', imageUrl: 'images/brand/13.png' },
{ id: 4, name: '东北大米', imageUrl: 'images/brand/14.png' },
{ id: 5, name: '山东苹果', imageUrl: 'images/brand/15.png' },
{ id: 6, name: '四川泡菜', imageUrl: 'images/brand/16.png' },
{ id: 7, name: '江苏阳澄湖大闸蟹', imageUrl: 'images/brand/11.png' },
{ id: 8, name: '海南椰子', imageUrl: 'images/brand/12.png' },
{ id: 9, name: '广东早茶', imageUrl: 'images/brand/13.png' },
{ id: 10, name: '北京烤鸭', imageUrl: 'images/brand/14.png' },
{ id: 11, name: '西藏青稞酒', imageUrl: 'images/brand/15.png' },
{ id: 12, name: '青海牦牛肉', imageUrl: 'images/brand/16.png' },
{ id: 2, name: '耿马云斛石斛', imageUrl: 'images/brand/12.png' },
{ id: 3, name: '耿马蒸酶茶', imageUrl: 'images/brand/15.png' },
{ id: 4, name: '孟定蔬菜', imageUrl: 'images/brand/14.png' },
{ id: 5, name: '耿马芒抗金丝凤梨', imageUrl: 'images/brand/16.png' },
// { id: 6, name: '', imageUrl: 'images/brand/16.png' },
];
function gotoApplication(id) {

View File

@ -64,18 +64,18 @@ const chartsData = reactive({
},
},
data: [
{ value: 11.7392043070835, name: '有机白菜' },
{ value: 9.23723855786, name: '土鸡蛋' },
{ value: 7.75434839431, name: '猪肉' },
{ value: 11.3865516372, name: '牛肉' },
{ value: 7.75434839431, name: '零添加' },
{ value: 5.83541244308, name: '原产地' },
{ value: 15.83541244308, name: '菠萝' },
{ value: 2.83541244308, name: '甘蔗' },
{ value: 5.83541244308, name: '土豆' },
{ value: 10.83541244308, name: '绿色' },
{ value: 5.83541244308, name: '美味' },
{ value: 5.83541244308, name: '特产' },
{ value: 11.7392043070835, name: '白菜' },
{ value: 9.23723855786, name: '石斛' },
{ value: 7.75434839431, name: '甘蔗' },
{ value: 11.3865516372, name: '辣椒' },
{ value: 7.75434839431, name: '茄子' },
{ value: 5.83541244308, name: '豇豆' },
{ value: 15.83541244308, name: '土豆' },
// { value: 2.83541244308, name: '' },
{ value: 5.83541244308, name: '' },
// { value: 10.83541244308, name: '绿' },
// { value: 5.83541244308, name: '' },
// { value: 5.83541244308, name: '' },
],
},
],

View File

@ -12,7 +12,7 @@ const props = defineProps({
default: '200px',
},
});
const legendData = reactive(['苹果', '小麦', '白菜']);
const legendData = reactive(['茄子', '土豆', '白菜']);
let linearColors = reactive([
[
{ offset: 0, color: 'rgba(15, 155, 179,0.1)' },

View File

@ -74,53 +74,69 @@ const route = useRoute();
const router = useRouter();
let treeList = reactive([
{
id: '03',
name: '水果',
children: [
{
parentId: '03',
id: '0301',
name: '甘蔗',
children: [],
},
],
},
{
id: '02',
name: '中药材',
children: [
{
parentId: '02',
id: '0201',
name: '石斛',
children: [],
},
],
},
{
id: '01',
name: '农产品',
name: '蔬菜',
children: [
{
parentId: '01',
id: '0101',
name: '植物性农产品',
children: [
{ parentId: '0101', id: '010101', name: '谷物' },
{ parentId: '0101', id: '010102', name: '蔬菜' },
{ parentId: '0101', id: '010103', name: '水果' },
{ parentId: '0101', id: '010104', name: '坚果与油料作物' },
{ parentId: '0101', id: '010105', name: '糖料作物' },
{ parentId: '0101', id: '010106', name: '纤维作物' },
{ parentId: '0101', id: '010107', name: '茶叶' },
{ parentId: '0101', id: '010108', name: '咖啡' },
{ parentId: '0101', id: '010109', name: '香料' },
],
name: '豆菜类',
children: [],
},
{
parentId: '01',
id: '0102',
name: '动物性农产品',
children: [
{ parentId: '0102', id: '010201', name: '肉类' },
{ parentId: '0102', id: '010202', name: '奶制品' },
{ parentId: '0102', id: '010203', name: '蛋类' },
{ parentId: '0102', id: '010204', name: '蜂蜜' },
{ parentId: '0102', id: '010205', name: '水产品' },
],
name: '根茎菜类',
children: [],
},
{
parentId: '01',
id: '0103',
name: '特殊农产品',
children: [
{ parentId: '0103', id: '010301', name: '花卉与苗木' },
{ parentId: '0103', id: '010302', name: '药材' },
{ parentId: '0103', id: '010303', name: '菌类' },
],
name: '叶菜类',
children: [],
},
{
parentId: '01',
id: '0104',
name: '其他',
children: [{ parentId: '0104', id: '010401', name: '饲料' }],
name: '茄果菜类',
children: [],
},
{
parentId: '01',
id: '0105',
name: '葱姜蒜类',
children: [],
},
{
parentId: '01',
id: '0106',
name: '食用菌',
children: [],
},
],
},
@ -168,14 +184,15 @@ let filter = ref({
});
let tableData = reactive([
{ id: '01', title: '西红柿', region: '耿马镇', buyer: '盛源农业', buyNum: 5000, time: '2025-04-02 12:25:36' },
{ id: '02', title: '白菜', region: '孟定镇', buyer: '星悦农业', buyNum: 6000, time: '2025-04-01 12:25:36' },
{ id: '03', title: '西蓝花', region: '孟勇镇', buyer: '盛源农业', buyNum: 7000, time: '2025-04-02 13:25:36' },
{ id: '04', title: '鸡蛋', region: '勐简乡', buyer: '上好佳农业', buyNum: 8000, time: '2025-04-02 12:25:36' },
{ id: '05', title: '牛肉', region: '四排山乡', buyer: '尚嘉农业', buyNum: 5000, time: '2025-03-31 12:25:36' },
{ id: '06', title: '氮肥', region: '大兴乡', buyer: '信誉农资', buyNum: 6000, time: '2025-04-02 12:25:36' },
{ id: '07', title: '白菜种子', region: '贺派乡', buyer: '佳佳农业', buyNum: 5000, time: '2025-04-02 12:25:36' },
{ id: '08', title: '西红柿种子', region: '勐撒镇', buyer: '佳佳农业', buyNum: 8000, time: '2025-04-02 12:25:36' },
{ id: '01', title: '西红柿', region: '耿马镇', buyer: '盛源农业', buyNum: 870, time: '2025-04-02 12:25:36' },
{ id: '02', title: '大米', region: '孟定镇', buyer: '天辰大米', buyNum: 1000, time: '2025-04-01 12:25:36' },
{ id: '03', title: '黄瓜', region: '孟勇镇', buyer: '盛源农业', buyNum: 2000, time: '2025-04-02 13:25:36' },
{ id: '04', title: '苹果', region: '勐简乡', buyer: '桂香浓云加工', buyNum: 1800, time: '2025-04-02 12:25:36' },
{ id: '05', title: '小葱', region: '四排山乡', buyer: '横鲜农工', buyNum: 380, time: '2025-03-31 12:25:36' },
{ id: '06', title: '豇豆', region: '大兴乡', buyer: '绿康农产', buyNum: 1570, time: '2025-04-02 12:25:36' },
{ id: '07', title: '大蒜', region: '贺派乡', buyer: '丰瑞农产加工', buyNum: 875, time: '2025-04-02 12:25:36' },
{ id: '08', title: '毛荔枝', region: '勐撒镇', buyer: '绿康农业', buyNum: 1570, time: '2025-04-02 12:25:36' },
{ id: '09', title: '毛荔枝', region: '大兴乡', buyer: '丰瑞农产加工', buyNum: 875, time: '2025-04-02 12:25:36' },
]);
const rowClick = (data) => {

View File

@ -33,10 +33,153 @@ import banner from './components/banner.vue';
import filtertop from './components/filtertop.vue';
import goodsItem from './components/goodsItem.vue';
import { ref, reactive, onMounted, watch, computed } from 'vue';
import { agriculturalList, transaction } from '@/apis/agricultural.js';
let treeList = reactive([]);
import { agriculturalList, transaction } from '@/apis/supplier.js';
let treeList = reactive([
// {
// id: '2',
// name: '',
// children: [
// {
// id: '201',
// parentId: '2',
// name: '',
// children: [
// { parentId: '201', id: '20101', name: '' },
// { parentId: '201', id: '20102', name: '' },
// { parentId: '201', id: '20103', name: '' },
// ],
// },
// {
// id: '202',
// name: '',
// parentId: '2',
// children: [
// { parentId: '202', id: '20201', name: '' },
// { parentId: '202', id: '20202', name: '' },
// { parentId: '202', id: '20203', name: '' },
// { parentId: '202', id: '20204', name: '' },
// ],
// },
// {
// id: '203',
// name: '/',
// parentId: '2',
// children: [
// { parentId: '203', id: '20301', name: '' },
// { parentId: '203', id: '20302', name: '' },
// { parentId: '203', id: '20303', name: '' },
// ],
// },
// ],
// },
// {
// id: '1',
// name: '',
// children: [
// {
// id: '101',
// parentId: '1',
// name: '',
// children: [
// {
// parentId: '101',
// id: '10101',
// name: '',
// children: [],
// },
// ],
// },
// {
// id: '102',
// name: '',
// parentId: '1',
// children: [
// {
// parentId: '102',
// id: '10201',
// name: '',
// children: [],
// },
// ],
// },
// {
// id: '103',
// name: '',
// parentId: '1',
// children: [
// {
// parentId: '103',
// id: '10301',
// name: '',
// children: [],
// },
// {
// parentId: '103',
// id: '10302',
// name: '',
// children: [],
// },
// {
// parentId: '103',
// id: '10303',
// name: '',
// children: [],
// },
// {
// parentId: '103',
// id: '10304',
// name: '',
// children: [],
// },
// {
// parentId: '103',
// id: '10305',
// name: '',
// children: [],
// },
// {
// parentId: '103',
// id: '10306',
// name: '',
// children: [],
// },
// ],
// },
// ],
// },
]);
let list = reactive([]);
let list = reactive([
// {
// goodId: '10101',
// parentId: '101',
// goodUrl: 'http://gov-cloud.oss-cn-chengdu.aliyuncs.com/backend/6216cf638fc1407e8ae1b4a65ef594ab.jpg',
// title:
// ',12%-22%\\r\\nB,',
// goodPrice: '25',
// },
// {
// goodId: '10201',
// parentId: '102',
// goodUrl: 'http://gov-cloud.oss-cn-chengdu.aliyuncs.com/backend/54bf4b3511be4c99bc2cf5b7c6c4a7da.jpg',
// title: ' 500g ',
// goodPrice: '25',
// },
// {
// goodId: '1020101',
// parentId: '103',
// goodUrl: 'http://gov-cloud.oss-cn-chengdu.aliyuncs.com/backend/815bc561d19f46a08ef357bb3df4c0d8.jpeg',
// title: '',
// goodPrice: '16',
// },
// {
// goodId: '1020102',
// parentId: '103',
// goodUrl: 'http://gov-cloud.oss-cn-chengdu.aliyuncs.com/backend/8819aebd5ae74c88bf7426bbf089acbb.jpeg',
// title: '绿',
// goodPrice: '25',
// },
]);
let params = reactive({
current: 1,
size: 10,
@ -46,7 +189,7 @@ let params = reactive({
let pagination = reactive({
current: 1,
size: 10,
total: 0,
total: 4,
});
let bannerList = reactive(['images/ecommerce/' + 'banner1.png', 'images/ecommerce/' + 'banner1.png']);
const getList = () => {
@ -84,18 +227,18 @@ const getTree = () => {
};
const selected = (data) => {
console.log(data);
//
const val = Object.values(data);
console.log(data);
if (val.length === 1) {
params.parentId = val[0].id;
params.parentId = Number(val[0].id);
} else {
if (val[0].id === '') {
params.childrenId = '';
params.parentId = null;
} else {
params.childrenId = val[val.length - 1].id;
params.parentId = val[val.length - 1].parentId;
params.childrenId = Number(val[val.length - 1].id);
params.parentId = Number(val[val.length - 1].parentId);
}
}
getList();

View File

@ -234,7 +234,7 @@ const props = defineProps({
default: () => [],
},
});
const Pics = ref([]);
/* --------------- methods --------------- */
// #region
//
@ -282,6 +282,13 @@ const showMaxValueTooltip = () => {
//
onMounted(() => {
initChart();
if (props.title.indexOf('灌溉') !== -1) {
Pics.value = [getAssetsFile('images/mockPic/智能灌溉.png')];
} else if (props.title.indexOf('浸种') !== -1) {
Pics.value = [getAssetsFile('images/mockPic/智能浸种.png')];
} else if (props.title.indexOf('配肥') !== -1) {
Pics.value = [getAssetsFile('images/mockPic/智能配肥.png')];
}
});
//
onBeforeUnmount(() => {
@ -309,14 +316,16 @@ const resizeChart = () => {
<div :style="{ color: item.status == '0' ? '#FE4066' : '#25BF82' }">{{ item.statusText }}</div>
</div>
<div v-if="showImage">
<p style="font-size: 14px; text-align: left; color: #000000; margin-bottom: 10px">灌溉记录:</p>
<p style="font-size: 14px; text-align: left; color: #000000; margin-bottom: 10px">
{{ title.indexOf('灌溉') !== -1 ? '灌溉记录' : title.indexOf('浸种') !== -1 ? '浸种记录' : '' }}
</p>
<el-image
style="width: 100%"
:src="imageList[0]"
:src="Pics[0]"
:zoom-rate="1.2"
:max-scale="7"
:min-scale="0.2"
:preview-src-list="imageList"
:preview-src-list="Pics"
show-progress
:initial-index="4"
fit="cover"

View File

@ -79,7 +79,7 @@ onMounted(() => {
//
const option = {
backgroundColor: '#fff', //
backgroundColor: 'rgba(255, 255, 255, 0)', //
title: {
text: '气象数据',
left: 20,

View File

@ -60,7 +60,7 @@ onMounted(() => {
//
const option = {
backgroundColor: '#fff', //
backgroundColor: 'rgba(255, 255, 255, 0)', //
title: {
text: '',
left: 20,

View File

@ -63,17 +63,18 @@ onUnmounted(() => {
});
onMounted(async () => {
if (Hls.isSupported()) {
hls.value = new Hls();
hls.value.loadSource('https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8');
hls.value.attachMedia(videoPlayer.value);
hls.value.on(Hls.Events.MANIFEST_PARSED, () => {
videoPlayer.value.play();
});
} else if (videoPlayer.value.canPlayType('application/vnd.apple.mpegurl')) {
// SafariHLS
videoPlayer.value.src = 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8';
}
// if (Hls.isSupported()) {
// hls.value = new Hls();
// // hls.value.loadSource('https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8');
// // hls.value.loadSource();
// hls.value.attachMedia(videoPlayer.value);
// hls.value.on(Hls.Events.MANIFEST_PARSED, () => {
// videoPlayer.value.play();
// });
// } else if (videoPlayer.value.canPlayType('application/vnd.apple.mpegurl')) {
// // SafariHLS
// videoPlayer.value.src = 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8';
// }
});
</script>
@ -98,7 +99,7 @@ onMounted(async () => {
</div>
<div style="display: flex; justify-content: space-between; align-items: center">
<div class="video-wrapper">
<video ref="videoPlayer" controls autoplay muted></video>
<video ref="videoPlayer" src="../components/jiankong.mp4" controls autoplay muted></video>
<div v-if="loading" class="status-message">正在加载直播流...</div>
<div v-if="error" class="status-message error">{{ error }}</div>
</div>

View File

@ -66,7 +66,7 @@ const devices = ref([
},
]);
const srcList = ref(['https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg']);
const srcList = ref();
const rightData = ref([
{
title: '土壤温度', //

View File

@ -37,6 +37,22 @@
<div class="leftKey">肥料储备:</div>
<div class="rightValue">充足</div>
</div>
<div style="text-align: left">
<div style="font-size: 14px; text-align: left">配肥记录</div>
</div>
<div style="margin-top: 20px">
<el-image
style="width: 100%"
:src="getAssetsFile('images/mockPic/智能配肥.png')"
:zoom-rate="1.2"
:max-scale="7"
:min-scale="0.2"
:preview-src-list="srcList"
show-progress
:initial-index="4"
fit="cover"
/>
</div>
</el-card>
</div>
</template>
@ -50,6 +66,7 @@ import Common from '../components/common.vue';
import Devices from '@/views/smartFarm/components/devices.vue';
import Stream from '@/views/smartFarm/components/stream.vue';
import * as echarts from 'echarts';
import { getAssetsFile } from '@/utils/index.js';
/* --------------- data --------------- */
// #region
const devices = ref([
@ -89,6 +106,7 @@ const devices = ref([
id: 9,
},
]);
const srcList = ref([getAssetsFile('images/mockPic/水质检测.png')]);
// #endregion
/* --------------- methods --------------- */
// #region

View File

@ -6,7 +6,7 @@ import { getAssetsFile } from '@/utils/index.js';
const currentDevice = ref(0);
const imgUrl = ref('/images/smartFarm/banner.png');
const srcList = ref(['https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg']);
const srcList = ref([getAssetsFile('images/mockPic/水质检测.png')]);
const devices = ref([
{
name: 'A-001',
@ -182,7 +182,7 @@ const chooseIcon = (type) => {
<div style="margin-top: 20px">
<el-image
style="width: 100%"
:src="'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg'"
:src="getAssetsFile('images/mockPic/水质检测.png')"
:zoom-rate="1.2"
:max-scale="7"
:min-scale="0.2"

View File

@ -1,17 +1,24 @@
<template>
<page-layout :menus="state.menus"> 详情123 </page-layout>
<section>
<common>
<template #main>
<el-card shadow="none" style="border-radius: 14px">
<div class="title">仓储 · <span style="color: rgba(37, 191, 130, 1)">查看详情</span></div>
</el-card>
</template>
</common>
</section>
</template>
<script setup name="page-menu">
<script setup>
import { ref, reactive, watch } from 'vue';
import { getAssetsFile } from '@/utils';
import { useRoute, useRouter } from 'vue-router';
import warehouseLogisticsRoutes from '@/router/modules/warehouseLogistics';
import Common from '../components/common.vue';
const route = useRoute();
const router = useRouter();
const state = reactive({
menus: warehouseLogisticsRoutes[0].children,
query: {},
data: {},
});