From 5eb32c8bb1696de5ad8322a8d9b7a1e6f296bf4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=83=B3?= <826276471@qq.com> Date: Mon, 31 Mar 2025 09:03:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=85=BD=E8=8D=AF=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/apis/inputSuppliesApi/material.js | 16 + .../src/router/modules/inputSupplies/index.js | 24 +- .../inputSuppliesManage/hooks/useBasicInfo.js | 52 ++- .../material/fertilizer/index.vue | 93 ++++-- .../material/pesticide/index.vue | 33 +- .../material/ratPoison/index.vue | 297 +++++++++++++++++- 6 files changed, 447 insertions(+), 68 deletions(-) diff --git a/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js b/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js index 6c80390..8b47cea 100644 --- a/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js +++ b/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js @@ -46,4 +46,20 @@ export function addFertilizer(data) { }); } // #endregion +/* ------ 兽药 ------ */ +// #region + +export function getAnimalMedicineList(params) { + return request('/inputGoods/animalMedicine/page', { + params, + }); +} +export function addAnimalMedicine(data) { + return request('/inputGoods/animalMedicine/save', { + method: 'POST', + data, + }); +} +// #endregion + // 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 9ac0314..40da877 100644 --- a/sub-government-affairs-service/src/router/modules/inputSupplies/index.js +++ b/sub-government-affairs-service/src/router/modules/inputSupplies/index.js @@ -34,18 +34,18 @@ const inputSuppliesRoutes = [ component: () => import('@/views/inputSuppliesManage/material/pesticide/index.vue'), meta: { title: '农药管理', icon: 'Document' }, }, - // { - // path: '/sub-government-affairs-service/material/fertilizer', - // name: 'input-supplies-fertilizer', - // 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/fertilizer', + name: 'input-supplies-fertilizer', + 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', 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 9b4fbbe..8eb3c13 100644 --- a/sub-government-affairs-service/src/views/inputSuppliesManage/hooks/useBasicInfo.js +++ b/sub-government-affairs-service/src/views/inputSuppliesManage/hooks/useBasicInfo.js @@ -23,9 +23,6 @@ export function useBasicInfo(set = {}) { /* 不包含顶级 */ const materialTwoLevel = reactive({}); - /* ------ 农药 ------ */ - // #region - const pesticideTypes = reactive({}); const goodsUnitOptions = reactive([ { value: '1', label: 'ml/瓶' }, { value: '2', label: 'mg/盒' }, @@ -36,7 +33,6 @@ export function useBasicInfo(set = {}) { { value: '2', label: '/平方米' }, { value: '3', label: '/株' }, ]); - // #endregion // #endregion /* ------ ------ */ @@ -85,10 +81,14 @@ export function useBasicInfo(set = {}) { } /* 获取标签的名字 */ function targetName(arr, ids, _name) { - let _ids = JSON.parse(JSON.stringify(ids)); let name = ''; - if (!arr || !arr.length || _ids.length < 1) { - return; + if (!arr || !arr.length || ids.length < 1) { + return name; + } + let _ids = JSON.parse(JSON.stringify(ids)); + if (typeof ids == 'string') { + let obj = arr.find((v) => v.value == _ids) || { value: '', label: '', children: [] }; + name = obj.label; } else { let obj = arr.find((v) => v.value == _ids[0]) || { value: '', label: '', children: [] }; name = _name + (_name ? '/' : '') + obj.label; @@ -128,18 +128,39 @@ export function useBasicInfo(set = {}) { }, 200); } /* t: 1规格 2用量 */ - function handleNumUnit(num, unit, t) { + function handleNumUnit(_info = {}) { let text = ''; - if (num && unit) { - if (t == 1) { - text = `${num}${(goodsUnitOptions.find((_v) => _v.value == unit) || { label: '' }).label}`; - } else { - console.log('goodsUnitOptions --- ', (useDosageUnit.find((_v) => _v.value == unit) || { label: '' }).label); - text = `${num}${(useDosageUnit.find((_v) => _v.value == unit) || { label: '' }).label}`; - } + if (!_info.type || !_info.type < -1) return text; + const info = Object.assign( + { + num1: '', + unit1: '', + num2: '', + unit2: '', + type: -2, + }, + _info + ); + if (info.type == -1) { + let u1 = (goodsUnitOptions.find((_v) => _v.value == info.unit1) || { label: '' }).label; + let u2 = (useDosageUnit.find((_v) => _v.value == info.unit2) || { label: '' }).label; + text = `${info.num2}${u1.split('/')[1]}${u2}`; + } else if (info.type == 1) { + text = `${info.num1}${(goodsUnitOptions.find((_v) => _v.value == info.unit1) || { label: '' }).label}`; + } else if (info.type == 2) { + text = `${info.num2}${(useDosageUnit.find((_v) => _v.value == info.unit2) || { label: '' }).label}`; } return text; } + function handleShowName(text = '') { + if (!text || !text.includes('|')) return false; + let names = JSON.parse(text.split('|')[1]); + let _t = ''; + names.forEach((v, i) => { + _t += (i == 0 ? '' : ',') + v; + }); + return _t; + } // #endregion onMounted(getmaterialType); @@ -153,6 +174,7 @@ export function useBasicInfo(set = {}) { getmaterialType, targetName, filterTypes, + handleShowName, handleNumUnit, }; } diff --git a/sub-government-affairs-service/src/views/inputSuppliesManage/material/fertilizer/index.vue b/sub-government-affairs-service/src/views/inputSuppliesManage/material/fertilizer/index.vue index d5d724e..bf64b8a 100644 --- a/sub-government-affairs-service/src/views/inputSuppliesManage/material/fertilizer/index.vue +++ b/sub-government-affairs-service/src/views/inputSuppliesManage/material/fertilizer/index.vue @@ -10,14 +10,21 @@ :data="data" :table-loading="_loading" :option="option" + :before-close="handleCloseDialog" + @search-change=" + (form, done) => { + getData(1); + done(); + } + " + @refresh-change="getData" + @search-reset="getData(1)" @current-change="getData" @size-change="getData(1)" @row-save="handleRowSave" > diff --git a/sub-government-affairs-service/src/views/inputSuppliesManage/material/ratPoison/index.vue b/sub-government-affairs-service/src/views/inputSuppliesManage/material/ratPoison/index.vue index 4cf6b2a..0526e14 100644 --- a/sub-government-affairs-service/src/views/inputSuppliesManage/material/ratPoison/index.vue +++ b/sub-government-affairs-service/src/views/inputSuppliesManage/material/ratPoison/index.vue @@ -1,21 +1,312 @@ - +