| | |
| | | <!-- 巡检任务情况-详情 --> |
| | | <template> |
| | | |
| | | <el-dialog |
| | | v-model="isShowDetailsDialog" |
| | | title="巡检任务详情" |
| | | :width="pxToRem(1000)" |
| | | :close-on-click-modal="false" |
| | | :destroy-on-close="true" |
| | | > |
| | | <!-- 搜索 --> |
| | | <el-form :model="searchForm" inline> |
| | | <div class="search-row"> |
| | | <el-form-item> |
| | | <el-input v-model="searchForm.key_word" placeholder="请输入任务/机巢名称" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="关联算法"> |
| | | <el-select v-model="searchForm.ai_type" placeholder="请选择"> </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="任务状态"> |
| | | <el-select v-model="searchForm.status" placeholder="请选择" clearable> |
| | | <el-option |
| | | v-for="item in statusOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="search-row"> |
| | | <el-form-item label="选择机巢"> |
| | | <el-select v-model="searchForm.ai_type" placeholder="请选择"> </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="YYYY-MM-DD" |
| | | @change="changeselect" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button @click="handleReset">重置</el-button> |
| | | <el-button type="primary" @click="handleSearch">查询</el-button> |
| | | </el-form-item> |
| | | </div> |
| | | </el-form> |
| | | <!-- 表格 --> |
| | | <el-table :data="taskDetailData" style="width: 100%"> |
| | | <el-table-column label="序号"> |
| | | <template #default="scope"> |
| | | <span style="margin-left: 10px">{{ scope.row.date }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="任务编号" /> |
| | | <el-table-column prop="name" label="任务名称" /> |
| | | <el-table-column prop="name" label="所属机巢" /> |
| | | <el-table-column prop="name" label="关联算法" /> |
| | | <el-table-column prop="name" label="任务状态" /> |
| | | <el-table-column prop="name" label="任务类型" /> |
| | | <el-table-column prop="name" label="任务时间" /> |
| | | <el-table-column prop="name" label="关联事件" /> |
| | | <el-table-column label="操作"> |
| | | <el-button link type="primary" size="small">查看</el-button></el-table-column |
| | | > |
| | | </el-table> |
| | | <!-- 分页 --> |
| | | <div class="pagination"> |
| | | <el-pagination |
| | | v-model:current-page="pageParams.page" |
| | | v-model:page-size="pageParams.limit" |
| | | :page-sizes="[10, 20, 30, 50]" |
| | | background |
| | | :disabled="disabled" |
| | | |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="100" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | <script setup> |
| | | |
| | | import { pxToRem } from '@/utils/rem' |
| | | const isShowDetailsDialog = defineModel('show') |
| | | const dateRange = ref('') |
| | | const searchForm = reactive({ |
| | | key_word: '', // 模糊搜索关键词(匹配名称/昵称/设备sn) |
| | | ai_type: '', // 算法类型 |
| | | area_code: '', // 区域code |
| | | create_dept: '', // 创建部门 |
| | | date_enum: '', // 日期枚举,可用值:TODAY,CURRENT_WEEK,CURRENT_MONTH,CURRENT_YEAR |
| | | device_sn: '', // 设备编号 |
| | | end_date: '', // 结束时间 |
| | | industry_type: '', // 行业key |
| | | start_date: '', // 开始时间 |
| | | status: '', // 作业状态 |
| | | }) |
| | | const statusOptions = [ |
| | | { label: '待执行', value: 1 }, |
| | | { label: '执行中', value: 2 }, |
| | | { label: '已完成', value: 3 }, |
| | | { label: '已取消', value: 4 }, |
| | | { label: '执行失败', value: 5 }, |
| | | ] |
| | | // 日期选择 |
| | | const changeselect = () => { |
| | | console.log('changedata', dateRange.value) |
| | | } |
| | | // 重置 |
| | | const handleReset = () => { |
| | | console.log('重置') |
| | | } |
| | | // 查询 |
| | | const handleSearch = () => { |
| | | console.log('查询') |
| | | } |
| | | // 表格 |
| | | const taskDetailData = ref([]) |
| | | // 分页 |
| | | const total = ref(0); |
| | | // 分页参数 |
| | | let pageParams = reactive({ |
| | | page: 1, |
| | | limit: 10 |
| | | }); |
| | | // 分页大小改变 |
| | | const handleSizeChange =(val)=>{ |
| | | pageParams.limit = val; |
| | | } |
| | | // 页码改变 |
| | | const handleCurrentChange =(val)=>{ |
| | | pageParams.page = val; |
| | | } |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | .search-row { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .el-form-item { |
| | | flex: 1; |
| | | } |
| | | } |
| | | :deep(.el-form) { |
| | | .el-form-item { |
| | | margin-bottom: 0; |
| | | margin-right: 20px; |
| | | .el-form-item__label { |
| | | color: #fff; |
| | | } |
| | | |
| | | .el-input, |
| | | .el-select, |
| | | .el-date-editor { |
| | | width: 200px; |
| | | --el-input-bg-color: transparent; |
| | | --el-input-border-color: rgba(255, 255, 255, 0.3); |
| | | --el-input-text-color: #fff; |
| | | --el-input-placeholder-color: rgba(255, 255, 255, 0.5); |
| | | } |
| | | } |
| | | } |
| | | |
| | | :deep() { |
| | | .el-date-editor.el-input, |
| | | .el-date-editor.el-input__wrapper { |
| | | height: var(--el-input-height, var(--el-component-size)); |
| | | width: 0 !important; |
| | | } |
| | | } |
| | | .pagination { |
| | | margin-top: 20px; |
| | | |
| | | } |
| | | </style> |