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 @@ 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 @@ -