diff --git a/src/views/kc/jiaoshi/KcZhihuijiaoshiMonitorLog.api.ts b/src/views/kc/jiaoshi/KcZhihuijiaoshiMonitorLog.api.ts new file mode 100644 index 0000000..b72edf1 --- /dev/null +++ b/src/views/kc/jiaoshi/KcZhihuijiaoshiMonitorLog.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/jiaoshi/kcZhihuijiaoshiMonitorLog/list', + save='/jiaoshi/kcZhihuijiaoshiMonitorLog/add', + edit='/jiaoshi/kcZhihuijiaoshiMonitorLog/edit', + deleteOne = '/jiaoshi/kcZhihuijiaoshiMonitorLog/delete', + deleteBatch = '/jiaoshi/kcZhihuijiaoshiMonitorLog/deleteBatch', + importExcel = '/jiaoshi/kcZhihuijiaoshiMonitorLog/importExcel', + exportXls = '/jiaoshi/kcZhihuijiaoshiMonitorLog/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/kc/jiaoshi/KcZhihuijiaoshiMonitorLog.data.ts b/src/views/kc/jiaoshi/KcZhihuijiaoshiMonitorLog.data.ts new file mode 100644 index 0000000..41bf442 --- /dev/null +++ b/src/views/kc/jiaoshi/KcZhihuijiaoshiMonitorLog.data.ts @@ -0,0 +1,109 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '操作人', + align:"center", + dataIndex: 'createBy_dictText', + customRender: ({ text }) => { + return text?? '系统'; + }, + }, + { + title: '时间', + align:"center", + dataIndex: 'createTime' + }, + { + title: '日志类型', + align: "center", + dataIndex: 'logType', + customRender: ({ text }) => { + let map = ['','状态正常', '开启成功', '开启失败'] + return map[text] + }, + }, + { + title: '教学楼名称', + align: "center", + dataIndex: 'jxlName' + }, + { + title: '教室名称', + align: "center", + dataIndex: 'jsmc' + }, +]; + +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "日志类型", + field: 'logType', + component: 'Select', + colProps: {span: 6}, + componentProps: { + options: [ + { + label: '状态正常', + value: 1, + key: 1, + }, + { + label: '开启成功', + value: 2, + key: 2, + }, + { + label: '开启失败', + value: 2, + key: 2, + }, + ], + }, + }, + { + label: "教学楼名称", + field: 'jxlName', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "教室名称", + field: 'jsmc', + component: 'Input', + colProps: {span: 6}, + }, +]; + +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '日志类型', + field: 'logType', + component: 'JDictSelectTag', + componentProps:{ + dictCode: "" + }, + }, + { + label: '教学楼名称', + field: 'jxlName', + component: 'Input', + }, + { + label: '教室名称', + field: 'jsmc', + component: 'Input', + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/kc/jiaoshi/KcZhihuijiaoshiMonitorLogList.vue b/src/views/kc/jiaoshi/KcZhihuijiaoshiMonitorLogList.vue new file mode 100644 index 0000000..3f51784 --- /dev/null +++ b/src/views/kc/jiaoshi/KcZhihuijiaoshiMonitorLogList.vue @@ -0,0 +1,251 @@ + + + + + diff --git a/src/views/kc/jiaoshi/KcZhihuijiaoshiStateLog.api.ts b/src/views/kc/jiaoshi/KcZhihuijiaoshiStateLog.api.ts new file mode 100644 index 0000000..647dc56 --- /dev/null +++ b/src/views/kc/jiaoshi/KcZhihuijiaoshiStateLog.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/jiaoshi/kcZhihuijiaoshiStateLog/list', + save='/jiaoshi/kcZhihuijiaoshiStateLog/add', + edit='/jiaoshi/kcZhihuijiaoshiStateLog/edit', + deleteOne = '/jiaoshi/kcZhihuijiaoshiStateLog/delete', + deleteBatch = '/jiaoshi/kcZhihuijiaoshiStateLog/deleteBatch', + importExcel = '/jiaoshi/kcZhihuijiaoshiStateLog/importExcel', + exportXls = '/jiaoshi/kcZhihuijiaoshiStateLog/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/kc/jiaoshi/KcZhihuijiaoshiStateLog.data.ts b/src/views/kc/jiaoshi/KcZhihuijiaoshiStateLog.data.ts new file mode 100644 index 0000000..47cd2ee --- /dev/null +++ b/src/views/kc/jiaoshi/KcZhihuijiaoshiStateLog.data.ts @@ -0,0 +1,169 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '操作人', + align:"center", + dataIndex: 'createBy_dictText', + customRender: ({ text }) => { + return text?? '系统'; + }, + }, + { + title: '时间', + align:"center", + dataIndex: 'createTime' + }, + { + title: '教学楼名称', + align: "center", + dataIndex: 'jxlName' + }, + { + title: '教室名称', + align: "center", + dataIndex: 'jsmc' + }, + { + title: '教师近景', + align: "center", + dataIndex: 'lbzj' + }, + { + title: '教师全景', + align: "center", + dataIndex: 'jsqj' + }, + { + title: '学生全景', + align: "center", + dataIndex: 'xsqj' + }, + { + title: 'PPT', + align: "center", + dataIndex: 'ppt' + }, + { + title: '绿色的数量', + align: "center", + dataIndex: 'greenNum' + }, + { + title: '状态指示', + align: "center", + dataIndex: 'type', + + }, +]; + +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "教学楼名称", + field: 'jxlName', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "教室名称", + field: 'jsmc', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "教师近景", + field: 'lbzj', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "教师全景", + field: 'jsqj', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "学生全景", + field: 'xsqj', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "PPT", + field: 'ppt', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "绿色的数量", + field: 'greenNum', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "状态指示灯", + field: 'type', + component: 'JDictSelectTag', + componentProps:{ + }, + colProps: {span: 6}, + }, +]; + +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '教学楼名称', + field: 'jxlName', + component: 'Input', + }, + { + label: '教室名称', + field: 'jsmc', + component: 'Input', + }, + { + label: '教师近景', + field: 'lbzj', + component: 'Input', + }, + { + label: '教师全景', + field: 'jsqj', + component: 'Input', + }, + { + label: '学生全景', + field: 'xsqj', + component: 'Input', + }, + { + label: 'PPT', + field: 'ppt', + component: 'Input', + }, + { + label: '绿色的数量', + field: 'greenNum', + component: 'InputNumber', + }, + { + label: '状态指示灯', + field: 'type', + component: 'JDictSelectTag', + componentProps:{ + dictCode: "" + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/kc/jiaoshi/KcZhihuijiaoshiStateLogList.vue b/src/views/kc/jiaoshi/KcZhihuijiaoshiStateLogList.vue new file mode 100644 index 0000000..f2cb69c --- /dev/null +++ b/src/views/kc/jiaoshi/KcZhihuijiaoshiStateLogList.vue @@ -0,0 +1,270 @@ + + + + + diff --git a/src/views/kc/jiaoshi/components/KcZhihuijiaoshiMonitorLogForm.vue b/src/views/kc/jiaoshi/components/KcZhihuijiaoshiMonitorLogForm.vue new file mode 100644 index 0000000..49905bd --- /dev/null +++ b/src/views/kc/jiaoshi/components/KcZhihuijiaoshiMonitorLogForm.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/src/views/kc/jiaoshi/components/KcZhihuijiaoshiMonitorLogModal.vue b/src/views/kc/jiaoshi/components/KcZhihuijiaoshiMonitorLogModal.vue new file mode 100644 index 0000000..777f2e7 --- /dev/null +++ b/src/views/kc/jiaoshi/components/KcZhihuijiaoshiMonitorLogModal.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/kc/jiaoshi/components/KcZhihuijiaoshiStateLogForm.vue b/src/views/kc/jiaoshi/components/KcZhihuijiaoshiStateLogForm.vue new file mode 100644 index 0000000..9cd4483 --- /dev/null +++ b/src/views/kc/jiaoshi/components/KcZhihuijiaoshiStateLogForm.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/src/views/kc/jiaoshi/components/KcZhihuijiaoshiStateLogModal.vue b/src/views/kc/jiaoshi/components/KcZhihuijiaoshiStateLogModal.vue new file mode 100644 index 0000000..74cf02f --- /dev/null +++ b/src/views/kc/jiaoshi/components/KcZhihuijiaoshiStateLogModal.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/kc/jiaoshi/index.vue b/src/views/kc/jiaoshi/index.vue index 7c44035..c1a1f01 100644 --- a/src/views/kc/jiaoshi/index.vue +++ b/src/views/kc/jiaoshi/index.vue @@ -26,7 +26,7 @@ -
+
未检测
@@ -369,6 +369,7 @@ enum Api { updateAllLive = '/jiaoshi/kcZhihuijiaoshi/updateAllLive', changeAvyLiveApi = '/httpinterface/runAvyApiByIds', xxhbjsjbxxList = '/xxhbjsjbxx/xxhbjsjbxx/list', + refreshLogs = '/jiaoshi/kcZhihuijiaoshi/refreshLogs', } /** * 列表接口 @@ -378,6 +379,7 @@ const list = (params) => defHttp.get({ url: Api.list, params }); const updateAllLive = (params) => defHttp.get({ url: Api.updateAllLive, params }); const changeAvyLiveApi = (params) => defHttp.get({ url: Api.changeAvyLiveApi, params,timeout: 9000000 }); const jsjbxxList = (params) => defHttp.get({ url: Api.xxhbjsjbxxList, params,timeout: 9000000 }); +const refreshLogs = (params) => defHttp.get({ url: Api.refreshLogs, params,timeout: 9000000 }); const shangXianQuartz = ref({});