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] =?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 @@
上传报告
详情
-
-
+
+
+
+
+
+
+
+