You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
4.2 KiB
146 lines
4.2 KiB
<template>
|
|
<ContentWrap>
|
|
<!-- 热轧穿孔机搜索工作栏 -->
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true">
|
|
<el-form-item label="日期" prop="date">
|
|
<el-date-picker
|
|
v-model="queryParams.date"
|
|
style="width: 240px; height: 30px"
|
|
value-format="YYYY-MM-DD"
|
|
type="date"
|
|
:clearable="false"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="位置" prop="flag">
|
|
<el-select v-model="queryParams.flag" placeholder="请选择">
|
|
<el-option
|
|
v-for="item in flagList"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value" />
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" size="mini" @click="handleQuery">搜索</el-button>
|
|
<el-button size="mini" @click="resetQuery">重置</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
</ContentWrap>
|
|
|
|
<!-- 列表 -->
|
|
<ContentWrap>
|
|
<el-divider content-position="left"><div style="font-size:16px; float: left"><b>{{names}}</b></div></el-divider>
|
|
<el-table
|
|
v-loading="loading" :data="dataList" border="true" highlight-current-row="true"
|
|
header-row-style="height: 50px; text-align: center" :span-method="arraySpanMethod"
|
|
:row-class-name="tableRowClassName" :cell-class-name="tableCellClassName">
|
|
<el-table-column label="" prop="name" align="right" :show-overflow-tooltip="true" width="150" />
|
|
<el-table-column label="00:00-08:00" prop="num0008" align="center" :show-overflow-tooltip="true" />
|
|
<el-table-column label="08:00-16:00" prop="num0816" align="center" :show-overflow-tooltip="true" />
|
|
<el-table-column label="16:00-24:00" prop="num1624" align="center" :show-overflow-tooltip="true" />
|
|
<el-table-column label="00:00-12:00" prop="num0012" align="center" :show-overflow-tooltip="true" />
|
|
<el-table-column label="12:00-24:00" prop="num1224" align="center" :show-overflow-tooltip="true" />
|
|
<el-table-column label="总(00:00-24:00)" prop="num0024" align="center" :show-overflow-tooltip="true" />
|
|
</el-table>
|
|
</ContentWrap>
|
|
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import * as TjanalysisApi from '@/api/tjanalysis'
|
|
import { formatDate } from '@/utils/formatTime'
|
|
import * as DictApi from '@/utils/dict'
|
|
|
|
defineOptions({ name: 'HrPuncherData' })
|
|
|
|
const message = useMessage() // 消息弹窗
|
|
const { t } = useI18n() // 国际化
|
|
|
|
const route = useRoute() // 路由信息
|
|
const routeName = ref()
|
|
routeName.value = route.name
|
|
const loading = ref(true)
|
|
const dataList = ref([])
|
|
const names = ref('');
|
|
const queryParams = reactive({
|
|
date: formatDate(new Date() , 'YYYY-MM-DD'),
|
|
flag: '1'
|
|
})
|
|
|
|
const flagList =ref([])
|
|
const handleQuery = async () => {
|
|
const ll = flagList.value.find(map=>map.value == queryParams.flag);
|
|
names.value = ll?.label
|
|
dataList.value = [];
|
|
getList()
|
|
}
|
|
|
|
const resetQuery = async () => {
|
|
queryParams.date = formatDate(new Date() , 'YYYY-MM-DD')
|
|
getList()
|
|
}
|
|
|
|
const getList = async () => {
|
|
const res = await TjanalysisApi.queryHrpuncherDay(queryParams)
|
|
dataList.value = res.dataList
|
|
loading.value = false
|
|
}
|
|
|
|
function arraySpanMethod ({ row, column, rowIndex, columnIndex }) {
|
|
if (rowIndex == 6) {
|
|
if (columnIndex == 0) {
|
|
return {
|
|
rowspan: 1,
|
|
colspan: 10
|
|
}
|
|
} else if (columnIndex == 10) {
|
|
return {
|
|
rowspan: 1,
|
|
colspan: 2
|
|
}
|
|
} else {
|
|
return {
|
|
rowspan: 0,
|
|
colspan: 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function tableRowClassName({row, rowIndex}) {
|
|
if (rowIndex === 7) {
|
|
return 'success-row'
|
|
}
|
|
return ''
|
|
}
|
|
|
|
function tableCellClassName({row, column, rowIndex, columnIndex}) {
|
|
if (columnIndex == 0) {
|
|
return 'success-cols'
|
|
}
|
|
}
|
|
|
|
/** 初始化 **/
|
|
onMounted(async () => {
|
|
const res =await DictApi.getStrDictOptions(DICT_TYPE.hrpuncherdata);
|
|
if (res != null && res.length>0) {
|
|
flagList.value = res
|
|
queryParams.flag= flagList.value[0].value;
|
|
const ll = flagList.value.find(map=>map.value == queryParams.flag);
|
|
names.value = ll?.label
|
|
}
|
|
getList()
|
|
})
|
|
|
|
</script>
|
|
|
|
<style>
|
|
.el-table .success-row {
|
|
background: #f0f9eb;
|
|
}
|
|
|
|
.el-table .success-cols {
|
|
font-weight: bold;
|
|
}
|
|
</style>
|
|
|
|
|