From e22036eca7bafa1138c50ad536a1a7640ac15951 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Fri, 4 Jul 2025 10:40:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=91=84=E5=83=8F=E5=A4=B4?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=9A=84=E6=A0=B7=E5=BC=8F=EF=BC=8C=E5=8F=8A?= =?UTF-8?q?=E7=94=BB=E9=9D=A2=E9=85=8D=E7=BD=AE=E5=8A=9F=E8=83=BD=E6=94=B9?= =?UTF-8?q?=E6=88=90=E5=BC=B9=E5=87=BA=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/iot/a12.png | Bin 0 -> 1833 bytes src/assets/iot/a13.png | Bin 0 -> 1872 bytes src/assets/iot/a14.png | Bin 0 -> 2269 bytes .../camera/components/CameraInfoList.vue | 239 +++++++++++------- .../camera/components/CameraPictureConfig.vue | 38 ++- .../components/CameraPictureConfigModal.vue | 66 +++++ 6 files changed, 245 insertions(+), 98 deletions(-) create mode 100644 src/assets/iot/a12.png create mode 100644 src/assets/iot/a13.png create mode 100644 src/assets/iot/a14.png create mode 100644 src/views/iot/tplink/camera/components/CameraPictureConfigModal.vue diff --git a/src/assets/iot/a12.png b/src/assets/iot/a12.png new file mode 100644 index 0000000000000000000000000000000000000000..001070aabf807f9249e1cfa807edc7c6c196a1aa GIT binary patch literal 1833 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 Qddoj9R2n8Z9=tj4Z|}9c@c;k- literal 0 HcmV?d00001 diff --git a/src/assets/iot/a14.png b/src/assets/iot/a14.png new file mode 100644 index 0000000000000000000000000000000000000000..5d6499c8e33d2b386ba578d1ef3ce3ffc0b27608 GIT binary patch literal 2269 zcma)82~-p38Vx9mpt4l#0|CbX8lhw+A?rw>kOaX3B1FJasv$EW5t0eXC}Deml_Drb z>T-e#)D=rB55xsTUU z>4!{2R3lP2To5oFk67`@G8|XIAefw-OilKpV(NI1#^rKBhz`=}o&>^ElcL1MT2H0M zWkx}OY9wm83YTL_z@R9O!#3eOGU4|1F%+sdvP#W#s)(e4TCobGQ6a;zW`H3f{~M}M zyg_U5aP%*~Zxz;vQdB4yj%u(?Y6($1smn|#MDiw%YLhx~>YRuKL=#a3s>C&fE!tEd z70g$oVjNS8Ff4H<>tQks$22lb1<)B(Hb9AzD-kSNv)mv)O+W==9OaRT^fNsnmM5Jp zqS0WQ7YuPdAPx*cuc09rBA2H89m@8E7$S%ZdwIcL^#6hq^+&|G`2PWigup>c4K7wn z&>#ViOqim|A@MI^8kQ!B(o;pK)_0aeO)!v!It8#Gb1d^3s!s4)dFRXAAw7Ki?HI+w#_(U@Kk z!{CrhX9RHkghIYBfY0<}_>rf%$XgsvbLs!c1qm~t;d=hj47N-V7mbB&j zuR>SIw06M8W~*TTjt}qjDca1J)^9^j6yzN@ze~T_{H+VC;Hop?Ji=A~Tm7GG=pDA&~AN zJ!CzQ6K$NT>uY$hsA^AWW$LTrTI~^A=Qy8O)0(Q9qdy5~rJvo|P*K^p^F&^f(I_9u zc8$2;c&?@?c!A`pjb-p!mM*V)g`J(cM`B9u5Iw%~DhxaHuRk2Ce-LHlXAd-OD}2Tz zEphoF{3~^D!q#1s{9kPnMn-&kw#Q{3_FA`LmLL0x`*EX|EdB=Hv3H%unwjaRZ&xsT z(rt?<79jZ*p=+z0R&~ zA3e4#@-_+8CI7BuDWZfm!u3|x*cLOt9{=*S^0W!_U&p)`u(^R33#v*o=X|^poP+D@ zPEfy38_TeOHIB$?GCjC+hb_ObsO(wckyE3(s7Z34iEq&OPv(!i`lZ$fJZxoY9pZ5- z!J>&qLD!^H`Qp##HGd#Xl6w5)?{1nywS*%Agj){TUjdE#`EL49_J3F zZe{t8&1;m$uCj_NR@`!l_142NOZTr?@mxpA_jLf9zpL^P-c^)7l9}g6CI+_*tG@Mr zdf=V;e|)q2m{GJ|$ERm5?Md+FP|xiiRNmS(l)X!Tx!V3`%lSiAE6+>1%B;-N*X2ds zaD1$9Qnapf$}h6byks_M#8o9%ao-ueH>}$q-~2M&q-1^B6N=r*jw9Kw^+ZNl&mE-vBv0`|SSvsYX(+aveie+cF-`rJUp^ie~nYt60BUXdOWjfXKJR2apB@U4DYWOd)mENNV_ANbN7IS z&(Gx>XUnYz@GlbNzP+mkBUd@ZRg7LgXv|+0=c=RRE{2*!lfYN8F01O=f6LoucksuZ zj!TPty07nos9wMJOyG`^ zZ7tdP7u$MLj{%o8@Buj) -
+
+ +
+ + + + + + + + + + + + + + + + 查询 + 重置 + + + +
+ + + + +

