diff --git a/index.html b/index.html index e8465c8..b6d8790 100644 --- a/index.html +++ b/index.html @@ -25,157 +25,7 @@ })();
- -
-
- -
<%= title %>
-
- -
-
-
- - - - - diff --git a/public/resource/img/modalback.png b/public/resource/img/modalback.png new file mode 100644 index 0000000..0c18b8c Binary files /dev/null and b/public/resource/img/modalback.png differ diff --git a/src/api/common/api.ts b/src/api/common/api.ts index 9f1e975..b18a5f1 100644 --- a/src/api/common/api.ts +++ b/src/api/common/api.ts @@ -20,7 +20,7 @@ enum Api { } /** - * 护理单元列表 + * 区域列表 * @param params */ export const getNuList = (params) => { diff --git a/src/api/sys/user.ts b/src/api/sys/user.ts index 5ed47e3..8363cac 100644 --- a/src/api/sys/user.ts +++ b/src/api/sys/user.ts @@ -23,6 +23,7 @@ enum Api { GetPermCode = '/sys/permission/getPermCode', //新加的获取图形验证码的接口 getInputCode = '/sys/randomImage', + randomCode = '/sys/randomInputCode', //获取短信验证码的接口 getCaptcha = '/sys/sms', //注册接口 @@ -114,6 +115,10 @@ export function getCodeInfo(currdatetime) { let url = Api.getInputCode + `/${currdatetime}`; return defHttp.get({ url: url }); } +export function randomCode(currdatetime) { + let url = Api.randomCode + `/${currdatetime}`; + return defHttp.get({ url: url }); +} /** * @description: 获取短信验证码 */ diff --git a/src/components/Application/src/AppLogo.vue b/src/components/Application/src/AppLogo.vue index 8dd1616..891fb77 100644 --- a/src/components/Application/src/AppLogo.vue +++ b/src/components/Application/src/AppLogo.vue @@ -3,7 +3,7 @@ * @Description: logo component --> + + diff --git a/src/views/iot/ConfigLog/configlog.api.ts b/src/views/iot/ConfigLog/configlog.api.ts new file mode 100644 index 0000000..95d6de4 --- /dev/null +++ b/src/views/iot/ConfigLog/configlog.api.ts @@ -0,0 +1,12 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + + list = '/iot/syncConfigLog/list', + +} +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); diff --git a/src/views/iot/ConfigLog/configlog.data.ts b/src/views/iot/ConfigLog/configlog.data.ts new file mode 100644 index 0000000..d6caa77 --- /dev/null +++ b/src/views/iot/ConfigLog/configlog.data.ts @@ -0,0 +1,77 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; + +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '机构编码', + align: "center", + dataIndex: 'orgCode', + width: 80 + }, + { + title: '机构名称', + align: "center", + dataIndex: 'orgName', + width: 220 + }, + { + title: '操作', + align: "center", + dataIndex: 'syncType', + width: 80 + }, + { + title: '同步状态', + align: "center", + dataIndex: 'status', + width: 80 + }, + { + title: '服务类型', + align: "center", + dataIndex: 'serverType', + width: 80 + }, + { + title: '创建时间', + align: "center", + dataIndex: 'createTime', + width: 160 + }, + { + title: '更新时间', + align: "center", + dataIndex: 'updateTime', + width: 160 + }, + { + title: '备注', + align: "center", + dataIndex: 'content' + }, +]; + +export const formSchema: FormSchema[] = [ + { + label: '机构编码', + field: 'orgCode', + component: 'Input', + componentProps: { + placeholder: '请输入机构编码', + }, + }, + { + label: '同步状态', + field: 'status', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择状态', + options: [ + { label: '同步成功', value: '同步成功' }, + { label: '同步中', value: '同步中' }, + { label: '同步失败', value: '同步失败' }, + ], + }, + }, +]; diff --git a/src/views/iot/baseIot/BaseIot.data.ts b/src/views/iot/baseIot/BaseIot.data.ts new file mode 100644 index 0000000..7c0f591 --- /dev/null +++ b/src/views/iot/baseIot/BaseIot.data.ts @@ -0,0 +1,363 @@ +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 baseSxtColumns: BasicColumn[] = [ + { + title: '设备序号', + align: "center", + dataIndex: 'deviceIndex', + width: 120, + }, + { + title: '设备名称', + align: "center", + dataIndex: 'deviceName' + }, + { + title: '设备状态', + align: "center", + dataIndex: 'deviceStatus_dictText', + width: 120, + }, + { + title: '设备型号', + align: "center", + dataIndex: 'deviceModel', + width: 220, + }, + { + title: 'NUID', + align: "center", + dataIndex: 'nuId', + width: 120, + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; + +export const checkSxtColumns: BasicColumn[] = [ + { + title: '设备序号', + align: "center", + dataIndex: 'deviceIndex', + width: 120, + }, + { + title: '设备名称', + align: "center", + dataIndex: 'deviceName' + }, + { + title: '设备状态', + align: "center", + dataIndex: 'deviceStatus_dictText', + width: 120, + }, + { + title: '设备型号', + align: "center", + dataIndex: 'deviceModel', + width: 220, + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; + + +//列表数据 +export const baseDbColumns: BasicColumn[] = [ + { + title: '设备号', + align: "center", + dataIndex: 'address', + }, + { + title: '设备状态', + align: "center", + dataIndex: 'relayState', + customRender:({record})=>{ + return record.relayState?(record.relayState=='1'?'合闸':'拉闸'):''; + }, + }, + { + title: '在线状态', + align: "center", + dataIndex: 'online', + customRender:({record})=>{ + return record.online?(record.online=='true'?'在线':'离线'):''; + }, + }, + { + title: '信号强度', + align: "center", + dataIndex: 'csq', + customRender:({record})=>{ + if(record.csq){ + if(record.csq < 10){ + return '低'; + }else if(record.csq > 20){ + return '高'; + }else{ + return '中'; + } + }else{ + return ''; + } + } + }, + { + title: 'NUID', + align: "center", + dataIndex: 'nuId', + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; + +export const checkDbColumns: BasicColumn[] = [ + { + title: '设备号', + align: "center", + dataIndex: 'cid', + }, + { + title: '设备状态', + align: "center", + dataIndex: 'relayState', + customRender:({record})=>{ + return record.relayState?(record.relayState=='1'?'合闸':'拉闸'):''; + }, + }, + { + title: '在线状态', + align: "center", + dataIndex: 'online', + customRender:({record})=>{ + return record.online?(record.online=='true'?'在线':'离线'):''; + }, + }, + { + title: '信号强度', + align: "center", + dataIndex: 'csq', + customRender:({record})=>{ + if(record.csq){ + if(record.csq < 10){ + return '低'; + }else if(record.csq > 20){ + return '高'; + }else{ + return '中'; + } + }else{ + return ''; + } + } + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; + + + + +//列表数据 +export const baseSbColumns: BasicColumn[] = [ + { + title: '设备号', + align: "center", + dataIndex: 'address', + }, + { + title: '设备状态', + align: "center", + dataIndex: 'relayState', + customRender:({record})=>{ + return record.relayState?(record.relayState=='1'?'开阀':'关阀'):''; + }, + }, + { + title: '在线状态', + align: "center", + dataIndex: 'online', + customRender:({record})=>{ + return record.online?(record.online=='true'?'在线':'离线'):''; + }, + }, + { + title: '信号强度', + align: "center", + dataIndex: 'csq', + customRender:({record})=>{ + if(record.csq){ + if(record.csq < 10){ + return '低'; + }else if(record.csq > 20){ + return '高'; + }else{ + return '中'; + } + }else{ + return ''; + } + } + }, + { + title: 'NUID', + align: "center", + dataIndex: 'nuId', + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; + +export const checkSbColumns: BasicColumn[] = [ + { + title: '设备号', + align: "center", + dataIndex: 'cid', + }, + { + title: '设备状态', + align: "center", + dataIndex: 'relayState', + customRender:({record})=>{ + return record.relayState?(record.relayState=='1'?'开阀':'关阀'):''; + }, + }, + { + title: '在线状态', + align: "center", + dataIndex: 'online', + customRender:({record})=>{ + return record.online?(record.online=='true'?'在线':'离线'):''; + }, + }, + { + title: '信号强度', + align: "center", + dataIndex: 'csq', + customRender:({record})=>{ + if(record.csq){ + if(record.csq < 10){ + return '低'; + }else if(record.csq > 20){ + return '高'; + }else{ + return '中'; + } + }else{ + return ''; + } + } + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; + + + +//列表数据 +export const baseWsdColumns: BasicColumn[] = [ + { + title: '设备号', + align: "center", + dataIndex: 'sn' + }, + { + title: '设备名称', + align: "center", + dataIndex: 'deviceName' + }, + { + title: '在线状态', + align: "center", + dataIndex: 'status', + customRender:({record})=>{ + return record.status?(record.status=='0'?'在线':'离线'):''; + }, + }, + { + title: '启用状态', + align: "center", + dataIndex: 'delFlag', + customRender:({record})=>{ + return record.delFlag?(record.delFlag=='0'?'启用':'停用'):''; + }, + }, + { + title: 'NUID', + align: "center", + dataIndex: 'nuId' + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; + + +//列表数据 +export const checkWsdColumns: BasicColumn[] = [ + { + title: '设备号', + align: "center", + dataIndex: 'sn' + }, + { + title: '设备名称', + align: "center", + dataIndex: 'deviceName' + }, + { + title: '在线状态', + align: "center", + dataIndex: 'status', + customRender:({record})=>{ + return record.status?(record.status=='0'?'在线':'离线'):''; + }, + }, + { + title: '启用状态', + align: "center", + dataIndex: 'delFlag', + customRender:({record})=>{ + return record.delFlag?(record.delFlag=='0'?'启用':'停用'):''; + }, + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; \ No newline at end of file diff --git a/src/views/iot/baseIot/CheckBaseIotList.vue b/src/views/iot/baseIot/CheckBaseIotList.vue new file mode 100644 index 0000000..4203cf1 --- /dev/null +++ b/src/views/iot/baseIot/CheckBaseIotList.vue @@ -0,0 +1,224 @@ + + + + + diff --git a/src/views/iot/baseIot/compoents/DbForm.vue b/src/views/iot/baseIot/compoents/DbForm.vue new file mode 100644 index 0000000..4a5f4fc --- /dev/null +++ b/src/views/iot/baseIot/compoents/DbForm.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/views/iot/baseIot/compoents/DbModal.vue b/src/views/iot/baseIot/compoents/DbModal.vue new file mode 100644 index 0000000..2c02f0b --- /dev/null +++ b/src/views/iot/baseIot/compoents/DbModal.vue @@ -0,0 +1,72 @@ + + + + + + diff --git a/src/views/iot/baseIot/compoents/SbForm.vue b/src/views/iot/baseIot/compoents/SbForm.vue new file mode 100644 index 0000000..df57387 --- /dev/null +++ b/src/views/iot/baseIot/compoents/SbForm.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/views/iot/baseIot/compoents/SbModal.vue b/src/views/iot/baseIot/compoents/SbModal.vue new file mode 100644 index 0000000..fc1fb41 --- /dev/null +++ b/src/views/iot/baseIot/compoents/SbModal.vue @@ -0,0 +1,71 @@ + + + + + + diff --git a/src/views/iot/baseIot/compoents/SxtForm.vue b/src/views/iot/baseIot/compoents/SxtForm.vue new file mode 100644 index 0000000..3552d96 --- /dev/null +++ b/src/views/iot/baseIot/compoents/SxtForm.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/views/iot/baseIot/compoents/SxtModal.vue b/src/views/iot/baseIot/compoents/SxtModal.vue new file mode 100644 index 0000000..c8c9b07 --- /dev/null +++ b/src/views/iot/baseIot/compoents/SxtModal.vue @@ -0,0 +1,71 @@ + + + + + + diff --git a/src/views/iot/baseIot/compoents/WsdForm.vue b/src/views/iot/baseIot/compoents/WsdForm.vue new file mode 100644 index 0000000..5825b92 --- /dev/null +++ b/src/views/iot/baseIot/compoents/WsdForm.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/views/iot/baseIot/compoents/WsdModal.vue b/src/views/iot/baseIot/compoents/WsdModal.vue new file mode 100644 index 0000000..d4a3250 --- /dev/null +++ b/src/views/iot/baseIot/compoents/WsdModal.vue @@ -0,0 +1,71 @@ + + + + + + diff --git a/src/views/iot/tplink/camera/camera.data.ts b/src/views/iot/tplink/camera/camera.data.ts index d6b3921..566098b 100644 --- a/src/views/iot/tplink/camera/camera.data.ts +++ b/src/views/iot/tplink/camera/camera.data.ts @@ -55,15 +55,20 @@ export const columns: BasicColumn[] = [ // dataIndex: 'locationName' // }, // { - // title: '护理单元', + // title: '区域', // align: "center", // dataIndex: 'nuId_dictText', // }, // { - // title: '护理单元', + // title: '区域', // align: "center", // dataIndex: 'nuName' // }, + { + title: 'MAC地址', + align: "center", + dataIndex: 'mac' + }, { title: 'FTP地址', align: "center", @@ -171,7 +176,7 @@ export const formSchema: FormSchema[] = [ // dynamicDisabled: true // }, // { - // label: '护理单元', + // label: '区域', // field: 'nuId', // component: 'JSelectNu', // componentProps: { diff --git a/src/views/iot/tplink/camera/components/CameraInfoList.vue b/src/views/iot/tplink/camera/components/CameraInfoList.vue index 8fd9a65..aa0d7ed 100644 --- a/src/views/iot/tplink/camera/components/CameraInfoList.vue +++ b/src/views/iot/tplink/camera/components/CameraInfoList.vue @@ -45,7 +45,7 @@ import {ref, reactive, createVNode, h, onMounted, watch, unref} from 'vue'; //注册table数据 const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ tableProps: { - title: '护理单元-物联管理-摄像头信息', + title: '区域-物联管理-摄像头信息', api: list, columns, canResize: false, diff --git a/src/views/iot/tplink/camera/components/CameraPictureConfig.vue b/src/views/iot/tplink/camera/components/CameraPictureConfig.vue index 9efabd1..f950608 100644 --- a/src/views/iot/tplink/camera/components/CameraPictureConfig.vue +++ b/src/views/iot/tplink/camera/components/CameraPictureConfig.vue @@ -109,6 +109,9 @@ --> + + + @@ -128,6 +131,7 @@ import {ref, onMounted, reactive, onUnmounted} from "vue"; import CameraSoundAlarmForm from './CameraSoundAlarmForm.vue';//声音报警 import CameraRecordList from './CameraRecordList.vue';//录像列表 import CameraUploadForm from './CameraUploadForm.vue';//上传FTP + import PlanAddForm from '/@/views/iot/tplink/plan/components/PlanAddForm.vue';//录像设置 import { useMessage } from "@/hooks/web/useMessage"; const { createMessage } = useMessage(); @@ -208,6 +212,7 @@ import {ref, onMounted, reactive, onUnmounted} from "vue"; function edit(record) { formData.deviceIndex = record.deviceIndex; + formData.deviceName = record.deviceName; formData.parentId = record.parentId; formData.multitrans = record.multitrans; formData.projectId = record.projectId; @@ -215,6 +220,7 @@ function edit(record) { formData.ip = record.ip; cameraData.value.deviceIndex = formData.deviceIndex; + cameraData.value.deviceName = formData.deviceName; cameraData.value.projectId = formData.projectId; cameraData.value.regionId = formData.regionId; cameraData.value.multitrans = formData.multitrans; diff --git a/src/views/iot/tplink/camera/components/CameraPictureConfigModal.vue b/src/views/iot/tplink/camera/components/CameraPictureConfigModal.vue index 4a50c0b..77d90a5 100644 --- a/src/views/iot/tplink/camera/components/CameraPictureConfigModal.vue +++ b/src/views/iot/tplink/camera/components/CameraPictureConfigModal.vue @@ -1,7 +1,14 @@ + + diff --git a/src/views/iot/tplink/config/config.api.ts b/src/views/iot/tplink/config/config.api.ts new file mode 100644 index 0000000..67dcc2c --- /dev/null +++ b/src/views/iot/tplink/config/config.api.ts @@ -0,0 +1,28 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + + list = '/iot/tplink/config/list', + add = '/iot/tplink/config/add', + edit = '/iot/tplink/config/edit', + +} +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); +/** + * 更新 + * @param params + */ +export const add = (params) => { + return defHttp.post({ url: Api.add, params }); +} +/** + * 更新 + * @param params + */ +export const edit = (params) => { + return defHttp.post({ url: Api.edit, params }); +} diff --git a/src/views/iot/tplink/config/config.data.ts b/src/views/iot/tplink/config/config.data.ts new file mode 100644 index 0000000..1881b31 --- /dev/null +++ b/src/views/iot/tplink/config/config.data.ts @@ -0,0 +1,104 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; + +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '图门地址', + align: "center", + dataIndex: 'tumsUrl', + width: 340, + }, + { + title: '用户', + align: "center", + dataIndex: 'tumsUsername' + }, + { + title: '密码', + align: "center", + dataIndex: 'tumsPassword' + }, + { + title: 'FTP地址', + align: "center", + dataIndex: 'ftpIp' + }, + { + title: 'FTP端口', + align: "center", + dataIndex: 'ftpPort' + }, + { + title: 'FTP用户', + align: "center", + dataIndex: 'ftpUsername' + }, + { + title: 'FTP密码', + align: "center", + dataIndex: 'ftpPassword' + }, + { + title: 'FTP上传路径', + align: "center", + dataIndex: 'ftpUploadpath' + }, + { + title: '更新时间', + align: "center", + dataIndex: 'updateDate' + }, +]; + +export const formSchema: FormSchema[] = [ + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, + { + label: '图门地址', + field: 'tumsUrl', + component: 'Input', + required: true + }, + { + label: '用户', + field: 'tumsUsername', + component: 'Input', + required: true + }, + { + label: '密码', + field: 'tumsPassword', + component: 'Input', + required: true + }, + { + label: 'FTP地址', + field: 'ftpIp', + component: 'Input', + }, + { + label: 'FTP端口', + field: 'ftpPort', + component: 'Input', + }, + { + label: 'FTP用户', + field: 'ftpUsername', + component: 'Input', + }, + { + label: 'FTP密码', + field: 'ftpPassword', + component: 'Input', + }, + { + label: 'FTP上传路径', + field: 'ftpUploadpath', + component: 'Input', + } +]; diff --git a/src/views/iot/tplink/config/index.vue b/src/views/iot/tplink/config/index.vue new file mode 100644 index 0000000..3857a34 --- /dev/null +++ b/src/views/iot/tplink/config/index.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/src/views/iot/tplink/plan/components/PlanAddForm.vue b/src/views/iot/tplink/plan/components/PlanAddForm.vue index d31a511..b8b54c1 100644 --- a/src/views/iot/tplink/plan/components/PlanAddForm.vue +++ b/src/views/iot/tplink/plan/components/PlanAddForm.vue @@ -1,7 +1,7 @@ +
+ 确认 +
@@ -32,11 +35,12 @@ + + diff --git a/src/views/iot/tq/config/config.api.ts b/src/views/iot/tq/config/config.api.ts new file mode 100644 index 0000000..0f0894b --- /dev/null +++ b/src/views/iot/tq/config/config.api.ts @@ -0,0 +1,28 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + + list = '/iot/tq/config/list', + add = '/iot/tq/config/add', + edit = '/iot/tq/config/edit', + +} +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); +/** + * 更新 + * @param params + */ +export const add = (params) => { + return defHttp.post({ url: Api.add, params }); +} +/** + * 更新 + * @param params + */ +export const edit = (params) => { + return defHttp.post({ url: Api.edit, params }); +} diff --git a/src/views/iot/tq/config/config.data.ts b/src/views/iot/tq/config/config.data.ts new file mode 100644 index 0000000..2302992 --- /dev/null +++ b/src/views/iot/tq/config/config.data.ts @@ -0,0 +1,89 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; + +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '机构编码', + align: "center", + dataIndex: 'orgCode', + width: 80, + }, + { + title: '机构名称', + align: "center", + dataIndex: 'orgCode_dictText', + width: 240, + }, + { + title: '厂家云地址', + align: "center", + dataIndex: 'requestUrl', + }, + { + title: '授权码', + align: "center", + dataIndex: 'authCode', + width: 260, + }, + { + title: '随机字符串', + align: "center", + dataIndex: 'randomCode', + width: 260, + }, + { + title: '通知地址', + align: "center", + dataIndex: 'notifyUrl' + }, + { + title: '更新时间', + align: "center", + dataIndex: 'updateDate', + width: 160, + }, +]; + +export const formSchema: FormSchema[] = [ + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, + { + label: '机构', + field: 'orgCode', + component: 'JSelectDept', + componentProps: { + rowKey: 'orgCode', + labelKey: 'departName', + selectType: true, + }, + }, + { + label: '厂家云地址', + field: 'requestUrl', + component: 'Input', + required: true + }, + { + label: '授权码', + field: 'authCode', + component: 'Input', + required: true + }, + { + label: '随机字符串', + field: 'randomCode', + component: 'Input', + required: true + }, + { + label: '通知地址', + field: 'notifyUrl', + component: 'Input', + }, + +]; diff --git a/src/views/iot/tq/config/index.vue b/src/views/iot/tq/config/index.vue new file mode 100644 index 0000000..1786caa --- /dev/null +++ b/src/views/iot/tq/config/index.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/src/views/iot/tq/electricity/apilog/ApiLogModal.vue b/src/views/iot/tq/electricity/apilog/ApiLogModal.vue index 1a198b7..f6301e6 100644 --- a/src/views/iot/tq/electricity/apilog/ApiLogModal.vue +++ b/src/views/iot/tq/electricity/apilog/ApiLogModal.vue @@ -1,7 +1,14 @@ + + diff --git a/src/views/iot/yiweilian/config/config.api.ts b/src/views/iot/yiweilian/config/config.api.ts new file mode 100644 index 0000000..1177aee --- /dev/null +++ b/src/views/iot/yiweilian/config/config.api.ts @@ -0,0 +1,28 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + + list = '/iot/yiweilian/config/list', + add = '/iot/yiweilian/config/add', + edit = '/iot/yiweilian/config/edit', + +} +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); +/** + * 更新 + * @param params + */ +export const add = (params) => { + return defHttp.post({ url: Api.add, params }); +} +/** + * 更新 + * @param params + */ +export const edit = (params) => { + return defHttp.post({ url: Api.edit, params }); +} diff --git a/src/views/iot/yiweilian/config/config.data.ts b/src/views/iot/yiweilian/config/config.data.ts new file mode 100644 index 0000000..c4c74af --- /dev/null +++ b/src/views/iot/yiweilian/config/config.data.ts @@ -0,0 +1,42 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; + +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '厂家云地址', + align: "center", + dataIndex: 'requestUrl', + }, + { + title: '用户标识', + align: "center", + dataIndex: 'clientId' + }, + { + title: '更新时间', + align: "center", + dataIndex: 'updateDate' + }, +]; + +export const formSchema: FormSchema[] = [ + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, + { + label: '厂家云地址', + field: 'requestUrl', + component: 'Input', + required: true + }, + { + label: '用户标识', + field: 'clientId', + component: 'Input', + required: true + }, +]; diff --git a/src/views/iot/yiweilian/config/index.vue b/src/views/iot/yiweilian/config/index.vue new file mode 100644 index 0000000..d0159a9 --- /dev/null +++ b/src/views/iot/yiweilian/config/index.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/src/views/iot/yiweilian/components/AlarmList.vue b/src/views/iot/yiweilian/humid/components/AlarmList.vue similarity index 100% rename from src/views/iot/yiweilian/components/AlarmList.vue rename to src/views/iot/yiweilian/humid/components/AlarmList.vue diff --git a/src/views/iot/yiweilian/components/ApiLogAlarmList.vue b/src/views/iot/yiweilian/humid/components/ApiLogAlarmList.vue similarity index 100% rename from src/views/iot/yiweilian/components/ApiLogAlarmList.vue rename to src/views/iot/yiweilian/humid/components/ApiLogAlarmList.vue diff --git a/src/views/iot/yiweilian/humid/components/ApiLogAlarmModal.vue b/src/views/iot/yiweilian/humid/components/ApiLogAlarmModal.vue new file mode 100644 index 0000000..8054b2c --- /dev/null +++ b/src/views/iot/yiweilian/humid/components/ApiLogAlarmModal.vue @@ -0,0 +1,74 @@ + + + + + + diff --git a/src/views/iot/yiweilian/humid/components/ApiLogList.vue b/src/views/iot/yiweilian/humid/components/ApiLogList.vue new file mode 100644 index 0000000..b954cbd --- /dev/null +++ b/src/views/iot/yiweilian/humid/components/ApiLogList.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/src/views/iot/yiweilian/components/DeviceInfoDrawer.vue b/src/views/iot/yiweilian/humid/components/DeviceInfoDrawer.vue similarity index 100% rename from src/views/iot/yiweilian/components/DeviceInfoDrawer.vue rename to src/views/iot/yiweilian/humid/components/DeviceInfoDrawer.vue diff --git a/src/views/iot/yiweilian/humid.api.ts b/src/views/iot/yiweilian/humid/humid.api.ts similarity index 100% rename from src/views/iot/yiweilian/humid.api.ts rename to src/views/iot/yiweilian/humid/humid.api.ts diff --git a/src/views/iot/yiweilian/humid.data.ts b/src/views/iot/yiweilian/humid/humid.data.ts similarity index 99% rename from src/views/iot/yiweilian/humid.data.ts rename to src/views/iot/yiweilian/humid/humid.data.ts index bd3a726..c520382 100644 --- a/src/views/iot/yiweilian/humid.data.ts +++ b/src/views/iot/yiweilian/humid/humid.data.ts @@ -98,11 +98,11 @@ export const searchFormSchema: FormSchema[] = [ // colProps: { span: 6 }, // }, // { - // label: '护理单元', + // label: '区域', // field: 'deviceStatus', // component: 'JDictSelectTag', // componentProps: { - // placeholder: '请选择护理单元', + // placeholder: '请选择区域', // dictCode: 'nu_base_info,nu_name,id,del_flag = 0 order by nu_name asc', // }, // colProps: { span: 6 }, diff --git a/src/views/iot/yiweilian/index.vue b/src/views/iot/yiweilian/humid/index.vue similarity index 99% rename from src/views/iot/yiweilian/index.vue rename to src/views/iot/yiweilian/humid/index.vue index e47ee1a..c0d4282 100644 --- a/src/views/iot/yiweilian/index.vue +++ b/src/views/iot/yiweilian/humid/index.vue @@ -192,7 +192,7 @@ } - //护理单元回调 + //区域回调 function handleHldyParams(params){ defHttp.post({ url: "/iot/yiweilian/humidDevice/editHldy", @@ -203,7 +203,7 @@ }) } /** - * 配置护理单元 + * 配置区域 */ function handlePzhldy(record){ hldyUtilsModal.value.disableSubmit = true; diff --git a/src/views/iotsync/components/OrgApplyInfo.api.ts b/src/views/iotsync/components/OrgApplyInfo.api.ts new file mode 100644 index 0000000..d1ab3b1 --- /dev/null +++ b/src/views/iotsync/components/OrgApplyInfo.api.ts @@ -0,0 +1,12 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + getOrgInfo = '/admin/orgapplyinfo/orgApplyInfo/getOrgInfo', +} + +/** + * 获取机构详细信息(包含sys_depart信息) + * @param params orgCode部门编码 不传查所有 + * @returns + */ +export const getOrgInfo = (params) => defHttp.get({ url: Api.getOrgInfo, params }); diff --git a/src/views/iotsync/components/OrgSelect.vue b/src/views/iotsync/components/OrgSelect.vue new file mode 100644 index 0000000..a747cf3 --- /dev/null +++ b/src/views/iotsync/components/OrgSelect.vue @@ -0,0 +1,420 @@ + + + + + diff --git a/src/views/iotsync/tplink/camera/camera.api.ts b/src/views/iotsync/tplink/camera/camera.api.ts new file mode 100644 index 0000000..9cedaea --- /dev/null +++ b/src/views/iotsync/tplink/camera/camera.api.ts @@ -0,0 +1,49 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + sourceList = '/iot/tplink/cameraInfo/sourceList', + departList = '/iot/tplink/cameraInfo/departList', + nuList = '/iot/tplink/cameraInfo/departNuList', + businessList = '/iot/tplink/cameraInfo/businessList', + nuSyncList = '/iot/tplink/cameraInfo/nuSyncList', + syncDevices = '/iot/tplink/cameraInfo/syncDevices', + syncLogList = '/iot/tplink/cameraInfo/syncLogList', +} + +/** + * 列表接口 + * @param params + */ +export const sourceListApi = (params) => defHttp.get({ url: Api.sourceList, params }); +/** + * 列表接口 + * @param params + */ +export const departListApi = (params) => defHttp.get({ url: Api.departList, params }); +/** + * 列表接口 + * @param params + */ +export const nuListApi = (params) => defHttp.get({ url: Api.nuList, params }); +/** + * 列表接口 + * @param params + */ +export const businessListApi = (params) => defHttp.get({ url: Api.businessList, params }); +/** + * 列表接口 + * @param params + */ +export const nuSyncListApi = (params) => defHttp.get({ url: Api.nuSyncList, params }); +/** + * 同步设备 + * @param params + */ +export const syncDevicesApi = (params) => { + return defHttp.post({ url: Api.syncDevices, params }); +} +/** + * 列表接口 + * @param params + */ +export const syncLogListApi = (params) => defHttp.get({ url: Api.syncLogList, params }); diff --git a/src/views/iotsync/tplink/camera/camera.data.ts b/src/views/iotsync/tplink/camera/camera.data.ts new file mode 100644 index 0000000..c811b79 --- /dev/null +++ b/src/views/iotsync/tplink/camera/camera.data.ts @@ -0,0 +1,280 @@ +import {BasicColumn, FormSchema} from '/@/components/Table'; + +export const businessColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'deviceIndex', + width: 60, + }, + { + title: '名称', + align: 'center', + dataIndex: 'deviceName', + width: 140, + }, + { + title: 'MAC', + align: 'center', + dataIndex: 'mac', + width: 140, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + } +]; + +//列表数据 +export const unselectedSourceColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'deviceIndex', + width: 60, + }, + { + title: '名称', + align: 'center', + dataIndex: 'deviceName', + width: 140, + }, + { + title: 'MAC', + align: 'center', + dataIndex: 'mac', + width: 140, + }, +]; + +//列表数据 +export const selectedSourceColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'deviceIndex', + width: 60, + }, + { + title: '名称', + align: 'center', + dataIndex: 'deviceName', + width: 140, + }, + { + title: 'MAC', + align: 'center', + dataIndex: 'mac', + width: 140, + }, + { + title: '机构', + align: "center", + dataIndex: 'departName', + resizable: true, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + }, +]; + +export const nusColumns: BasicColumn[] = [ + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + }, + { + title: '绑定设备数量', + align: "center", + dataIndex: 'deviceNum' + } +]; + +export const nuFormSchema: FormSchema[] = [ + { + label: '区域标签', + field: 'areaFlag', + component: 'JDictSelectTag', + componentProps: { + dictCode: 'nu_type', + }, + colProps: { span: 6 }, + }, +]; + + +export const selectedColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'deviceIndex', + width: 60, + }, + { + title: '名称', + align: 'center', + dataIndex: 'deviceName', + width: 140, + }, + { + title: 'MAC', + align: 'center', + dataIndex: 'mac', + width: 140, + }, + { + title: '操作区域', + align: 'center', + dataIndex: 'dataTypeText', + width: 80, + }, + { + title: '操作类型', + align: 'center', + dataIndex: 'actionType', + width: 80, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + } +]; + +export const asyncMaincolumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'sn', + }, + { + title: '设备名称', + align: "center", + dataIndex: 'deviceName', + }, + { + title: '设备类型', + align: "center", + dataIndex: 'serverType', + }, + { + title: '同步时间', + align: "center", + dataIndex: 'createTime', + } +]; + +export const asyncSeedColumns: BasicColumn[] = [ + { + title: '同步类型', + align: "center", + dataIndex: 'syncType', + }, + { + title: '同步状态', + align: "center", + dataIndex: 'status', + }, + { + title: '同步时间', + align: "center", + dataIndex: 'createTime', + }, + { + title: '现机构', + align: "center", + dataIndex: 'departName', + }, + { + title: '现区域', + align: "center", + dataIndex: 'nuId', + }, + { + title: '原机构', + align: "center", + dataIndex: 'oldDepartName', + }, + { + title: '原区域', + align: "center", + dataIndex: 'oldNuId', + }, +]; + +export const logFormSchema: FormSchema[] = [ + { + label: 'SN', + field: 'sn', + component: 'Input', + componentProps: { + placeholder: '请输入SN', + }, + // colProps: { span: 6 }, + }, + { + label: '名称', + field: 'deviceName', + component: 'Input', + componentProps: { + placeholder: '请输入名称', + }, + // colProps: { span: 6 }, + }, +]; diff --git a/src/views/iotsync/tplink/camera/components/BusinessTable.vue b/src/views/iotsync/tplink/camera/components/BusinessTable.vue new file mode 100644 index 0000000..1e0544f --- /dev/null +++ b/src/views/iotsync/tplink/camera/components/BusinessTable.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/src/views/iotsync/tplink/camera/components/SelectNuList.vue b/src/views/iotsync/tplink/camera/components/SelectNuList.vue new file mode 100644 index 0000000..64926e8 --- /dev/null +++ b/src/views/iotsync/tplink/camera/components/SelectNuList.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/views/iot/yiweilian/components/ApiLogAlarmModal.vue b/src/views/iotsync/tplink/camera/components/SelectNuModal.vue similarity index 70% rename from src/views/iot/yiweilian/components/ApiLogAlarmModal.vue rename to src/views/iotsync/tplink/camera/components/SelectNuModal.vue index e852e51..ceea225 100644 --- a/src/views/iot/yiweilian/components/ApiLogAlarmModal.vue +++ b/src/views/iotsync/tplink/camera/components/SelectNuModal.vue @@ -1,12 +1,12 @@ diff --git a/src/views/iotsync/tplink/camera/components/SelectedTable.vue b/src/views/iotsync/tplink/camera/components/SelectedTable.vue new file mode 100644 index 0000000..451aaa1 --- /dev/null +++ b/src/views/iotsync/tplink/camera/components/SelectedTable.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/views/iotsync/tplink/camera/components/SourceTable.vue b/src/views/iotsync/tplink/camera/components/SourceTable.vue new file mode 100644 index 0000000..c036ba2 --- /dev/null +++ b/src/views/iotsync/tplink/camera/components/SourceTable.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/src/views/iotsync/tplink/camera/components/SyncLogList.vue b/src/views/iotsync/tplink/camera/components/SyncLogList.vue new file mode 100644 index 0000000..f479812 --- /dev/null +++ b/src/views/iotsync/tplink/camera/components/SyncLogList.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/views/iotsync/tplink/camera/index.vue b/src/views/iotsync/tplink/camera/index.vue new file mode 100644 index 0000000..8d1ba70 --- /dev/null +++ b/src/views/iotsync/tplink/camera/index.vue @@ -0,0 +1,568 @@ + + + + + diff --git a/src/views/iotsync/tq/electricity/components/BusinessTable.vue b/src/views/iotsync/tq/electricity/components/BusinessTable.vue new file mode 100644 index 0000000..e013d1b --- /dev/null +++ b/src/views/iotsync/tq/electricity/components/BusinessTable.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/src/views/iotsync/tq/electricity/components/SelectNuList.vue b/src/views/iotsync/tq/electricity/components/SelectNuList.vue new file mode 100644 index 0000000..881a191 --- /dev/null +++ b/src/views/iotsync/tq/electricity/components/SelectNuList.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/views/iotsync/tq/electricity/components/SelectNuModal.vue b/src/views/iotsync/tq/electricity/components/SelectNuModal.vue new file mode 100644 index 0000000..ceea225 --- /dev/null +++ b/src/views/iotsync/tq/electricity/components/SelectNuModal.vue @@ -0,0 +1,70 @@ + + + + + + diff --git a/src/views/iotsync/tq/electricity/components/SelectedTable.vue b/src/views/iotsync/tq/electricity/components/SelectedTable.vue new file mode 100644 index 0000000..1a5e739 --- /dev/null +++ b/src/views/iotsync/tq/electricity/components/SelectedTable.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/views/iotsync/tq/electricity/components/SourceTable.vue b/src/views/iotsync/tq/electricity/components/SourceTable.vue new file mode 100644 index 0000000..025d9d6 --- /dev/null +++ b/src/views/iotsync/tq/electricity/components/SourceTable.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/src/views/iotsync/tq/electricity/components/SyncLogList.vue b/src/views/iotsync/tq/electricity/components/SyncLogList.vue new file mode 100644 index 0000000..447c839 --- /dev/null +++ b/src/views/iotsync/tq/electricity/components/SyncLogList.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/views/iotsync/tq/electricity/electricity.api.ts b/src/views/iotsync/tq/electricity/electricity.api.ts new file mode 100644 index 0000000..e14cfa4 --- /dev/null +++ b/src/views/iotsync/tq/electricity/electricity.api.ts @@ -0,0 +1,49 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + sourceList = '/iot/tq/electricityMeter/sourceList', + departList = '/iot/tq/electricityMeter/departList', + nuList = '/iot/tq/electricityMeter/nuList', + businessList = '/iot/tq/electricityMeter/businessList', + nuSyncList = '/iot/tq/electricityMeter/nuSyncList', + syncDevices = '/iot/tq/electricityMeter/syncDevices', + syncLogList = '/iot/tq/electricityMeter/syncLogList', +} + +/** + * 列表接口 + * @param params + */ +export const sourceListApi = (params) => defHttp.get({ url: Api.sourceList, params }); +/** + * 列表接口 + * @param params + */ +export const departListApi = (params) => defHttp.get({ url: Api.departList, params }); +/** + * 列表接口 + * @param params + */ +export const nuListApi = (params) => defHttp.get({ url: Api.nuList, params }); +/** + * 列表接口 + * @param params + */ +export const businessListApi = (params) => defHttp.get({ url: Api.businessList, params }); +/** + * 列表接口 + * @param params + */ +export const nuSyncListApi = (params) => defHttp.get({ url: Api.nuSyncList, params }); +/** + * 同步设备 + * @param params + */ +export const syncDevicesApi = (params) => { + return defHttp.post({ url: Api.syncDevices, params }); +} +/** + * 列表接口 + * @param params + */ +export const syncLogListApi = (params) => defHttp.get({ url: Api.syncLogList, params }); diff --git a/src/views/iotsync/tq/electricity/electricity.data.ts b/src/views/iotsync/tq/electricity/electricity.data.ts new file mode 100644 index 0000000..377878a --- /dev/null +++ b/src/views/iotsync/tq/electricity/electricity.data.ts @@ -0,0 +1,223 @@ +import {BasicColumn, FormSchema} from '/@/components/Table'; + +export const businessColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'address', + width: 140, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + } +]; + +//列表数据 +export const unselectedSourceColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'address', + width: 140, + }, +]; + +//列表数据 +export const selectedSourceColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'address', + width: 140, + }, + { + title: '机构', + align: "center", + dataIndex: 'departName', + resizable: true, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + }, +]; + +export const nusColumns: BasicColumn[] = [ + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + }, + { + title: '绑定设备数量', + align: "center", + dataIndex: 'deviceNum' + } +]; + +export const nuFormSchema: FormSchema[] = [ + { + label: '区域标签', + field: 'areaFlag', + component: 'JDictSelectTag', + componentProps: { + dictCode: 'nu_type', + }, + colProps: { span: 6 }, + }, +]; + + +export const selectedColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'address', + width: 140, + }, + { + title: '操作区域', + align: 'center', + dataIndex: 'dataTypeText', + width: 80, + }, + { + title: '操作类型', + align: 'center', + dataIndex: 'actionType', + width: 80, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + } +]; + +export const asyncMaincolumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'sn', + }, + { + title: '设备名称', + align: "center", + dataIndex: 'deviceName', + }, + { + title: '设备类型', + align: "center", + dataIndex: 'serverType', + }, + { + title: '同步时间', + align: "center", + dataIndex: 'createTime', + } +]; + +export const asyncSeedColumns: BasicColumn[] = [ + { + title: '同步类型', + align: "center", + dataIndex: 'syncType', + }, + { + title: '同步状态', + align: "center", + dataIndex: 'status', + }, + { + title: '同步时间', + align: "center", + dataIndex: 'createTime', + }, + { + title: '现机构', + align: "center", + dataIndex: 'departName', + }, + { + title: '现区域', + align: "center", + dataIndex: 'nuId', + }, + { + title: '原机构', + align: "center", + dataIndex: 'oldDepartName', + }, + { + title: '原区域', + align: "center", + dataIndex: 'oldNuId', + }, +]; + +export const logFormSchema: FormSchema[] = [ + { + label: 'SN', + field: 'sn', + component: 'Input', + componentProps: { + placeholder: '请输入SN', + }, + // colProps: { span: 6 }, + }, +]; diff --git a/src/views/iotsync/tq/electricity/index.vue b/src/views/iotsync/tq/electricity/index.vue new file mode 100644 index 0000000..cc9bf7b --- /dev/null +++ b/src/views/iotsync/tq/electricity/index.vue @@ -0,0 +1,562 @@ + + + + + diff --git a/src/views/iotsync/tq/water/components/BusinessTable.vue b/src/views/iotsync/tq/water/components/BusinessTable.vue new file mode 100644 index 0000000..d5deef1 --- /dev/null +++ b/src/views/iotsync/tq/water/components/BusinessTable.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/src/views/iot/yiweilian/components/ApiLogList.vue b/src/views/iotsync/tq/water/components/SelectNuList.vue similarity index 62% rename from src/views/iot/yiweilian/components/ApiLogList.vue rename to src/views/iotsync/tq/water/components/SelectNuList.vue index 38c2e3c..655a2c7 100644 --- a/src/views/iot/yiweilian/components/ApiLogList.vue +++ b/src/views/iotsync/tq/water/components/SelectNuList.vue @@ -2,21 +2,24 @@ - - - + diff --git a/src/views/iotsync/tq/water/components/SelectedTable.vue b/src/views/iotsync/tq/water/components/SelectedTable.vue new file mode 100644 index 0000000..6b77acc --- /dev/null +++ b/src/views/iotsync/tq/water/components/SelectedTable.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/views/iotsync/tq/water/components/SourceTable.vue b/src/views/iotsync/tq/water/components/SourceTable.vue new file mode 100644 index 0000000..8a9a41e --- /dev/null +++ b/src/views/iotsync/tq/water/components/SourceTable.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/src/views/iotsync/tq/water/components/SyncLogList.vue b/src/views/iotsync/tq/water/components/SyncLogList.vue new file mode 100644 index 0000000..b8c511d --- /dev/null +++ b/src/views/iotsync/tq/water/components/SyncLogList.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/views/iotsync/tq/water/index.vue b/src/views/iotsync/tq/water/index.vue new file mode 100644 index 0000000..0ecf3c9 --- /dev/null +++ b/src/views/iotsync/tq/water/index.vue @@ -0,0 +1,562 @@ + + + + + diff --git a/src/views/iotsync/tq/water/water.api.ts b/src/views/iotsync/tq/water/water.api.ts new file mode 100644 index 0000000..8f75049 --- /dev/null +++ b/src/views/iotsync/tq/water/water.api.ts @@ -0,0 +1,49 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + sourceList = '/iot/tq/waterMeter/sourceList', + departList = '/iot/tq/waterMeter/departList', + nuList = '/iot/tq/waterMeter/nuList', + businessList = '/iot/tq/waterMeter/businessList', + nuSyncList = '/iot/tq/waterMeter/nuSyncList', + syncDevices = '/iot/tq/waterMeter/syncDevices', + syncLogList = '/iot/tq/waterMeter/syncLogList', +} + +/** + * 列表接口 + * @param params + */ +export const sourceListApi = (params) => defHttp.get({ url: Api.sourceList, params }); +/** + * 列表接口 + * @param params + */ +export const departListApi = (params) => defHttp.get({ url: Api.departList, params }); +/** + * 列表接口 + * @param params + */ +export const nuListApi = (params) => defHttp.get({ url: Api.nuList, params }); +/** + * 列表接口 + * @param params + */ +export const businessListApi = (params) => defHttp.get({ url: Api.businessList, params }); +/** + * 列表接口 + * @param params + */ +export const nuSyncListApi = (params) => defHttp.get({ url: Api.nuSyncList, params }); +/** + * 同步设备 + * @param params + */ +export const syncDevicesApi = (params) => { + return defHttp.post({ url: Api.syncDevices, params }); +} +/** + * 列表接口 + * @param params + */ +export const syncLogListApi = (params) => defHttp.get({ url: Api.syncLogList, params }); diff --git a/src/views/iotsync/tq/water/water.data.ts b/src/views/iotsync/tq/water/water.data.ts new file mode 100644 index 0000000..737e977 --- /dev/null +++ b/src/views/iotsync/tq/water/water.data.ts @@ -0,0 +1,271 @@ +import {BasicColumn, FormSchema} from '/@/components/Table'; + +export const businessColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'address', + width: 140, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + } +]; + +//列表数据 +export const unselectedSourceColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'address', + width: 140, + }, + // { + // title: '设备状态', + // align: "center", + // dataIndex: 'relayState', + // customRender:({record})=>{ + // return record.relayState?(record.relayState=='1'?'合闸':'拉闸'):''; + // }, + // width: 80, + // }, + // { + // title: '在线状态', + // align: "center", + // dataIndex: 'online', + // customRender:({record})=>{ + // return record.online?(record.online=='true'?'在线':'离线'):''; + // }, + // width: 80, + // }, + // { + // title: '用水量m³', + // align: "center", + // dataIndex: 'waterValue', + // width: 80, + // }, +]; + +//列表数据 +export const selectedSourceColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'address', + width: 140, + }, + { + title: '机构', + align: "center", + dataIndex: 'departName', + resizable: true, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + }, + // { + // title: '设备状态', + // align: "center", + // dataIndex: 'relayState', + // customRender:({record})=>{ + // return record.relayState?(record.relayState=='1'?'合闸':'拉闸'):''; + // }, + // width: 80, + // }, + // { + // title: '在线状态', + // align: "center", + // dataIndex: 'online', + // customRender:({record})=>{ + // return record.online?(record.online=='true'?'在线':'离线'):''; + // }, + // width: 80, + // }, + // { + // title: '用水量m³', + // align: "center", + // dataIndex: 'waterValue', + // width: 80, + // }, +]; + +export const nusColumns: BasicColumn[] = [ + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + }, + { + title: '绑定设备数量', + align: "center", + dataIndex: 'deviceNum' + } +]; + +export const nuFormSchema: FormSchema[] = [ + { + label: '区域标签', + field: 'areaFlag', + component: 'JDictSelectTag', + componentProps: { + dictCode: 'nu_type', + }, + colProps: { span: 6 }, + }, +]; + + +export const selectedColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'address', + width: 140, + }, + { + title: '操作区域', + align: 'center', + dataIndex: 'dataTypeText', + width: 80, + }, + { + title: '操作类型', + align: 'center', + dataIndex: 'actionType', + width: 80, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + } +]; + +export const asyncMaincolumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'sn', + }, + { + title: '设备名称', + align: "center", + dataIndex: 'deviceName', + }, + { + title: '设备类型', + align: "center", + dataIndex: 'serverType', + }, + { + title: '同步时间', + align: "center", + dataIndex: 'createTime', + } +]; + +export const asyncSeedColumns: BasicColumn[] = [ + { + title: '同步类型', + align: "center", + dataIndex: 'syncType', + }, + { + title: '同步状态', + align: "center", + dataIndex: 'status', + }, + { + title: '同步时间', + align: "center", + dataIndex: 'createTime', + }, + { + title: '现机构', + align: "center", + dataIndex: 'departName', + }, + { + title: '现区域', + align: "center", + dataIndex: 'nuId', + }, + { + title: '原机构', + align: "center", + dataIndex: 'oldDepartName', + }, + { + title: '原区域', + align: "center", + dataIndex: 'oldNuId', + }, +]; + +export const logFormSchema: FormSchema[] = [ + { + label: 'SN', + field: 'sn', + component: 'Input', + componentProps: { + placeholder: '请输入SN', + }, + // colProps: { span: 6 }, + }, +]; diff --git a/src/views/iotsync/yiweilian/components/BusinessTable.vue b/src/views/iotsync/yiweilian/components/BusinessTable.vue new file mode 100644 index 0000000..fb15a29 --- /dev/null +++ b/src/views/iotsync/yiweilian/components/BusinessTable.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/src/views/iotsync/yiweilian/components/SelectNuList.vue b/src/views/iotsync/yiweilian/components/SelectNuList.vue new file mode 100644 index 0000000..67bb600 --- /dev/null +++ b/src/views/iotsync/yiweilian/components/SelectNuList.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/views/iotsync/yiweilian/components/SelectNuModal.vue b/src/views/iotsync/yiweilian/components/SelectNuModal.vue new file mode 100644 index 0000000..ceea225 --- /dev/null +++ b/src/views/iotsync/yiweilian/components/SelectNuModal.vue @@ -0,0 +1,70 @@ + + + + + + diff --git a/src/views/iotsync/yiweilian/components/SelectedTable.vue b/src/views/iotsync/yiweilian/components/SelectedTable.vue new file mode 100644 index 0000000..eb96e3c --- /dev/null +++ b/src/views/iotsync/yiweilian/components/SelectedTable.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/views/iotsync/yiweilian/components/SourceTable.vue b/src/views/iotsync/yiweilian/components/SourceTable.vue new file mode 100644 index 0000000..c0c8f83 --- /dev/null +++ b/src/views/iotsync/yiweilian/components/SourceTable.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/src/views/iotsync/yiweilian/components/SyncLogList.vue b/src/views/iotsync/yiweilian/components/SyncLogList.vue new file mode 100644 index 0000000..33a238f --- /dev/null +++ b/src/views/iotsync/yiweilian/components/SyncLogList.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/views/iotsync/yiweilian/humid.api.ts b/src/views/iotsync/yiweilian/humid.api.ts new file mode 100644 index 0000000..5ad166a --- /dev/null +++ b/src/views/iotsync/yiweilian/humid.api.ts @@ -0,0 +1,49 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + sourceList = '/iot/yiweilian/humidDevice/sourceList', + departList = '/iot/yiweilian/humidDevice/departList', + nuList = '/iot/yiweilian/humidDevice/nuList', + businessList = '/iot/yiweilian/humidDevice/businessList', + nuSyncList = '/iot/yiweilian/humidDevice/nuSyncList', + syncDevices = '/iot/yiweilian/humidDevice/syncDevices', + syncLogList = '/iot/yiweilian/humidDevice/syncLogList', +} + +/** + * 列表接口 + * @param params + */ +export const sourceListApi = (params) => defHttp.get({ url: Api.sourceList, params }); +/** + * 列表接口 + * @param params + */ +export const departListApi = (params) => defHttp.get({ url: Api.departList, params }); +/** + * 列表接口 + * @param params + */ +export const nuListApi = (params) => defHttp.get({ url: Api.nuList, params }); +/** + * 列表接口 + * @param params + */ +export const businessListApi = (params) => defHttp.get({ url: Api.businessList, params }); +/** + * 列表接口 + * @param params + */ +export const nuSyncListApi = (params) => defHttp.get({ url: Api.nuSyncList, params }); +/** + * 同步设备 + * @param params + */ +export const syncDevicesApi = (params) => { + return defHttp.post({ url: Api.syncDevices, params }); +} +/** + * 列表接口 + * @param params + */ +export const syncLogListApi = (params) => defHttp.get({ url: Api.syncLogList, params }); diff --git a/src/views/iotsync/yiweilian/humid.data.ts b/src/views/iotsync/yiweilian/humid.data.ts new file mode 100644 index 0000000..02f8d39 --- /dev/null +++ b/src/views/iotsync/yiweilian/humid.data.ts @@ -0,0 +1,255 @@ +import {BasicColumn, FormSchema} from '/@/components/Table'; + +export const businessColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'sn', + width: 140, + }, + { + title: '名称', + align: 'center', + dataIndex: 'deviceName', + width: 140, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + } +]; + +//列表数据 +export const unselectedSourceColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'sn', + width: 140, + }, + { + title: '名称', + align: 'center', + dataIndex: 'deviceName', + width: 140, + }, +]; + +//列表数据 +export const selectedSourceColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'sn', + width: 140, + }, + { + title: '名称', + align: 'center', + dataIndex: 'deviceName', + width: 140, + }, + { + title: '机构', + align: "center", + dataIndex: 'departName', + resizable: true, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + }, +]; + +export const nusColumns: BasicColumn[] = [ + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + }, + { + title: '绑定设备数量', + align: "center", + dataIndex: 'deviceNum' + } +]; + +export const nuFormSchema: FormSchema[] = [ + { + label: '区域标签', + field: 'areaFlag', + component: 'JDictSelectTag', + componentProps: { + dictCode: 'nu_type', + }, + colProps: { span: 6 }, + }, +]; + + +export const selectedColumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'sn', + width: 140, + }, + { + title: '名称', + align: 'center', + dataIndex: 'deviceName', + width: 140, + }, + { + title: '操作区域', + align: 'center', + dataIndex: 'dataTypeText', + width: 80, + }, + { + title: '操作类型', + align: 'center', + dataIndex: 'actionType', + width: 80, + }, + { + title: '区域编码', + align: "center", + dataIndex: 'nuId', + resizable: true, + }, + { + title: '区域名称', + align: "center", + dataIndex: 'nuName', + resizable: true, + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText', + resizable: true, + } +]; + +export const asyncMaincolumns: BasicColumn[] = [ + { + title: 'SN', + align: 'center', + dataIndex: 'sn', + }, + { + title: '设备名称', + align: "center", + dataIndex: 'deviceName', + }, + { + title: '设备类型', + align: "center", + dataIndex: 'serverType', + }, + { + title: '同步时间', + align: "center", + dataIndex: 'createTime', + } +]; + +export const asyncSeedColumns: BasicColumn[] = [ + { + title: '同步类型', + align: "center", + dataIndex: 'syncType', + }, + { + title: '同步状态', + align: "center", + dataIndex: 'status', + }, + { + title: '同步时间', + align: "center", + dataIndex: 'createTime', + }, + { + title: '现机构', + align: "center", + dataIndex: 'departName', + }, + { + title: '现区域', + align: "center", + dataIndex: 'nuId', + }, + { + title: '原机构', + align: "center", + dataIndex: 'oldDepartName', + }, + { + title: '原区域', + align: "center", + dataIndex: 'oldNuId', + }, +]; + +export const logFormSchema: FormSchema[] = [ + { + label: 'SN', + field: 'sn', + component: 'Input', + componentProps: { + placeholder: '请输入SN', + }, + // colProps: { span: 6 }, + }, + { + label: '名称', + field: 'deviceName', + component: 'Input', + componentProps: { + placeholder: '请输入名称', + }, + } +]; diff --git a/src/views/iotsync/yiweilian/index.vue b/src/views/iotsync/yiweilian/index.vue index 5a670d6..4c5bf20 100644 --- a/src/views/iotsync/yiweilian/index.vue +++ b/src/views/iotsync/yiweilian/index.vue @@ -1,86 +1,565 @@ - + diff --git a/src/views/synchronization/nuBaseInfo/NuBaseInfo.data.ts b/src/views/synchronization/nuBaseInfo/NuBaseInfo.data.ts index 5256637..68e30a2 100644 --- a/src/views/synchronization/nuBaseInfo/NuBaseInfo.data.ts +++ b/src/views/synchronization/nuBaseInfo/NuBaseInfo.data.ts @@ -6,12 +6,12 @@ import { getWeekMonthQuarterYear } from '/@/utils'; //列表数据 export const columns: BasicColumn[] = [ { - title: '护理单元名称', + title: '区域名称', align: "center", dataIndex: 'nuName' }, { - title: '护理单元编码', + title: '区域编码', align: "center", dataIndex: 'nuId' }, @@ -27,15 +27,39 @@ export const columns: BasicColumn[] = [ // width:100 // }, ]; -//已选择列表数据 -export const selectedColumns: BasicColumn[] = [ +//列表数据 +export const columnsSync: BasicColumn[] = [ { - title: '护理单元名称', + title: '区域名称', align: "center", dataIndex: 'nuName' }, { - title: '护理单元编码', + title: '区域编码', + align: "center", + dataIndex: 'nuId' + }, + { + title: '区域标签', + align: "center", + dataIndex: 'areaFlag_dictText' + }, + { + title: '同步状态', + align: "center", + dataIndex: 'izSync_dictText', + width:100 + }, +]; +//已选择列表数据 +export const selectedColumns: BasicColumn[] = [ + { + title: '区域名称', + align: "center", + dataIndex: 'nuName' + }, + { + title: '区域编码', align: "center", dataIndex: 'nuId' }, @@ -59,7 +83,7 @@ export const selectedColumns: BasicColumn[] = [ ]; // 高级查询数据 export const superQuerySchema = { - nuName: {title: '护理单元名称',order: 0,view: 'text', type: 'string',}, + nuName: {title: '区域名称',order: 0,view: 'text', type: 'string',}, areaFlag: {title: '区域标签',order: 1,view: 'list', type: 'string',dictCode: 'nu_type',}, status: {title: '使用状态',order: 2,view: 'list', type: 'string',dictCode: 'nu_status',}, }; diff --git a/src/views/synchronization/nuBaseInfo/NuBaseInfoList.vue b/src/views/synchronization/nuBaseInfo/NuBaseInfoList.vue index 0feff68..daca8c8 100644 --- a/src/views/synchronization/nuBaseInfo/NuBaseInfoList.vue +++ b/src/views/synchronization/nuBaseInfo/NuBaseInfoList.vue @@ -77,7 +77,7 @@ const userStore = useUserStore(); //注册table数据 const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ tableProps: { - title: '护理单元', + title: '区域', api: list, columns, canResize: false, diff --git a/src/views/synchronization/nuBaseInfo/NuBaseInfoSyncList.vue b/src/views/synchronization/nuBaseInfo/NuBaseInfoSyncList.vue new file mode 100644 index 0000000..b01889a --- /dev/null +++ b/src/views/synchronization/nuBaseInfo/NuBaseInfoSyncList.vue @@ -0,0 +1,310 @@ + + + + + diff --git a/src/views/synchronization/nuBaseInfo/components/NuBaseInfoForm.vue b/src/views/synchronization/nuBaseInfo/components/NuBaseInfoForm.vue index fa2c84d..25dc941 100644 --- a/src/views/synchronization/nuBaseInfo/components/NuBaseInfoForm.vue +++ b/src/views/synchronization/nuBaseInfo/components/NuBaseInfoForm.vue @@ -6,13 +6,13 @@ name="NuBaseInfoForm"> - - + - + @@ -48,7 +48,6 @@ const props = defineProps({ formDisabled: { type: Boolean, default: false }, formData: { type: Object, default: () => ({}) }, formBpm: { type: Boolean, default: true }, - orgCode: '' }); const formRef = ref(); const useForm = Form.useForm; @@ -57,6 +56,7 @@ const formData = reactive>({ id: '', nuName: '', nuId: '', + orgCode: '', areaFlag: '', status: '', }); @@ -85,8 +85,9 @@ const disabled = computed(() => { /** * 新增 */ -function add() { - edit({}); +function add(record) { + console.log("🚀 ~ add ~ record:", record) + edit(record); } /** @@ -143,7 +144,6 @@ async function submitForm() { if (!model.id) { model.status = "0"; } - model.orgCode = props.orgCode await saveOrUpdate(model, isUpdate.value) .then((res) => { if (res.success) { diff --git a/src/views/synchronization/nuBaseInfo/components/NuBaseInfoModal.vue b/src/views/synchronization/nuBaseInfo/components/NuBaseInfoModal.vue index 1cd3ca6..bb6d508 100644 --- a/src/views/synchronization/nuBaseInfo/components/NuBaseInfoModal.vue +++ b/src/views/synchronization/nuBaseInfo/components/NuBaseInfoModal.vue @@ -1,9 +1,13 @@ \ No newline at end of file + +.base-class { + :deep(.ant-card .ant-card-body) { + padding-top: 10px !important; + padding-bottom: 10px !important; + } +} + diff --git a/src/views/system/depart/depart.data.ts b/src/views/system/depart/depart.data.ts index d691e89..b4e1858 100644 --- a/src/views/system/depart/depart.data.ts +++ b/src/views/system/depart/depart.data.ts @@ -105,7 +105,7 @@ export function useBasicFormSchema() { // rules: [ // { // required: true, - // message: '请填写护理单元长者入住应缴金额', + // message: '请填写区域长者入住应缴金额', // }, // ], // }, diff --git a/src/views/system/loginmini/MiniLogin.vue b/src/views/system/loginmini/MiniLogin.vue index 2319596..9d85fef 100644 --- a/src/views/system/loginmini/MiniLogin.vue +++ b/src/views/system/loginmini/MiniLogin.vue @@ -53,7 +53,10 @@ -
+
+ +
+
@@ -92,7 +95,7 @@ diff --git a/src/views/system/loginmini/huakuai.vue b/src/views/system/loginmini/huakuai.vue new file mode 100644 index 0000000..57c8048 --- /dev/null +++ b/src/views/system/loginmini/huakuai.vue @@ -0,0 +1,170 @@ + + + + + \ No newline at end of file diff --git a/src/views/utils/nuUtils/HldyUtilsIndex.vue b/src/views/utils/nuUtils/HldyUtilsIndex.vue index 2140f55..5ccee26 100644 --- a/src/views/utils/nuUtils/HldyUtilsIndex.vue +++ b/src/views/utils/nuUtils/HldyUtilsIndex.vue @@ -20,7 +20,7 @@ const hldyUtilsListModal = ref(); const departInfo = ref({}); const emit = defineEmits(['register', 'ok']); - //护理单元回调 + //区域回调 function hldyCallback(record) { console.log("🚀 ~ hldyCallback ~ record:", record) diff --git a/src/views/utils/nuUtils/HldyUtilsList.vue b/src/views/utils/nuUtils/HldyUtilsList.vue index 6f83c8e..b5e687b 100644 --- a/src/views/utils/nuUtils/HldyUtilsList.vue +++ b/src/views/utils/nuUtils/HldyUtilsList.vue @@ -11,7 +11,7 @@