From 62f7cbbac9b7889ef48696c430374841623bdf60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E6=83=B3?= <826276471@qq.com>
Date: Fri, 21 Mar 2025 16:58:14 +0800
Subject: [PATCH 1/6] =?UTF-8?q?feat:=E6=9A=82=E6=97=B6=E9=9A=90=E8=97=8F?=
=?UTF-8?q?=E7=89=A9=E8=B5=84=E8=9E=8D=E5=90=88=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/router/modules/inputSupplies/index.js | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sub-government-affairs-service/src/router/modules/inputSupplies/index.js b/sub-government-affairs-service/src/router/modules/inputSupplies/index.js
index d96b32d..a5a286f 100644
--- a/sub-government-affairs-service/src/router/modules/inputSupplies/index.js
+++ b/sub-government-affairs-service/src/router/modules/inputSupplies/index.js
@@ -15,12 +15,12 @@ const inputSuppliesRoutes = [
// component: () => import('@/views/inputSuppliesManage/inputDataView/index.vue'),
// meta: { title: '投入品资源一张图', icon: 'Document' },
// },
- {
- path: '/sub-government-affairs-service/materialManage',
- name: 'materialManage',
- component: () => import('@/views/inputSuppliesManage/materialManage/index.vue'),
- meta: { title: '物资管理融合', icon: 'Document' },
- },
+ // {
+ // path: '/sub-government-affairs-service/materialManage',
+ // name: 'materialManage',
+ // component: () => import('@/views/inputSuppliesManage/materialManage/index.vue'),
+ // meta: { title: '物资管理融合', icon: 'Document' },
+ // },
{
path: '/sub-government-affairs-service/material',
name: 'material',
From c3e044f6e902410b9dd782d92c85db907c7ef0bc Mon Sep 17 00:00:00 2001
From: wangzenghua <1048523306@qq.com>
Date: Mon, 24 Mar 2025 04:14:57 +0100
Subject: [PATCH 2/6] fix
---
.../component/landsManage/index.vue | 4 +-
.../views/plantingAndBreeding/base/index.vue | 78 ++++++++++---------
2 files changed, 45 insertions(+), 37 deletions(-)
diff --git a/sub-government-affairs-service/src/views/landManage/component/landsManage/index.vue b/sub-government-affairs-service/src/views/landManage/component/landsManage/index.vue
index 8d18cfa..886725c 100644
--- a/sub-government-affairs-service/src/views/landManage/component/landsManage/index.vue
+++ b/sub-government-affairs-service/src/views/landManage/component/landsManage/index.vue
@@ -611,11 +611,11 @@ function newTree(arr, i) {
arr.forEach((v) => {
if (i == 0) {
v.value = v.id;
- v.label = v.prentLandType;
+ v.label = v.landType;
v.disabled = !v.children || !v.children.length;
} else {
v.value = v.id;
- v.label = v.childLandCategory;
+ v.label = v.landType;
}
if (v.children) v.children = newTree(v.children, i + 1);
});
diff --git a/sub-government-affairs-service/src/views/plantingAndBreeding/base/index.vue b/sub-government-affairs-service/src/views/plantingAndBreeding/base/index.vue
index 6df4b11..2517bdb 100644
--- a/sub-government-affairs-service/src/views/plantingAndBreeding/base/index.vue
+++ b/sub-government-affairs-service/src/views/plantingAndBreeding/base/index.vue
@@ -2,7 +2,7 @@
-
+
-
批量删除
@@ -47,20 +46,21 @@ import { useRouter } from 'vue-router';
import { useApp } from '@/hooks';
import { useUserStore } from '@/store/modules/user';
import { CRUD_OPTIONS } from '@/config';
-import { isEmpty, mockData, sleep } from '@/utils';
+import { isEmpty, mockData, sleep, setDicData } from '@/utils';
+import { getLandsList } from '@/apis/land';
const { VITE_APP_BASE_API, VITE_APP_NAME } = import.meta.env;
const app = useApp();
const UserStore = useUserStore();
const router = useRouter();
const crudRef = ref(null);
-const landTypeData = ref([
+const treeData = ref([
{
label: '基地分类',
- id: '0',
+ id: null,
children: [
- { label: '种植基地', id: '01', children: [], pId: '0' },
- { label: '养殖基地', id: '02', children: [], pId: '0' },
+ { label: '种植基地', id: '1', children: [], pid: null },
+ { label: '养殖基地', id: '2', children: [], pid: null },
],
},
]);
@@ -114,38 +114,31 @@ const state = reactive({
label: '地块名',
prop: 'landName',
width: 200,
- formslot: true,
+ type: 'select',
+ props: {
+ label: 'landName',
+ value: 'id',
+ },
+ dicUrl: `${VITE_APP_BASE_API}/land-resource/landManage/page?current=1&size=20`,
+ dicHeaders: {
+ authorization: UserStore.token,
+ },
+ dicFormatter: (res) => res.data?.records ?? [],
+ filterable: true,
+ remote: true,
+ clearable: true,
+ remoteMethod: (val) => remoteLandList(val),
+ change: (val) => selectedChange(val),
rules: {
required: true,
- message: '请输入',
+ message: '请选择',
trigger: 'blur',
},
+ // addDisplay: true,
+ // editDisplay: true,
+ // viewDisplay: false,
+ // overHidden: true,
},
- // {
- // label: '地块名',
- // prop: 'p2',
- // width: 200,
- // type: 'select',
- // // addDisplay: true,
- // // editDisplay: true,
- // // viewDisplay: false,
- // // props: {
- // // label: 'areaName',
- // // value: 'areaCode',
- // // children: 'areaChildVOS',
- // // },
- // // dicUrl: `${VITE_APP_BASE_API}/system/area/region?areaCode=530000`,
- // // dicHeaders: {
- // // authorization: UserStore.token,
- // // },
- // // dicFormatter: (res) => res.data ?? [],
- // rules: {
- // required: true,
- // message: '请选择',
- // trigger: 'blur',
- // },
- // overHidden: true,
- // },
{
label: '区域位置',
prop: 'p3',
@@ -284,7 +277,7 @@ const loadData = async () => {
state.data = mockData(
{
p1: '耿马镇一号基地',
- p2: '耿马镇2025001号地块',
+ landName: '耿马镇2025001号地块',
p3: '耿马傣族佤族自治县/耿马镇',
p4: '1000',
p5: '张三',
@@ -418,4 +411,19 @@ const onDel = (rows = []) => {
const rowDel = (row, index, done) => {
onDel([row]);
};
+
+// 远程搜搜
+const remoteLandList = async (val) => {
+ if (isEmpty(val)) return;
+ const query = { landName: val, current: 1, size: 20 };
+ const res = await getLandsList(query);
+ if (res.code === 200) {
+ setDicData(state.options.column, 'landName', res.data.records);
+ }
+};
+
+// 选择赋值
+const selectedChange = ({ value, item }) => {
+ console.log(430, value, item, item.landName, item.address, item.area);
+};
From 1f726c42f098bb7bf55f7a2a7de957edc54b6784 Mon Sep 17 00:00:00 2001
From: wangzenghua <1048523306@qq.com>
Date: Mon, 24 Mar 2025 09:55:44 +0100
Subject: [PATCH 3/6] =?UTF-8?q?feat:=E6=94=BF=E5=8A=A1=E9=A6=96=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/custom-echart-radar/index.vue | 92 ++++
.../components/custom-table-tree/index.vue | 75 ++-
main/src/components/index.js | 2 +
.../src/views/home/index.vue | 453 +++++++++++++++++-
4 files changed, 605 insertions(+), 17 deletions(-)
create mode 100644 main/src/components/custom-echart-radar/index.vue
diff --git a/main/src/components/custom-echart-radar/index.vue b/main/src/components/custom-echart-radar/index.vue
new file mode 100644
index 0000000..3efd034
--- /dev/null
+++ b/main/src/components/custom-echart-radar/index.vue
@@ -0,0 +1,92 @@
+
+
+
+
diff --git a/main/src/components/custom-table-tree/index.vue b/main/src/components/custom-table-tree/index.vue
index 8a971cd..b891761 100644
--- a/main/src/components/custom-table-tree/index.vue
+++ b/main/src/components/custom-table-tree/index.vue
@@ -1,25 +1,34 @@
{{ title }}
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
From 5a83234d4b5a709397fa8c4ee00f8d0119e2b6ee Mon Sep 17 00:00:00 2001
From: wangzenghua <1048523306@qq.com>
Date: Mon, 24 Mar 2025 10:05:12 +0100
Subject: [PATCH 4/6] fix
---
.../src/views/home/index.vue | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/sub-government-affairs-service/src/views/home/index.vue b/sub-government-affairs-service/src/views/home/index.vue
index ba6c91e..5dfcbfd 100644
--- a/sub-government-affairs-service/src/views/home/index.vue
+++ b/sub-government-affairs-service/src/views/home/index.vue
@@ -6,20 +6,24 @@
综合数据统计
- 农村人口(万人)
+ 农村人口
+ 万人
- 耕地面积(万亩)
+ 耕地面积
+ 万亩
- 农业总产值(亿元)
+ 农业总产值
+ 亿元
品牌农产品销售情况
+ 亿元
@@ -350,7 +354,7 @@ loadData();
}
&-title {
- font-size: 18px;
+ font-size: 19px;
font-weight: bold;
font-family: '黑体';
color: #333;
@@ -367,6 +371,13 @@ loadData();
span {
font-size: 30px;
+ font-weight: bolder;
+ }
+
+ em {
+ font-style: normal;
+ font-size: 14px;
+ margin-left: 5px;
}
}
From e06c50de65552871c7b1584fd5955d5e88976069 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E6=83=B3?= <826276471@qq.com>
Date: Mon, 24 Mar 2025 17:21:44 +0800
Subject: [PATCH 5/6] =?UTF-8?q?feat:=E7=89=A9=E8=B5=84=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=A4=84=E7=90=86=E5=88=86=E7=B1=BB=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=EF=BC=8C=E9=A1=B5=E9=9D=A2=E8=B0=83=E6=95=B4=EF=BC=8C?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=80=E6=9C=89=E6=8A=95=E5=85=A5=E5=93=81?=
=?UTF-8?q?=E7=AE=A1=E7=90=86=E6=8E=A5=E5=8F=A3=E7=BD=91=E5=85=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/apis/inputSuppliesApi/knowledge.js | 4 +-
.../apis/inputSuppliesApi/leaseSupervise.js | 4 +-
.../src/apis/inputSuppliesApi/material.js | 8 +-
.../src/router/modules/inputSupplies/index.js | 36 ++--
.../common/NumberSelect.vue | 85 ++++++++++
.../inputSuppliesManage/common/SubMenu.vue | 14 +-
.../inputSuppliesManage/common/TypeMenu.vue | 2 +-
.../inputSuppliesManage/hooks/useBasicInfo.js | 144 +++++++++++-----
.../material/pesticide/index.vue | 157 +++++++++++-------
.../redBlackRank/common/RankType.vue | 17 +-
.../redBlackRank/common/rankCard.vue | 31 ++--
.../redBlackRank/index.vue | 122 +++++++++++++-
.../component/landsManage/index.vue | 6 +-
13 files changed, 466 insertions(+), 164 deletions(-)
create mode 100644 sub-government-affairs-service/src/views/inputSuppliesManage/common/NumberSelect.vue
diff --git a/sub-government-affairs-service/src/apis/inputSuppliesApi/knowledge.js b/sub-government-affairs-service/src/apis/inputSuppliesApi/knowledge.js
index 9e39fc1..8d4083b 100644
--- a/sub-government-affairs-service/src/apis/inputSuppliesApi/knowledge.js
+++ b/sub-government-affairs-service/src/apis/inputSuppliesApi/knowledge.js
@@ -1,13 +1,13 @@
import request from '@/utils/axios';
export function getQuestionList(params) {
- return request('/input/knowledge/page', {
+ return request('/inputGoods/knowledge/page', {
params,
});
}
export function getQuestionReply(data) {
- return request('/input/knowledge/reply', {
+ return request('/inputGoods/knowledge/reply', {
data,
method: 'PUT',
});
diff --git a/sub-government-affairs-service/src/apis/inputSuppliesApi/leaseSupervise.js b/sub-government-affairs-service/src/apis/inputSuppliesApi/leaseSupervise.js
index 0560804..624ad5a 100644
--- a/sub-government-affairs-service/src/apis/inputSuppliesApi/leaseSupervise.js
+++ b/sub-government-affairs-service/src/apis/inputSuppliesApi/leaseSupervise.js
@@ -2,14 +2,14 @@ import request from '@/utils/axios';
/* 租赁列表 */
export function getLeaseSuperviseList(params) {
- return request('/input/machineLease/page', {
+ return request('/inputGoods/machineLease/page', {
params,
});
}
/* 新增租赁 */
export function addLeaseSupervise(data) {
- return request('/input/machineLease/save', {
+ return request('/inputGoods/machineLease/save', {
method: 'POST',
data,
});
diff --git a/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js b/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js
index f5578f1..dced738 100644
--- a/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js
+++ b/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js
@@ -2,7 +2,13 @@ import request from '@/utils/axios';
/* 获取物资类型 */
export function getMaterailTypes(params) {
- return request('/input/common/getList', {
+ return request('/inputGoods/common/getList', {
+ params,
+ });
+}
+/* 获取农药列表 */
+export function getPesticideList(params) {
+ return request('/inputGoods/pesticide/page', {
params,
});
}
diff --git a/sub-government-affairs-service/src/router/modules/inputSupplies/index.js b/sub-government-affairs-service/src/router/modules/inputSupplies/index.js
index a5a286f..a1d6854 100644
--- a/sub-government-affairs-service/src/router/modules/inputSupplies/index.js
+++ b/sub-government-affairs-service/src/router/modules/inputSupplies/index.js
@@ -40,24 +40,24 @@ const inputSuppliesRoutes = [
component: () => import('@/views/inputSuppliesManage/material/fertilizer/index.vue'),
meta: { title: '肥料管理', icon: 'Document' },
},
- {
- path: '/sub-government-affairs-service/material/ratPoison',
- name: 'input-supplies-ratPoison',
- component: () => import('@/views/inputSuppliesManage/material/ratPoison/index.vue'),
- meta: { title: '兽药管理', icon: 'Document' },
- },
- {
- path: '/sub-government-affairs-service/material/farmMachinery',
- name: 'input-supplies-farmMachinery',
- component: () => import('@/views/inputSuppliesManage/material/farmMachinery/index.vue'),
- meta: { title: '农机管理', icon: 'Document' },
- },
- {
- path: '/sub-government-affairs-service/material/seed',
- name: 'input-supplies-seed',
- component: () => import('@/views/inputSuppliesManage/material/seed/index.vue'),
- meta: { title: '种源管理', icon: 'Document' },
- },
+ // {
+ // path: '/sub-government-affairs-service/material/ratPoison',
+ // name: 'input-supplies-ratPoison',
+ // component: () => import('@/views/inputSuppliesManage/material/ratPoison/index.vue'),
+ // meta: { title: '兽药管理', icon: 'Document' },
+ // },
+ // {
+ // path: '/sub-government-affairs-service/material/farmMachinery',
+ // name: 'input-supplies-farmMachinery',
+ // component: () => import('@/views/inputSuppliesManage/material/farmMachinery/index.vue'),
+ // meta: { title: '农机管理', icon: 'Document' },
+ // },
+ // {
+ // path: '/sub-government-affairs-service/material/seed',
+ // name: 'input-supplies-seed',
+ // component: () => import('@/views/inputSuppliesManage/material/seed/index.vue'),
+ // meta: { title: '种源管理', icon: 'Document' },
+ // },
],
},
// {
diff --git a/sub-government-affairs-service/src/views/inputSuppliesManage/common/NumberSelect.vue b/sub-government-affairs-service/src/views/inputSuppliesManage/common/NumberSelect.vue
new file mode 100644
index 0000000..ccd468f
--- /dev/null
+++ b/sub-government-affairs-service/src/views/inputSuppliesManage/common/NumberSelect.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
diff --git a/sub-government-affairs-service/src/views/inputSuppliesManage/common/SubMenu.vue b/sub-government-affairs-service/src/views/inputSuppliesManage/common/SubMenu.vue
index 4e0c4c0..9333ebb 100644
--- a/sub-government-affairs-service/src/views/inputSuppliesManage/common/SubMenu.vue
+++ b/sub-government-affairs-service/src/views/inputSuppliesManage/common/SubMenu.vue
@@ -2,16 +2,15 @@
{{ types.label }}
- {{ item.label }}
+ {{ item.label }}
diff --git a/sub-government-affairs-service/src/views/inputSuppliesManage/common/TypeMenu.vue b/sub-government-affairs-service/src/views/inputSuppliesManage/common/TypeMenu.vue
index bb07ce8..7c32c75 100644
--- a/sub-government-affairs-service/src/views/inputSuppliesManage/common/TypeMenu.vue
+++ b/sub-government-affairs-service/src/views/inputSuppliesManage/common/TypeMenu.vue
@@ -11,7 +11,7 @@
import SubMenu from './SubMenu.vue';
const emit = defineEmits(['update:type']);
-defineProps({
+const props = defineProps({
types: {
type: Array,
default: () => [
diff --git a/sub-government-affairs-service/src/views/inputSuppliesManage/hooks/useBasicInfo.js b/sub-government-affairs-service/src/views/inputSuppliesManage/hooks/useBasicInfo.js
index 20d8480..1b66810 100644
--- a/sub-government-affairs-service/src/views/inputSuppliesManage/hooks/useBasicInfo.js
+++ b/sub-government-affairs-service/src/views/inputSuppliesManage/hooks/useBasicInfo.js
@@ -1,51 +1,103 @@
-import { ref } from 'vue';
+import { ref, onMounted, reactive } from 'vue';
+import inputSuppliesApis from '@/apis/inputSuppliesApi';
+const { getMaterailTypes } = inputSuppliesApis;
+export function useBasicInfo(set = {}) {
+ const loadFinish = ref(false);
+ const searchCondition = Object.assign(
+ {
+ dataType: '',
+ moduleType: '',
+ },
+ set
+ );
+ /* ------ data ------ */
+ // #region
+ const materialTypes = reactive({
+ 1: [{ value: '0', label: '全部' }],
+ 2: [{ value: '0', label: '全部' }],
+ 3: [{ value: '0', label: '全部' }],
+ 4: [{ value: '0', label: '全部' }],
+ 5: [{ value: '0', label: '全部' }],
+ });
+ const materialTwoLevel = ref({});
-export function useBasicInfo() {
- const pesticideData = ref([
- { label: '全部', value: '0' },
- {
- label: '防治对象',
- value: '1',
- children: [
- { label: '杀虫剂', value: '1-1' },
- { label: '除草剂', value: '1-2' },
- { label: '杀菌剂', value: '1-3' },
- { label: '杀螨剂', value: '1-4' },
- { label: '生物农药', value: '1-5' },
- { label: '植物生长调节剂', value: '1-6' },
- ],
- },
- {
- label: '化学成分',
- value: '2',
- children: [
- { label: '无机农药', pid: '2', value: '2-1' },
- { label: '生物农药', pid: '2', value: '2-2' },
- {
- label: '有机农药',
- pid: '2',
- value: '2-3',
- children: [
- { label: '天然有机农药', pid: '2-3', value: '2-3-1' },
- { label: '人工合成农药', pid: '2-3', value: '2-3-2' },
- ],
- },
- ],
- },
- {
- label: '加工剂型',
- value: '3',
- children: [
- { label: '可湿性粉剂', value: '3-1' },
- { label: '可溶性粉剂', value: '3-2' },
- { label: '乳剂', value: '3-3' },
- { label: '颗粒剂', value: '4-4' },
- { label: '缓释剂', value: '5-5' },
- { label: '烟剂', value: '6-6' },
- ],
- },
+ /* ------ 农药 ------ */
+ // #region
+ const pesticideTypes = reactive({});
+ const goodsUnitOptions = reactive([
+ { value: '1', label: 'ml/瓶' },
+ { value: '2', label: 'mg/盒' },
+ { value: '3', label: 'kg/袋' },
]);
+ const useDosageUnit = reactive([
+ { value: '1', label: '/亩' },
+ { value: '2', label: '/平方米' },
+ { value: '3', label: '/株' },
+ ]);
+ // #endregion
+
+ // #endregion
+ async function getmaterialType(_set = {}) {
+ let params = Object.assign(searchCondition, _set);
+ let res = await getMaterailTypes(params);
+ console.log('two --- ', res);
+ if (res && res?.code == 200) {
+ res.data.forEach((item) => {
+ const { moduleType, children } = item;
+ materialTypes[moduleType].push(...handleTypes(children));
+ handleTwoLevel();
+ });
+ }
+ loadFinish.value = true;
+ }
+ function handleTypes(arr) {
+ arr.forEach((item) => {
+ item.value = item.id;
+ item.label = item.dataName;
+ if (item.children.length > 0) {
+ item.children = handleTypes(item.children);
+ }
+ });
+ return arr;
+ }
+ function handleTwoLevel() {
+ for (let key in materialTypes) {
+ materialTwoLevel.value[key] = {};
+ materialTypes[key].forEach((v) => {
+ if (v.value != 0) {
+ materialTwoLevel.value[key][v.dataType] = v.children;
+ }
+ });
+ }
+ }
+ function filterTypes(_set = {}) {
+ let filterType = Object.assign(
+ {
+ dataType: '1',
+ moduleType: '1',
+ },
+ _set
+ );
+ let all = materialTypes[filterType.moduleType];
+ let _arr = [];
+ all.forEach((item) => {
+ console.log('item', item);
+ if (filterType.dataType == item.dataType) {
+ _arr = item.children;
+ }
+ });
+ return _arr;
+ }
+
+ onMounted(getmaterialType);
+
return {
- pesticideData,
+ loadFinish,
+ materialTypes,
+ materialTwoLevel,
+ goodsUnitOptions,
+ useDosageUnit,
+ getmaterialType,
+ filterTypes,
};
}
diff --git a/sub-government-affairs-service/src/views/inputSuppliesManage/material/pesticide/index.vue b/sub-government-affairs-service/src/views/inputSuppliesManage/material/pesticide/index.vue
index 884818a..078c6c1 100644
--- a/sub-government-affairs-service/src/views/inputSuppliesManage/material/pesticide/index.vue
+++ b/sub-government-affairs-service/src/views/inputSuppliesManage/material/pesticide/index.vue
@@ -1,7 +1,7 @@
农药基本信息
-
+
@@ -17,18 +18,23 @@
上传报告
详情
-
-
+
+
+
+
+
+
+
+