integrated_traffic_vue/src/views/eightwork_videomanager/index.vue

122 lines
3.4 KiB
Vue
Raw Normal View History

2024-01-11 17:15:52 +08:00
<template>
<div>
<el-card>
<el-form
:model="searchForm"
label-width="100px"
@submit.prevent="fnResetPagination"
>
<el-row>
<el-col :span="6">
<el-form-item label="关键字查询" prop="KEYWORDS">
<el-input
v-model="searchForm.KEYWORDS"
placeholder="请输入关键字"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label-width="10px">
<el-button type="primary" native-type="submit">搜索</el-button>
<el-button native-type="reset" @click="fnResetPagination">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<layout-card>
<layout-table
v-model:pagination="pagination"
2024-02-21 09:42:49 +08:00
:data="list"
2024-01-11 17:15:52 +08:00
@get-data="fnGetData"
>
<el-table-column label="序号" width="70">
2024-02-21 09:42:49 +08:00
<template #default="{ $index }">
2024-01-11 17:15:52 +08:00
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
2024-01-16 15:15:52 +08:00
<el-table-column prop="CODE" label="监控设备编码" />
2024-01-11 17:15:52 +08:00
<el-table-column prop="VIDEONAME" label="视频名称" />
2024-01-12 14:38:08 +08:00
<el-table-column label="操作" width="250">
2024-02-21 09:42:49 +08:00
<template #default="{ row }">
2024-01-12 14:38:08 +08:00
<el-button type="primary" text link @click="fnDeleteVideo(row)">
删除
</el-button>
<el-button
link
type="primary"
@click="fnPreviewVideo(row.VIDEOURL)"
>
播放
</el-button>
</template>
</el-table-column>
2024-01-11 17:15:52 +08:00
<template #button>
2024-01-12 14:38:08 +08:00
<el-button type="primary" @click="fnAdd"> </el-button>
2024-01-11 17:15:52 +08:00
</template>
</layout-table>
</layout-card>
2024-01-12 14:38:08 +08:00
<add
v-model:visible="data.addDialog.Visible"
:check-no="data.addDialog.checkNo"
@get-data="fnResetPagination"
/>
2024-01-15 10:09:11 +08:00
<video-view
v-model:visible="data.videoDialog.visible"
:src="data.videoDialog.src"
/>
2024-01-11 17:15:52 +08:00
</div>
</template>
<script setup>
import { serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js";
2024-01-12 14:38:08 +08:00
import {
getEightWorkVideoManagerList,
setEightWorkVideoManagerDelete,
} from "@/request/eightwork_videomanager";
2024-01-11 17:15:52 +08:00
import { reactive } from "vue";
import Add from "./components/add.vue";
import { useRoute } from "vue-router";
2024-01-12 14:38:08 +08:00
import { ElMessageBox } from "element-plus";
2024-01-15 10:09:11 +08:00
import VideoView from "./components/video.vue";
2024-01-11 17:15:52 +08:00
const route = useRoute();
const { CHECK_NO } = route.query;
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getEightWorkVideoManagerList, {
otherParams: { CHECK_NO },
});
const data = reactive({
addDialog: {
Visible: false,
checkNo: "",
},
2024-01-12 14:38:08 +08:00
videoDialog: {
visible: false,
src: "",
},
2024-01-11 17:15:52 +08:00
});
const fnAdd = () => {
data.addDialog.Visible = true;
data.addDialog.checkNo = CHECK_NO;
};
2024-01-12 14:38:08 +08:00
const fnDeleteVideo = async (row) => {
if (row) {
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
await setEightWorkVideoManagerDelete({
EIGHTWORKVIDEOMANAGER_ID: row.EIGHTWORKVIDEOMANAGER_ID,
});
fnResetPagination();
}
};
const fnPreviewVideo = (VIDEOURL) => {
data.videoDialog.visible = true;
data.videoDialog.src = VIDEOURL;
};
2024-01-11 17:15:52 +08:00
</script>
<style scoped></style>