This commit is contained in:
沈鸿 2025-07-01 16:06:53 +08:00
commit ab7d436744
19 changed files with 159 additions and 54 deletions

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1751332976710" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9309" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M950.093 487.772L770.318 314.694c-14.382-13.851-35.955-13.851-50.336 0-14.382 13.842-14.382 34.614 0 48.465l118.647 114.228H493.461c-21.573 0-35.955 13.842-35.955 34.614s14.382 34.614 35.955 34.614h345.168L719.99 660.843c-14.382 13.851-14.382 34.623 0 48.465 7.192 6.93 14.382 10.386 25.164 10.386 10.792 0 17.982-3.465 25.173-10.386l179.775-176.535s0-3.465 3.6-3.465c10.782-10.386 10.782-31.149-3.6-41.535z" p-id="9310"></path><path d="M853.01 754.307c-21.573 0-35.955 13.851-35.955 34.614v69.237c0 20.763-14.382 34.614-35.955 34.614H169.865c-21.573 0-35.955-13.851-35.955-34.614V165.841c0-20.763 14.382-34.614 35.955-34.614H781.1c21.573 0 35.955 13.851 35.955 34.614v69.237c0 20.764 14.382 34.614 35.955 34.614s35.955-13.851 35.955-34.614v-69.237c0-58.842-46.736-103.842-107.865-103.842H169.865c-61.119 0-107.865 45-107.865 103.842v692.317C62 917 108.747 962 169.865 962H781.1c61.128 0 107.865-45 107.865-103.842v-69.237c0-20.764-14.382-34.614-35.955-34.614z" p-id="9311"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -20,7 +20,7 @@ export const leftApps = [
{ {
name: 'sub-app2', name: 'sub-app2',
entry: VITE_APP_SUB_GAS, entry: VITE_APP_SUB_GAS,
activeRule: '/sub-app', activeRule: '/operation-app',
title: 'APP', title: 'APP',
icon: 'images/platform/icon-app.png', icon: 'images/platform/icon-app.png',
}, },
@ -51,7 +51,7 @@ export const rightApps = [
{ {
name: 'sub-app1', name: 'sub-app1',
entry: VITE_APP_SUB_GAS, entry: VITE_APP_SUB_GAS,
activeRule: '/sub-app', activeRule: '/government-affairs-app',
title: 'APP', title: 'APP',
icon: 'images/platform/icon-app.png', icon: 'images/platform/icon-app.png',
}, },

View File

@ -25,6 +25,18 @@ export const constantRoutes = [
name: 'platform', name: 'platform',
meta: { title: '平台入口', icon: 'House' }, meta: { title: '平台入口', icon: 'House' },
}, },
{
path: '/government-affairs-app',
component: () => import('@/views/appPage/government-affairs-app.vue'),
name: 'government-affairs-app',
meta: { title: '农业产业政务平台APP', icon: '' },
},
{
path: '/operation-app',
component: () => import('@/views/appPage/operation-app.vue'),
name: 'operation-app',
meta: { title: '农业产业运营平台APP', icon: '' },
},
], ],
}, },
]; ];

View File

@ -0,0 +1,32 @@
<template>
<div class="download-app-header">
农业产业政务平台App下载
<el-tooltip effect="dark" content="退出" placement="bottom">
<img src="@/assets/images/quit.svg" alt="" class="layout-header-home" @click="goHome" />
</el-tooltip>
</div>
<iframe src="https://www.pgyer.com/MXd3uUrO" frameborder="0" style="width: 100%; height: calc(100vh - 50px)"></iframe>
</template>
<script setup>
import router from '@/router';
const goHome = () => {
router.push('/platform');
};
</script>
<style lang="scss" scoped>
.download-app-header {
font-size: 18px;
line-height: 40px;
padding: 0 16px;
font-weight: bold;
}
.layout-header-home {
width: 20px;
height: 20px;
margin-top: 11px;
float: right;
cursor: pointer;
}
</style>

View File

@ -0,0 +1,32 @@
<template>
<div class="download-app-header">
农业产业运营平台App下载
<el-tooltip effect="dark" content="退出" placement="bottom">
<img src="@/assets/images/quit.svg" alt="" class="layout-header-home" @click="goHome" />
</el-tooltip>
</div>
<iframe src="https://www.pgyer.com/4SVVtpob" frameborder="0" style="width: 100%; height: calc(100vh - 50px)"></iframe>
</template>
<script setup>
import router from '@/router';
const goHome = () => {
router.push('/platform');
};
</script>
<style lang="scss" scoped>
.download-app-header {
font-size: 18px;
line-height: 40px;
padding: 0 16px;
font-weight: bold;
}
.layout-header-home {
width: 20px;
height: 20px;
margin-top: 11px;
float: right;
cursor: pointer;
}
</style>

