From d514c74a73fc0f124815bf90b60c4a814ef78561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=88=E9=B8=BF?= Date: Wed, 18 Jun 2025 10:54:10 +0800 Subject: [PATCH] commit --- main/.env.development | 2 +- .../landManagement/index.js | 74 ++- .../src/composables/useLandCrud.js | 59 +++ .../src/router/modules/lands.js | 12 +- .../src/utils/filterObject.js | 0 .../src/views/landManage/common/Attrs.vue | 137 ----- .../component/landsManage/index.vue | 64 ++- .../component/plantPlan/component/history.vue | 259 ---------- .../plantPlan/component/inputsList.vue | 181 ------- .../component/plantPlan/component/stage.vue | 358 ------------- .../landManage/component/plantPlan/index.vue | 486 ------------------ .../src/views/resource/database/Grassland.vue | 257 +++++++-- .../resource/database/components/LandCrud.vue | 31 ++ .../resource/database/components/LandForm.vue | 0 .../database/components/LandSearch.vue | 0 .../src/views/resource/grid/ActualDetail.vue | 7 - .../src/views/resource/grid/AddGridBac.vue | 392 -------------- .../views/resource/grid/GridManagement.vue | 15 - .../src/views/resource/grid/PlanDetail.vue | 3 - .../src/views/resource/grid/index.vue | 375 -------------- 20 files changed, 378 insertions(+), 2334 deletions(-) create mode 100644 sub-government-affairs-service/src/composables/useLandCrud.js create mode 100644 sub-government-affairs-service/src/utils/filterObject.js delete mode 100644 sub-government-affairs-service/src/views/landManage/common/Attrs.vue delete mode 100644 sub-government-affairs-service/src/views/landManage/component/plantPlan/component/history.vue delete mode 100644 sub-government-affairs-service/src/views/landManage/component/plantPlan/component/inputsList.vue delete mode 100644 sub-government-affairs-service/src/views/landManage/component/plantPlan/component/stage.vue delete mode 100644 sub-government-affairs-service/src/views/landManage/component/plantPlan/index.vue create mode 100644 sub-government-affairs-service/src/views/resource/database/components/LandCrud.vue create mode 100644 sub-government-affairs-service/src/views/resource/database/components/LandForm.vue create mode 100644 sub-government-affairs-service/src/views/resource/database/components/LandSearch.vue delete mode 100644 sub-government-affairs-service/src/views/resource/grid/ActualDetail.vue delete mode 100644 sub-government-affairs-service/src/views/resource/grid/AddGridBac.vue delete mode 100644 sub-government-affairs-service/src/views/resource/grid/GridManagement.vue delete mode 100644 sub-government-affairs-service/src/views/resource/grid/PlanDetail.vue delete mode 100644 sub-government-affairs-service/src/views/resource/grid/index.vue diff --git a/main/.env.development b/main/.env.development index e4c3565..6687280 100644 --- a/main/.env.development +++ b/main/.env.development @@ -16,6 +16,6 @@ VITE_APP_UPLOAD_API = '/uploadApis' # VITE_APP_BASE_URL = 'http://47.109.205.240:8080' # VITE_APP_UPLOAD_URL = 'http://47.109.205.240:9300' # 内网接口地址 -VITE_APP_BASE_URL = 'http://192.168.18.99:8080' +VITE_APP_BASE_URL = 'http://192.168.18.74:8080' # VITE_APP_UPLOAD_URL = 'http://192.168.18.99:8080' # VITE_APP_VIST_URL = 'http://192.168.18.99' diff --git a/sub-government-affairs-service/src/apis/landResourceManagement/landManagement/index.js b/sub-government-affairs-service/src/apis/landResourceManagement/landManagement/index.js index f6f1f7f..b13e65c 100644 --- a/sub-government-affairs-service/src/apis/landResourceManagement/landManagement/index.js +++ b/sub-government-affairs-service/src/apis/landResourceManagement/landManagement/index.js @@ -1,23 +1,5 @@ import request from '@/utils/axios'; -/** - * 分页查询土地列表 - * @param {Object} params 请求参数 - * @param {string} [params.current] 每页条数 - * @param {string} [params.size] 分页 - * @param {string} [params.landType] 土地类型 传入id,土地资源管理/基础信息维护/土地类型列表查询 - * @param {string} [params.regionCode] 区域编码 - * @param {string} [params.keyword] 关键字 - * @param {string} [params.gridId] 网格id - * @returns {Promise} 返回包含接口响应数据的 Promise - */ -export function getLandList(params) { - return request({ - url: '/land-resource/landManage/page', - method: 'get', - params, - }); -} // 新增全部土地信息(POST) export function createLand(data = {}) { return request('/land-resource/landManage/v1/save', { @@ -26,11 +8,7 @@ export function createLand(data = {}) { }); } -/** - * 保存土地基础信息 - * @param {Object} [data={}] 请求数据,默认为空对象 - * @returns {Promise} 返回包含接口响应数据的 Promise - */ +// 保存土地基本信息(POST) export function saveBaseInfo(data = {}) { return request({ url: '/land-resource/landManage/v1/saveBaseInfo', @@ -39,11 +17,7 @@ export function saveBaseInfo(data = {}) { }); } -/** - * 保存土地产权信息 - * @param {Object} [data={}] 请求数据,默认为空对象 - * @returns {Promise} 返回包含接口响应数据的 Promise - */ +// 保存土地产权信息(PUT) export function saveProperty(data = {}) { return request({ url: '/land-resource/landManage/v1/saveProperty', @@ -51,12 +25,24 @@ export function saveProperty(data = {}) { data, }); } +// 保存土地使用信息(PUT) +export function saveUse(data = {}) { + return request({ + url: '/land-resource/landManage/v1/saveUserInfo', + method: 'put', + data, + }); +} -/** - * 编辑土地信息 - * @param {Object} [data={}] 请求数据,默认为空对象,用于传递要编辑的土地信息 - * @returns {Promise} 返回包含接口响应数据的 Promise - */ +// 删除土地信息(DELETE) +export function deleteLand(id) { + return request({ + url: `/land-resource/landManage/delete/${id}`, + method: 'delete', + }); +} + +// 编辑土地信息(POST) export function editLand(data = {}) { return request({ url: '/land-resource/landManage/edit', @@ -65,14 +51,20 @@ export function editLand(data = {}) { }); } -/** - * 删除指定 ID 的土地信息 - * @param {string|number} id 要删除的土地信息的 ID - * @returns {Promise} 返回包含接口响应数据的 Promise - */ -export function deleteLand(id) { +// 获取土地列表(GET) +export function fetchLandList(params) { return request({ - url: `/land-resource/landManage/delete/${id}`, - method: 'delete', + url: '/land-resource/landManage/page', + method: 'get', + params, + }); +} + +// 获取土地详情(GET) +export function getLandById(id) { + return request({ + url: `/land-resource/landManage/getLandInfo`, + method: 'get', + params: { landId: id }, }); } diff --git a/sub-government-affairs-service/src/composables/useLandCrud.js b/sub-government-affairs-service/src/composables/useLandCrud.js new file mode 100644 index 0000000..3b26c1b --- /dev/null +++ b/sub-government-affairs-service/src/composables/useLandCrud.js @@ -0,0 +1,59 @@ +import { ref } from 'vue'; +import { fetchLandList, deleteLand, createLand, updateLand } from '@/apis/landResourceManagement/landManagement'; +import { ElMessageBox, ElMessage } from 'element-plus'; +import { cloneDeep } from 'lodash'; + +export function useLandCrud(type) { + const list = ref([]); + const pagination = ref({ currentPage: 1, pageSize: 10, total: 0 }); + const searchForm = ref({}); + + const formVisible = ref(false); + const formMode = ref('create'); + const formData = ref({}); + + const fetchList = async () => { + const res = await fetchLandList({ ...searchForm.value, type }); + list.value = res.data.records || []; + pagination.value.total = res.data.total; + }; + + const handleDelete = async (row) => { + await ElMessageBox.confirm('确认删除?'); + await deleteLand(row.id); + ElMessage.success('删除成功'); + fetchList(); + }; + + const openForm = (mode, row = {}) => { + formMode.value = mode; + formData.value = cloneDeep(row); + formVisible.value = true; + }; + + const handleSubmit = async (data) => { + if (formMode.value === 'create') { + await createLand({ ...data, type }); + ElMessage.success('新增成功'); + } else { + await updateLand(data); + ElMessage.success('更新成功'); + } + formVisible.value = false; + fetchList(); + }; + + return { + list, + pagination, + searchForm, + loading: ref(false), + fetchList, + handleDelete, + handleSubmit, + formVisible, + formMode, + formData, + openForm, + }; +} diff --git a/sub-government-affairs-service/src/router/modules/lands.js b/sub-government-affairs-service/src/router/modules/lands.js index 1f5ce16..3022680 100644 --- a/sub-government-affairs-service/src/router/modules/lands.js +++ b/sub-government-affairs-service/src/router/modules/lands.js @@ -9,12 +9,12 @@ const landsRoutes = [ redirect: '/sub-government-affairs-service/plantPlan', meta: { title: '土地管理', icon: 'Grape' }, children: [ - // { - // path: '/sub-government-affairs-service/landsManage', - // name: 'landsManage', - // component: () => import('@/views/landManage/component/landsManage/index.vue'), - // meta: { title: '土地资源信息登记', icon: '' }, - // }, + { + path: '/sub-government-affairs-service/landsManage', + name: 'landsManage', + component: () => import('@/views/landManage/component/landsManage/index.vue'), + meta: { title: '土地资源信息登记', icon: '' }, + }, // { // path: '/sub-government-affairs-service/plantPlan', // name: 'plantPlan', diff --git a/sub-government-affairs-service/src/utils/filterObject.js b/sub-government-affairs-service/src/utils/filterObject.js new file mode 100644 index 0000000..e69de29 diff --git a/sub-government-affairs-service/src/views/landManage/common/Attrs.vue b/sub-government-affairs-service/src/views/landManage/common/Attrs.vue deleted file mode 100644 index 6e8ed76..0000000 --- a/sub-government-affairs-service/src/views/landManage/common/Attrs.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - diff --git a/sub-government-affairs-service/src/views/landManage/component/landsManage/index.vue b/sub-government-affairs-service/src/views/landManage/component/landsManage/index.vue index 6273d2b..5c9eaea 100644 --- a/sub-government-affairs-service/src/views/landManage/component/landsManage/index.vue +++ b/sub-government-affairs-service/src/views/landManage/component/landsManage/index.vue @@ -13,9 +13,20 @@ value-key="landType" :clearable="true" /> --> - + + 搜索 重置 @@ -41,9 +52,16 @@ - - - + @@ -129,7 +147,7 @@ diff --git a/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/inputsList.vue b/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/inputsList.vue deleted file mode 100644 index 45bfcd1..0000000 --- a/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/inputsList.vue +++ /dev/null @@ -1,181 +0,0 @@ - - - diff --git a/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/stage.vue b/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/stage.vue deleted file mode 100644 index ff1c7bb..0000000 --- a/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/stage.vue +++ /dev/null @@ -1,358 +0,0 @@ - - diff --git a/sub-government-affairs-service/src/views/landManage/component/plantPlan/index.vue b/sub-government-affairs-service/src/views/landManage/component/plantPlan/index.vue deleted file mode 100644 index d9f469c..0000000 --- a/sub-government-affairs-service/src/views/landManage/component/plantPlan/index.vue +++ /dev/null @@ -1,486 +0,0 @@ - - diff --git a/sub-government-affairs-service/src/views/resource/database/Grassland.vue b/sub-government-affairs-service/src/views/resource/database/Grassland.vue index 9ee690b..5209aa7 100644 --- a/sub-government-affairs-service/src/views/resource/database/Grassland.vue +++ b/sub-government-affairs-service/src/views/resource/database/Grassland.vue @@ -7,7 +7,7 @@ - + 搜索 @@ -16,10 +16,10 @@ - - - - + + + + - - -

