From e7680aa1f5d47dff723a9049a1f436e732e43689 Mon Sep 17 00:00:00 2001 From: tanzs Date: Wed, 19 Feb 2025 22:59:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E8=BD=A6=E7=B3=BB?= =?UTF-8?q?=E6=A0=91=EF=BC=8C=E4=BF=AE=E6=94=B9=E9=97=A8=E5=BA=97=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/miniapp/car/AppCarTree.api.ts | 85 ++++++ src/views/miniapp/car/AppCarTree.data.ts | 83 +++++ src/views/miniapp/car/AppCarTreeList.vue | 335 +++++++++++++++++++++ .../miniapp/car/components/AppCarTreeForm.vue | 70 +++++ .../miniapp/car/components/AppCarTreeModal.vue | 117 +++++++ src/views/miniapp/store/AppStore.data.ts | 21 +- .../miniapp/store/components/AppStoreForm.vue | 122 ++++---- .../miniapp/store/components/AppStoreModal.vue | 116 +++---- 8 files changed, 826 insertions(+), 123 deletions(-) create mode 100644 src/views/miniapp/car/AppCarTree.api.ts create mode 100644 src/views/miniapp/car/AppCarTree.data.ts create mode 100644 src/views/miniapp/car/AppCarTreeList.vue create mode 100644 src/views/miniapp/car/components/AppCarTreeForm.vue create mode 100644 src/views/miniapp/car/components/AppCarTreeModal.vue diff --git a/src/views/miniapp/car/AppCarTree.api.ts b/src/views/miniapp/car/AppCarTree.api.ts new file mode 100644 index 0000000..f116f23 --- /dev/null +++ b/src/views/miniapp/car/AppCarTree.api.ts @@ -0,0 +1,85 @@ +import {defHttp} from "/@/utils/http/axios"; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/car/appCarTree/rootList', + save='/car/appCarTree/add', + edit='/car/appCarTree/edit', + deleteAppCarTree = '/car/appCarTree/delete', + importExcel = '/car/appCarTree/importExcel', + exportXls = '/car/appCarTree/exportXls', + loadTreeData = '/car/appCarTree/loadTreeRoot', + getChildList = '/car/appCarTree/childList', + getChildListBatch = '/car/appCarTree/getChildListBatch', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + * @param params + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); +/** + * 删除 + */ +export const deleteAppCarTree = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteAppCarTree, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDeleteAppCarTree = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteAppCarTree, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdateDict = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} +/** + * 查询全部树形节点数据 + * @param params + */ +export const loadTreeData = (params) => + defHttp.get({url: Api.loadTreeData,params}); +/** + * 查询子节点数据 + * @param params + */ +export const getChildList = (params) => + defHttp.get({url: Api.getChildList, params}); +/** + * 批量查询子节点数据 + * @param params + */ +export const getChildListBatch = (params) => + defHttp.get({url: Api.getChildListBatch, params},{isTransformResponse:false}); diff --git a/src/views/miniapp/car/AppCarTree.data.ts b/src/views/miniapp/car/AppCarTree.data.ts new file mode 100644 index 0000000..e11114f --- /dev/null +++ b/src/views/miniapp/car/AppCarTree.data.ts @@ -0,0 +1,83 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '名称', + align: 'left', + dataIndex: 'name' + }, + { + title: '描述', + align: 'center', + dataIndex: 'description' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "名称", + field: "name", + component: 'JInput', + }, + { + label: "描述", + field: "description", + component: 'JInput', + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '父级节点', + field: 'pid', + component: 'JTreeSelect', + componentProps: { + dict: "app_car_tree,name,id", + pidField: "pid", + pidValue: "0", + hasChildField: "has_child", + }, + }, + { + label: '名称', + field: 'name', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入名称!'}, + ]; + }, + }, + { + label: '描述', + field: 'description', + component: 'Input', + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + name: {title: '名称',order: 1,view: 'text', type: 'string',}, + description: {title: '描述',order: 2,view: 'text', type: 'string',}, +}; + + +/** +* 流程表单调用这个方法获取formSchema +* @param param +*/ +export function getBpmFormSchema(_formData): FormSchema[]{ + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} diff --git a/src/views/miniapp/car/AppCarTreeList.vue b/src/views/miniapp/car/AppCarTreeList.vue new file mode 100644 index 0000000..4704805 --- /dev/null +++ b/src/views/miniapp/car/AppCarTreeList.vue @@ -0,0 +1,335 @@ + + + + + diff --git a/src/views/miniapp/car/components/AppCarTreeForm.vue b/src/views/miniapp/car/components/AppCarTreeForm.vue new file mode 100644 index 0000000..4013048 --- /dev/null +++ b/src/views/miniapp/car/components/AppCarTreeForm.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/views/miniapp/car/components/AppCarTreeModal.vue b/src/views/miniapp/car/components/AppCarTreeModal.vue new file mode 100644 index 0000000..3b3350c --- /dev/null +++ b/src/views/miniapp/car/components/AppCarTreeModal.vue @@ -0,0 +1,117 @@ + + + \ No newline at end of file diff --git a/src/views/miniapp/store/AppStore.data.ts b/src/views/miniapp/store/AppStore.data.ts index 720e77e..8110a07 100644 --- a/src/views/miniapp/store/AppStore.data.ts +++ b/src/views/miniapp/store/AppStore.data.ts @@ -16,9 +16,9 @@ export const columns: BasicColumn[] = [ dataIndex: 'status_dictText', }, { - title: '备注', + title: '地址', align: 'center', - dataIndex: 'remark', + dataIndex: 'address', }, { title: '创建日期', @@ -42,6 +42,11 @@ export const searchFormSchema: FormSchema[] = [ }, //colProps: {span: 6}, }, + { + label: '地址', + field: 'address', + component: 'JInput', + }, ]; //表单数据 export const formSchema: FormSchema[] = [ @@ -67,6 +72,14 @@ export const formSchema: FormSchema[] = [ return [{ required: true, message: '请输入状态!' }]; }, }, + { + label: '地址', + field: 'address', + component: 'Input', + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请输入地址!' }]; + }, + }, { label: '备注', field: 'remark', @@ -85,8 +98,8 @@ export const formSchema: FormSchema[] = [ export const superQuerySchema = { storeName: { title: '门店名称', order: 0, view: 'text', type: 'string' }, status: { title: '状态', order: 1, view: 'number', type: 'number', dictCode: 'dict_item_status' }, - remark: { title: '备注', order: 2, view: 'text', type: 'string' }, - createTime: { title: '创建日期', order: 3, view: 'datetime', type: 'string' }, + address: { title: '地址', order: 2, view: 'text', type: 'string' }, + createTime: { title: '创建日期', order: 4, view: 'datetime', type: 'string' }, }; /** diff --git a/src/views/miniapp/store/components/AppStoreForm.vue b/src/views/miniapp/store/components/AppStoreForm.vue index 83330af..469481b 100644 --- a/src/views/miniapp/store/components/AppStoreForm.vue +++ b/src/views/miniapp/store/components/AppStoreForm.vue @@ -1,70 +1,70 @@ + initFormData(); + + return { + registerForm, + formDisabled, + submitForm, + } + } + }); + \ No newline at end of file diff --git a/src/views/miniapp/store/components/AppStoreModal.vue b/src/views/miniapp/store/components/AppStoreModal.vue index dbac1db..3f50b17 100644 --- a/src/views/miniapp/store/components/AppStoreModal.vue +++ b/src/views/miniapp/store/components/AppStoreModal.vue @@ -1,71 +1,71 @@ + \ No newline at end of file