From 5d4a638aa2718993803714c7a1377e1367a53394 Mon Sep 17 00:00:00 2001 From: wangyan Date: Fri, 9 Jan 2026 17:31:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(off=5Fduty=5Fmanagement):=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=A6=BB=E5=B2=97=E7=AE=A1=E7=90=86=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在离岗记录页面添加view-info组件用于显示详情 - 创建离岗详情组件展示部门、岗位、姓名、离岗时间等信息 - 添加viewDialog响应式数据结构管理详情弹窗状态 - 实现fnView方法用于打开详情弹窗并传递数据 - 集成useVModel处理弹窗可见性双向绑定 --- src/views/hoisting/job_data/index.vue | 1 + .../record/components/view.vue | 66 +++++++++++++++++++ .../off_duty_management/record/index.vue | 16 +++++ 3 files changed, 83 insertions(+) create mode 100644 src/views/off_duty_management/record/components/view.vue diff --git a/src/views/hoisting/job_data/index.vue b/src/views/hoisting/job_data/index.vue index aa4cc3f..794e21a 100644 --- a/src/views/hoisting/job_data/index.vue +++ b/src/views/hoisting/job_data/index.vue @@ -283,6 +283,7 @@ const fnShowPoints = (id) => { data.showPointsDialog.visible = true; }; const fnPreviewVideo = (VIDEO_PATH) => { + console.log(VIDEO_PATH); data.videoDialog.visible = true; data.videoDialog.src = VIDEO_PATH; }; diff --git a/src/views/off_duty_management/record/components/view.vue b/src/views/off_duty_management/record/components/view.vue new file mode 100644 index 0000000..32dc0d5 --- /dev/null +++ b/src/views/off_duty_management/record/components/view.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/views/off_duty_management/record/index.vue b/src/views/off_duty_management/record/index.vue index 4686ed0..f85092a 100644 --- a/src/views/off_duty_management/record/index.vue +++ b/src/views/off_duty_management/record/index.vue @@ -117,6 +117,10 @@ + @@ -125,6 +129,8 @@ import { serialNumber } from "@/assets/js/utils"; import useListData from "@/assets/js/useListData.js"; import { getRecordList } from "@/request/off_duty_management.js"; import LayoutDepartment from "@/components/department/index.vue"; +import {reactive} from "vue"; +import ViewInfo from "./components/view.vue"; const reviewStatusList = [ { ID: "0", NAME: "待审批" }, @@ -136,6 +142,12 @@ const reviewStatusList = [ ]; const { list, pagination, searchForm, fnGetData, fnResetPagination } = useListData(getRecordList, { otherParams: { TYPE: "show" } }); +const data = reactive({ + viewDialog: { + visible: false, + info: {}, + }, +}); const fnGetDataTransfer = () => { fnGetData({ STARTTIME: searchForm.value.dates?.[0], @@ -150,6 +162,10 @@ const fnResetPaginationTransfer = () => { DEPTIDS: searchForm.value.DEPTIDS?.join(","), }); }; +const fnView = (row) => { + data.viewDialog.visible = true; + data.viewDialog.info = row; +};