From 66c9448ba2abc35a678f01883fd319048908a5d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Thu, 12 Mar 2026 17:25:11 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E7=89=A9=E8=81=94=E6=99=BA=E8=83=BD?= =?UTF-8?q?=E7=94=B5=E8=A1=A8=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/tq/electricity/electricity.data.ts | 51 +------------------ src/views/iot/tq/electricity/index.vue | 26 ++++------ 2 files changed, 13 insertions(+), 64 deletions(-) diff --git a/src/views/iot/tq/electricity/electricity.data.ts b/src/views/iot/tq/electricity/electricity.data.ts index 4e271f5..f48eff8 100644 --- a/src/views/iot/tq/electricity/electricity.data.ts +++ b/src/views/iot/tq/electricity/electricity.data.ts @@ -16,12 +16,7 @@ export const columns: BasicColumn[] = [ { title: 'SN', align: "center", - dataIndex: 'address' - }, - { - title: '采集器号', - align: "center", - dataIndex: 'cid' + dataIndex: 'sn' }, { title: '设备状态', @@ -39,24 +34,6 @@ export const columns: BasicColumn[] = [ 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: '用电量KWH', align: "center", @@ -67,16 +44,6 @@ export const columns: BasicColumn[] = [ align: "center", dataIndex: 'readTime' }, - { - title: '上次上线时间', - align: "center", - dataIndex: 'connectTime' - }, - { - title: '上次掉线时间', - align: "center", - dataIndex: 'disconnectTime' - }, { title: '描述', align: "center", @@ -107,7 +74,7 @@ export const searchFormSchema: FormSchema[] = [ }, { label: 'SN', - field: 'address', + field: 'sn', component: 'Input', colProps: { span: 6 }, }, @@ -137,18 +104,4 @@ export const searchFormSchema: FormSchema[] = [ }, colProps: { span: 6 }, }, - { - label: '信号强度', - field: 'csq', - component: 'JDictSelectTag', - componentProps: { - placeholder: '请选择强度', - options: [ - { label: '高', value: '1' }, - { label: '中', value: '2' }, - { label: '低', value: '3' }, - ], - }, - colProps: { span: 6 }, - }, ]; diff --git a/src/views/iot/tq/electricity/index.vue b/src/views/iot/tq/electricity/index.vue index 53cba84..afecf17 100644 --- a/src/views/iot/tq/electricity/index.vue +++ b/src/views/iot/tq/electricity/index.vue @@ -6,9 +6,9 @@ :wrapper-col="wrapperCol"> - + - + @@ -109,7 +109,7 @@ import { reactive, ref, h, onMounted } from 'vue'; import { defHttp } from '/@/utils/http/axios'; import { Statistic } from 'ant-design-vue'; import { Modal } from "ant-design-vue"; -import { list, eleReset, eleControl, eleRead } from './electricity.api'; +import { list, eleReset, eleCutOff, eleConnected, eleRead } from './electricity.api'; import { Pagination } from 'ant-design-vue'; import { JInput } from '/@/components/Form'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; @@ -146,8 +146,7 @@ function searchReset() { // 抄电表 async function handleRead(record) { const params = { - 'cid': record.cid, - 'address': record.address, + 'sn': record.sn, }; await eleRead(params); setTimeout(() => { @@ -168,11 +167,10 @@ async function handleControlLz(record) { return; } const params = { - 'cid': record.cid, - 'address': record.address, - 'type': '10', + 'sn' : record.sn, + 'type': '10' }; - await eleControl(params); + await eleCutOff(params); setTimeout(() => { reload(); }, 4000); @@ -191,11 +189,10 @@ async function handleControlHz(record) { return; } const params = { - 'cid': record.cid, - 'address': record.address, - 'type': '11', + 'sn' : record.sn, + 'type': '11' }; - await eleControl(params); + await eleConnected(params); setTimeout(() => { reload(); }, 4000); @@ -204,8 +201,7 @@ async function handleControlHz(record) { // 电表清零 async function handleReset(record) { const params = { - 'cid': record.cid, - 'address': record.address, + 'sn' : record.sn }; await eleReset(params); setTimeout(() => { From d10e3a02f24caa4f21d0b6216c48cf225fcad690 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Fri, 13 Mar 2026 10:03:11 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=81=9C=E7=94=A8?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/biz/nuBaseInfo/QyxxList.vue | 20 +- .../nuBaseInfo/iotDevices/IotDevices.data.ts | 28 ++- .../nuBaseInfo/iotDevices/IotDevicesList.vue | 2 + .../iotDevices/IotDevicesTyList.vue | 211 ++++++++++++++++++ .../iotDevices/IotDevicesTyModal.vue | 69 ++++++ 5 files changed, 318 insertions(+), 12 deletions(-) create mode 100644 src/views/biz/nuBaseInfo/iotDevices/IotDevicesTyList.vue create mode 100644 src/views/biz/nuBaseInfo/iotDevices/IotDevicesTyModal.vue diff --git a/src/views/biz/nuBaseInfo/QyxxList.vue b/src/views/biz/nuBaseInfo/QyxxList.vue index e6f52fd..00e36a0 100644 --- a/src/views/biz/nuBaseInfo/QyxxList.vue +++ b/src/views/biz/nuBaseInfo/QyxxList.vue @@ -107,14 +107,16 @@ + - + + @@ -126,6 +128,7 @@ import BaseWlsbListModal from './components/BaseWlsbListModal.vue' import CameraPreviewModal from '/@/views/iot/tplink/camera/components/CameraPreviewModal.vue' import IotDevicesModall from '/@/views/biz/nuBaseInfo/iotDevices/IotDevicesModal.vue' + import IotDevicesTyModall from '/@/views/biz/nuBaseInfo/iotDevices/IotDevicesTyModal.vue' import { useUserStore } from '/@/store/modules/user'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import { useMessage } from '/@/hooks/web/useMessage'; @@ -144,8 +147,8 @@ const logoUrl = 'https://www.focusnu.com/devops/resource/img/logo.png'; // 替 const { createMessage } = useMessage(); const formRef = ref(); - const previewModal = ref(); const iotDevicesModal = ref(); + const iotDevicesTyModal = ref(); const wlsbModal = ref(); const registerCkfzrModal = ref(); const registerCrkModal = ref(); @@ -194,7 +197,9 @@ function handleChangeValidateStatus(record,checked) { if (checked) { handleQiyong(record); } else { - handleTingyong(record); + iotDevicesTyModal.value.disableSubmit = false; + iotDevicesTyModal.value.init(record); + // handleTingyong(record); } } @@ -251,6 +256,7 @@ function handleChangeValidateStatus(record,checked) { * 停用 */ async function handleTingyong(record) { + console.log("🚀 ~ handleTingyong ~ record:", record) record.status = 5; await hldyQyty(record, true).then((res) => { if (res.success) { @@ -261,13 +267,6 @@ function handleChangeValidateStatus(record,checked) { reload(); }); } - /** - * 预览 - */ - function handlePreview(record: Recordable) { - previewModal.value.disableSubmit = true; - previewModal.value.edit(record); - } /** * 查询 @@ -295,7 +294,6 @@ function handleChangeValidateStatus(record,checked) { function reload() { defHttp.get({url: '/nuBaseInfo/nuBaseInfo/qyList',params:queryParam}).then(res => { - console.log("🌊 ~ reload ~ res1111111:", res) tableData.value = res.records; }); } diff --git a/src/views/biz/nuBaseInfo/iotDevices/IotDevices.data.ts b/src/views/biz/nuBaseInfo/iotDevices/IotDevices.data.ts index 7a18014..c57800e 100644 --- a/src/views/biz/nuBaseInfo/iotDevices/IotDevices.data.ts +++ b/src/views/biz/nuBaseInfo/iotDevices/IotDevices.data.ts @@ -41,7 +41,33 @@ export const columns: BasicColumn[] = [ dataIndex: 'deviceStatus_dictText' }, ]; - +export const columnsTy: BasicColumn[] = [ + { + title: '设备标识', + align: "center", + dataIndex: 'deviceIndex' + }, + { + title: '设备型号', + align: "center", + dataIndex: 'deviceModel' + }, + { + title: '设备维度', + align: "center", + dataIndex: 'dimension' + }, + { + title: '设备类型', + align: "center", + dataIndex: 'deviceType_dictText' + }, + { + title: '在线状态', + align: "center", + dataIndex: 'deviceStatus_dictText' + }, +]; // 高级查询数据 export const superQuerySchema = { deviceType: {title: '设备类型',order: 0,view: 'text', type: 'string',}, diff --git a/src/views/biz/nuBaseInfo/iotDevices/IotDevicesList.vue b/src/views/biz/nuBaseInfo/iotDevices/IotDevicesList.vue index f7515c1..d22c35c 100644 --- a/src/views/biz/nuBaseInfo/iotDevices/IotDevicesList.vue +++ b/src/views/biz/nuBaseInfo/iotDevices/IotDevicesList.vue @@ -83,6 +83,7 @@ import CameraPreviewModal from '/@/views/iot/tplink/camera/components/CameraPrev canResize:false, useSearchForm: false, showIndexColumn: true, + immediate: false, actionColumn: { width: 120, fixed: 'right', @@ -213,6 +214,7 @@ function handlePreview(record: Recordable) { function init() { //初始化 + reload(); } defineExpose({ diff --git a/src/views/biz/nuBaseInfo/iotDevices/IotDevicesTyList.vue b/src/views/biz/nuBaseInfo/iotDevices/IotDevicesTyList.vue new file mode 100644 index 0000000..dce7616 --- /dev/null +++ b/src/views/biz/nuBaseInfo/iotDevices/IotDevicesTyList.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/src/views/biz/nuBaseInfo/iotDevices/IotDevicesTyModal.vue b/src/views/biz/nuBaseInfo/iotDevices/IotDevicesTyModal.vue new file mode 100644 index 0000000..4b83fd8 --- /dev/null +++ b/src/views/biz/nuBaseInfo/iotDevices/IotDevicesTyModal.vue @@ -0,0 +1,69 @@ + + + + + + From d16b3153519f745f81cbf565fd990fc3c95c9a8d Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Fri, 13 Mar 2026 10:28:21 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/elder/elderinfo/ElderInfo.data.ts | 18 ++++++++++++++++-- src/views/elder/elderinfo/ElderInfoList.vue | 16 ++++++++-------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/views/elder/elderinfo/ElderInfo.data.ts b/src/views/elder/elderinfo/ElderInfo.data.ts index 81a0e6a..1ef6afc 100644 --- a/src/views/elder/elderinfo/ElderInfo.data.ts +++ b/src/views/elder/elderinfo/ElderInfo.data.ts @@ -21,12 +21,12 @@ export const columns: BasicColumn[] = [ dataIndex: 'name', }, { - title: '性别', + title: '长者性别', align: 'center', dataIndex: 'sex', }, { - title: '年龄', + title: '长者年龄', align: 'center', dataIndex: 'age', }, @@ -57,6 +57,7 @@ export const auditHisColumns: BasicColumn[] = [ title: 'NUID', align: 'center', dataIndex: 'nuId', + width: 100, }, { title: '护理单元', @@ -67,6 +68,7 @@ export const auditHisColumns: BasicColumn[] = [ title: '长者姓名', align: 'center', dataIndex: 'name', + width: 100, }, { title: '性别', @@ -84,6 +86,7 @@ export const auditHisColumns: BasicColumn[] = [ title: '监护人姓名', align: 'center', dataIndex: 'guardianName', + width: 100, }, // { // title: '关系', @@ -94,6 +97,17 @@ export const auditHisColumns: BasicColumn[] = [ title: '监护人电话', align: 'center', dataIndex: 'guardianPhone', + width: 140, + }, + { + title: '审核类型', + align: 'center', + dataIndex: 'guardianPhone', + customRender: function ({ text }) { + return '变更'; + }, + width: 100, + }, { title: '审核时间', diff --git a/src/views/elder/elderinfo/ElderInfoList.vue b/src/views/elder/elderinfo/ElderInfoList.vue index aaa1b91..7c651a3 100644 --- a/src/views/elder/elderinfo/ElderInfoList.vue +++ b/src/views/elder/elderinfo/ElderInfoList.vue @@ -154,14 +154,14 @@ function getTableAction(record) { label: '详情', onClick: handleDetail.bind(null, record), }, - { - label: '护理流程', - onClick: handleHllc.bind(null, record), - }, - { - label: '优先派单', - onClick: handleAssignCaregiver.bind(null, record), - } + // { + // label: '护理流程', + // onClick: handleHllc.bind(null, record), + // }, + // { + // label: '优先派单', + // onClick: handleAssignCaregiver.bind(null, record), + // } ]; } From f18fa858d43ccafd9f948b25bccde36c73a6f5c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Fri, 13 Mar 2026 18:04:34 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=91=84=E5=83=8F=E5=A4=B4=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/iot/tplink/camera/camera.api.ts | 21 ++++++ .../camera/components/CameraInfoList.vue | 67 +++++++++++++------ .../camera/components/CameraPreviewForm.vue | 10 +-- .../camera/components/CameraPreviewModal.vue | 11 ++- src/views/iot/tq/electricity/index.vue | 6 +- 5 files changed, 82 insertions(+), 33 deletions(-) diff --git a/src/views/iot/tplink/camera/camera.api.ts b/src/views/iot/tplink/camera/camera.api.ts index a04d781..54dd826 100644 --- a/src/views/iot/tplink/camera/camera.api.ts +++ b/src/views/iot/tplink/camera/camera.api.ts @@ -12,8 +12,11 @@ enum Api { edit = '/iot/tplink/cameraInfo/edit', rebootDevice = '/iot/tplink/cameraInfo/rebootDevice', previewUrl = '/iot/tplink/cameraInfo/getPreviewUrl', + getDeviceDetails = '/iot/tplink/cameraInfo/getDeviceDetails', getImageCommon = '/iot/tplink/cameraInfo/getImageCommon', setImageCommon = '/iot/tplink/cameraInfo/setImageCommon', + getImageSwitch = '/iot/tplink/cameraInfo/getImageSwitch', + setImageSwitch = '/iot/tplink/cameraInfo/setImageSwitch', getOsdCapability = '/iot/tplink/cameraInfo/getOsdCapability', getOsd = '/iot/tplink/cameraInfo/getOsd', setOsd = '/iot/tplink/cameraInfo/setOsd', @@ -112,6 +115,12 @@ export const rebootDevice = (params) => { return defHttp.post({ url: Api.rebootDevice, params }); } +/** + * 获取设备信息 + * @param params + */ +export const getDeviceDetails = (params) => defHttp.get({ url: Api.getDeviceDetails, params }); + /** * 获取画面基本信息 * @param params @@ -124,6 +133,18 @@ export const getImageCommon = (params) => defHttp.post({ url: Api.getImageCommon */ export const setImageCommon = (params) => defHttp.post({ url: Api.setImageCommon, params }); +/** + * 获取画面基本信息 + * @param params + */ +export const getImageSwitch = (params) => defHttp.post({ url: Api.getImageSwitch, params }); + +/** + * 设置画面基本信息 + * @param params + */ +export const setImageSwitch = (params) => defHttp.post({ url: Api.setImageSwitch, params }); + /** * 获取OSD能力集参数 * @param params diff --git a/src/views/iot/tplink/camera/components/CameraInfoList.vue b/src/views/iot/tplink/camera/components/CameraInfoList.vue index b71fd07..9f110a5 100644 --- a/src/views/iot/tplink/camera/components/CameraInfoList.vue +++ b/src/views/iot/tplink/camera/components/CameraInfoList.vue @@ -34,7 +34,7 @@