diff --git a/web-vue/packages/biz/api/biz/areaSource.ts b/web-vue/packages/biz/api/biz/areaSource.ts new file mode 100644 index 00000000..e9e77bfc --- /dev/null +++ b/web-vue/packages/biz/api/biz/areaSource.ts @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + * @author gaoxq + */ +import { defHttp } from '@jeesite/core/utils/http/axios'; +import { useGlobSetting } from '@jeesite/core/hooks/setting'; +import { BasicModel, Page, TreeDataModel, TreeModel } from '@jeesite/core/api/model/baseModel'; +const { adminPath } = useGlobSetting(); + +export interface BizAreaSource extends BasicModel { + createTime: string; // 记录时间 + areaId: string; // 区域标识 + areaCode?: string; // 区域编号 + areaName?: string; // 区域名称 + pareaCode?: string; // 上级编号 + areaLevel: number; // 区域级别 + treeName?: string; // 区域地址 + updateTime?: string; // 更新时间 + areaStatus?: string; // 区域状态 +} + +export const bizAreaSourceList = (params?: BizAreaSource | any) => + defHttp.get({ url: adminPath + '/biz/areaSource/list', params }); + +export const bizAreaSourceListData = (params?: BizAreaSource | any) => + defHttp.post>({ url: adminPath + '/biz/areaSource/listData', params }); + +export const bizAreaSourceForm = (params?: BizAreaSource | any) => + defHttp.get({ url: adminPath + '/biz/areaSource/form', params }); + +export const bizAreaSourceSave = (params?: any, data?: BizAreaSource | any) => + defHttp.postJson({ url: adminPath + '/biz/areaSource/save', params, data }); + +export const bizAreaSourceDelete = (params?: BizAreaSource | any) => + defHttp.get({ url: adminPath + '/biz/areaSource/delete', params }); + +export const bizAreaSourceTreeData = (params?: any) => + defHttp.get({ url: adminPath + '/biz/areaSource/treeData', params }); \ No newline at end of file diff --git a/web-vue/packages/biz/api/biz/folders.ts b/web-vue/packages/biz/api/biz/folders.ts index c485106b..6a83474d 100644 --- a/web-vue/packages/biz/api/biz/folders.ts +++ b/web-vue/packages/biz/api/biz/folders.ts @@ -5,11 +5,10 @@ */ import { defHttp } from '@jeesite/core/utils/http/axios'; import { useGlobSetting } from '@jeesite/core/hooks/setting'; -import { BasicModel, Page } from '@jeesite/core/api/model/baseModel'; +import { BasicModel, Page, TreeDataModel, TreeModel } from '@jeesite/core/api/model/baseModel'; import { UploadApiResult } from '@jeesite/core/api/sys/upload'; import { UploadFileParams } from '@jeesite/types/axios'; import { AxiosProgressEvent } from 'axios'; -import { TreeDataModel, TreeModel, Page } from '@jeesite/core/api/model/baseModel'; const { ctxPath, adminPath } = useGlobSetting(); diff --git a/web-vue/packages/biz/api/biz/projectRequirements.ts b/web-vue/packages/biz/api/biz/projectRequirements.ts index d8a6bccf..a3c75a98 100644 --- a/web-vue/packages/biz/api/biz/projectRequirements.ts +++ b/web-vue/packages/biz/api/biz/projectRequirements.ts @@ -17,6 +17,7 @@ export interface BizProjectRequirements extends BasicModel { - provListParams.value.provinceCode = value; - }, + api: bizProvinceListAll, + params: {}, + fieldNames: { label: 'provinceName', value: 'provinceCode' }, + immediate: true, + allowClear: true, + onChange: (value: string) => { + provListParams.value.provinceCode = value; + }, }, required: true, colProps: { md: 24, lg: 24 }, diff --git a/web-vue/packages/biz/views/biz/projectRequirements/form.vue b/web-vue/packages/biz/views/biz/projectRequirements/form.vue index 5b104010..551d84ac 100644 --- a/web-vue/packages/biz/views/biz/projectRequirements/form.vue +++ b/web-vue/packages/biz/views/biz/projectRequirements/form.vue @@ -36,6 +36,7 @@ import { WangEditor } from '@jeesite/core/components/WangEditor'; import { BasicForm, FormSchema, useForm } from '@jeesite/core/components/Form'; import { BasicModal, useModalInner } from '@jeesite/core/components/Modal'; + import { BizAreaSource, bizAreaSourceTreeData } from '@jeesite/biz/api/biz/areaSource'; import { BizProjectRequirements, bizProjectRequirementsSave, bizProjectRequirementsForm } from '@jeesite/biz/api/biz/projectRequirements'; import { formatToDateTime } from '@jeesite/core/utils/dateUtil'; @@ -50,6 +51,8 @@ icon: meta.icon || 'i-ant-design:book-outlined', value: record.value.isNewRecord ? t('新增需求信息') : t('编辑需求信息'), })); + + const areaListParams = ref({ areaLevel: '1' }); const inputFormSchemas: FormSchema[] = [ { @@ -60,7 +63,6 @@ maxlength: 52, }, required: true, - colProps: { md: 24, lg: 24 }, }, { label: t('需求编号'), @@ -70,13 +72,29 @@ maxlength: 24, }, }, + { + label: t('区域级别'), + field: 'areaLevel', + component: 'Select', + componentProps: { + dictType: 'area_type', + immediate: true, + allowClear: true, + onChange: (value: string) => { + areaListParams.value.areaLevel = value; + }, + }, + required: true, + }, { label: t('区域名称'), field: 'areaCode', - fieldLabel: 'provinceName', - component: 'ListSelect', + fieldLabel: 'areaName', + component: 'TreeSelect', componentProps: { - selectType: 'bizProvSelect', + api: bizAreaSourceTreeData, + params: areaListParams.value, + allowClear: true, }, required: true, }, diff --git a/web-vue/packages/biz/views/biz/projectRequirements/list.vue b/web-vue/packages/biz/views/biz/projectRequirements/list.vue index a6c3c561..eb4308af 100644 --- a/web-vue/packages/biz/views/biz/projectRequirements/list.vue +++ b/web-vue/packages/biz/views/biz/projectRequirements/list.vue @@ -39,6 +39,7 @@ import { Icon } from '@jeesite/core/components/Icon'; import { BasicTable, BasicColumn, useTable } from '@jeesite/core/components/Table'; import { BizProjectRequirements, bizProjectRequirementsList } from '@jeesite/biz/api/biz/projectRequirements'; + import { BizAreaSource, bizAreaSourceTreeData } from '@jeesite/biz/api/biz/areaSource'; import { bizProjectRequirementsDelete, bizProjectRequirementsListData } from '@jeesite/biz/api/biz/projectRequirements'; import { useModal } from '@jeesite/core/components/Modal'; import { FormProps } from '@jeesite/core/components/Form'; @@ -56,6 +57,8 @@ value: meta.title || t('需求信息管理'), }; const loading = ref(false); + + const areaListParams = ref({ areaLevel: '1' }); const searchForm: FormProps = { baseColProps: { md: 8, lg: 6 }, @@ -89,13 +92,28 @@ field: 'requirementCode', component: 'Input', }, + { + label: t('区域级别'), + field: 'areaLevel', + component: 'Select', + componentProps: { + dictType: 'area_type', + immediate: true, + allowClear: true, + onChange: (value: string) => { + areaListParams.value.areaLevel = value; + }, + }, + }, { label: t('区域名称'), field: 'areaCode', - fieldLabel: 'provinceName', - component: 'ListSelect', + fieldLabel: 'areaName', + component: 'TreeSelect', componentProps: { - selectType: 'bizProvSelect', + api: bizAreaSourceTreeData, + params: areaListParams.value, + allowClear: true, }, }, { @@ -116,11 +134,6 @@ selectType: 'bizEmpSelect', }, }, - { - label: t('需求描述'), - field: 'requirementDescription', - component: 'Input', - }, { label: t('优先等级'), field: 'priority', @@ -195,16 +208,25 @@ dataIndex: 'projectName', key: 'c.project_name', sorter: true, - width: 130, + width: 225, align: 'left', }, { - title: t('区域编号'), - dataIndex: 'areaCode', - key: 'a.area_code', + title: t('区域级别'), + dataIndex: 'areaLevel', + key: 'a.area_level', sorter: true, width: 130, align: 'left', + dictType: 'area_type', + }, + { + title: t('区域名称'), + dataIndex: 'treeName', + key: 'd.tree_name', + sorter: true, + width: 165, + align: 'left', }, { title: t('项目名称'), diff --git a/web-vue/packages/biz/views/biz/projectRequirements/view.vue b/web-vue/packages/biz/views/biz/projectRequirements/view.vue index 45afce0c..7c08116c 100644 --- a/web-vue/packages/biz/views/biz/projectRequirements/view.vue +++ b/web-vue/packages/biz/views/biz/projectRequirements/view.vue @@ -33,6 +33,7 @@ import { Icon } from '@jeesite/core/components/Icon'; import { BasicForm, FormSchema, useForm } from '@jeesite/core/components/Form'; import { BasicModal, useModalInner } from '@jeesite/core/components/Modal'; + import { BizAreaSource, bizAreaSourceTreeData } from '@jeesite/biz/api/biz/areaSource'; import { BizProjectRequirements, bizProjectRequirementsSave, bizProjectRequirementsForm } from '@jeesite/biz/api/biz/projectRequirements'; import { formatToDateTime } from '@jeesite/core/utils/dateUtil'; @@ -48,6 +49,8 @@ value: t('查看需求信息'), })); + const areaListParams = ref({ areaLevel: '1' }); + const inputFormSchemas: FormSchema[] = [ { label: t('需求名称'), @@ -57,7 +60,6 @@ maxlength: 52, }, dynamicDisabled: true, - colProps: { md: 24, lg: 24 }, }, { label: t('需求编号'), @@ -68,13 +70,29 @@ }, dynamicDisabled: true, }, + { + label: t('区域级别'), + field: 'areaLevel', + component: 'Select', + componentProps: { + dictType: 'area_type', + immediate: true, + allowClear: true, + onChange: (value: string) => { + areaListParams.value.areaLevel = value; + }, + }, + dynamicDisabled: true, + }, { label: t('区域名称'), field: 'areaCode', - fieldLabel: 'provinceName', - component: 'ListSelect', + fieldLabel: 'areaName', + component: 'TreeSelect', componentProps: { - selectType: 'bizProvSelect', + api: bizAreaSourceTreeData, + params: areaListParams.value, + allowClear: true, }, dynamicDisabled: true, },