<template>
|
<div class="Datalogging">
|
<div class="content">
|
<div class="checkbox" :style="{ width: roleINFO == 1 ? '16rem' : '11rem' }">
|
<div :class="['item', isactive == 1 ? 'isactive' : '']" @click="changeactive(1)">
|
任务记录
|
</div>
|
<div :class="['item', isactive == 2 ? 'isactive' : '']" @click="changeactive(2)">
|
作业单记录
|
</div>
|
<div v-if="roleINFO == 1" :class="['item', isactive == 3 ? 'isactive' : '']" @click="changeactive(3)">
|
登录记录
|
</div>
|
</div>
|
<div class="serch">
|
<div class="time_box">
|
<el-select v-if="isactive == 1" v-model="queryForm.value" placeholder="请选择" size="small"
|
style="width: 8rem; height: 2rem; margin-right: 0.98rem">
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
</el-select>
|
<div class="time">创建日期</div>
|
<el-date-picker v-model="queryForm.selectTime" prefix-icon="none" clear-icon="none" style="
|
font-size: 0.75rem !important;
|
border: 0.06rem solid rgba(222, 222, 222, 1);
|
border-radius: 0 0.25rem 0.25rem 0;
|
box-shadow: none;
|
width: 19rem;
|
height: 2rem;
|
border-left: 0;
|
" format="YYYY-MM-DD HH:mm:ss" type="datetimerange" range-separator="~" start-placeholder="起始日期"
|
end-placeholder="截止日期" size="small" />
|
</div>
|
<div class="serch_box">
|
<div class="serchb">
|
<el-select v-model="queryForm.selectType" placeholder="请选择" size="small"
|
style="width: 100%; height: 100%; font-size: 0.15rem">
|
<el-option v-for="item in selectoptions" :key="item.value" :label="item.label" :value="item.value" />
|
</el-select>
|
</div>
|
<input v-model="queryForm.selectInput" placeholder="请输入关键词搜索" style="border-left: 0.06rem solid #e2e2e2" />
|
</div>
|
<el-button @click="handleQuery" type="primary" size="small"
|
style="margin-left: 0.98rem; height: 2rem">查询</el-button>
|
<el-button size="small" style="height: 2rem" @click="resetQuery">重置</el-button>
|
</div>
|
<div class="btns">
|
<div style="display: flex; align-items: center">
|
<el-button size="small" style="width: 5.5rem; height: 2rem; font-size: 0.88rem"
|
@click="printExcel">批量导出</el-button>
|
</div>
|
</div>
|
<div style="margin-top: 1rem; height: 100%">
|
<!-- 任务记录 -->
|
<el-table empty-text="暂无数据" v-if="isactive == 1" :data="tableData" height="450" style="width: 100%"
|
:header-cell-style="{
|
background: 'rgba(250,250,250,1)',
|
color: '#101010',
|
fontSize: '0.88rem',
|
height: '3rem',
|
border: 'none',
|
}" :row-style="{
|
color: '#101010',
|
fontSize: '0.88rem',
|
height: '3rem',
|
}">
|
<el-table-column type="selection" align="center" />
|
<el-table-column prop="id" label="序号" align="center" />
|
<el-table-column prop="trainNum" label="车组号" align="center" />
|
<el-table-column prop="coachNum" label="车厢号" align="center" />
|
<el-table-column prop="bogie" label="转向架" align="center" />
|
<el-table-column prop="processDept" label="检修班组" align="center" />
|
<el-table-column prop="jiShuYuan" label="技术员" align="center" />
|
<el-table-column prop="zhiJianYuan_LC" label="机械质检员" align="center" />
|
<el-table-column prop="zhiJianYuan_DG" label="地沟质检员" align="center" />
|
<el-table-column prop="zhiJianYuan_DQ" label="电气质检员" align="center" />
|
<el-table-column prop="gongZhang" label="检修工长" align="center" />
|
<el-table-column prop="createTime" label="创建时间" align="center" />
|
<el-table-column prop="taskstatus" label="任务状态" align="center">
|
<template #default="scope">
|
<span style="color: #ff651a" v-if="scope.row.taskstatus == 0">待派工</span>
|
<span style="color: #c4ccd5" v-if="scope.row.taskstatus == 1">已派工</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" align="center">
|
<template #default="scope">
|
<el-button size="small" type="text" @click="Findmore(scope.row.nJtaskID)">查看详情</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
|
<!-- 作业单记录 -->
|
<el-table empty-text="暂无数据" v-if="isactive == 2" :data="tableData" height="450" style="width: 100%"
|
:header-cell-style="{
|
background: 'rgba(250,250,250,1)',
|
color: '#101010',
|
fontSize: '0.88rem',
|
height: '3rem',
|
border: 'none',
|
}" :row-style="{
|
color: '#101010',
|
fontSize: '0.88rem',
|
height: '3rem',
|
}">
|
<el-table-column type="selection" align="center" />
|
<el-table-column prop="takeName" label="任务名称" align="center" />
|
<el-table-column prop="jiShuYuan" label="技术员" align="center" />
|
<el-table-column prop="gongZhang" label="检修工长" align="center" />
|
<el-table-column prop="dispatchTime" label="派工日期" align="center" />
|
<el-table-column prop="endTime" label="完成日期" align="center" />
|
<el-table-column label="机械力矩值明细" align="center">
|
<template #default="scope">
|
<span style="color: blue; font-size: 0.88rem; cursor: pointer"
|
@click="LcFindtorque(scope.row.nJtaskID)">查看</span>
|
</template></el-table-column>
|
<el-table-column prop="address" label="电气力矩值明细" align="center">
|
<template #default="scope">
|
<span style="color: blue; font-size: 0.88rem; cursor: pointer"
|
@click="DqFindtorque(scope.row.nJtaskID)">查看</span>
|
</template>
|
</el-table-column>
|
<el-table-column prop="address" label="地沟力矩值明细" align="center">
|
<template #default="scope">
|
<span style="color: blue; font-size: 0.88rem; cursor: pointer"
|
@click="DgFindtorque(scope.row.nJtaskID)">查看</span>
|
</template></el-table-column>
|
</el-table>
|
|
<!-- 登录记录 -->
|
<el-table empty-text="暂无数据" v-if="isactive == 3" :data="tableData" height="450" style="width: 100%"
|
:header-cell-style="{
|
background: 'rgba(250,250,250,1)',
|
color: '#101010',
|
fontSize: '0.88rem',
|
height: '3rem',
|
border: 'none',
|
}" :row-style="{
|
color: '#101010',
|
fontSize: '0.88rem',
|
height: '3rem',
|
}">
|
<el-table-column type="selection" align="center" />
|
<el-table-column prop="account" label="登录账号" align="center" />
|
<el-table-column prop="trurName" label="真实姓名" align="center" />
|
<el-table-column prop="logIP" label="登录IP" align="center" />
|
<el-table-column prop="createDate" label="登录时间" align="center" />
|
</el-table>
|
</div>
|
<div style="
|
display: flex;
|
justify-content: right;
|
align-self: flex-end;
|
margin-bottom: 1.19rem;
|
margin-right: 1.25rem;
|
">
|
<el-pagination size="small" background layout="prev, pager, next" :current-page="pageQuery.page"
|
:page-size="pageQuery.rows" :total="pageTotal" @size-change="handleSizeChange"
|
@current-change="handleCurrentChange" />
|
</div>
|
</div>
|
|
<!-- 查看详情弹出框 -->
|
<el-dialog v-model="dialogVisible" title="" width="90%" :before-close="handleClose" :show-close="false">
|
<template #header="{ close, titleId, titleClass }">
|
<div class="my-header">
|
<h4 :id="titleId" :class="titleClass" style="color: rgb(16, 16, 16); font-size: 1rem; font-weight: bold">
|
查看详情
|
</h4>
|
<el-icon @click="close" size="15">
|
<CloseBold />
|
</el-icon>
|
</div>
|
</template>
|
<div>
|
<el-row>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
height: 3.49rem;
|
background-color: rgba(190, 199, 209, 0.53);
|
padding-left: 0.5rem;
|
border: 1px solid #bec7d1;
|
">
|
<span style="color: #000; font-size: 0.88rem; font-weight: bold">基础信息</span>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="3">
|
<span style="font-size: 0.88rem; color: #000">车型:{{ datildata.trainKind }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="3">
|
<span style="font-size: 0.88rem; color: #000">车组号:{{ datildata.trainNum }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="3">
|
<span style="font-size: 0.88rem; color: #000">股道:{{ datildata.track }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="3">
|
<span style="font-size: 0.88rem; color: #000">车厢号:{{ datildata.coachNum }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="4">
|
<span style="font-size: 0.88rem; color: #000">转向架:{{ datildata.bogie }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="4">
|
<span style="font-size: 0.88rem; color: #000">检修班组:{{ datildata.processDept }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="4">
|
<span style="font-size: 0.88rem; color: #000">技术员:{{ datildata.jiShuYuan }}</span>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">创建时间:{{ datildata.createTime }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">派工时间:{{ datildata.dispatchTime }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="12">
|
<span style="font-size: 0.88rem; color: #000">技术员确认时间:{{ datildata.confirmTime_JS }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">开始时间:{{ datildata.startTime }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="18">
|
<span style="font-size: 0.88rem; color: #000">结束时间:{{ datildata.endTime }}</span>
|
</el-col>
|
</el-row>
|
<el-row><el-col style="
|
display: flex;
|
align-items: center;
|
height: 3.49rem;
|
background-color: rgba(190, 199, 209, 0.53);
|
padding-left: 0.5rem;
|
border: 1px solid #bec7d1;
|
">
|
<span style="color: #000; font-size: 0.88rem; font-weight: bold">质检信息</span>
|
</el-col></el-row>
|
<el-row><el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">机械质检员:{{ datildata.zhiJianYuan_LC }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">地沟质检员:{{ datildata.zhiJianYuan_DG }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="8">
|
<span style="font-size: 0.88rem; color: #000">电气质检员:{{ datildata.zhiJianYuan_DQ }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="4">
|
<span style="font-size: 0.88rem; color: #000">检修工长:{{ datildata.gongZhang }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">机械质检员确认时间:{{ datildata.confirmTime_LC }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">地沟质检员确认时间:{{ datildata.confirmTime_DG }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="8">
|
<span style="font-size: 0.88rem; color: #000">电气质检员确认时间:{{ datildata.confirmTime_DQ }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="4">
|
<span style="font-size: 0.88rem; color: #000">检修工长确认时间:{{ datildata.confirmTime_GZ }}</span>
|
</el-col>
|
</el-row>
|
<el-row><el-col style="
|
display: flex;
|
align-items: center;
|
height: 3.49rem;
|
background-color: rgba(190, 199, 209, 0.53);
|
padding-left: 0.5rem;
|
border: 1px solid #bec7d1;
|
">
|
<span style="color: #000; font-size: 0.88rem; font-weight: bold">作业信息</span>
|
</el-col></el-row>
|
<el-row><el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="3">
|
<span style="font-size: 0.88rem; color: #000">机械力矩作业员:{{ datildata.liJu_LC }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="3">
|
<span style="font-size: 0.88rem; color: #000">机械辅助员:{{ datildata.fuZhu_LC }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="3">
|
<span style="font-size: 0.88rem; color: #000">地沟力矩作业员:{{ datildata.liJu_DG }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="3">
|
<span style="font-size: 0.88rem; color: #000">地沟辅助员:{{ datildata.fuZhu_DG }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="4">
|
<span style="font-size: 0.88rem; color: #000">电气力矩作业员:{{ datildata.liJu_DQ }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="8">
|
<span style="font-size: 0.88rem; color: #000">电气辅助员:{{ datildata.fuZhu_DQ }}</span>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">机械开始时间:{{ datildata.startTime_LC }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">地沟开始时间:{{ datildata.startTime_DG }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="12">
|
<span style="font-size: 0.88rem; color: #000">电气开始时间:{{ datildata.startTime_DQ }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">机械结束时间:{{ datildata.endTime_LC }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="6">
|
<span style="font-size: 0.88rem; color: #000">地沟结束时间:{{ datildata.endTime_DG }}</span>
|
</el-col>
|
<el-col style="
|
display: flex;
|
align-items: center;
|
border: 1px solid #bec7d1;
|
height: 3.49rem;
|
padding-left: 0.7rem;
|
" :span="12">
|
<span style="font-size: 0.88rem; color: #000">电气结束时间:{{ datildata.endTime_DQ }}</span>
|
</el-col>
|
</el-row>
|
</div>
|
</el-dialog>
|
|
<!-- 力矩值查看 -->
|
<el-dialog v-model="TorquedialogVisible" title="" width="55%" :before-close="handleClose" :show-close="false"
|
top="5%">
|
<template #header="{ close, titleId, titleClass }">
|
<div class="my-header">
|
<h4 :id="titleId" :class="titleClass" style="color: rgb(16, 16, 16); font-size: 1rem; font-weight: bold">
|
力矩值明细({{ title }})
|
</h4>
|
<el-icon @click="close" size="15">
|
<CloseBold />
|
</el-icon>
|
</div>
|
</template>
|
|
<div style="height: 500px; display: flex; align-items: center">
|
<div style="height: 100%; width: 13.5rem">
|
<div style="
|
width: 17rem;
|
padding: 0.8rem 2rem;
|
box-sizing: border-box;
|
background-color: rgba(247, 247, 247, 1);
|
">
|
<div style="
|
color: rgba(16, 16, 16, 1);
|
font-size: 0.88rem;
|
display: flex;
|
margin-top: 0.5rem;
|
">
|
<span style="width: 6rem; text-align: right; display: block">任务名称:</span><span>{{
|
pesonData.length != 0 ? pesonData[0].takename : ""
|
}}</span>
|
</div>
|
<div style="
|
color: rgba(16, 16, 16, 1);
|
font-size: 0.88rem;
|
display: flex;
|
margin-top: 0.5rem;
|
">
|
<span style="width: 6rem; text-align: right; display: block">技术员:</span><span>{{
|
pesonData.length != 0 ? pesonData[0].jishuyuan : ""
|
}}</span>
|
</div>
|
<div style="
|
color: rgba(16, 16, 16, 1);
|
font-size: 0.88rem;
|
display: flex;
|
margin-top: 0.5rem;
|
">
|
<span style="width: 6rem; text-align: right; display: block">检修工长:</span><span>{{
|
pesonData.length != 0 ? pesonData[0].gonzhang : ""
|
}}</span>
|
</div>
|
<div style="
|
color: rgba(16, 16, 16, 1);
|
font-size: 0.88rem;
|
display: flex;
|
margin-top: 0.5rem;
|
">
|
<span style="width: 6rem; text-align: right; display: block">质检员:</span><span>{{
|
pesonData.length != 0 ? pesonData[0].zhijianyuan : ""
|
}}</span>
|
</div>
|
<div style="
|
color: rgba(16, 16, 16, 1);
|
font-size: 0.88rem;
|
display: flex;
|
margin-top: 0.5rem;
|
">
|
<span style="width: 6rem; text-align: right; display: block">力矩作业员:</span><span>{{
|
pesonData.length != 0 ? pesonData[0].lijuzouyeyuan : ""
|
}}</span>
|
</div>
|
<div style="
|
color: rgba(16, 16, 16, 1);
|
font-size: 0.88rem;
|
display: flex;
|
margin-top: 0.5rem;
|
">
|
<span style="width: 6rem; text-align: right; display: block">辅助员:</span><span>{{
|
pesonData.length != 0 ? pesonData[0].fuzyuan : ""
|
}}</span>
|
</div>
|
<div style="
|
color: rgba(16, 16, 16, 1);
|
font-size: 0.88rem;
|
display: flex;
|
margin-top: 0.5rem;
|
">
|
<span style="width: 6rem; text-align: right; display: block">任务详情:</span>
|
<el-popover placement="bottom" :width="600" trigger="click" @show="checkTask(pesonData[0].njtakeid)">
|
<template #reference>
|
<span style="color: blue; font-size: 0.88rem; cursor: pointer">查看</span>
|
</template>
|
<el-table :data="taskData" width="100%">
|
<el-table-column property="trainKind" label="车型" />
|
<el-table-column property="trainNum" label="车组" />
|
<el-table-column property="track" label="股道" />
|
<el-table-column property="coachNum" label="车厢号位置" />
|
<el-table-column property="bogie" label="转向架位置" />
|
<el-table-column property="processDept" label="检修班组" />
|
</el-table>
|
</el-popover>
|
</div>
|
</div>
|
</div>
|
|
<el-scrollbar height="400px" style="margin-left: 5rem; width: 100%">
|
<el-timeline>
|
<el-timeline-item v-for="(activity, index) in activities" :key="index" :timestamp="'力矩值:' + activity.torqueOne + '----' + activity.torqueTwo
|
">
|
{{ activity.craftsStep }}
|
<el-popover placement="bottom" :width="800" trigger="click" style="margin-left: 0.8rem">
|
<template #reference>
|
<span @click="checkcontent(activity.craftID)" style="
|
color: blue;
|
font-size: 0.88rem;
|
cursor: pointer;
|
border-bottom: 1px solid #4386ff;
|
">查看</span>
|
</template>
|
<el-table :data="contentData" width="100%">
|
<el-table-column prop="craftContent" label="工艺内容" />
|
<el-table-column prop="tools" label="工具" />
|
<el-table-column prop="name" label="物料" />
|
</el-table>
|
</el-popover>
|
</el-timeline-item>
|
</el-timeline>
|
</el-scrollbar>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
<script setup>
|
import { ref, reactive, onMounted, toRef } from "vue";
|
import { ElMessage, ElMessageBox } from "element-plus";
|
import { formatTime } from "@/utils/index.js";
|
import {
|
GetPageData,
|
GetDataDetail,
|
GetWorkOrder,
|
GetContent,
|
GetPerson,
|
GetTaskInfo,
|
GetLogin,
|
ExportApi,
|
ExportApi2,
|
ExportApi3,
|
} from "@/api/newapi/Datalogging";
|
import { login } from "@/api/login";
|
const obj = {
|
selectName: "",
|
selectTime: [], // 时间范围
|
selectType: "",
|
selectInput: "",
|
value: "",
|
};
|
const queryForm = toRef({ ...obj });
|
|
const tableData = ref([]);
|
const options = ref([
|
{
|
value: 1,
|
label: "已派工",
|
},
|
{
|
value: 0,
|
label: "待派工",
|
},
|
]);
|
const props = { multiple: true };
|
|
const form = reactive({});
|
const isactive = ref(1);
|
const claimdialogVisible = ref(false);
|
const dialogVisible = ref(false);
|
const TorquedialogVisible = ref(false);
|
const activities = ref([]);
|
const pageTotal = ref(0);
|
|
//分页请求参数
|
const pageQuery = ref({
|
page: 1, //当前页面
|
rows: 10, //每页显示条数
|
order: "desc", //排序方式
|
sort: "", //排序字段
|
wheres: "", //条件查询
|
});
|
const datildata = ref({});
|
const title = ref("机械");
|
const contentData = ref([]);
|
const pesonData = ref([]);
|
const taskData = ref([]);
|
//任务记录
|
const tasklogging = [
|
{
|
value: "takeName",
|
label: "任务名称",
|
},
|
{
|
value: "trainNum",
|
label: "车组",
|
},
|
{
|
value: "coachNum",
|
label: "车厢号",
|
},
|
];
|
//作业单记录
|
const worklogging = [
|
{
|
value: "takeName",
|
label: "任务名称",
|
},
|
{
|
value: "jiShuYuan",
|
label: "技术员",
|
},
|
{
|
value: "gongZhang",
|
label: "检修工长",
|
},
|
];
|
//登录记录
|
const loginlogging = [
|
{
|
value: "userName",
|
label: "用户名",
|
},
|
{
|
value: "trurName",
|
label: "真实姓名",
|
},
|
];
|
const selectoptions = ref([]);
|
|
selectoptions.value = tasklogging;
|
const changeactive = (index) => {
|
isactive.value = index;
|
if (index == 1) {
|
selectoptions.value = tasklogging;
|
initData();
|
} else if (index == 2) {
|
selectoptions.value = worklogging;
|
WorkinitData();
|
} else {
|
selectoptions.value = loginlogging;
|
LogininitData();
|
}
|
};
|
// 查看详情
|
const Findmore = (id) => {
|
GetDataDetail(id).then((res) => {
|
datildata.value = res.data;
|
dialogVisible.value = true;
|
});
|
};
|
// 查看机械
|
const LcFindtorque = (id) => {
|
title.value = "机械";
|
GetContent({
|
page: 1,
|
rows: 10,
|
total: 100,
|
tableName: "",
|
sort: "",
|
order: "",
|
wheres: "",
|
export: true,
|
value: "",
|
filter: [
|
{
|
name: "craftType",
|
value: title.value,
|
displayType: "string",
|
},
|
],
|
}).then((res) => {
|
activities.value = res.rows;
|
});
|
GetPerson({
|
page: 1,
|
rows: 10,
|
total: 100,
|
tableName: "",
|
sort: "",
|
order: "",
|
wheres: "",
|
export: true,
|
value: "",
|
filter: [
|
{
|
name: "grouptype",
|
value: title.value,
|
displayType: "String",
|
},
|
{
|
name: "njtakeid",
|
value: id,
|
displayType: "String",
|
},
|
],
|
}).then((res) => {
|
pesonData.value = res.rows;
|
console.log(res.rows);
|
|
TorquedialogVisible.value = true;
|
});
|
};
|
//查看电气
|
const DqFindtorque = (id) => {
|
title.value = "电气";
|
GetContent({
|
page: 1,
|
rows: 10,
|
total: 100,
|
tableName: "",
|
sort: "",
|
order: "",
|
wheres: "",
|
export: true,
|
value: "",
|
filter: [
|
{
|
name: "craftType",
|
value: title.value,
|
displayType: "string",
|
},
|
],
|
}).then((res) => {
|
activities.value = res.rows;
|
});
|
GetPerson({
|
page: 1,
|
rows: 10,
|
total: 100,
|
tableName: "",
|
sort: "",
|
order: "",
|
wheres: "",
|
export: true,
|
value: "",
|
filter: [
|
{
|
name: "grouptype",
|
value: title.value,
|
displayType: "String",
|
},
|
{
|
name: "njtakeid",
|
value: id,
|
displayType: "String",
|
},
|
],
|
}).then((res) => {
|
pesonData.value = res.rows;
|
TorquedialogVisible.value = true;
|
});
|
};
|
//查看地沟
|
const DgFindtorque = (id) => {
|
title.value = "地沟";
|
GetContent({
|
page: 1,
|
rows: 10,
|
total: 100,
|
tableName: "",
|
sort: "",
|
order: "",
|
wheres: "",
|
export: true,
|
value: "",
|
filter: [
|
{
|
name: "craftType",
|
value: title.value,
|
displayType: "string",
|
},
|
],
|
}).then((res) => {
|
activities.value = res.rows;
|
});
|
GetPerson({
|
page: 1,
|
rows: 10,
|
total: 100,
|
tableName: "",
|
sort: "",
|
order: "",
|
wheres: "",
|
export: true,
|
value: "",
|
filter: [
|
{
|
name: "grouptype",
|
value: title.value,
|
displayType: "String",
|
},
|
{
|
name: "njtakeid",
|
value: id,
|
displayType: "String",
|
},
|
],
|
}).then((res) => {
|
pesonData.value = res.rows;
|
TorquedialogVisible.value = true;
|
});
|
};
|
//查看步骤内容
|
const checkcontent = (id) => {
|
GetContent({
|
page: 1,
|
rows: 10,
|
total: 100,
|
tableName: "",
|
sort: "",
|
order: "",
|
wheres: "",
|
export: true,
|
value: "",
|
filter: [
|
{
|
name: "craftID",
|
value: id,
|
displayType: "string",
|
},
|
],
|
}).then((res) => {
|
contentData.value = res.rows;
|
});
|
};
|
|
//查看任务信息
|
const checkTask = (id) => {
|
GetTaskInfo({
|
page: 1,
|
rows: 10,
|
total: 100,
|
tableName: "",
|
sort: "",
|
order: "",
|
wheres: "",
|
export: true,
|
value: "",
|
filter: [
|
{
|
name: "njtaskid",
|
value: id,
|
displayType: "String",
|
},
|
],
|
}).then((res) => {
|
taskData.value = res.rows;
|
});
|
};
|
|
//分页页面大小改变
|
const handleSizeChange = (val) => {
|
pageQuery.value.rows = val;
|
if (isactive.value == 1) {
|
initData();
|
} else if (isactive.value == 2) {
|
WorkinitData();
|
} else {
|
LogininitData();
|
}
|
};
|
|
//分页页面改变
|
const handleCurrentChange = (val) => {
|
pageQuery.value.page = val;
|
if (isactive.value == 1) {
|
initData();
|
} else if (isactive.value == 2) {
|
WorkinitData();
|
} else {
|
LogininitData();
|
}
|
};
|
//任务记录
|
const initData = () => {
|
// 查询条件
|
const startTime = formatTime(queryForm.value.selectTime[0]);
|
const endTime = formatTime(queryForm.value.selectTime[1]);
|
const filter = [
|
{
|
name: "taskstatus",
|
value: queryForm.value.value,
|
displayType: "String",
|
},
|
{
|
name: queryForm.value.selectType,
|
value: queryForm.value.selectInput,
|
displayType: "like",
|
},
|
{ name: "createTime", value: startTime, displayType: "ThanOrEqual" },
|
{ name: "createTime", value: endTime, displayType: "LessOrEqual" },
|
];
|
GetPageData({
|
...pageQuery.value,
|
filter,
|
}).then((res) => {
|
tableData.value = res.rows;
|
pageTotal.value = res.total;
|
});
|
};
|
//作业单记录
|
const WorkinitData = () => {
|
// 查询条件
|
const startTime = formatTime(queryForm.value.selectTime[0]);
|
const endTime = formatTime(queryForm.value.selectTime[1]);
|
const filter = [
|
{
|
name: queryForm.value.selectType,
|
value: queryForm.value.selectInput,
|
displayType: "String",
|
},
|
{ name: "createTime", value: startTime, displayType: "ThanOrEqual" },
|
{ name: "createTime", value: endTime, displayType: "LessOrEqual" },
|
];
|
GetWorkOrder({
|
...pageQuery.value,
|
filter,
|
}).then((res) => {
|
tableData.value = res.rows;
|
pageTotal.value = res.total;
|
});
|
};
|
|
//登录记录
|
const LogininitData = () => {
|
// 查询条件
|
const startTime = formatTime(queryForm.value.selectTime[0]);
|
const endTime = formatTime(queryForm.value.selectTime[1]);
|
const filter = [
|
{
|
name: queryForm.value.selectType,
|
value: queryForm.value.selectInput,
|
displayType: "String",
|
},
|
{ name: "createTime", value: startTime, displayType: "ThanOrEqual" },
|
{ name: "createTime", value: endTime, displayType: "LessOrEqual" },
|
];
|
GetLogin({
|
...pageQuery.value,
|
filter,
|
}).then((res) => {
|
tableData.value = res.rows;
|
pageTotal.value = res.total;
|
});
|
};
|
|
//数据检索事件
|
const handleQuery = () => {
|
pageQuery.value.page = 1;
|
if (isactive.value == 1) {
|
initData();
|
} else if (isactive.value == 2) {
|
WorkinitData();
|
} else {
|
LogininitData();
|
}
|
};
|
//重置方法
|
const resetQuery = () => {
|
queryForm.value = Object.assign({}, obj);
|
pageQuery.value.page = 1;
|
if (isactive.value == 1) {
|
initData();
|
} else if (isactive.value == 2) {
|
WorkinitData();
|
} else {
|
LogininitData();
|
}
|
};
|
//打印方法
|
const printExcel = () => {
|
// 查询条件
|
const startTime = formatTime(queryForm.value.selectTime[0]);
|
const endTime = formatTime(queryForm.value.selectTime[1]);
|
const filter = [
|
{
|
name: queryForm.value.selectType,
|
value: queryForm.value.selectInput,
|
displayType: "String",
|
},
|
{
|
name: "pustatus",
|
value: queryForm.value.selectName,
|
displayType: "String",
|
},
|
{ name: "createTime", value: startTime, displayType: "ThanOrEqual" },
|
{ name: "createTime", value: endTime, displayType: "LessOrEqual" },
|
];
|
if (isactive.value == 1) {
|
ExportApi({
|
...pageQuery.value,
|
filter,
|
});
|
}
|
if (isactive.value == 2) {
|
ExportApi2({
|
...pageQuery.value,
|
filter,
|
});
|
}
|
if (isactive.value == 3) {
|
ExportApi3({
|
...pageQuery.value,
|
filter,
|
});
|
}
|
};
|
const roleINFO = ref();
|
onMounted(() => {
|
initData();
|
roleINFO.value = JSON.parse(localStorage.getItem("user")).roleId;
|
console.log(roleINFO.value);
|
});
|
</script>
|
<style lang="scss" scoped>
|
.Datalogging {
|
display: flex;
|
background-color: #fff;
|
|
.content {
|
width: 100%;
|
display: flex;
|
flex-direction: column;
|
|
.checkbox {
|
width: 16rem;
|
display: flex;
|
justify-content: space-between;
|
margin-top: 1rem;
|
margin-left: 1.31rem;
|
|
.item {
|
width: 5rem;
|
height: 1.88rem;
|
border-radius: 0.25rem;
|
background-color: rgba(190, 199, 209, 1);
|
color: rgba(255, 255, 255, 1);
|
font-size: 0.88rem;
|
text-align: center;
|
line-height: 1.88rem;
|
cursor: pointer;
|
}
|
|
.isactive {
|
background-color: rgba(16, 16, 16, 1);
|
color: rgba(255, 255, 255, 1);
|
}
|
}
|
|
.serch {
|
display: flex;
|
margin-top: 1.31rem;
|
align-items: center;
|
|
.time_box {
|
display: flex;
|
align-items: center;
|
text-align: center;
|
margin-left: 0.98rem;
|
|
.time {
|
box-sizing: border-box;
|
width: 6.88rem;
|
height: 2rem;
|
text-align: center;
|
border: 0.06rem solid rgba(222, 222, 222, 1);
|
border-radius: 0.25rem 0 0 0.25rem;
|
font-size: 0.75rem;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
}
|
|
.serch_box {
|
display: flex;
|
align-items: center;
|
text-align: center;
|
margin-left: 0.98rem;
|
border-radius: 0.38rem;
|
|
.serchb {
|
box-sizing: border-box;
|
width: 6.88rem;
|
height: 2rem;
|
text-align: center;
|
font-size: 0.75rem;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
|
input {
|
box-sizing: border-box;
|
outline: none;
|
width: 19rem;
|
height: 2rem;
|
border: 0.06rem solid rgba(222, 222, 222, 1);
|
border-radius: 0 0.25rem 0.25rem 0;
|
padding-left: 0.3125rem;
|
font-size: 1rem;
|
}
|
}
|
}
|
|
.btns {
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
margin-top: 1.31rem;
|
margin-left: 1.13rem;
|
padding-right: 2rem;
|
box-sizing: border-box;
|
}
|
}
|
|
.my-header {
|
height: 3.84rem;
|
display: flex;
|
justify-content: space-between;
|
border-bottom: 0.06rem solid rgba(233, 233, 233, 1);
|
}
|
}
|
</style>
|
<style>
|
.confirmButtonClass {
|
margin-right: 10px;
|
}
|
|
.el-message-box .el-message-box__btns {
|
flex-direction: row-reverse !important;
|
justify-content: normal !important;
|
}
|
</style>
|