diff --git a/src/views/admin/errorrecordlog/ErrorRecordLog.api.ts b/src/views/admin/errorrecordlog/ErrorRecordLog.api.ts new file mode 100644 index 0000000..4d341bb --- /dev/null +++ b/src/views/admin/errorrecordlog/ErrorRecordLog.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/errorrecordlog/errorRecordLog/list', + save='/errorrecordlog/errorRecordLog/add', + edit='/errorrecordlog/errorRecordLog/edit', + deleteOne = '/errorrecordlog/errorRecordLog/delete', + deleteBatch = '/errorrecordlog/errorRecordLog/deleteBatch', + importExcel = '/errorrecordlog/errorRecordLog/importExcel', + exportXls = '/errorrecordlog/errorRecordLog/exportXls', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} diff --git a/src/views/admin/errorrecordlog/ErrorRecordLog.data.ts b/src/views/admin/errorrecordlog/ErrorRecordLog.data.ts new file mode 100644 index 0000000..9c7ec25 --- /dev/null +++ b/src/views/admin/errorrecordlog/ErrorRecordLog.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: 'center', + dataIndex: 'orgName', + ellipsis: false, + }, + { + title: '错误发生平台编码', + align: 'center', + dataIndex: 'orgCode', + ellipsis: false, + }, + { + title: '功能模块', + align: 'center', + dataIndex: 'functionModule', + ellipsis: false, + }, + { + title: '具体环节', + align: 'center', + dataIndex: 'functionAction', + ellipsis: false, + }, + { + title: '错误简介', + align: 'center', + dataIndex: 'errorBrief', + ellipsis: false, + }, + { + title: '错误类型', + align: 'center', + dataIndex: 'errorType', + ellipsis: false, + width:120 + }, + { + title: '错误级别', + align: 'center', + dataIndex: 'errorLevel', + width:120 + }, + { + title: '处理状态', + align: 'center', + dataIndex: 'handleStatus', + width:120 + }, + { + title: '处理人', + align: 'center', + dataIndex: 'handler', + ellipsis: false, + width:120 + }, + { + title: '处理时间', + align: 'center', + dataIndex: 'handleTime', + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + functionModule: { title: '功能模块', order: 0, view: 'text', type: 'string' }, + functionAction: { title: '具体环节', order: 1, view: 'text', type: 'string' }, + errorBrief: { title: '错误简介', order: 2, view: 'text', type: 'string' }, + errorType: { title: '错误类型', order: 6, view: 'text', type: 'string' }, + errorLevel: { title: '错误级别', order: 8, view: 'number', type: 'number' }, + handleStatus: { title: '处理状态', order: 11, view: 'number', type: 'number' }, + handler: { title: '处理人', order: 13, view: 'text', type: 'string' }, + handleTime: { title: '处理时间', order: 14, view: 'datetime', type: 'string' }, + orgName: { title: '机构名称', order: 20, view: 'text', type: 'string' }, + orgCode: { title: '机构编码', order: 21, view: 'text', type: 'string' }, +}; diff --git a/src/views/admin/errorrecordlog/ErrorRecordLogList.vue b/src/views/admin/errorrecordlog/ErrorRecordLogList.vue new file mode 100644 index 0000000..f9c6ecf --- /dev/null +++ b/src/views/admin/errorrecordlog/ErrorRecordLogList.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/src/views/admin/errorrecordlog/components/ErrorRecordLogForm.vue b/src/views/admin/errorrecordlog/components/ErrorRecordLogForm.vue new file mode 100644 index 0000000..80f7d6e --- /dev/null +++ b/src/views/admin/errorrecordlog/components/ErrorRecordLogForm.vue @@ -0,0 +1,274 @@ + + + + + diff --git a/src/views/admin/errorrecordlog/components/ErrorRecordLogModal.vue b/src/views/admin/errorrecordlog/components/ErrorRecordLogModal.vue new file mode 100644 index 0000000..1dfa779 --- /dev/null +++ b/src/views/admin/errorrecordlog/components/ErrorRecordLogModal.vue @@ -0,0 +1,82 @@ + + + + + + diff --git a/src/views/admin/workorder/components/DataSourceForm.vue b/src/views/admin/workorder/components/DataSourceForm.vue index 1b7cf21..325a6ce 100644 --- a/src/views/admin/workorder/components/DataSourceForm.vue +++ b/src/views/admin/workorder/components/DataSourceForm.vue @@ -218,9 +218,49 @@ const validatorRules = reactive({ dbUsername: [{ required: true, message: '请输入数据库用户名!' },], dbPassword: [{ required: true, message: '请输入数据库密码!' },], mediaUrl: [{ required: true, message: '请输入媒体资源地址!' },], - frontPath: [{ required: true, message: '请输入前台路径!' },], - contextPath: [{ required: true, message: '请输入后台路径!' },], - url: [{ required: true, message: '请输入域名' },], + frontPath: [ + { + required: true, + message: '请输入前台路径!' + }, + { + validator: (rule, value) => { + if (value && value.includes('/')) { + return Promise.reject('请勿使用斜杠(/)'); + } + return Promise.resolve(); + }, + trigger: 'blur' + } + ], + contextPath: [ + { + required: true, + message: '请输入后台路径!' + }, + { + validator: (rule, value) => { + if (value && value.includes('/')) { + return Promise.reject('请勿使用斜杠(/)'); + } + return Promise.resolve(); + }, + trigger: 'blur' + }], + url: [ + { + required: true, + message: '请输入域名' + }, + { + validator: (rule, value) => { + if (value && !value.endsWith('/')) { + return Promise.reject('需以斜杠(/)结尾'); + } + return Promise.resolve(); + }, + trigger: 'blur' + }], netUrl: [{ required: true, message: '请输入访问地址' },], accountNo: [{ required: true, message: '请输入账号' },], passwordText: [{ required: true, message: '请输入密码' },],