填写网格信息

- - - - - - - - - - - - -
+ + +

基本信息

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

承包信息

+ + + + + + + + + + + + + + + + + + + +
+ +

流转信息

+ + + + + + + + + + + + + + + + + + + + + +
+
+
@@ -72,6 +170,7 @@ import { CRUD_OPTIONS } from '@/config'; import { ElMessage, ElMessageBox } from 'element-plus'; import { useUserStore } from '@/store/modules/user'; import { mockData } from './landData'; +import request from '@/utils/axios'; const UserStore = useUserStore(); const user = UserStore.getUserInfo(); @@ -83,6 +182,7 @@ const visible = ref(false); const isReadonly = ref(false); const dialogTitle = ref(); const activeTab = ref('1'); +const activeFormTab = ref('basic'); const formData = ref({ gridName: '', gridAreaCode: '', @@ -101,11 +201,12 @@ const pageData = ref({ total: 0, }); const searchForm = ref({ - gridName: '', keyword: '', + landStatus: 1, regionCode: '', + gridId: '', id: '', - status: -1, + landTypeName: '草地', }); const initialSearchForm = { ...searchForm.value }; const resetSearch = () => { @@ -137,7 +238,7 @@ const crudOptions = reactive({ { label: '地块编号', prop: 'id', width: 160 }, { label: '地块名称', prop: 'landName', width: 170 }, { label: '面积', prop: 'area', formatter: (row, column, cellValue) => `${Number(cellValue).toFixed(2)} 亩` }, - { label: '土地分类', prop: 'landTypeName' }, + { label: '土地分类', prop: 'fullLandType' }, { label: '土壤类型', prop: 'soilTypeName' }, { label: '所属行政区域', prop: 'fullRegionName', width: 160 }, { label: '所属网格', prop: 'gridName', width: 90 }, @@ -145,15 +246,13 @@ const crudOptions = reactive({ { label: '土地承包经营人', prop: 'propertyName' }, { label: '联系电话', prop: 'propertyPhone' }, { label: '土地经营权证书编号', prop: 'landCode', width: 160 }, - { label: '是否土地流转', prop: 'isTransfer' }, + { label: '是否土地流转', prop: 'landTransfer' }, { label: '土地受让方', prop: 'transferName' }, { label: '受让方联系电话', prop: 'transferPhone', width: 100 }, { label: '流转合同', prop: 'transferContract' }, { label: '信息填报人', prop: 'fillName' }, { label: '信息填报单位', prop: 'fillGroup' }, { label: '信息填报时间', prop: 'fillTime' }, - // { label: '信息更新人', prop: 'updateName' }, - // { label: '信息更新单位', prop: 'updateGroup' }, { label: '信息更新时间', prop: 'updateTime' }, ], actions: [ @@ -176,8 +275,7 @@ const crudOptions = reactive({ ], }); const handleTabChange = ({ name }) => { - // activeTab.value = name; - console.log('切换tab', activeTab.value); + searchForm.value.landStatus = Number(activeTab.value); getData(); }; const handleRefresh = async () => { @@ -190,17 +288,17 @@ const handleCurrentChange = (val) => { const handleSizeChange = (val) => { pageData.value.pageSize = val; }; -const handleView = (row) => { +const handleView = async (row) => { isReadonly.value = true; - formData.value = { ...row }; + formData.value = await getLandDetail(row.id); dialogTitle.value = '查看网格'; - // visible.value = true; + visible.value = true; }; const handleEdit = (row) => { isReadonly.value = false; formData.value = { ...row }; dialogTitle.value = '编辑网格'; - // visible.value = true; + visible.value = true; }; const handleDelete = async (row) => { console.log('删除', row); @@ -229,13 +327,13 @@ const handleSubmit = async () => { console.log('提交表单:', formData.value); try { if (dialogTitle.value === '新增网格') { - await createGrid(formData.value); + await createLand(formData.value); ElMessage.success('新增成功'); resetForm(); visible.value = false; getData(); } else { - await updateGrid(formData.value); + await editLand(formData.value); ElMessage.success('更新成功'); resetForm(); visible.value = false; @@ -249,28 +347,44 @@ const handleSubmit = async () => { // --------------------------------------------------------------------- // 业务代码 // --------------------------------------------------------------------- -import { createGrid, updateGrid, deleteGrid, fetchGridList, getGridDetail, exportGrid } from '@/apis/landResourceManagement/gridManagement'; +import { createLand, deleteLand, editLand, fetchLandList, getLandById } from '@/apis/landResourceManagement/landManagement'; onMounted(() => { getData(); + fetchLandTypeData(); }); const getData = async () => { - // const filteredParams = filterObject(searchForm.value); - // const response = await fetchGridList(filteredParams); - // crudData.value = Array.isArray(response.data.records) ? response.data.records : []; loading.value = true; - // 模拟接口延迟 - await new Promise((resolve) => setTimeout(resolve, 300)); - crudData.value = mockData - .filter((item) => item.status === activeTab.value) - .map((item) => ({ - ...item, - landTypeName: '草地', - })); + const filteredParams = filterObject(searchForm.value); + const response = await fetchLandList(filteredParams); + crudData.value = Array.isArray(response.data.records) ? response.data.records : []; pageData.value.total = crudData.value.length; loading.value = false; }; +const getLandDetail = async (id) => { + const response = await getLandById(id); + return response.data; +}; +const landTypeOptions = ref([]); +const treeProps = ref({ + value: 'id', + label: 'landType', + children: 'children', + // disabled: (data) => { + // return data.children && data.children.length > 0; + // }, +}); +const fetchLandTypeData = async () => { + try { + const response = await request.get('/land-resource/baseInfo/landTree', { params: { status: '1' } }); + if (response.code === 200) { + landTypeOptions.value = response.data; + } + } catch (error) { + console.error('获取土地类型数据失败', error); + } +}; const handleAdd = () => { console.log('handleAdd'); resetForm(); @@ -301,7 +415,7 @@ h1 { } :deep(.el-dialog__body) { padding: 20px; - height: calc(100vh - 300px); + // height: calc(100vh - 300px); overflow-y: auto; } .form-title { @@ -326,4 +440,39 @@ h1 { margin-left: 12px; } } +.tabs-wrapper { + width: 100%; + display: flex; + align-items: center; + // background-color: #7daaaa; + + .el-tabs__header { + width: 100%; + + .el-tabs__nav-scroll { + display: flex; + justify-content: center; + } + + .el-tabs__item { + font-size: 16px; + color: #555555; + font-weight: 500; + } + } + :deep(.el-tabs__content) { + padding: 20px; + // background-color: #af8686; + border-radius: 4px; + width: 80%; + height: calc(100vh - 400px); + overflow-y: auto; + + .el-tab-pane { + margin: 0 auto; + width: 100%; + // background-color: #555555; + } + } +} diff --git a/sub-government-affairs-service/src/views/resource/database/components/LandCrud.vue b/sub-government-affairs-service/src/views/resource/database/components/LandCrud.vue new file mode 100644 index 0000000..de53945 --- /dev/null +++ b/sub-government-affairs-service/src/views/resource/database/components/LandCrud.vue @@ -0,0 +1,31 @@ + + + diff --git a/sub-government-affairs-service/src/views/resource/database/components/LandForm.vue b/sub-government-affairs-service/src/views/resource/database/components/LandForm.vue new file mode 100644 index 0000000..e69de29 diff --git a/sub-government-affairs-service/src/views/resource/database/components/LandSearch.vue b/sub-government-affairs-service/src/views/resource/database/components/LandSearch.vue new file mode 100644 index 0000000..e69de29 diff --git a/sub-government-affairs-service/src/views/resource/grid/ActualDetail.vue b/sub-government-affairs-service/src/views/resource/grid/ActualDetail.vue deleted file mode 100644 index 2f4998c..0000000 --- a/sub-government-affairs-service/src/views/resource/grid/ActualDetail.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/sub-government-affairs-service/src/views/resource/grid/AddGridBac.vue b/sub-government-affairs-service/src/views/resource/grid/AddGridBac.vue deleted file mode 100644 index 6ae51e1..0000000 --- a/sub-government-affairs-service/src/views/resource/grid/AddGridBac.vue +++ /dev/null @@ -1,392 +0,0 @@ - - diff --git a/sub-government-affairs-service/src/views/resource/grid/GridManagement.vue b/sub-government-affairs-service/src/views/resource/grid/GridManagement.vue deleted file mode 100644 index 62d6e21..0000000 --- a/sub-government-affairs-service/src/views/resource/grid/GridManagement.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/sub-government-affairs-service/src/views/resource/grid/PlanDetail.vue b/sub-government-affairs-service/src/views/resource/grid/PlanDetail.vue deleted file mode 100644 index 289c554..0000000 --- a/sub-government-affairs-service/src/views/resource/grid/PlanDetail.vue +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/sub-government-affairs-service/src/views/resource/grid/index.vue b/sub-government-affairs-service/src/views/resource/grid/index.vue deleted file mode 100644 index 52dd42d..0000000 --- a/sub-government-affairs-service/src/views/resource/grid/index.vue +++ /dev/null @@ -1,375 +0,0 @@ - -