View File

@ -37,9 +37,13 @@ import { getAssetsFile } from '@/utils';
const gotoPage = (row) => { const gotoPage = (row) => {
// window.history.pushState({}, row.name, row.activeRule); // window.history.pushState({}, row.name, row.activeRule);
if (row.name == 'sub-app1') { if (row.name == 'sub-app1') {
window.location.href = 'https://www.pgyer.com/MXd3uUrO'; // app
// window.location.href = 'https://www.pgyer.com/MXd3uUrO';
window.location.href = row.activeRule;
} else if (row.name == 'sub-app2') { } else if (row.name == 'sub-app2') {
window.location.href = 'https://www.pgyer.com/4SVVtpob'; // app
// window.location.href = 'https://www.pgyer.com/4SVVtpob';
window.location.href = row.activeRule;
} else { } else {
window.location.href = row.activeRule; window.location.href = row.activeRule;
} }

View File

@ -32,7 +32,7 @@ export function getRowDetails({ url, id }) {
/* 肥料需求-列表 */ /* 肥料需求-列表 */
export function getFertilizeDemandRecords(params) { export function getFertilizeDemandRecords(params) {
return request('/inputGoods/supervise/fertilize/page', { return request('/inputGoods/demand/fertilize/page', {
params, params,
}); });
} }
@ -57,7 +57,7 @@ export function delFertilizeDemand(ids) {
/* 农药需求-列表 */ /* 农药需求-列表 */
export function getPesticideDemandRecords(params) { export function getPesticideDemandRecords(params) {
return request('/inputGoods/supervise/pesticide/page', { return request('/inputGoods/demand/pesticide/page', {
params, params,
}); });
} }

View File

@ -37,7 +37,8 @@ import TagsView from '../TagsView';
const { VITE_APP_PLATFORM } = import.meta.env; const { VITE_APP_PLATFORM } = import.meta.env;
const goHome = () => { const goHome = () => {
window.location.href = VITE_APP_PLATFORM; // window.location.href = VITE_APP_PLATFORM;
window.location.href = '/';
}; };
const SettingStore = useSettingStore(); const SettingStore = useSettingStore();

View File

@ -103,11 +103,11 @@ const state = reactive({
}, },
}, },
areaData: [ areaData: [
{ value: 2, name: '耿马镇' }, { value: '2.00', name: '耿马镇' },
{ value: 6, name: '勐永镇' }, { value: '6.00', name: '勐永镇' },
{ value: 4, name: '勐撒镇' }, { value: '4.00', name: '勐撒镇' },
{ value: 2, name: '孟定镇' }, { value: '2.00', name: '孟定镇' },
{ value: 3, name: '大兴乡' }, { value: '3.00', name: '大兴乡' },
], ],
breedingOption: { breedingOption: {
color: ['#41b879', '#fed500'], color: ['#41b879', '#fed500'],
@ -193,11 +193,11 @@ const state = reactive({
}, },
}, },
inputsData: [ inputsData: [
{ value: 75, name: '农药使用', type: '投入品', max: 100, unit: '吨' }, { value: '75.00', name: '农药使用', type: '投入品', max: 100, unit: '吨' },
// { value: 38, name: '使', type: '', max: 100, unit: '' }, // { value: 38, name: '使', type: '', max: 100, unit: '' },
{ value: 18, name: '种子使用', type: '投入品', max: 100, unit: '吨' }, { value: '18.00', name: '种子使用', type: '投入品', max: 100, unit: '吨' },
// { value: 55, name: '使', type: '', max: 100, unit: '' }, // { value: 55, name: '使', type: '', max: 100, unit: '' },
{ value: 65, name: '肥料使用', type: '投入品', max: 100, unit: '吨' }, { value: '65.00', name: '肥料使用', type: '投入品', max: 100, unit: '吨' },
], ],
businessOption: { businessOption: {
title: { title: {
@ -237,7 +237,7 @@ const state = reactive({
businessData: [ businessData: [
{ value: 217, name: '农户' }, { value: 217, name: '农户' },
// { value: 358, name: '' }, // { value: 358, name: '' },
{ value: 28, name: '农企/合作社' }, { value: 28, name: '企业' },
// { value: 128, name: '' }, // { value: 128, name: '' },
// { value: 22, name: '' }, // { value: 22, name: '' },
// { value: 41, name: '' }, // { value: 41, name: '' },
@ -270,49 +270,49 @@ const state = reactive({
codingData: [ codingData: [
{ {
name: '一月', name: '一月',
value: 40, value: 40000,
type: '赋码', type: '赋码',
seriesType: 'bar', seriesType: 'bar',
}, },
{ {
name: '一月', name: '一月',
value: 60, value: 60000,
type: '扫码', type: '扫码',
seriesType: 'line', seriesType: 'line',
}, },
{ {
name: '二月', name: '二月',
value: 100, value: 100000,
type: '赋码', type: '赋码',
seriesType: 'bar', seriesType: 'bar',
}, },
{ {
name: '二月', name: '二月',
value: 120, value: 120000,
type: '扫码', type: '扫码',
seriesType: 'line', seriesType: 'line',
}, },
{ {
name: '三月', name: '三月',
value: 80, value: 80000,
type: '赋码', type: '赋码',
seriesType: 'bar', seriesType: 'bar',
}, },
{ {
name: '三月', name: '三月',
value: 124, value: 124000,
type: '扫码', type: '扫码',
seriesType: 'line', seriesType: 'line',
}, },
{ {
name: '四月', name: '四月',
value: 200, value: 200000,
type: '赋码', type: '赋码',
seriesType: 'bar', seriesType: 'bar',
}, },
{ {
name: '四月', name: '四月',
value: 220, value: 220000,
type: '扫码', type: '扫码',
seriesType: 'line', seriesType: 'line',
}, },

View File

@ -165,12 +165,12 @@ const columns = ref([
{ prop: 'regionName', label: '行政区域名称' }, { prop: 'regionName', label: '行政区域名称' },
{ prop: 'gridId', label: '网格编码' }, { prop: 'gridId', label: '网格编码' },
{ prop: 'gridName', label: '网格名称' }, { prop: 'gridName', label: '网格名称' },
{ prop: 'landId', label: '地块编码' }, { prop: 'landNumber', label: '地块编码' },
{ prop: 'landName', label: '地块名称' }, { prop: 'landName', label: '地块名称' },
{ prop: 'extent', label: '面积(亩)' }, { prop: 'area', label: '面积(亩)' },
{ prop: 'useNumber', label: '肥料需求', slotName: 'useNumber' }, { prop: 'useNumber', label: '肥料需求', slotName: 'useNumber' },
{ prop: 'businessEntityCode', label: '生产经营主体编码' }, { prop: 'subjectName', label: '生产经营主体编码' },
{ prop: 'businessEntityName', label: '生产经营主体名称' }, { prop: 'subjectNumber', label: '生产经营主体名称' },
// { prop: 'action', label: '', slotName: 'action', width: 230, fixed: 'right' }, // { prop: 'action', label: '', slotName: 'action', width: 230, fixed: 'right' },
]); ]);
const handlePaginationChange = ({ page, pageSize }) => { const handlePaginationChange = ({ page, pageSize }) => {
@ -181,14 +181,14 @@ const handlePaginationChange = ({ page, pageSize }) => {
let landNums = ref(0); let landNums = ref(0);
let totalArea = computed(() => { let totalArea = computed(() => {
const sum = selectedRows.value.reduce((sum, item) => { const sum = selectedRows.value.reduce((sum, item) => {
return sum + Math.round(item.extent * 100); return sum + Math.round(item.area * 100);
}, 0); }, 0);
const result = sum / 100; const result = sum / 100;
return parseFloat(result.toFixed(2)); return parseFloat(result.toFixed(2));
}); });
let totalSeed = computed(() => { let totalSeed = computed(() => {
const sum = selectedRows.value.reduce((sum, item) => { const sum = selectedRows.value.reduce((sum, item) => {
return sum + Math.round(item.useNumber * 100); return sum + Math.round(item.demandCount * 100);
}, 0); }, 0);
const result = sum / 100; const result = sum / 100;
return parseFloat(result.toFixed(2)); return parseFloat(result.toFixed(2));
@ -211,9 +211,9 @@ const loadData = async () => {
tableTotal.value = response.data.total; tableTotal.value = response.data.total;
// //
tableData.value.forEach((el, index) => { // tableData.value.forEach((el, index) => {
el.extent = extentArr[index].extent; // el.extent = extentArr[index].extent;
}); // });
} }
} catch (error) { } catch (error) {
tableLoading.value = false; tableLoading.value = false;

View File

@ -165,12 +165,12 @@ const columns = ref([
{ prop: 'regionName', label: '行政区域名称' }, { prop: 'regionName', label: '行政区域名称' },
{ prop: 'gridId', label: '网格编码' }, { prop: 'gridId', label: '网格编码' },
{ prop: 'gridName', label: '网格名称' }, { prop: 'gridName', label: '网格名称' },
{ prop: 'landId', label: '地块编码' }, { prop: 'landNumber', label: '地块编码' },
{ prop: 'landName', label: '地块名称' }, { prop: 'landName', label: '地块名称' },
{ prop: 'extent', label: '面积(亩)' }, { prop: 'area', label: '面积(亩)' },
{ prop: 'useNumber', label: '农药需求', slotName: 'useNumber' }, { prop: 'useNumber', label: '农药需求', slotName: 'useNumber' },
{ prop: 'businessEntityCode', label: '生产经营主体编码' }, { prop: 'subjectName', label: '生产经营主体编码' },
{ prop: 'businessEntityName', label: '生产经营主体名称' }, { prop: 'subjectNumber', label: '生产经营主体名称' },
// { prop: 'action', label: '', slotName: 'action', width: 230, fixed: 'right' }, // { prop: 'action', label: '', slotName: 'action', width: 230, fixed: 'right' },
]); ]);
const handlePaginationChange = ({ page, pageSize }) => { const handlePaginationChange = ({ page, pageSize }) => {
@ -181,14 +181,14 @@ const handlePaginationChange = ({ page, pageSize }) => {
let landNums = ref(0); let landNums = ref(0);
let totalArea = computed(() => { let totalArea = computed(() => {
const sum = selectedRows.value.reduce((sum, item) => { const sum = selectedRows.value.reduce((sum, item) => {
return sum + Math.round(item.extent * 100); return sum + Math.round(item.area * 100);
}, 0); }, 0);
const result = sum / 100; const result = sum / 100;
return parseFloat(result.toFixed(2)); return parseFloat(result.toFixed(2));
}); });
let totalSeed = computed(() => { let totalSeed = computed(() => {
const sum = selectedRows.value.reduce((sum, item) => { const sum = selectedRows.value.reduce((sum, item) => {
return sum + Math.round(item.useNumber * 100); return sum + Math.round(item.demandCount * 100);
}, 0); }, 0);
const result = sum / 100; const result = sum / 100;
return parseFloat(result.toFixed(2)); return parseFloat(result.toFixed(2));
@ -211,9 +211,9 @@ const loadData = async () => {
tableTotal.value = response.data.total; tableTotal.value = response.data.total;
// //
tableData.value.forEach((el, index) => { // tableData.value.forEach((el, index) => {
el.extent = extentArr[index].extent; // el.extent = extentArr[index].extent;
}); // });
} }
} catch (error) { } catch (error) {
tableLoading.value = false; tableLoading.value = false;

View File

@ -166,8 +166,28 @@ const loadData = async () => {
// tableData.value = response.data.records; // tableData.value = response.data.records;
// tableTotal.value = response.data.total; // tableTotal.value = response.data.total;
tableData.value = createMockData; let analogData = [
tableTotal.value = createMockData.length; {
provenanceId: 'GMZZ001',
provenanceName: '黄皮甘蔗',
varietyName: '黄蔗',
brand: '云蔗牌',
manufacturer: '耿马县农业发展公司',
seedTypeName: '水果种子',
productUnit: '500克/袋',
},
{
provenanceId: 'GMZZ002',
provenanceName: '圆茄',
varietyName: '绿圆',
brand: '绿圆牌',
manufacturer: '云南绿色蔬菜有限公司',
seedTypeName: '蔬菜种子',
productUnit: '200粒/包',
},
];
tableData.value = analogData;
tableTotal.value = analogData.length;
} }
} catch (error) { } catch (error) {
tableLoading.value = false; tableLoading.value = false;

View File

@ -145,9 +145,9 @@ const columns = ref([
{ prop: 'gridName', label: '所属网格' }, { prop: 'gridName', label: '所属网格' },
{ prop: 'name', label: '姓名' }, { prop: 'name', label: '姓名' },
{ prop: 'phone', label: '联系方式' }, { prop: 'phone', label: '联系方式' },
{ prop: 'provenanceId', label: '种子编号' }, { prop: 'provenanceId', label: '种子种苗编号' },
{ prop: 'provenanceName', label: '种子种苗名称' }, { prop: 'provenanceName', label: '种子种苗名称' },
{ prop: 'useNumber', label: '使用量' }, { prop: 'useNumber', label: '使用量', formatter: (row) => `${row.useNumber} ${row.useUnit}` },
{ prop: 'useTime', label: '使用时间' }, { prop: 'useTime', label: '使用时间' },
{ prop: 'action', label: '操作', slotName: 'action', width: 100, fixed: 'right' }, { prop: 'action', label: '操作', slotName: 'action', width: 100, fixed: 'right' },
]); ]);

View File

@ -240,7 +240,7 @@ const loadData = async () => {
icon: '1', icon: '1',
}, },
{ {
name: '农企/合作社', name: '企业',
num: 54, num: 54,
icon: '2', icon: '2',
}, },

View File

@ -1,6 +1,6 @@
# 测试环境 # 测试环境
VITE_APP_MIAN = 'daimp-front-main' VITE_APP_MIAN = 'daimp-front-main'
VITE_APP_MIAN_URL = 'http://192.168.18.99:88' VITE_APP_MIAN_URL = 'http://192.168.18.99'
VITE_APP_NAME = 'sub-operation-service' VITE_APP_NAME = 'sub-operation-service'
# 接口 # 接口
VITE_APP_BASE_API = '/apis' VITE_APP_BASE_API = '/apis'

View File

@ -10,7 +10,6 @@ declare module 'vue' {
BreadComp: typeof import('./src/components/breadComp.vue')['default'] BreadComp: typeof import('./src/components/breadComp.vue')['default']
CenterMap: typeof import('./src/components/centerMap.vue')['default'] CenterMap: typeof import('./src/components/centerMap.vue')['default']
CodeDialog: typeof import('./src/components/code-dialog/index.vue')['default'] CodeDialog: typeof import('./src/components/code-dialog/index.vue')['default']
copy: typeof import('./src/components/custom-scroll-title copy/index.vue')['default']
CostomImg: typeof import('./src/components/costomImg.vue')['default'] CostomImg: typeof import('./src/components/costomImg.vue')['default']
CustomBack: typeof import('./src/components/customBack.vue')['default'] CustomBack: typeof import('./src/components/customBack.vue')['default']
CustomCarouselPicture: typeof import('./src/components/custom-carousel-picture/index.vue')['default'] CustomCarouselPicture: typeof import('./src/components/custom-carousel-picture/index.vue')['default']

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1751332976710" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9309" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M950.093 487.772L770.318 314.694c-14.382-13.851-35.955-13.851-50.336 0-14.382 13.842-14.382 34.614 0 48.465l118.647 114.228H493.461c-21.573 0-35.955 13.842-35.955 34.614s14.382 34.614 35.955 34.614h345.168L719.99 660.843c-14.382 13.851-14.382 34.623 0 48.465 7.192 6.93 14.382 10.386 25.164 10.386 10.792 0 17.982-3.465 25.173-10.386l179.775-176.535s0-3.465 3.6-3.465c10.782-10.386 10.782-31.149-3.6-41.535z" p-id="9310"></path><path d="M853.01 754.307c-21.573 0-35.955 13.851-35.955 34.614v69.237c0 20.763-14.382 34.614-35.955 34.614H169.865c-21.573 0-35.955-13.851-35.955-34.614V165.841c0-20.763 14.382-34.614 35.955-34.614H781.1c21.573 0 35.955 13.851 35.955 34.614v69.237c0 20.764 14.382 34.614 35.955 34.614s35.955-13.851 35.955-34.614v-69.237c0-58.842-46.736-103.842-107.865-103.842H169.865c-61.119 0-107.865 45-107.865 103.842v692.317C62 917 108.747 962 169.865 962H781.1c61.128 0 107.865-45 107.865-103.842v-69.237c0-20.764-14.382-34.614-35.955-34.614z" p-id="9311"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -24,9 +24,12 @@
<span>商家中心</span> <span>商家中心</span>
</el-badge> </el-badge>
<span @click="toUserCenter">个人中心</span> <span @click="toUserCenter">个人中心</span>
<span class="block-icon" @click="toHome"> <span class="block-icon" style="line-height: 28px" @click="toHome">
<div class="iconfont icon-home" style="font-size: 12px"></div> <el-tooltip effect="dark" content="退出" placement="bottom">
<span>返回首页</span> <img src="@/assets/images/quit.svg" style="width: 20px" alt="" />
</el-tooltip>
<!-- <div class="iconfont icon-home" style="font-size: 12px"></div>
<span>返回首页</span> -->
</span> </span>
</div> </div>
</div> </div>
@ -142,8 +145,8 @@ function Search() {
const toHome = () => { const toHome = () => {
console.info('toHome', router); console.info('toHome', router);
// router.push('/sub-operation-service'); // window.location.href = VITE_APP_PLATFORM;
window.location.href = VITE_APP_PLATFORM; window.location.href = '/';
}; };
const toUserCenter = () => { const toUserCenter = () => {