+ +
+ 预览 +
+ +
+ 编辑 +
+ +
+ 画面配置 +
+

+ + + + {{item.nuId_dictText?item.nuId_dictText:'未配置'}} + + NUID: {{item.nuId?item.nuId:'未配置'}} + + +
+
+ +
+ +
+
+
+
+ 共 {{ tableData.total }} 条数据 + +
- - + - + --> +
@@ -29,6 +101,11 @@ import {ref, reactive, createVNode, h, onMounted, watch, unref} from 'vue'; import { useRouter } from 'vue-router'; import CameraPreviewModal from './CameraPreviewModal.vue' import CameraInfoDrawer from './CameraInfoDrawer.vue' + import { defHttp } from '/@/utils/http/axios'; +import { JInput } from '/@/components/Form'; + import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; + import CameraPictureConfigModal from '/@/views/iot/tplink/camera/components/CameraPictureConfigModal.vue'; + const props = defineProps({ data: { type: Object, default: () => ({}) }, @@ -41,28 +118,10 @@ import {ref, reactive, createVNode, h, onMounted, watch, unref} from 'vue'; const registerModal = ref(); const previewModal = ref(); const deviceModal = ref(); + const cameraPictureConfigModal = ref(); const userStore = useUserStore(); - //注册table数据 - const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ - tableProps: { - title: '护理单元-物联管理-摄像头信息', - api: list, - columns, - canResize: false, - formConfig: { - // labelWidth: 200, - schemas: searchFormSchema, - }, - actionColumn: { - width: 180, - fixed: 'right', - }, - beforeFetch: async (params) => { - return Object.assign(params, queryParam); - }, - }, - }); - const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext; + const tableData = ref([]); +const pageParams = ref({ pageNo: 1, pageSize: 8 }) const labelCol = reactive({ xs:24, sm:4, @@ -74,22 +133,6 @@ import {ref, reactive, createVNode, h, onMounted, watch, unref} from 'vue'; sm: 20, }); - onMounted(() => { - watch( - () => props.data, - async () => { - queryParam.projectId = props.data.projectId; - queryParam.regionId = props.data.regionId; - let record = unref(props.data); - if (typeof record !== 'object') { - record = {}; - } - reload(); - }, - { deep: true, immediate: true } - ); - }); - /** * 编辑 */ @@ -121,9 +164,7 @@ import {ref, reactive, createVNode, h, onMounted, watch, unref} from 'vue'; * 画面配置 */ function handlePicConfig(record) { - router.push({ - path:'/tplink/cameraConfig', - query: { + var params = { deviceIndex: record.deviceIndex, parentId: record.parentId, multitrans: record.multitrans, @@ -131,28 +172,11 @@ import {ref, reactive, createVNode, h, onMounted, watch, unref} from 'vue'; regionId: record.regionId, ip: record.ip } - }) - } + cameraPictureConfigModal.value.disableSubmit = true; + cameraPictureConfigModal.value.edit(params); - /** - * 操作栏 - */ - function getTableAction(record) { - return [ - { - label: '画面配置', - onClick: handlePicConfig.bind(null, record), - }, - { - label: '编辑', - onClick: handleEdit.bind(null, record), - }, - { - label: '预览', - onClick: handlePreview.bind(null, record), - }, - ]; } + /** * 左侧树选择后触发 @@ -168,36 +192,71 @@ import {ref, reactive, createVNode, h, onMounted, watch, unref} from 'vue'; // rootTreeData.value = data; } + function reload(){ + queryParam.pageSize = pageParams.value.pageSize; + queryParam.pageNo = pageParams.value.pageNo; + defHttp.get({url: '/iot/tplink/cameraInfo/list',params:queryParam}).then(res => { + console.log("🚀 ~ defHttp.get ~ res:", res) + tableData.value = res; + }); + } + + /** + * 重置 + */ + function searchReset() { + formRef.value.resetFields(); + //刷新数据 + reload(); + } + + + onMounted(() => { + watch( + () => props.data, + async () => { + queryParam.projectId = props.data.projectId; + queryParam.regionId = props.data.regionId; + let record = unref(props.data); + if (typeof record !== 'object') { + record = {}; + } + reload(); + }, + { deep: true, immediate: true } + ); + }); diff --git a/src/views/iot/tplink/camera/components/CameraPictureConfig.vue b/src/views/iot/tplink/camera/components/CameraPictureConfig.vue index 55ae8bc..28cf763 100644 --- a/src/views/iot/tplink/camera/components/CameraPictureConfig.vue +++ b/src/views/iot/tplink/camera/components/CameraPictureConfig.vue @@ -190,13 +190,29 @@ // getBatchProgress({}).then(res=>{}); // } - onMounted(()=>{ - formData.deviceIndex = router.currentRoute.value.query.deviceIndex; - formData.parentId = router.currentRoute.value.query.parentId; - formData.multitrans = router.currentRoute.value.query.multitrans; - formData.projectId = router.currentRoute.value.query.projectId; - formData.regionId = router.currentRoute.value.query.regionId; - formData.ip = router.currentRoute.value.query.ip; + // onMounted(()=>{ + // formData.deviceIndex = router.currentRoute.value.query.deviceIndex; + // formData.parentId = router.currentRoute.value.query.parentId; + // formData.multitrans = router.currentRoute.value.query.multitrans; + // formData.projectId = router.currentRoute.value.query.projectId; + // formData.regionId = router.currentRoute.value.query.regionId; + // formData.ip = router.currentRoute.value.query.ip; + + // cameraData.value.deviceIndex = formData.deviceIndex; + // cameraData.value.projectId = formData.projectId; + // cameraData.value.regionId = formData.regionId; + // cameraData.value.multitrans = formData.multitrans; + // cameraData.value.scale = formData.scale; + // cameraData.value.parentId = formData.parentId; + // }) + + function edit(record) { + formData.deviceIndex = record.deviceIndex; + formData.parentId = record.parentId; + formData.multitrans = record.multitrans; + formData.projectId = record.projectId; + formData.regionId = record.regionId; + formData.ip = record.ip; cameraData.value.deviceIndex = formData.deviceIndex; cameraData.value.projectId = formData.projectId; @@ -204,7 +220,13 @@ cameraData.value.multitrans = formData.multitrans; cameraData.value.scale = formData.scale; cameraData.value.parentId = formData.parentId; - }) + } + + + + defineExpose({ + edit, + }); diff --git a/src/views/iot/tplink/camera/components/CameraPictureConfigModal.vue b/src/views/iot/tplink/camera/components/CameraPictureConfigModal.vue new file mode 100644 index 0000000..4a50c0b --- /dev/null +++ b/src/views/iot/tplink/camera/components/CameraPictureConfigModal.vue @@ -0,0 +1,66 @@ + + + + + +