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 1/5] =?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 @@ - + From 59df77a997c2b2013f9c45c5cf66adb1cb7d129b Mon Sep 17 00:00:00 2001 From: wangzenghua <1048523306@qq.com> Date: Tue, 1 Apr 2025 10:26:52 +0100 Subject: [PATCH 2/5] =?UTF-8?q?feat=EF=BC=9A=E8=8F=9C=E5=8D=95=E3=80=81?= =?UTF-8?q?=E5=9F=BA=E5=9C=B0=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/apis/plantingAndBreeding/base.js | 51 ++ .../src/apis/system/dept.js | 20 +- .../src/apis/system/menu.js | 62 +++ .../src/router/modules/system.js | 12 + .../src/router/modules/trace.js | 30 +- .../views/plantingAndBreeding/base/index.vue | 251 ++++----- .../src/views/system/dept/index.vue | 36 +- .../src/views/system/dict/index.vue | 18 +- .../src/views/system/dict/type.vue | 5 + .../src/views/system/menu/index.vue | 490 ++++++++++++++++++ 10 files changed, 811 insertions(+), 164 deletions(-) create mode 100644 sub-government-affairs-service/src/apis/plantingAndBreeding/base.js create mode 100644 sub-government-affairs-service/src/apis/system/menu.js create mode 100644 sub-government-affairs-service/src/views/system/menu/index.vue diff --git a/sub-government-affairs-service/src/apis/plantingAndBreeding/base.js b/sub-government-affairs-service/src/apis/plantingAndBreeding/base.js new file mode 100644 index 0000000..ef3c3ad --- /dev/null +++ b/sub-government-affairs-service/src/apis/plantingAndBreeding/base.js @@ -0,0 +1,51 @@ +import request from '@/utils/axios'; + +/** + * @Title: 列表 + */ +export function GetEntityList(params = {}) { + return request('/cultivation-keep/api/cultivationbreedingbase/list', { + method: 'POST', + params, + }); +} + +/** + * @Title: 新增 + */ +export function AddEntity(data = {}) { + return request('/cultivation-keep/api/cultivationbreedingbase/add', { + method: 'POST', + data, + }); +} + +/** + * @Title: 修改 + */ +export function UpdateEntity(data = {}) { + return request('/cultivation-keep/api/cultivationbreedingbase/update', { + method: 'POST', + data, + }); +} + +/** + * @Title: 删除 + */ +export function DeleteEntity(params = {}) { + return request('/cultivation-keep/api/cultivationbreedingbase/del', { + method: 'POST', + params, + }); +} + +/** + * @Title: 更改状态 + */ +export function UpdateStatus(params = {}) { + return request('/cultivation-keep/api/cultivationbreedingbase/changeStatus', { + method: 'POST', + params, + }); +} diff --git a/sub-government-affairs-service/src/apis/system/dept.js b/sub-government-affairs-service/src/apis/system/dept.js index e109ac7..13bad19 100644 --- a/sub-government-affairs-service/src/apis/system/dept.js +++ b/sub-government-affairs-service/src/apis/system/dept.js @@ -10,15 +10,6 @@ export function GetEntityList(params = {}) { }); } -/** - * @Title: 信息 - */ -export function GetEntity(id) { - return request(`/system/dept/list/exclude/${id}`, { - method: 'GET', - }); -} - /** * @Title: 新增 */ @@ -43,7 +34,7 @@ export function UpdateEntity(data = {}) { * @Title: 删除 */ export function DeleteEntity(params = {}) { - return request(`/system/dict/type/${params.id}`, { + return request(`/system/dept/${params.id}`, { method: 'DELETE', }); } @@ -56,3 +47,12 @@ export function GetDeptExcludeChild(id) { method: 'GET', }); } + +/** + * @Title: 信息 + */ +export function GetDept(id) { + return request(`/system/dept/list/exclude/${id}`, { + method: 'GET', + }); +} diff --git a/sub-government-affairs-service/src/apis/system/menu.js b/sub-government-affairs-service/src/apis/system/menu.js new file mode 100644 index 0000000..6d1772d --- /dev/null +++ b/sub-government-affairs-service/src/apis/system/menu.js @@ -0,0 +1,62 @@ +import request from '@/utils/axios'; + +/** + * @Title: 列表 + */ +export function GetEntityList(params = {}) { + return request('/system/menu/list', { + method: 'GET', + params, + }); +} + +/** + * @Title: 新增 + */ +export function AddEntity(data = {}) { + return request('/system/menu', { + method: 'POST', + data, + }); +} + +/** + * @Title: 修改 + */ +export function UpdateEntity(data = {}) { + return request('/system/menu', { + method: 'PUT', + data, + }); +} + +/** + * @Title: 删除 + */ +export function DeleteEntity(params = {}) { + return request(`/system/menu/${params.id}`, { + method: 'DELETE', + }); +} + +// 查询菜单详细 +export function GetMenu(dictType) { + return request(`/system/menu/${dictType}`, { + method: 'GET', + }); +} + +// 查询菜单下拉树结构 +// 返回parentId +export function GetMenuTree() { + return request('/system/menu/treeselect', { + method: 'GET', + }); +} + +// 根据角色ID查询菜单下拉树结构 +export function GetRoleMenu(roleId) { + return request(`/system/menu/roleMenuTreeselect/${roleId}`, { + method: 'GET', + }); +} diff --git a/sub-government-affairs-service/src/router/modules/system.js b/sub-government-affairs-service/src/router/modules/system.js index 34badff..b03fab9 100644 --- a/sub-government-affairs-service/src/router/modules/system.js +++ b/sub-government-affairs-service/src/router/modules/system.js @@ -20,6 +20,18 @@ export default [ name: 'system-dict', meta: { title: '字典管理', icon: 'Document' }, }, + { + path: '/sub-government-affairs-service/system-menu', + component: () => import('@/views/system/menu/index.vue'), + name: 'system-menu', + meta: { title: '菜单管理', icon: 'Document' }, + }, + // { + // path: '/sub-government-affairs-service/system-dept', + // component: () => import('@/views/system/dept/index.vue'), + // name: 'system-dept', + // meta: { title: '部门管理', icon: 'Document' }, + // }, ], }, ]; diff --git a/sub-government-affairs-service/src/router/modules/trace.js b/sub-government-affairs-service/src/router/modules/trace.js index df876cb..23b908d 100644 --- a/sub-government-affairs-service/src/router/modules/trace.js +++ b/sub-government-affairs-service/src/router/modules/trace.js @@ -52,25 +52,17 @@ export default [ ], }, { - path: '/sub-government-affairs-service/trace-manage', - name: 'trace-manage', - component: Views, - meta: { title: '溯源查询和统计', icon: 'Document' }, - children: [ - { - path: '/sub-government-affairs-service/trace-search', - name: 'trace-search', - component: () => import('@/views/trace/search/index.vue'), - meta: { title: '溯源查询', icon: 'Document' }, - }, - { - path: '/sub-government-affairs-service/trace-info', - name: 'trace-info', - component: () => import('@/views/trace/search/info.vue'), - meta: { title: '溯源详情', icon: 'Document' }, - hidden: true, - }, - ], + path: '/sub-government-affairs-service/trace-search', + name: 'trace-search', + component: () => import('@/views/trace/search/index.vue'), + meta: { title: '溯源查询', icon: 'Document' }, + }, + { + path: '/sub-government-affairs-service/trace-info', + name: 'trace-info', + component: () => import('@/views/trace/search/info.vue'), + meta: { title: '溯源详情', icon: 'Document' }, + hidden: true, }, { path: '/sub-government-affairs-service/trace-statistic', 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 3ccc2ab..f05972d 100644 --- a/sub-government-affairs-service/src/views/plantingAndBreeding/base/index.vue +++ b/sub-government-affairs-service/src/views/plantingAndBreeding/base/index.vue @@ -39,8 +39,9 @@ import { useRouter } from 'vue-router'; import { useApp } from '@/hooks'; import { useUserStore } from '@/store/modules/user'; import { CRUD_OPTIONS } from '@/config'; -import { isEmpty, mockData, sleep, setDicData } from '@/utils'; +import { isEmpty, setDicData, debounce } from '@/utils'; import { getLandsList } from '@/apis/land'; +import { GetEntityList, AddEntity, UpdateEntity, DeleteEntity, UpdateStatus } from '@/apis/plantingAndBreeding/base'; const { VITE_APP_BASE_API } = import.meta.env; const app = useApp(); @@ -61,7 +62,7 @@ const state = reactive({ column: [ { label: '基地名称', - prop: 'p1', + prop: 'baseName', search: true, width: 200, rules: { @@ -72,8 +73,8 @@ const state = reactive({ overHidden: true, }, { - label: '基地分类', - prop: 'type', + label: '基地类型', + prop: 'baseType', type: 'select', search: true, props: { @@ -95,7 +96,20 @@ const state = reactive({ label: '地块名', prop: 'landName', width: 200, + addDisplay: false, + editDisplay: false, + viewDisplay: true, + overHidden: true, + }, + { + label: '地块名', + prop: 'landId', + width: 200, type: 'select', + hide: true, + addDisplay: true, + editDisplay: true, + viewDisplay: false, props: { label: 'landName', value: 'id', @@ -108,37 +122,28 @@ const state = reactive({ filterable: true, remote: true, clearable: true, - remoteMethod: (val) => remoteLandList(val), + remoteMethod: (val) => debounce(remoteLandList(val), 200), change: (val) => selectedChange(val), rules: { required: true, message: '请选择', trigger: 'blur', }, - // addDisplay: true, - // editDisplay: true, - // viewDisplay: false, - // overHidden: true, }, { label: '区域位置', - prop: 'p3', + prop: 'address', width: 200, overHidden: true, - rules: { - required: true, - message: '请输入', - trigger: 'blur', - }, + disabled: true, + labelTip: '请先选择地块!', }, { label: '区域面积', - prop: 'p4', - rules: { - required: true, - message: '请输入', - trigger: 'blur', - }, + prop: 'area', + width: 100, + disabled: true, + labelTip: '请先选择地块!', }, { label: '状态', @@ -154,6 +159,7 @@ const state = reactive({ value: 0, }, ], + value: 1, rules: { required: true, message: '请输入', @@ -162,7 +168,7 @@ const state = reactive({ }, { label: '负责人', - prop: 'p5', + prop: 'contactPerson', rules: { required: true, message: '请输入', @@ -171,7 +177,7 @@ const state = reactive({ }, { label: '联系电话', - prop: 'p6', + prop: 'contactPhone', width: 150, rules: { required: true, @@ -181,15 +187,14 @@ const state = reactive({ }, { label: '创建时间', - prop: 'createTime', - width: 150, - // search: true, + prop: 'createdAt', + width: 200, display: false, }, { label: '更新时间', - prop: 'updateTime', - width: 150, + prop: 'updatedAt', + width: 200, display: false, }, ], @@ -204,16 +209,16 @@ const state = reactive({ icon: 'edit', event: ({ row }) => rowEdit(row), }, - // { - // type: 'success', - // name: ({ row }) => { - // return row.status === 1 ? '禁用' : '启用'; - // }, - // icon: ({ row }) => { - // return row.status === 1 ? 'turnOff' : 'open'; - // }, - // event: ({ row }) => rowStatus(row), - // }, + { + type: 'primary', + name: ({ row }) => { + return row.status === 1 ? '禁用' : '启用'; + }, + icon: ({ row }) => { + return row.status === 1 ? 'turnOff' : 'open'; + }, + event: ({ row }) => rowStatus(row), + }, { type: 'danger', name: '删除', @@ -233,45 +238,26 @@ const state = reactive({ // 加载 const loadData = async () => { - //state.loading = true; - // GetEntityList(state.query) - // .then((res) => { - // if (res.code === 200) { - // const { current, size, total, records } = res.data; - // state.data = records; - // state.pageData = { - // currentPage: current || 1, - // pageSize: size || 10, - // total: total, - // }; - // } - // }) - // .catch((err) => { - // app.$message.error(err.msg); - // state.data = []; - // }) - // .finally(() => { - // state.loading = false; - // }); - state.loading = true; - await sleep(500); - state.data = mockData( - { - p1: '耿马镇一号基地', - landName: '耿马镇2025001号地块', - p3: '耿马傣族佤族自治县/耿马镇', - p4: '1000', - p5: '张三', - p6: '13837633838', - status: 1, - type: 'base_plant', - createTime: '2025-01-01', - updateTime: '2025-01-15', - }, - 10 - ); - state.loading = false; + GetEntityList(state.query) + .then((res) => { + if (res.code === 200) { + const { current, size, total, records } = res.data; + state.data = records; + state.pageData = { + currentPage: current || 1, + pageSize: size || 10, + total: total, + }; + } + }) + .catch((err) => { + app.$message.error(err.msg); + state.data = []; + }) + .finally(() => { + state.loading = false; + }); }; loadData(); @@ -313,29 +299,36 @@ const rowView = (row) => { }; // 启用、禁用 -// const rowStatus = (row) => { -// console.info('操作状态'); -// }; +const rowStatus = (row) => { + let status = row.status === 1 ? 0 : 1; + UpdateStatus({ id: row.id, status }) + .then((res) => { + if (res.code === 200) { + app.$message.success('状态更改成功!'); + loadData(); + } + }) + .catch((err) => { + app.$message.error(err.msg); + }); +}; // 新增 -// const onAdd = () => { -// crudRef.value && crudRef.value.rowAdd(); -// }; const rowSave = (row, done, loading) => { - // AddEntity(row) - // .then((res) => { - // if (res.code === 200) { - // app.$message.success('添加成功!'); - // done(); - // loadData(); - // } - // }) - // .catch((err) => { - // app.$message.error(err.msg); - // }) - // .finally(() => { - // loading(); - // }); + AddEntity(row) + .then((res) => { + if (res.code === 200) { + app.$message.success('添加成功!'); + done(); + loadData(); + } + }) + .catch((err) => { + app.$message.error(err.msg); + }) + .finally(() => { + loading(); + }); }; // 编辑 @@ -344,20 +337,20 @@ const rowEdit = (row) => { }; const rowUpdate = (row, index, done, loading) => { - // UpdateEntity(row) - // .then((res) => { - // if (res.code === 200) { - // app.$message.success('更新成功!'); - // done(); - // loadData(); - // } - // }) - // .catch((err) => { - // app.$message.error(err.msg); - // }) - // .finally(() => { - // loading(); - // }); + UpdateEntity(row) + .then((res) => { + if (res.code === 200) { + app.$message.success('更新成功!'); + done(); + loadData(); + } + }) + .catch((err) => { + app.$message.error(err.msg); + }) + .finally(() => { + loading(); + }); }; // 删除 @@ -371,16 +364,16 @@ const onDel = (rows = []) => { type: 'warning', }) .then(() => { - // DeleteEntity({ ids: ids.join(',') }) - // .then((res) => { - // if (res.code === 200) { - // app.$message.success('删除成功!'); - // loadData(); - // } - // }) - // .catch((err) => { - // app.$message.error(err.msg); - // }); + DeleteEntity({ ids: ids.join(',') }) + .then((res) => { + if (res.code === 200) { + app.$message.success('删除成功!'); + loadData(); + } + }) + .catch((err) => { + app.$message.error(err.msg); + }); }) .catch(() => {}); }; @@ -391,16 +384,26 @@ const rowDel = (row, index, done) => { // 远程搜搜 const remoteLandList = async (val) => { - if (isEmpty(val)) return; + 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); + setDicData(state.options.column, 'landId', res.data.records); } }; // 选择赋值 -const selectedChange = ({ value, item }) => { - console.log(430, value, item, item.landName, item.address, item.area); +const selectedChange = ({ item, value, dic }) => { + // console.log(390, value, item); + crudRef.value.tableForm.landId = item?.id; + crudRef.value.tableForm.landName = item?.landName; + crudRef.value.tableForm.address = item?.address; + crudRef.value.tableForm.area = item?.area; + crudRef.value.tableForm.provinceCode = item?.provinceCode; + // crudRef.value.tableForm.provinceName = item?.provinceName; + crudRef.value.tableForm.cityCode = item?.cityCode; + crudRef.value.tableForm.districtCode = item?.county; + crudRef.value.tableForm.townCode = item?.townCode; + crudRef.value.tableForm.villageCode = item?.villageCode; }; diff --git a/sub-government-affairs-service/src/views/system/dept/index.vue b/sub-government-affairs-service/src/views/system/dept/index.vue index 82169b5..bea75c2 100644 --- a/sub-government-affairs-service/src/views/system/dept/index.vue +++ b/sub-government-affairs-service/src/views/system/dept/index.vue @@ -15,6 +15,11 @@ @row-update="rowUpdate" @row-del="rowDel" > + + @@ -26,9 +31,12 @@ import { reactive, ref } from 'vue'; import { useApp } from '@/hooks'; import { CRUD_OPTIONS } from '@/config'; import { isEmpty, getTree } from '@/utils'; +import { useUserStore } from '@/store/modules/user'; import { GetEntityList, AddEntity, UpdateEntity, DeleteEntity } from '@/apis/system/dept'; +const { VITE_APP_BASE_API } = import.meta.env; const app = useApp(); +const UserStore = useUserStore(); const crudRef = ref(null); const state = reactive({ loading: false, @@ -40,18 +48,39 @@ const state = reactive({ rowKey: 'deptId', index: false, selection: false, - expand: true, + tree: true, + defaultExpandAll: true, + treeProps: { children: 'children', hasChildren: 'hasChildren' }, column: [ { label: '部门名称', prop: 'deptName', search: true, + width: 200, rules: { required: true, message: '请输入', trigger: 'blur', }, }, + { + label: '上级部门', + prop: 'parentId', + type: 'select', + hide: true, + props: { + label: 'deptName', + value: 'deptId', + }, + dicUrl: `${VITE_APP_BASE_API}/system/dept/list`, + dicHeaders: { + authorization: UserStore.token, + }, + dicFormatter: (res) => { + const data = [{ deptId: 0, deptName: '根目录' }, ...res.data]; + return data; + }, + }, { label: '状态', prop: 'status', @@ -70,7 +99,7 @@ const state = reactive({ value: '0', rules: { required: true, - message: '请输入', + message: '请选择', trigger: 'blur', }, }, @@ -137,7 +166,6 @@ const loadData = () => { .then((res) => { if (res.code === 200) { state.data = getTree(res.data, 'deptId'); - console.log(139, state.data); } }) .catch((err) => { @@ -223,7 +251,7 @@ const rowDel = (row, index, done) => { type: 'warning', }) .then(() => { - DeleteEntity({ id: row.id }) + DeleteEntity({ id: row.deptId }) .then((res) => { if (res.code === 200) { app.$message.success('删除成功!'); diff --git a/sub-government-affairs-service/src/views/system/dict/index.vue b/sub-government-affairs-service/src/views/system/dict/index.vue index bfd2833..832d5c3 100644 --- a/sub-government-affairs-service/src/views/system/dict/index.vue +++ b/sub-government-affairs-service/src/views/system/dict/index.vue @@ -18,6 +18,11 @@ @row-update="rowUpdate" @row-del="rowDel" > + + @@ -48,13 +53,6 @@ const state = reactive({ ...CRUD_OPTIONS, selection: false, column: [ - // { - // label: '编码', - // prop: 'dictCode', - // addDisplay: false, - // editDisplay: false, - // viewDisplay: false, - // }, { label: '字典名称', prop: 'dictLabel', @@ -116,6 +114,12 @@ const state = reactive({ trigger: 'blur', }, }, + { + label: '排序', + prop: 'dictSort', + type: 'number', + hide: true, + }, { label: '备注', prop: 'remark', diff --git a/sub-government-affairs-service/src/views/system/dict/type.vue b/sub-government-affairs-service/src/views/system/dict/type.vue index fc196ac..02df011 100644 --- a/sub-government-affairs-service/src/views/system/dict/type.vue +++ b/sub-government-affairs-service/src/views/system/dict/type.vue @@ -18,6 +18,11 @@ @row-update="rowUpdate" @row-del="rowDel" > + + diff --git a/sub-government-affairs-service/src/views/system/menu/index.vue b/sub-government-affairs-service/src/views/system/menu/index.vue new file mode 100644 index 0000000..f7cd740 --- /dev/null +++ b/sub-government-affairs-service/src/views/system/menu/index.vue @@ -0,0 +1,490 @@ + + From 60911cf22398a8d6582fb82bfdca4d499c8c4625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=83=B3?= <826276471@qq.com> Date: Tue, 1 Apr 2025 17:33:12 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat:=E7=A7=8D=E6=BA=90=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/apis/inputSuppliesApi/material.js | 34 +- .../src/config/index.js | 7 + .../src/router/modules/inputSupplies/index.js | 69 +-- .../common/NumberSelect.vue | 21 +- .../inputSuppliesManage/hooks/useBasicInfo.js | 16 + .../material/farmMachinery/index.vue | 400 +++++++++++++++++- .../material/fertilizer/index.vue | 9 +- .../material/pesticide/index.vue | 49 ++- .../material/ratPoison/index.vue | 10 +- .../material/seed/index.vue | 250 ++++++++++- .../farmMachineryDealer/index.vue | 19 - .../fertilizerDealer/index.vue | 19 - .../productionDealer/index.vue | 63 ++- .../pesticideDealer/index.vue | 19 - .../ratPoisonDealer/index.vue | 19 - .../productionDealer/seedDealer/index.vue | 19 - 16 files changed, 841 insertions(+), 182 deletions(-) delete mode 100644 sub-government-affairs-service/src/views/inputSuppliesManage/productionDealer/farmMachineryDealer/index.vue delete mode 100644 sub-government-affairs-service/src/views/inputSuppliesManage/productionDealer/fertilizerDealer/index.vue delete mode 100644 sub-government-affairs-service/src/views/inputSuppliesManage/productionDealer/pesticideDealer/index.vue delete mode 100644 sub-government-affairs-service/src/views/inputSuppliesManage/productionDealer/ratPoisonDealer/index.vue delete mode 100644 sub-government-affairs-service/src/views/inputSuppliesManage/productionDealer/seedDealer/index.vue diff --git a/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js b/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js index 8b47cea..5eb97dd 100644 --- a/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js +++ b/sub-government-affairs-service/src/apis/inputSuppliesApi/material.js @@ -29,7 +29,10 @@ export function pesticideReportSave(data) { method: 'PUT', }); } - +/* 删除农药 */ +export function delPesticide(ids) { + return request(`/inputGoods/pesticide/delete/${ids}`); +} // #endregion /* ------ 肥料 ------ */ @@ -45,6 +48,10 @@ export function addFertilizer(data) { data, }); } +/* 删除肥料 */ +export function delFretilize(ids) { + return request(`/inputGoods/fertilize/delete/${ids}`); +} // #endregion /* ------ 兽药 ------ */ // #region @@ -60,6 +67,29 @@ export function addAnimalMedicine(data) { data, }); } +/* 删除兽药 */ +export function delAnimalMedicine(ids) { + return request(`/inputGoods/animalMedicine/delete/${ids}`); +} +// #endregion +/* ------ 种源 ------ */ +// #region +/* 查询种源 */ +export function getSeedList(params) { + return request('/inputGoods/provenance/page', { + params, + }); +} +/* 新增种源 */ +export function seedSave(data) { + return request('/inputGoods/provenance/save', { + method: 'POST', + data, + }); +} +/* 删除种源 */ +export function delSeed(ids) { + return request(`/inputGoods/provenance/delete/${ids}`); +} // #endregion - // diff --git a/sub-government-affairs-service/src/config/index.js b/sub-government-affairs-service/src/config/index.js index 171e4ef..9b5da37 100644 --- a/sub-government-affairs-service/src/config/index.js +++ b/sub-government-affairs-service/src/config/index.js @@ -1,4 +1,5 @@ import { qiankunWindow } from 'vite-plugin-qiankun/dist/helper'; +import { ref } from 'vue'; const { VITE_APP_MIAN, VITE_APP_NAME } = import.meta.env; export const GenKey = (key, prefix = VITE_APP_NAME) => { @@ -68,3 +69,9 @@ export function customRules(set = { disabled: false }) { } return rulesArr; } + +export const pageData = ref({ + currentPage: 1, + size: 10, + total: 0, +}); 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 40da877..aa2fdf4 100644 --- a/sub-government-affairs-service/src/router/modules/inputSupplies/index.js +++ b/sub-government-affairs-service/src/router/modules/inputSupplies/index.js @@ -46,59 +46,26 @@ const inputSuppliesRoutes = [ 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/seed', + name: 'input-supplies-seed', + component: () => import('@/views/inputSuppliesManage/material/seed/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/productionDealer', - // name: 'productionDealer', - // component: Views, - // meta: { title: '生产经销商管理', icon: 'Document' }, - // redirect: '/sub-government-affairs-service/productionDealer/pesticideDealer', - // children: [ - // { - // path: '/sub-government-affairs-service/productionDealer/pesticideDealer', - // name: 'input-supplies-pesticide-dealer', - // component: () => import('@/views/inputSuppliesManage/productionDealer/pesticideDealer/index.vue'), - // meta: { title: '农药经销商管理', icon: 'Document' }, - // }, - // { - // path: '/sub-government-affairs-service/productionDealer/fertilizerDealer', - // name: 'input-supplies-fertilizer-dealer', - // component: () => import('@/views/inputSuppliesManage/productionDealer/fertilizerDealer/index.vue'), - // meta: { title: '肥料经销商管理', icon: 'Document' }, - // }, - // { - // path: '/sub-government-affairs-service/productionDealer/ratPoisonDealer', - // name: 'input-supplies-ratPoison-dealer', - // component: () => import('@/views/inputSuppliesManage/productionDealer/ratPoisonDealer/index.vue'), - // meta: { title: '兽药经销商管理', icon: 'Document' }, - // }, - // { - // path: '/sub-government-affairs-service/productionDealer/farmMachineryDealer', - // name: 'input-supplies-farmMachinery-dealer', - // component: () => import('@/views/inputSuppliesManage/productionDealer/farmMachineryDealer/index.vue'), - // meta: { title: '农机经销商管理', icon: 'Document' }, - // }, - // { - // path: '/sub-government-affairs-service/productionDealer/seedDealer', - // name: 'input-supplies-seed-dealer', - // component: () => import('@/views/inputSuppliesManage/productionDealer/seedDealer/index.vue'), - // meta: { title: '种源经销商管理', icon: 'Document' }, - // }, - // ], - // }, + { + path: '/sub-government-affairs-service/productionDealer', + name: 'productionDealer', + component: () => import('@/views/inputSuppliesManage/productionDealer/index.vue'), + meta: { title: '企业经销商管理', icon: 'Document' }, + }, // { // path: '/sub-government-affairs-service/enterpriseDealerCheck', // name: 'enterpriseDealerCheck', diff --git a/sub-government-affairs-service/src/views/inputSuppliesManage/common/NumberSelect.vue b/sub-government-affairs-service/src/views/inputSuppliesManage/common/NumberSelect.vue index ccd468f..954a3f7 100644 --- a/sub-government-affairs-service/src/views/inputSuppliesManage/common/NumberSelect.vue +++ b/sub-government-affairs-service/src/views/inputSuppliesManage/common/NumberSelect.vue @@ -1,6 +1,13 @@