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