This commit is contained in:
caoqianming 2023-08-18 16:33:50 +08:00
commit e1c29c282a
46 changed files with 2083 additions and 1899 deletions

View File

@ -43,7 +43,19 @@
<style lang="scss">
@import '@/style/style.scss';
.headerSearch{
width: 120px!important;
margin-right: 5px;
}
.printWrap{
width: 100%;
overflow-x: scroll;
}
.printContainer{
width: 1075px;
}
.myTable{
table-layout: fixed;
border: 1px solid #cccccc;
}
.myTableHead{
@ -51,7 +63,6 @@
color:#ffffff;
}
.myTable th{
width: 80px;
height: 40px;
font-weight: 500;
}
@ -61,8 +72,29 @@
border: 1px solid #cccccc;
}
.numCell{
width: 80px;
height: 35px;
text-align: center;
}
.numCell,.myTable th{
width: 100px!important;
}
.chartWrap{
width: 1035px;
margin-top: 20px;
border: 1px solid #eeeeee;
}
.chartTitle{
text-align: center;
font-size: 20px;
font-weight: bold;
margin-top: 20px;
}
.redColor{
font-weight: bold;
color: #ff0000;
}
.greenColor{
font-weight: bold;
color: #008000;
}
</style>

View File

@ -1130,7 +1130,7 @@ const routes = [
"title": "班组管理",
"icon": "el-icon-postcard",
"type": "menu",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/team"
},
@ -1140,7 +1140,7 @@ const routes = [
"meta": {
"title": "测点集",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/mgroup"
},
@ -1150,7 +1150,7 @@ const routes = [
"meta": {
"title": "测点",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "em/mpoint"
},
@ -1160,7 +1160,7 @@ const routes = [
"meta": {
"title": "物料",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/material"
}
@ -1182,7 +1182,7 @@ const routes = [
"meta": {
"title": "物料价格配置",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/priceset"
},
@ -1192,7 +1192,7 @@ const routes = [
"meta": {
"title": "工段成本配置",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/feeset"
},
@ -1202,7 +1202,7 @@ const routes = [
"meta": {
"title": "月度年度目标值",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/goalSetting"
},
@ -1225,7 +1225,7 @@ const routes = [
"meta": {
"title": "能源统计",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/energy"
},
@ -1235,7 +1235,7 @@ const routes = [
"meta": {
"title": "工业产值",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/value"
},
@ -1245,7 +1245,7 @@ const routes = [
"meta": {
"title": "全厂电量统计",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/electric"
}
@ -1267,7 +1267,7 @@ const routes = [
"meta": {
"title": "成本计算",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/costing"
},
@ -1277,7 +1277,7 @@ const routes = [
"meta": {
"title": "质量报表",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/quality"
}
@ -1287,7 +1287,7 @@ const routes = [
"meta": {
"title": "生产报表",
"icon": "el-icon-grid",
"perms": ["dataset"]
"perms": ["enm"]
},
"component": "ungrouped/report"
}
@ -1297,7 +1297,7 @@ const routes = [
// "meta": {
// "title": "图表",
// "icon": "el-icon-grid",
// "perms": ["dataset"]
// "perms": ["enm"]
// },
// "component": "ungrouped/echart"
// }

View File

@ -2,22 +2,20 @@
<el-container>
<el-header>
<div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="add"></el-button>
</div>
<div class="right-panel">
<div class="right-panel-search">
<el-input
<el-input
v-model="query.search"
placeholder="名称"
clearable
@keyup.enter="handleQuery"
style="margin-right: 5px;"
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</div>
<div class="right-panel">
<el-button type="primary" icon="el-icon-plus" @click="add" v-auth="'equipment.create'"></el-button>
</div>
</el-header>
<el-main class="nopadding">
@ -75,12 +73,15 @@
<el-link
type="primary"
@click="table_edit(scope.row)"
v-auth="'equipment.update'"
>
编辑
</el-link>
<el-divider direction="vertical"></el-divider>
<el-link
type="danger"
@click="table_del(scope.row)"
v-auth="'equipment.delete'"
>
删除
</el-link>

View File

@ -6,15 +6,16 @@
v-model="query.search"
placeholder="名称"
clearable
@keyup.enter="handleQuery"
style="margin-right: 5px;"
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
<el-button type="primary" icon="el-icon-plus" @click="table_add"></el-button>
</div>
<div class="right-panel">
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'mpoint.create'"></el-button>
</div>
</el-header>
<el-main class="nopadding">
@ -27,11 +28,11 @@
<el-table-column label="创建时间" prop="create_time" min-width="150"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'team.update'" type="primary">编辑</el-button>
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'mpoint.update'" type="primary">编辑</el-button>
<el-divider direction="vertical"></el-divider>
<el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
<template #reference>
<el-button link size="small" v-auth="'role.delete'" type="danger">删除</el-button>
<el-button link size="small" v-auth="'mpoint.delete'" type="danger">删除</el-button>
</template>
</el-popconfirm>
</template>

View File

@ -1,143 +1,152 @@
<template>
<el-container>
<el-header>
<div class="left-panel">
<div style="margin-right: 20px">交接班日志</div>
<el-date-picker
v-model="query.time"
type="date"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
placeholder="日志时间"
/>
<el-select
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in optionsShift"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-select
v-model="query.team"
placeholder="班组"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
<el-container>
<el-header>
<div class="left-panel">
<div style="margin-right: 20px">交接班日志</div>
<el-date-picker
v-model="query.start_time__gte"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="开始时间"
style=" width: 120px"
/>
<el-date-picker
v-model="query.end_time__lt"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 120px"
/>
<el-select
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in optionsShift"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-select
v-model="query.team"
placeholder="班组"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in options"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
stripe
:params="query"
highlightCurrentRow
@row-click="rowClick"
>
<el-table-column type="index" width="50"/>
<!-- <el-table-column label="关联工段" prop="mgroup_name"></el-table-column> -->
<el-table-column label="开始时间" prop="start_time">
<template #default="scope">
<span>{{ scope.row.start_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" prop="end_time">
<template #default="scope">
<span>{{ scope.row.end_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="班组名称" prop="team_name"></el-table-column>
<el-table-column label="当前班次" prop="shift_name"></el-table-column>
<el-table-column label="班长" prop="leader_name"></el-table-column>
<el-table-column label="检验时间">
<template #default="scope">
<span v-if="scope.row.last_test_time">{{ scope.row.last_test_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link size="small" @click="sflog_edit(scope.row)" type="primary">编辑</el-button>
<el-button link size="small" @click="sflog_check(scope.row)" type="primary">质量检验</el-button>
<el-button link size="small" @click="sflog_other(scope.row)" type="primary">其他能源</el-button>
<el-button link size="small" @click="sflog_export(scope.row)" type="success">报表</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
<el-drawer v-model="limitedExport" size="60%" :show-close="false">
<template #header="{ close, titleId, titleClass }">
<h4 :id="titleId" :class="titleClass">交接班日志</h4>
<el-button type="danger" @click="close">
<el-icon class="el-icon--left"><CircleCloseFilled /></el-icon>
关闭
</el-button>
</template>
<el-main class="nopadding">
<div ref="print" id="myReport" class="printContainer">
<div style="margin-right: 20px;text-align: center;font-size: 16px;font-weight: bold;margin-bottom: 20px;">
<span v-if="sflogItem.end_time">{{sflogItem.end_time.slice(0,10)}}{{ sflogItem.shift_name }}</span>
<span v-if="sflogItem.team_name">{{ sflogItem.team_name }}</span>
交接班记录
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
stripe
:params="query"
highlightCurrentRow
@row-click="rowClick"
>
<el-table-column type="index" width="50"/>
<!-- <el-table-column label="关联工段" prop="mgroup_name"></el-table-column> -->
<el-table-column label="开始时间" prop="start_time">
<template #default="scope">
<span>{{ scope.row.start_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" prop="end_time">
<template #default="scope">
<span>{{ scope.row.end_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="班组名称" prop="team_name" width="80"></el-table-column>
<el-table-column label="当前班次" prop="shift_name" width="80"></el-table-column>
<el-table-column label="班长" prop="leader_name" width="80"></el-table-column>
<el-table-column label="检验时间">
<template #default="scope">
<span v-if="scope.row.last_test_time">{{ scope.row.last_test_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link size="small" @click="sflog_edit(scope.row)" type="primary">编辑</el-button>
<el-button link size="small" @click="sflog_check(scope.row)" type="primary">质量检验</el-button>
<el-button link size="small" @click="sflog_other(scope.row)" type="primary">其他能源</el-button>
<el-button link size="small" @click="sflog_export(scope.row)" type="success">报表</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
<el-drawer v-model="limitedExport" size="60%" :show-close="false">
<template #header="{ close, titleId, titleClass }">
<h4 :id="titleId" :class="titleClass">交接班日志</h4>
<el-button type="danger" @click="close">
<el-icon class="el-icon--left"><CircleCloseFilled /></el-icon>
关闭
</el-button>
</template>
<el-main class="nopadding">
<div ref="print" id="myReport" class="printContainer">
<div style="margin-right: 20px;text-align: center;font-size: 16px;font-weight: bold;margin-bottom: 20px;">
<span v-if="sflogItem.end_time">{{sflogItem.end_time.slice(0,10)}}{{ sflogItem.shift_name }}</span>
<span v-if="sflogItem.team_name">{{ sflogItem.team_name }}</span>
交接班记录
</div>
<h3 style="text-align: center;display: flex;justify-content: space-around;">
<span>2023.06.21</span>
<span>白班</span>
<span>甲班</span>
</h3>
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable">
<tbody>
<tr>
<td class="numCell">产量t</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">台时t/h</td>
<td class="numCell">{{value3}}</td>
<td class="numCell">运转时间h</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">运转率%</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">停机时长h</td>
<td class="numCell">{{value3}}</td>
<td class="numCell">煤磨分布电耗KW·h/t</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">煤粉细度合格率%</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">煤粉水分合格率%</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">生产情况记录</td>
<td class="numCell" colspan="5">时间类别原因处置措施处置人</td>
</tr>
</tbody>
</table>
</div>
</el-main>
</el-drawer>
</el-container>
<h3 style="text-align: center;display: flex;justify-content: space-around;">
<span>2023.06.21</span>
<span>白班</span>
<span>甲班</span>
</h3>
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable">
<tbody>
<tr>
<td class="numCell">产量t</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">台时t/h</td>
<td class="numCell">{{value3}}</td>
<td class="numCell">运转时间h</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">运转率%</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">停机时长h</td>
<td class="numCell">{{value3}}</td>
<td class="numCell">煤磨分布电耗KW·h/t</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">煤粉细度合格率%</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">煤粉水分合格率%</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">生产情况记录</td>
<td class="numCell" colspan="5">时间类别原因处置措施处置人</td>
</tr>
</tbody>
</table>
</div>
</el-main>
</el-drawer>
</el-container>
<save-dialog
v-if="dialog.save"
ref="saveDialog"
@ -157,8 +166,8 @@
@success="handleCheckSuccess"
@closed="dialog.save = false"
></quastat-dialog>
</template>
<script>
</template>
<script>
import saveDialog from "./../enm_rm/handover_form.vue";
import quastatDialog from "./../enm_rm/quastat_form.vue";
import otherDialog from "./../enm_rm/other_form.vue";
@ -174,6 +183,10 @@
apiObj: this.$API.wpm.sflog.list,
apiObj2: null,
query: {
shift:'',
team:'',
end_time__lt:'',
start_time__gte:'',
mgroup:'3347217512021835776',
},
deptId :'3347207082608115712',
@ -197,8 +210,27 @@
limitedExport:false,
};
},
mounted(){
this.getTeam();
this.getShfit();
},
methods: {
getTeam(){
let form ={};
form.page = 0;
form.belong_dept = this.deptId;
this.$API.mtm.team.list.req(form).then(res=>{
this.options = res;
})
},
getShfit(){
this.$API.mtm.shift.req({page:0}).then(res=>{
this.optionsShift = res;
})
},
handleQuery(){
this.$refs.table.queryData(this.query);
},
sflog_export(){
this.limitedExport = true;
},
@ -291,9 +323,6 @@
</script>
<style scoped>
.printContainer{
width: 1075px;
}
#numTable{
margin-left: 37px;
}

View File

@ -16,36 +16,48 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" class="myTable" id="myTable">
<thead class="myTableHead">
<tr>
<th colspan="7">煤磨工段主要设备100KW以上单位产品电耗数据表</th>
</tr>
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>单位</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<template v-for="(item1,ind) in item" :key="item1">
<td v-if="ind==0||ind==1||ind==2" class="numCell">{{item1}}</td>
<td v-if="ind==3" class="numCell hoursItem" @click="itemClick('hours',item1)">{{item1}}</td>
<td v-if="ind==4" class="numCell monthItem" @click="itemClick('month',item1)">{{item1}}</td>
<td v-if="ind==5" class="numCell yearItem" @click="itemClick1('year',item1)">{{item1}}</td>
</template>
</tr>
</tbody>
</table>
<scEcharts height="400px" width="1074px" :option="optionHour"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" class="myTable" id="myTable">
<thead class="myTableHead">
<tr>
<th colspan="6">煤磨工段主要设备100KW以上单位产品电耗数据表</th>
</tr>
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>单位</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<template v-for="(item1,ind) in item" :key="item1">
<td v-if="ind==0||ind==1||ind==2" class="numCell">{{item1}}</td>
<td v-if="ind==3" class="numCell hoursItem" @click="itemClick('hours',item1)">{{item1}}</td>
<td v-if="ind==4" class="numCell monthItem" @click="itemClick('month',item1)">{{item1}}</td>
<td v-if="ind==5" class="numCell yearItem" @click="itemClick1('year',item1)">{{item1}}</td>
</template>
</tr>
</tbody>
</table>
<div class="chartWrap">
<div class="chartTitle">小时生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionHour"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable title="创建/编辑人员证书">
<div class="searchHead" v-if="type=='hours'">
<el-date-picker
@ -133,8 +145,8 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
// alwaysShowContent:true,
};
let grid={
right: '10%',
left:'10%',
right: '3%',
left:'7%',
top:'15%'
};
let toolbox={
@ -146,12 +158,12 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
}
};
let legend= {
top:'5%',
top:'2%',
data:['煤磨排风机主电机', '煤磨主电机']
};
let yAxis= {
type: 'value',
name: '单位产品分布电耗(KW.h/t)',
name: '分布电耗(KW.h/t)',
alignTicks: true,
axisLine: {
show: true,
@ -527,8 +539,8 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
<style scoped>
.printContainer{
padding-left: 20px;
}
</style>

View File

@ -16,44 +16,56 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">煤磨工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in tableDatas" :key="item">
<td class="numCell" v-if="index==0||index==2" rowspan="2">{{item[0]}}</td>
<td class="numCell" v-else-if="index==4">{{item[0]}}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)">{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell yearItem" @click="itemClick('year',item)">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
<td class="numCell">{{item[9]}}</td>
</tr>
</tbody>
</table>
<scEcharts height="400px" width="1074px" :option="optionHour"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">煤磨工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in tableDatas" :key="item">
<td class="numCell" v-if="index==0||index==2" rowspan="2">{{item[0]}}</td>
<td class="numCell" v-else-if="index==4">{{item[0]}}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)">{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell yearItem" @click="itemClick('year',item)">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
<td class="numCell">{{item[9]}}</td>
</tr>
</tbody>
</table>
<div class="chartWrap">
<div class="chartTitle">小时生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionHour"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable title="煤磨工段">
<div class="searchHead" v-if="type=='hours'">
<el-date-picker
@ -159,12 +171,12 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#91CC75','#EE6666'];
triggerOn:"mousemove",
};
let grid={
right: '10%',
left:'10%',
right: '8%',
left:'4%',
top:'15%'
};
let toolbox={
right:'5%',
right:'2%',
feature: {
dataView: { show: true, readOnly: false },
// restore: { show: true },
@ -172,7 +184,7 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#91CC75','#EE6666'];
}
};
let legend= {
top:'5%',
top:'2%',
data:['总产量', '台时产量', '运转率', '分布电耗']
};
let yAxis= [{
@ -195,7 +207,7 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#91CC75','#EE6666'];
name: '运转率 (%)',
position: 'right',
alignTicks: true,
offset: 0,
offset: 80,
axisLine: {
show: true,
lineStyle: {
@ -211,7 +223,6 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#91CC75','#EE6666'];
name: '分布电耗(KW.h)',
position: 'right',
alignTicks: true,
offset: 80,
axisLine: {
show: true,
lineStyle: {
@ -665,8 +676,8 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#91CC75','#EE6666'];
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
<style scoped>
.printContainer{
padding-left: 20px;
}
</style>

View File

@ -8,7 +8,7 @@
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
class="headerSearch"
/>
<el-button
type="primary"
@ -29,39 +29,41 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="20">煤磨工段班组月度对比分析</th>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="16">煤磨工段班组月度对比分析</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th rowspan="2">总产量t</th>
<th rowspan="2">台时产量t/h</th>
<th rowspan="2">运转率%</th>
<th colspan="2">质量</th>
<th colspan="8">单位产品电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>细度%</th>
<th>水分%</th>
<th>煤磨排风机主电机KW·h/t</th>
<th>当期值kW·h/t</th>
<th>目标值kW·h/t</th>
<th>当期与目标值差值kW·h/t</th>
<th>环期值kW·h/t</th>
<th>当期与环期差值kW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td v-for="(item0,index0) in item" :key="index0" class="numCell">{{item0}}</td>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th rowspan="2">总产量t</th>
<th rowspan="2">台时产量t/h</th>
<th rowspan="2">运转率%</th>
<th colspan="2">质量</th>
<th colspan="8">单位产品电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>细度%</th>
<th>水分%</th>
<th>煤磨排风机主电机KW·h/t</th>
<th>当期值kW·h/t</th>
<th>目标值kW·h/t</th>
<th>当期与目标值差值kW·h/t</th>
<th>环期值kW·h/t</th>
<th>当期与环期差值kW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td v-for="(item0,index0) in item" :key="index0" class="numCell">{{item0}}</td>
</tr>
</table>
</table>
</div>
</div>
</el-card>
</div>
@ -203,7 +205,8 @@
};
</script>
<style scoped>
.printContainer{
.printWrap{
width: 100%;
overflow-x: scroll;
}
</style>

View File

@ -8,7 +8,7 @@
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
class="headerSearch"
/>
<el-button
type="primary"
@ -29,37 +29,39 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="8">煤磨工段车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th>月份</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1>0&&ind==3"></span>
<span v-if="item1<0&&ind==3"></span>
<span v-if="item1<0&&ind==5"></span>
<span v-if="item1<0&&ind==5"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1075" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="8">煤磨工段车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th>月份</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1>0&&ind==3"></span>
<span v-if="item1<0&&ind==3"></span>
<span v-if="item1<0&&ind==5"></span>
<span v-if="item1<0&&ind==5"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</el-card>
</div>
@ -265,16 +267,9 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
.redColor{
font-weight: bold;
color: #ff0000;
}
.greenColor{
font-weight: bold;
color: #008000;
<style scoped>
.printWrap{
width: 100%;
overflow-x: scroll;
}
</style>

View File

@ -1,160 +1,169 @@
<template>
<el-container>
<el-header>
<div class="left-panel">
<div style="margin-right: 20px">交接班日志</div>
<el-date-picker
v-model="query.time"
type="date"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
placeholder="日志时间"
/>
<el-select
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in optionsShift"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-select
v-model="query.team"
placeholder="班组"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
<div class="left-panel">
<div style="margin-right: 20px">交接班日志</div>
<el-date-picker
v-model="query.start_time__gte"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="开始时间"
style=" width: 120px"
/>
<el-date-picker
v-model="query.end_time__lt"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 120px"
/>
<el-select
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in optionsShift"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-select
v-model="query.team"
placeholder="班组"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in options"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
stripe
:params="query"
highlightCurrentRow
@row-click="rowClick"
>
<el-table-column type="index" width="50"/>
<!-- <el-table-column label="关联工段" prop="mgroup_name"></el-table-column> -->
<el-table-column label="开始时间" prop="start_time">
<template #default="scope">
<span>{{ scope.row.start_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" prop="end_time">
<template #default="scope">
<span>{{ scope.row.end_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="班组名称" prop="team_name" width="80"></el-table-column>
<el-table-column label="当前班次" prop="shift_name" width="80"></el-table-column>
<el-table-column label="班长" prop="leader_name" width="80"></el-table-column>
<el-table-column label="检验时间">
<template #default="scope">
<span v-if="scope.row.last_test_time">{{ scope.row.last_test_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link size="small" @click="sflog_edit(scope.row)" type="primary">编辑</el-button>
<el-button link size="small" @click="sflog_check(scope.row)" type="primary">质量检验</el-button>
<el-button link size="small" @click="sflog_other(scope.row)" type="primary">其他能源</el-button>
<el-button link size="small" @click="sflog_export(scope.row)" type="success">报表</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
<el-drawer v-model="limitedExport" size="60%" :show-close="false">
<template #header="{ close, titleId, titleClass }">
<h4 :id="titleId" :class="titleClass">交接班日志</h4>
<el-button type="danger" @click="close">
<el-icon class="el-icon--left"><CircleCloseFilled /></el-icon>
关闭
</el-button>
</template>
<el-main class="nopadding">
<div ref="print" id="myReport" class="printContainer">
<div style="margin-right: 20px;text-align: center;font-size: 16px;font-weight: bold;margin-bottom: 20px;">
<span v-if="sflogItem.end_time">{{sflogItem.end_time.slice(0,10)}}{{ sflogItem.shift_name }}</span>
<span v-if="sflogItem.team_name">{{ sflogItem.team_name }}</span>
交接班记录
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
stripe
:params="query"
highlightCurrentRow
@row-click="rowClick"
>
<el-table-column type="index" width="50"/>
<!-- <el-table-column label="关联工段" prop="mgroup_name"></el-table-column> -->
<el-table-column label="开始时间" prop="start_time">
<template #default="scope">
<span>{{ scope.row.start_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" prop="end_time">
<template #default="scope">
<span>{{ scope.row.end_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="班组名称" prop="team_name" width="80"></el-table-column>
<el-table-column label="当前班次" prop="shift_name" width="80"></el-table-column>
<el-table-column label="班长" prop="leader_name" width="80"></el-table-column>
<el-table-column label="检验时间">
<template #default="scope">
<span v-if="scope.row.last_test_time">{{ scope.row.last_test_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link size="small" @click="sflog_edit(scope.row)" type="primary">编辑</el-button>
<el-button link size="small" @click="sflog_check(scope.row)" type="primary">质量检验</el-button>
<el-button link size="small" @click="sflog_other(scope.row)" type="primary">其他能源</el-button>
<el-button link size="small" @click="sflog_export(scope.row)" type="success">报表</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
<el-drawer v-model="limitedExport" size="60%" :show-close="false">
<template #header="{ close, titleId, titleClass }">
<h4 :id="titleId" :class="titleClass">交接班日志</h4>
<el-button type="danger" @click="close">
<el-icon class="el-icon--left"><CircleCloseFilled /></el-icon>
关闭
</el-button>
</template>
<el-main class="nopadding">
<div ref="print" id="myReport" class="printContainer">
<div style="margin-right: 20px;text-align: center;font-size: 16px;font-weight: bold;margin-bottom: 20px;">
<span v-if="sflogItem.end_time">{{sflogItem.end_time.slice(0,10)}}{{ sflogItem.shift_name }}</span>
<span v-if="sflogItem.team_name">{{ sflogItem.team_name }}</span>
交接班记录
</div>
<h3 style="text-align: center;display: flex;justify-content: space-around;">
<span>2023.06.21</span>
<span>白班</span>
<span>甲班</span>
</h3>
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable">
<tbody>
<tr>
<td class="numCell">产量t</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">台时t/h</td>
<td class="numCell">{{value3}}</td>
<td class="numCell">运转时间h</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">运转率%</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">停机时长h</td>
<td class="numCell">{{value3}}</td>
<td class="numCell">单位产品分布电耗KW·h/t</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">单位产品标煤耗kgce/t</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">熟料立升重合格率</td>
<td class="numCell">{{value3}}</td>
<td class="numCell">熟料f-CaO合格率</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">入窑生料细度合格率%</td>
<td class="numCell">{{value5}}</td>
<td class="numCell">入窑生料CaO合格率%</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">入窑生料Fe₂O₃合格率%</td>
<td class="numCell">{{value3}}</td>
</tr>
<tr>
<td class="numCell">入窑生料水分合格率%</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">单位成本/</td>
<td class="numCell">{{value3}}</td>
<td class="numCell"></td>
<td class="numCell"></td>
</tr>
<tr>
<td class="numCell">生产情况记录</td>
<td class="numCell" colspan="5">时间类别原因处置措施处置人</td>
</tr>
</tbody>
</table>
</div>
</el-main>
</el-drawer>
<h3 style="text-align: center;display: flex;justify-content: space-around;">
<span>2023.06.21</span>
<span>白班</span>
<span>甲班</span>
</h3>
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable">
<tbody>
<tr>
<td class="numCell">产量t</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">台时t/h</td>
<td class="numCell">{{value3}}</td>
<td class="numCell">运转时间h</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">运转率%</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">停机时长h</td>
<td class="numCell">{{value3}}</td>
<td class="numCell">单位产品分布电耗KW·h/t</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">单位产品标煤耗kgce/t</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">熟料立升重合格率</td>
<td class="numCell">{{value3}}</td>
<td class="numCell">熟料f-CaO合格率</td>
<td class="numCell">{{value5}}</td>
</tr>
<tr>
<td class="numCell">入窑生料细度合格率%</td>
<td class="numCell">{{value5}}</td>
<td class="numCell">入窑生料CaO合格率%</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">入窑生料Fe₂O₃合格率%</td>
<td class="numCell">{{value3}}</td>
</tr>
<tr>
<td class="numCell">入窑生料水分合格率%</td>
<td class="numCell">{{value1}}</td>
<td class="numCell">单位成本/</td>
<td class="numCell">{{value3}}</td>
<td class="numCell"></td>
<td class="numCell"></td>
</tr>
<tr>
<td class="numCell">生产情况记录</td>
<td class="numCell" colspan="5">时间类别原因处置措施处置人</td>
</tr>
</tbody>
</table>
</div>
</el-main>
</el-drawer>
</el-container>
<save-dialog
v-if="dialog.save"
@ -193,6 +202,10 @@ import otherDialog from "./../enm_rm/other_form.vue";
apiObj: this.$API.wpm.sflog.list,
apiObj2: null,
query: {
shift:'',
team:'',
end_time__lt:'',
start_time__gte:'',
mgroup:'3347217246321065984',
},
@ -217,8 +230,27 @@ import otherDialog from "./../enm_rm/other_form.vue";
limitedExport:false,
};
},
mounted(){
this.getTeam();
this.getShfit();
},
methods: {
getTeam(){
let form ={};
form.page = 0;
form.belong_dept = this.deptId;
this.$API.mtm.team.list.req(form).then(res=>{
this.options = res;
})
},
getShfit(){
this.$API.mtm.shift.req({page:0}).then(res=>{
this.optionsShift = res;
})
},
handleQuery(){
this.$refs.table.queryData(this.query);
},
sflog_export(){
this.limitedExport = true;
},
@ -311,9 +343,6 @@ import otherDialog from "./../enm_rm/other_form.vue";
</script>
<style scoped>
.printContainer{
width: 1075px;
}
#numTable{
margin-left: 37px;
}

View File

@ -16,36 +16,48 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" class="myTable" id="myTable">
<thead class="myTableHead">
<tr>
<th colspan="7">回转窑工段主要设备100KW以上单位产品电耗数据表</th>
</tr>
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>单位</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<template v-for="(item1,ind) in item" :key="item1">
<td v-if="ind==0||ind==1||ind==2" class="numCell">{{item1}}</td>
<td v-if="ind==3" class="numCell hoursItem" @click="itemClick('hours',item1)">{{item1}}</td>
<td v-if="ind==4" class="numCell monthItem" @click="itemClick('month',item1)">{{item1}}</td>
<td v-if="ind==5" class="numCell yearItem" @click="itemClick1('year',item1)">{{item1}}</td>
</template>
</tr>
</tbody>
</table>
<scEcharts height="400px" width="1074px" :option="optionHour"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" class="myTable" id="myTable">
<thead class="myTableHead">
<tr>
<th colspan="6">回转窑工段主要设备100KW以上单位产品电耗数据表</th>
</tr>
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>单位</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<template v-for="(item1,ind) in item" :key="item1">
<td v-if="ind==0||ind==1||ind==2" class="numCell">{{item1}}</td>
<td v-if="ind==3" class="numCell hoursItem" @click="itemClick('hours',item1)">{{item1}}</td>
<td v-if="ind==4" class="numCell monthItem" @click="itemClick('month',item1)">{{item1}}</td>
<td v-if="ind==5" class="numCell yearItem" @click="itemClick1('year',item1)">{{item1}}</td>
</template>
</tr>
</tbody>
</table>
<div class="chartWrap">
<div class="chartTitle">小时生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionHour"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable title="创建/编辑人员证书">
<div class="searchHead" v-if="type=='hours'">
<el-date-picker
@ -132,26 +144,26 @@
triggerOn:"mousemove",
};
let grid={
right: '15%',
left:'10%',
right: '3%',
left:'7%',
top:'15%'
};
let toolbox={
right:'5%',
right:'2%',
feature: {
dataView: { show: true, readOnly: false },
saveAsImage: { show: true }
}
};
let legend= {
top:'15%',
right:'0',
orient:'vertical',
data:['高温风机', '窑主电机', '篦冷机一室风机电机', '篦冷机二室风机电机', '篦冷机三室风机电机','窑头排风机主电机','充气梁风机(左)电机','充气梁风机(右)电机']
top:'2%',
left:'30',
// orient:'vertical',
data:['高温风机', '窑主电机', '篦冷机一室风机', '篦冷机二室风机', '篦冷机三室风机','窑头排风机','充气梁风机(左)','充气梁风机(右)']
};
let yAxis= {
type: 'value',
name: '单位产品分布电耗(KW.h/t)',
name: '分布电耗(KW.h/t)',
alignTicks: true,
axisLine: {
show: true,
@ -188,20 +200,6 @@
tableDatas:[
['高温风机','','KW·h/t','','',''],
['窑主电机','','KW·h/t','','',''],
// {name:'',number:'NM001',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'',number:'NM002',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'',number:'NM003',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'',number:'NM004',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'',number:'NM005',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'',number:'NM006',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'',number:'NM006',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'',number:'NM006',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'',number:'NM006',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'西',number:'NM006',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'3301',number:'NM006',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'3303',number:'NM006',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'3308',number:'NM006',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
// {name:'3318',number:'NM006',unit:'KW·h/t',hours:'1',days:'24',month:'720'},
],
modelValue:true,
type:'hours',
@ -240,32 +238,32 @@
data: []
},
{
name: '篦冷机一室风机电机',
name: '篦冷机一室风机',
type: 'bar',
data: []
},
{
name: '篦冷机二室风机电机',
name: '篦冷机二室风机',
type: 'bar',
data: []
},
{
name: '篦冷机三室风机电机',
name: '篦冷机三室风机',
type: 'bar',
data: []
},
{
name: '窑头排风机主电机',
name: '窑头排风机',
type: 'bar',
data: []
},
{
name: '充气梁风机(左)电机',
name: '充气梁风机(左)',
type: 'bar',
data: []
},
{
name: '充气梁风机(右)电机',
name: '充气梁风机(右)',
type: 'bar',
data: []
},
@ -693,8 +691,8 @@
}
};
</script>
<style>
<style scoped>
.printContainer{
width: 1075px;
padding-left: 20px;
}
</style>

View File

@ -16,45 +16,57 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">回转窑工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in tableDatas" :key="index">
<td class="numCell" v-if="index==0||index==2" rowspan="2">{{ item[0] }}</td>
<td class="numCell" v-else-if="index==4" rowspan="4">{{ item[0] }}</td>
<td class="numCell" v-else-if="index==8">{{ item[0] }}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)" >{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell yearItem" @click="itemClick('year',item)">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
<td class="numCell">{{item[9]}}</td>
</tr>
</tbody>
</table>
<scEcharts height="400px" width="1074px" :option="optionHour"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">回转窑工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in tableDatas" :key="index">
<td class="numCell" v-if="index==0||index==2" rowspan="2">{{ item[0] }}</td>
<td class="numCell" v-else-if="index==4" rowspan="4">{{ item[0] }}</td>
<td class="numCell" v-else-if="index==8">{{ item[0] }}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)" >{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell yearItem" @click="itemClick('year',item)">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
<td class="numCell">{{item[9]}}</td>
</tr>
</tbody>
</table>
<div class="chartWrap">
<div class="chartTitle">小时生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionHour"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable title="回转窑工段">
<div class="searchHead" v-if="type=='hours'">
<el-date-picker
@ -160,19 +172,19 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
triggerOn:"mousemove",
};
let grid={
right: '10%',
left:'10%',
right: '9%',
left:'7%',
top:'15%'
};
let toolbox={
right:'5%',
right:'2%',
feature: {
dataView: { show: true, readOnly: false },
saveAsImage: { show: true }
}
};
let legend= {
top:'5%',
top:'2%',
data:['总产量', '台时产量', '运转率', '分布电耗','单位产品标煤耗', '成本']
};
let yAxis= [
@ -196,7 +208,7 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
name: '运转率 ',
position: 'right',
alignTicks: true,
offset: 0,
offset: 120,
axisLine: {
show: true,
lineStyle: {
@ -228,7 +240,6 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
name: '标煤耗',
position: 'right',
alignTicks: true,
offset: 120,
axisLine: {
show: true,
lineStyle: {
@ -244,7 +255,7 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
name: '成本(元)',
position: 'left',
alignTicks: true,
offset: 80,
offset: 70,
axisLine: {
show: true,
lineStyle: {
@ -785,8 +796,8 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
<style scoped>
.printContainer{
padding-left: 20px;
}
</style>

View File

@ -8,7 +8,7 @@
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
class="headerSearch"
/>
<el-button
type="primary"
@ -29,60 +29,62 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="45">回转窑工段班组月度对比分析</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th colspan="2">产量</th>
<th>运转率</th>
<th>成本</th>
<th colspan="6">质量</th>
<th colspan="12">单位产品标煤耗</th>
<th colspan="7">产品单位电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>总产量t</th>
<th>台时产量t/h</th>
<th>运转率%</th>
<th>单位产品成本/</th>
<th>CaO%</th>
<th>Fe₂O₃%</th>
<th>细度%</th>
<th>水分%</th>
<th>立升重%</th>
<th>f-CaO%</th>
<th>高温风机kgce/t</th>
<th>篦冷机一室风机电机kgce/t</th>
<th>篦冷机三室风机电机kgce/t</th>
<th>篦冷机二室风机电机kgce/t</th>
<th>窑头排风机主电机kgce/t</th>
<th>当期值kgce/t</th>
<th>目标值kgce/t</th>
<th>当期与目标差值kgce/t</th>
<th>环期值kgce/t</th>
<th>当期与环期差值kgce/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="3200" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="32">回转窑工段班组月度对比分析</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th colspan="2">产量</th>
<th>运转率</th>
<th>成本</th>
<th colspan="6">质量</th>
<th colspan="12">单位产品标煤耗</th>
<th colspan="7">产品单位电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>总产量t</th>
<th>台时产量t/h</th>
<th>运转率%</th>
<th>单位产品成本/</th>
<th>CaO%</th>
<th>Fe₂O₃%</th>
<th>细度%</th>
<th>水分%</th>
<th>立升重%</th>
<th>f-CaO%</th>
<th>高温风机kgce/t</th>
<th>篦冷机一室风机电机kgce/t</th>
<th>篦冷机三室风机电机kgce/t</th>
<th>篦冷机二室风机电机kgce/t</th>
<th>窑头排风机主电机kgce/t</th>
<th>当期值kgce/t</th>
<th>目标值kgce/t</th>
<th>当期与目标差值kgce/t</th>
<th>环期值kgce/t</th>
<th>当期与环期差值kgce/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
<th>当期值kW·h/t</th>
<th>目标值kW·h/t</th>
<th>当期与目标差值kW·h/t</th>
<th>环期值kW·h/t</th>
<th>当期与环期差值kW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
<th>当期值kW·h/t</th>
<th>目标值kW·h/t</th>
<th>当期与目标差值kW·h/t</th>
<th>环期值kW·h/t</th>
<th>当期与环期差值kW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td v-for="(item0,index0) in item" :key="index0" class="numCell">{{item0}}</td>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td v-for="(item0,index0) in item" :key="index0" class="numCell">{{item0}}</td>
</tr>
</table>
</table>
</div>
</div>
</el-card>
</div>
@ -250,7 +252,11 @@
};
</script>
<style scoped>
.printContainer{
.printWrap{
width: 100%;
overflow-x: scroll;
}
.numCell{
width: 100px!important;
}
</style>

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-header>
<el-header>
<div class="left-panel">
<el-date-picker
v-model="query.year_s"
@ -8,7 +8,7 @@
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
class="headerSearch"
/>
<el-button
type="primary"
@ -42,133 +42,135 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="1" id="myTable" class="myTable" v-if="query.type==1">
<thead class="myTableHead">
<tr>
<th colspan="8">车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th>月份</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1>0&&ind==3"></span>
<span v-if="item1<0&&ind==3"></span>
<span v-if="item1<0&&ind==5"></span>
<span v-if="item1<0&&ind==5"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<table border="1" width="1000" cellspacing="0" :key="2" id="myTable1" class="myTable" v-else-if="query.type==2">
<thead class="myTableHead">
<tr>
<th colspan="9">车间单位产品综合电耗月度分析表</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">当期值KW·h/t</th>
<th rowspan="2">目标值KW·h/t</th>
<th colspan="3">国家标准KW·h/t</th>
<th rowspan="2">当期与环期差值KW·h/t</th>
<th rowspan="2">环比增长率%</th>
<th rowspan="2">同比增长率%</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas2" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1<0&&ind==6"></span>
<span v-if="item1<0&&ind==6"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<table border="1" width="1000" cellspacing="0" :key="3" id="myTable1" class="myTable" v-else-if="query.type==3">
<thead class="myTableHead">
<tr>
<th colspan="9">车间单位产品标煤耗月度分析表</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">当期值KW·h/t</th>
<th rowspan="2">目标值KW·h/t</th>
<th colspan="3">国家标准KW·h/t</th>
<th rowspan="2">当期与环期差值KW·h/t</th>
<th rowspan="2">环比增长率%</th>
<th rowspan="2">同比增长率%</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas3" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1<0&&ind==6"></span>
<span v-if="item1<0&&ind==6"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<table border="1" width="1000" cellspacing="0" :key="4" id="myTable1" class="myTable" v-else-if="query.type==4">
<thead class="myTableHead">
<tr>
<th colspan="9">车间单位产品综合能耗月度分析表</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">当期值KW·h/t</th>
<th rowspan="2">目标值KW·h/t</th>
<th colspan="3">国家标准KW·h/t</th>
<th rowspan="2">当期与环期差值KW·h/t</th>
<th rowspan="2">环比增长率%</th>
<th rowspan="2">同比增长率%</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas4" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1<0&&ind==6"></span>
<span v-if="item1<0&&ind==6"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1075" cellspacing="0" :key="1" id="myTable" class="myTable" v-if="query.type==1">
<thead class="myTableHead">
<tr>
<th colspan="8">车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th>月份</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1>0&&ind==3"></span>
<span v-if="item1<0&&ind==3"></span>
<span v-if="item1<0&&ind==5"></span>
<span v-if="item1<0&&ind==5"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<table border="1" width="1075" cellspacing="0" :key="2" id="myTable1" class="myTable" v-else-if="query.type==2">
<thead class="myTableHead">
<tr>
<th colspan="9">车间单位产品综合电耗月度分析表</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">当期值KW·h/t</th>
<th rowspan="2">目标值KW·h/t</th>
<th colspan="3">国家标准KW·h/t</th>
<th rowspan="2">当期与环期差值KW·h/t</th>
<th rowspan="2">环比增长率%</th>
<th rowspan="2">同比增长率%</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas2" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1<0&&ind==6"></span>
<span v-if="item1<0&&ind==6"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<table border="1" width="1075" cellspacing="0" :key="3" id="myTable1" class="myTable" v-else-if="query.type==3">
<thead class="myTableHead">
<tr>
<th colspan="9">车间单位产品标煤耗月度分析表</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">当期值KW·h/t</th>
<th rowspan="2">目标值KW·h/t</th>
<th colspan="3">国家标准KW·h/t</th>
<th rowspan="2">当期与环期差值KW·h/t</th>
<th rowspan="2">环比增长率%</th>
<th rowspan="2">同比增长率%</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas3" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1<0&&ind==6"></span>
<span v-if="item1<0&&ind==6"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<table border="1" width="1075" cellspacing="0" :key="4" id="myTable1" class="myTable" v-else-if="query.type==4">
<thead class="myTableHead">
<tr>
<th colspan="9">车间单位产品综合能耗月度分析表</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">当期值KW·h/t</th>
<th rowspan="2">目标值KW·h/t</th>
<th colspan="3">国家标准KW·h/t</th>
<th rowspan="2">当期与环期差值KW·h/t</th>
<th rowspan="2">环比增长率%</th>
<th rowspan="2">同比增长率%</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas4" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1<0&&ind==6"></span>
<span v-if="item1<0&&ind==6"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</el-card>
</div>
@ -734,16 +736,10 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
.redColor{
font-weight: bold;
color: #ff0000;
}
.greenColor{
font-weight: bold;
color: #008000;
<style scoped>
.printWrap{
width: 100%;
overflow-x: scroll;
}
</style>

View File

@ -4,38 +4,47 @@
<div class="left-panel">
<div style="margin-right: 20px">交接班日志</div>
<el-date-picker
v-model="query.time"
type="date"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
placeholder="日志时间"
/>
<el-select
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in optionsShift"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-select
v-model="query.team"
placeholder="班组"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
v-model="query.start_time__gte"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="开始时间"
style=" width: 120px"
/>
<el-date-picker
v-model="query.end_time__lt"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 120px"
/>
<el-select
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in optionsShift"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-select
v-model="query.team"
placeholder="班组"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in options"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-button
type="primary"
icon="el-icon-search"
@ -174,6 +183,10 @@
apiObj: this.$API.wpm.sflog.list,
apiObj2: null,
query: {
shift:'',
team:'',
end_time__lt:'',
start_time__gte:'',
mgroup:'3347217651339837440',
},
deptId:'3347207316583170048',
@ -197,8 +210,27 @@
limitedExport:false,
};
},
mounted(){
this.getTeam();
this.getShfit();
},
methods: {
getTeam(){
let form ={};
form.page = 0;
form.belong_dept = this.deptId;
this.$API.mtm.team.list.req(form).then(res=>{
this.options = res;
})
},
getShfit(){
this.$API.mtm.shift.req({page:0}).then(res=>{
this.optionsShift = res;
})
},
handleQuery(){
this.$refs.table.queryData(this.query);
},
sflog_export(){
this.limitedExport = true;
},
@ -291,9 +323,6 @@
</script>
<style scoped>
.printContainer{
width: 1075px;
}
#numTable{
margin-left: 37px;
}

View File

@ -16,36 +16,48 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="7">水泥磨工段主要设备100KW以上单位产品电耗数据表</th>
</tr>
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>单位</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<template v-for="(item1,ind) in item" :key="item1">
<td v-if="ind==0||ind==1||ind==2" class="numCell">{{item1}}</td>
<td v-if="ind==3" class="numCell hoursItem" @click="itemClick('hours',item1)">{{item1}}</td>
<td v-if="ind==4" class="numCell monthItem" @click="itemClick('month',item1)">{{item1}}</td>
<td v-if="ind==5" class="numCell yearItem" @click="itemClick1('year',item1)">{{item1}}</td>
</template>
</tr>
</tbody>
</table>
<scEcharts height="400px" width="1074px" :option="optionHour"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="6">水泥磨工段主要设备100KW以上单位产品电耗数据表</th>
</tr>
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>单位</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<template v-for="(item1,ind) in item" :key="item1">
<td v-if="ind==0||ind==1||ind==2" class="numCell">{{item1}}</td>
<td v-if="ind==3" class="numCell hoursItem" @click="itemClick('hours',item1)">{{item1}}</td>
<td v-if="ind==4" class="numCell monthItem" @click="itemClick('month',item1)">{{item1}}</td>
<td v-if="ind==5" class="numCell yearItem" @click="itemClick1('year',item1)">{{item1}}</td>
</template>
</tr>
</tbody>
</table>
<div class="chartWrap">
<div class="chartTitle">小时生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionHour"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable title="创建/编辑人员证书">
<div class="searchHead" v-if="type=='hours'">
<el-date-picker
@ -132,26 +144,25 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
triggerOn:"mousemove",
};
let grid={
right: '15%',
left:'10%',
right: '3%',
left:'7%',
top:'15%'
};
let toolbox={
right:'5%',
right:'2%',
feature: {
dataView: { show: true, readOnly: false },
saveAsImage: { show: true }
}
};
let legend= {
top:'15%',
right:'0',
orient:'vertical',
top:'2%',
x:'center',
data:['循环风机1906', '系统风机', '水平涡流选粉机', '水泥磨主电机', '辊压机动辊电机','辊压机定辊电机','新增磨尾风机']
};
let yAxis= {
type: 'value',
name: '单位产品分布电耗(KW.h/t)',
name: '分布电耗(KW.h/t)',
alignTicks: true,
axisLine: {
show: true,
@ -662,8 +673,8 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
<style scoped>
.printContainer{
padding-left: 20px;
}
</style>

View File

@ -16,44 +16,56 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">水泥磨工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in tableDatas" :key="item">
<td class="numCell" v-if="index==0||index==2||index==4" rowspan="2">{{item[0]}}</td>
<td class="numCell" v-else-if="index==6">{{item[0]}}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)">{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell yearItem" @click="itemClick('year',item)">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
<td class="numCell">{{item[9]}}</td>
</tr>
</tbody>
</table>
<scEcharts height="400px" width="1074px" :option="optionHour"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">水泥磨工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in tableDatas" :key="item">
<td class="numCell" v-if="index==0||index==2||index==4" rowspan="2">{{item[0]}}</td>
<td class="numCell" v-else-if="index==6">{{item[0]}}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)">{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell yearItem" @click="itemClick('year',item)">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
<td class="numCell">{{item[9]}}</td>
</tr>
</tbody>
</table>
<div class="chartWrap">
<div class="chartTitle">小时生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionHour"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable title="水泥磨工段">
<div class="searchHead" v-if="type=='hours'">
<el-date-picker
@ -159,19 +171,19 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
triggerOn:"mousemove",
};
let grid={
right: '10%',
left:'10%',
right: '8%',
left:'7%',
top:'15%'
};
let toolbox={
right:'5%',
right:'2%',
feature: {
dataView: { show: true, readOnly: false },
saveAsImage: { show: true }
}
};
let legend= {
top:'5%',
top:'2%',
data:['总产量', '台时产量', '运转率', '分布电耗', '成本']
};
let yAxis= [{
@ -194,7 +206,7 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
name: '运转率 (%)',
position: 'right',
alignTicks: true,
offset: 0,
offset: 80,
axisLine: {
show: true,
lineStyle: {
@ -210,7 +222,6 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
name: '分布电耗(KW.h)',
position: 'right',
alignTicks: true,
offset: 80,
axisLine: {
show: true,
lineStyle: {
@ -226,7 +237,7 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
name: '成本(元)',
position: 'left',
alignTicks: true,
offset: 80,
offset: 70,
axisLine: {
show: true,
lineStyle: {
@ -724,8 +735,8 @@ const colors =['#647bfe','#8698fe','#a9b6fe','#cbd3fe','#91CC75','#EE6666'];
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
<style scoped>
.printContainer{
padding-left: 20px;
}
</style>

View File

@ -8,7 +8,7 @@
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
class="headerSearch"
/>
<el-button
type="primary"
@ -29,45 +29,47 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="20">水泥磨工段班组月度对比分析</th>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1900" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="19">水泥磨工段班组月度对比分析</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th colspan="2">总产量t</th>
<th>运转率</th>
<th>成本</th>
<th colspan="3">质量</th>
<th colspan="9">单位产品电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>总产量t</th>
<th>台时产量t/h</th>
<th>运转率%</th>
<th>单位产品成本/</th>
<th>比表面积%</th>
<th>SO3%</th>
<th>掺量%</th>
<th>循环风机1906KW·h/t</th>
<th>系统风机KW·h/t</th>
<th>水平涡流选粉机1915KW·h/t</th>
<th>目标值kW·h/t</th>
<th>当期与目标值差值kW·h/t</th>
<th>环期值kW·h/t</th>
<th>当期与环期差值kW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td v-for="(item0,index0) in item" :key="index0" class="numCell">{{item0}}</td>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th colspan="2">总产量t</th>
<th>运转率</th>
<th>成本</th>
<th colspan="3">质量</th>
<th colspan="10">单位产品电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>总产量t</th>
<th>台时产量t/h</th>
<th>运转率%</th>
<th>单位产品成本/</th>
<th>比表面积%</th>
<th>SO3%</th>
<th>掺量%</th>
<th>循环风机1906KW·h/t</th>
<th>系统风机KW·h/t</th>
<th>水平涡流选粉机1915KW·h/t</th>
<th>目标值kW·h/t</th>
<th>当期与目标值差值kW·h/t</th>
<th>环期值kW·h/t</th>
<th>当期与环期差值kW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td v-for="(item0,index0) in item" :key="index0" class="numCell">{{item0}}</td>
</tr>
</table>
</table>
</div>
</div>
</el-card>
</div>
@ -211,8 +213,9 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
<style scoped>
.printWrap{
width: 100%;
overflow-x: scroll;
}
</style>

View File

@ -8,7 +8,7 @@
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
class="headerSearch"
/>
<el-select
v-model="query.type"
@ -42,71 +42,73 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="0" id="myTable" class="myTable" v-if="query.type==1">
<thead class="myTableHead">
<tr>
<th colspan="9">水泥磨工段车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">当期值KW·h/t</th>
<th rowspan="2">目标值KW·h/t</th>
<th colspan="3">国家标准KW·h/t</th>
<th rowspan="2">当期与环期差值KW·h/t</th>
<th rowspan="2">环比增长率%</th>
<th rowspan="2">同比增长率%</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1<0&&ind==6"></span>
<span v-if="item1<0&&ind==6"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<table border="1" width="1000" cellspacing="0" :key="1" id="myTable1" class="myTable" v-else>
<thead class="myTableHead">
<tr>
<th colspan="9">水泥磨工段车间单位产品综合能耗月度分析表</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">当期值KW·h/t</th>
<th rowspan="2">目标值KW·h/t</th>
<th colspan="3">国家标准KW·h/t</th>
<th rowspan="2">当期与环期差值KW·h/t</th>
<th rowspan="2">环比增长率%</th>
<th rowspan="2">同比增长率%</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas2" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1<0&&ind==6"></span>
<span v-if="item1<0&&ind==6"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1075" cellspacing="0" :key="0" id="myTable" class="myTable" v-if="query.type==1">
<thead class="myTableHead">
<tr>
<th colspan="9">水泥磨工段车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">当期值KW·h/t</th>
<th rowspan="2">目标值KW·h/t</th>
<th colspan="3">国家标准KW·h/t</th>
<th rowspan="2">当期与环期差值KW·h/t</th>
<th rowspan="2">环比增长率%</th>
<th rowspan="2">同比增长率%</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1<0&&ind==6"></span>
<span v-if="item1<0&&ind==6"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<table border="1" width="1075" cellspacing="0" :key="1" id="myTable1" class="myTable" v-else>
<thead class="myTableHead">
<tr>
<th colspan="9">水泥磨工段车间单位产品综合能耗月度分析表</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">当期值KW·h/t</th>
<th rowspan="2">目标值KW·h/t</th>
<th colspan="3">国家标准KW·h/t</th>
<th rowspan="2">当期与环期差值KW·h/t</th>
<th rowspan="2">环比增长率%</th>
<th rowspan="2">同比增长率%</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas2" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1<0&&ind==6"></span>
<span v-if="item1<0&&ind==6"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</el-card>
</div>
@ -370,16 +372,5 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
.redColor{
font-weight: bold;
color: #ff0000;
}
.greenColor{
font-weight: bold;
color: #008000;
}
<style scoped>
</style>

View File

@ -1,89 +1,98 @@
<template>
<el-container>
<el-header>
<div class="left-panel">
<div style="margin-right: 20px">交接班日志</div>
<el-date-picker
v-model="query.time"
type="date"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
placeholder="日志时间"
/>
<el-select
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in optionsShift"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-select
v-model="query.team"
placeholder="班组"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
stripe
:params="query"
highlightCurrentRow
@row-click="rowClick"
>
<el-table-column type="index" width="50"/>
<!-- <el-table-column label="关联工段" prop="mgroup_name"></el-table-column> -->
<el-table-column label="开始时间" prop="start_time">
<template #default="scope">
<span>{{ scope.row.start_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" prop="end_time">
<template #default="scope">
<span>{{ scope.row.end_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="班组名称" prop="team_name"></el-table-column>
<el-table-column label="当前班次" prop="shift_name"></el-table-column>
<el-table-column label="班长" prop="leader_name"></el-table-column>
<el-table-column label="检验时间">
<template #default="scope">
<span v-if="scope.row.last_test_time">{{ scope.row.last_test_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="100">
<div class="left-panel">
<div style="margin-right: 20px">交接班日志</div>
<el-date-picker
v-model="query.start_time__gte"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="开始时间"
style=" width: 120px"
/>
<el-date-picker
v-model="query.end_time__lt"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 120px"
/>
<el-select
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in optionsShift"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-select
v-model="query.team"
placeholder="班组"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in options"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
stripe
:params="query"
highlightCurrentRow
@row-click="rowClick"
>
<el-table-column type="index" width="50"/>
<!-- <el-table-column label="关联工段" prop="mgroup_name"></el-table-column> -->
<el-table-column label="开始时间" prop="start_time">
<template #default="scope">
<el-button link size="small" @click="sflog_edit(scope.row)" type="primary">编辑</el-button>
<!-- <el-button link size="small" @click="sflog_check(scope.row)" type="primary">质量检验</el-button> -->
<!-- <el-button link size="small" @click="sflog_other(scope.row)" type="primary">其他能源</el-button> -->
<el-button link size="small" @click="sflog_export(scope.row)" type="success">报表</el-button>
<span>{{ scope.row.start_time.slice(0,16)}}</span>
</template>
</el-table-column>
</scTable>
</el-main>
</el-table-column>
<el-table-column label="结束时间" prop="end_time">
<template #default="scope">
<span>{{ scope.row.end_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="班组名称" prop="team_name"></el-table-column>
<el-table-column label="当前班次" prop="shift_name"></el-table-column>
<el-table-column label="班长" prop="leader_name"></el-table-column>
<el-table-column label="检验时间">
<template #default="scope">
<span v-if="scope.row.last_test_time">{{ scope.row.last_test_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="100">
<template #default="scope">
<el-button link size="small" @click="sflog_edit(scope.row)" type="primary">编辑</el-button>
<!-- <el-button link size="small" @click="sflog_check(scope.row)" type="primary">质量检验</el-button> -->
<!-- <el-button link size="small" @click="sflog_other(scope.row)" type="primary">其他能源</el-button> -->
<el-button link size="small" @click="sflog_export(scope.row)" type="success">报表</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
<el-drawer v-model="limitedExport" size="60%" :show-close="false">
<template #header="{ close, titleId, titleClass }">
<h4 :id="titleId" :class="titleClass">交接班日志</h4>
@ -171,8 +180,27 @@ import saveDialog from "./../enm_rm/handover_form.vue";
limitedExport:false,
};
},
mounted(){
this.getTeam();
this.getShfit();
},
methods: {
getTeam(){
let form ={};
form.page = 0;
form.belong_dept = this.deptId;
this.$API.mtm.team.list.req(form).then(res=>{
this.options = res;
})
},
getShfit(){
this.$API.mtm.shift.req({page:0}).then(res=>{
this.optionsShift = res;
})
},
handleQuery(){
this.$refs.table.queryData(this.query);
},
sflog_export(){
this.limitedExport = true;
},
@ -248,9 +276,6 @@ import saveDialog from "./../enm_rm/handover_form.vue";
</script>
<style scoped>
.printContainer{
width: 1075px;
}
#numTable{
margin-left: 37px;
}

View File

@ -16,42 +16,49 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">水泥包装工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item) in tableDatas" :key="item">
<td class="numCell">{{item[0]}}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)">{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell yearItem" @click="itemClick('year',item)">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
<td class="numCell">{{item[9]}}</td>
</tr>
</tbody>
</table>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="9">水泥包装工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item) in tableDatas" :key="item">
<td class="numCell">{{item[0]}}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)">{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
</tr>
</tbody>
</table>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable title="水泥磨工段">
<div class="searchHead" v-if="type=='hours'">
<el-date-picker
@ -157,19 +164,19 @@
triggerOn:"mousemove",
};
let grid={
right: '10%',
left:'10%',
right: '4%',
left:'4%',
top:'15%'
};
let toolbox={
right:'5%',
right:'2%',
feature: {
dataView: { show: true, readOnly: false },
saveAsImage: { show: true }
}
};
let legend= {
top:'5%',
top:'2%',
data:['总产量','分布电耗']
};
let yAxis= [{
@ -281,7 +288,7 @@
length: 5,
inside: true,
},
data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
data: []
},
yAxis: yAxis,
series:[
@ -327,13 +334,6 @@
month_d = lastDate.getMonth()+1;
days_d = lastDate.getDate();
}
//
let hourTime = timeDate - 3600000;
let hourDate = new Date(hourTime);
let year_h = hourDate.getFullYear();
let month_h = hourDate.getMonth()+1;
let days_h = hourDate.getDate();
let hours_h = hourDate.getHours();
//
let params1 = {};
params1.page = 0;
@ -343,8 +343,8 @@
this.$API.enm.enstat.req(params1).then((res1) => {
if(res1.length>0){
let data1 = res1[0];
that.tableDatas[0][5]=data1.total_production;
that.tableDatas[1][5]=data1.elec_consume_unit;
that.tableDatas[0][4]=data1.total_production;
that.tableDatas[1][4]=data1.elec_consume_unit;
}
})
//
@ -357,8 +357,8 @@
this.$API.enm.enstat.req(params2).then((res2) => {
if(res2.length>0){
let data2 = res2[0];
that.tableDatas[0][4]=data2.total_production;
that.tableDatas[1][4]=data2.elec_consume_unit;
that.tableDatas[0][3]=data2.total_production;
that.tableDatas[1][3]=data2.elec_consume_unit;
}
})
//
@ -372,25 +372,9 @@
this.$API.enm.enstat.req(params3).then((res3) => {
if(res3.length>0){
let data3 = res3[0];
that.tableDatas[0][3]=data3.total_production;
that.tableDatas[1][3]=data3.elec_consume_unit;
that.tableDatas[0][2]=data3.total_production;
that.tableDatas[1][2]=data3.elec_consume_unit;
}
})
//
let params4 = {};
params4.page = 0;
params4.year = year_h;
params4.month = month_h;
params4.day = days_h;
params4.hour = hours_h;
params4.type = 'hour_st';
params4.mgroup = this.query.mgroup;
this.$API.enm.enstat.req(params4).then((res4) => {
if(res4.length>0){
let data4 = res4[0];
that.tableDatas[0][2]=data4.total_production;
that.tableDatas[1][2]=data4.elec_consume_unit;
}
})
//
let params5 = {};
@ -398,19 +382,15 @@
params5.mgroup='3346520558031773696';
this.$API.mtm.goal.list.req(params5).then((res5) => {
if(res5.length>0){
let data5 = res5;
data5.forEach(item5=>{
let str = 'goal_val_'+that.month;
debugger;
console.log(str,item5[str])
if(item5.goal_cate_name=='总产量t'){
that.tableDatas[0][6]=item5[str];
that.tableDatas[0][8]=item5.goal_val;
that.tableDatas[0][5]=item5[str];
that.tableDatas[0][7]=item5.goal_val;
}else if(item5.goal_cate_name=='单位产品分布电耗KW·h/t'){
that.tableDatas[1][6]=item5[str];
that.tableDatas[1][8]=item5.goal_val;
that.tableDatas[1][5]=item5[str];
that.tableDatas[1][7]=item5.goal_val;
}
})
}
@ -424,10 +404,10 @@
this.$API.enm.enstat.req(params1).then((res1) => {
if(res1.length>0){
let data1 = res1[0];
that.tableDatas[0][5]=data1.total_production;
that.tableDatas[0][9]=precen(that.tableDatas[0][5],that.tableDatas[0][8])
that.tableDatas[1][5]=data1.elec_consume_unit;
that.tableDatas[1][9]=precen(that.tableDatas[1][5],that.tableDatas[1][8])
that.tableDatas[0][4]=data1.total_production;
that.tableDatas[0][8]=precen(that.tableDatas[0][4],that.tableDatas[0][7])
that.tableDatas[1][4]=data1.elec_consume_unit;
that.tableDatas[1][8]=precen(that.tableDatas[1][4],that.tableDatas[1][7])
}
})
@ -441,10 +421,10 @@
this.$API.enm.enstat.req(params2).then((res2) => {
if(res2.length>0){
let data2 = res2[0];
that.tableDatas[0][4]=data2.total_production;
that.tableDatas[0][7]=precen(that.tableDatas[0][4],that.tableDatas[0][6])
that.tableDatas[1][4]=data2.elec_consume_unit;
that.tableDatas[1][7]=precen(that.tableDatas[1][4],that.tableDatas[1][6])
that.tableDatas[0][3]=data2.total_production;
that.tableDatas[0][6]=precen(that.tableDatas[0][3],that.tableDatas[0][5])
that.tableDatas[1][3]=data2.elec_consume_unit;
that.tableDatas[1][6]=precen(that.tableDatas[1][3],that.tableDatas[1][5])
}
})
})
@ -520,8 +500,6 @@
.req('3322567213885833216')
.then((res) => {
this.myOption = JSON.parse(res.echart_options);
debugger;
console.log(this.myOption)
this.chartShow = true;
});
},
@ -536,9 +514,8 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
<style scoped>
.printContainer{
padding-left: 20px;
}
</style>

View File

@ -8,7 +8,7 @@
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
class="headerSearch"
/>
<el-button
type="primary"
@ -28,9 +28,9 @@
</el-button>
</div>
</el-header>
<el-card style="margin-top:5px">
<div class="printWrap"><el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<table border="1" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="11">电水泥包装工段班组月度对比分析</th>
@ -59,6 +59,7 @@
</div>
</el-card>
</div>
</div>
</template>
<script>
export default {
@ -186,8 +187,9 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
<style scoped>
.printWrap{
width: 100%;
overflow-x: scroll;
}
</style>

View File

@ -8,7 +8,7 @@
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
class="headerSearch"
/>
<el-button
type="primary"
@ -29,37 +29,39 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="8">水泥包装工段车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th>月份</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1>0&&ind==3"></span>
<span v-if="item1<0&&ind==3"></span>
<span v-if="item1<0&&ind==5"></span>
<span v-if="item1<0&&ind==5"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1075" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="8">水泥包装工段车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th>月份</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1>0&&ind==3"></span>
<span v-if="item1<0&&ind==3"></span>
<span v-if="item1<0&&ind==5"></span>
<span v-if="item1<0&&ind==5"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</el-card>
</div>
@ -264,16 +266,5 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
.redColor{
font-weight: bold;
color: #ff0000;
}
.greenColor{
font-weight: bold;
color: #008000;
}
<style scoped>
</style>

View File

@ -4,12 +4,21 @@
<div class="left-panel">
<div style="margin-right: 20px">交接班日志</div>
<el-date-picker
v-model="query.time"
type="date"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
placeholder="日志时间"
/>
v-model="query.start_time__gte"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="开始时间"
style=" width: 120px"
/>
<el-date-picker
v-model="query.end_time__lt"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 120px"
/>
<el-select
v-model="query.shift"
placeholder="班次"
@ -18,9 +27,9 @@
>
<el-option
v-for="item in optionsShift"
:key="item.value"
:label="item.label"
:value="item.value"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-select
@ -31,9 +40,9 @@
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-button
@ -217,9 +226,26 @@ import otherDialog from "./other_form.vue";
};
},
mounted(){
this.getTeam();
this.getTeam();
this.getShfit();
},
methods: {
getTeam(){
let form ={};
form.page = 0;
form.belong_dept = this.deptId;
this.$API.mtm.team.list.req(form).then(res=>{
this.options = res;
})
},
getShfit(){
this.$API.mtm.shift.req({page:0}).then(res=>{
this.optionsShift = res;
})
},
handleQuery(){
this.$refs.table.queryData(this.query);
},
sflog_export(){
this.limitedExport = true;
},
@ -244,14 +270,7 @@ import otherDialog from "./other_form.vue";
this.$refs.saveDialog.open("edit").setData(row);
});
},
getTeam(){
let form ={};
form.page = 0;
form.belong_dept = this.deptId;
this.$API.mtm.team.list.req(form).then(res=>{
this.teamOptions = res;
})
},
//
sflog_check(row){
this.dialog.check = true;
@ -329,9 +348,6 @@ import otherDialog from "./other_form.vue";
</script>
<style scoped>
.printContainer{
width: 1075px;
}
#numTable{
margin-left: 37px;
}

View File

@ -217,9 +217,6 @@ import otherDialog from "./other_form.vue";
</script>
<style scoped>
.printContainer{
width: 1075px;
}
#numTable{
margin-left: 37px;
}

View File

@ -16,36 +16,48 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="7">原料磨工段主要设备100KW以上单位产品电耗数据表</th>
</tr>
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>单位</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<template v-for="(item1,ind) in item" :key="item1">
<td v-if="ind==0||ind==1||ind==2" class="numCell">{{item1}}</td>
<td v-if="ind==3" class="numCell hoursItem" @click="itemClick('hours',item1)">{{item1}}</td>
<td v-if="ind==4" class="numCell monthItem" @click="itemClick('month',item1)">{{item1}}</td>
<td v-if="ind==5" class="numCell yearItem" @click="itemClick1('year',item1)">{{item1}}</td>
</template>
</tr>
</tbody>
</table>
<scEcharts height="400px" width="1074px" :option="optionHour"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="6">原料磨工段主要设备100KW以上单位产品电耗数据表</th>
</tr>
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>单位</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<template v-for="(item1,ind) in item" :key="item1">
<td v-if="ind==0||ind==1||ind==2" class="numCell">{{item1}}</td>
<td v-if="ind==3" class="numCell hoursItem" @click="itemClick('hours',item1)">{{item1}}</td>
<td v-if="ind==4" class="numCell monthItem" @click="itemClick('month',item1)">{{item1}}</td>
<td v-if="ind==5" class="numCell yearItem" @click="itemClick1('year',item1)">{{item1}}</td>
</template>
</tr>
</tbody>
</table>
<div class="chartWrap">
<div class="chartTitle">小时生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionHour"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable>
<div class="searchHead" v-if="type=='hours'">
<el-date-picker
@ -132,9 +144,9 @@
triggerOn:"mousemove",
};
let grid={
right: '10%',
left:'10%',
top:'20%'
right: '3%',
left:'7%',
top:'15%'
};
let toolbox={
right:'5%',
@ -144,12 +156,12 @@
}
};
let legend= {
top:'8%',
top:'2%',
data:['立磨主电机', '循环风机', '烘干破主', '废气风机', '尾排风机']
};
let yAxis= {
type: 'value',
name: '单位产品分布电耗(KW.h/t)',
name: '分布电耗(KW.h/t)',
alignTicks: true,
axisLine: {
show: true,
@ -202,10 +214,6 @@
allValDays:0,
allValMonth:0,
option1:{
title: {
text: '小时生产参数统计图',
x: 'center'
},
color: colors,
tooltip:tooltip,
grid: grid,
@ -249,10 +257,6 @@
]
},
option2:{
title: {
text: '本月生产参数统计图',
x: 'center'
},
color: colors,
tooltip:tooltip,
grid: grid,
@ -296,10 +300,6 @@
]
},
option3:{
title: {
text: '本年生产参数统计图',
x: 'center'
},
color: colors,
tooltip:tooltip,
grid: grid,
@ -612,8 +612,8 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
<style scoped>
.printContainer{
padding-left: 20px;
}
</style>

View File

@ -16,44 +16,55 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">原料磨工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in tableDatas" :key="item">
<td class="numCell" v-if="index==0||index==2" rowspan="2">{{item[0]}}</td>
<td class="numCell" v-if="index==4||index==5">{{item[0]}}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)">{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell yearItem" @click="itemClick('year',item)">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
<td class="numCell">{{item[9]}}</td>
</tr>
</tbody>
</table>
<div id="main" style="width:1200px;height:600px;"></div>
<scEcharts height="400px" width="1074px" :option="optionHour"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">原料磨工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in tableDatas" :key="item">
<td class="numCell" v-if="index==0||index==2" rowspan="2">{{item[0]}}</td>
<td class="numCell" v-if="index==4||index==5">{{item[0]}}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)">{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell yearItem" @click="itemClick('year',item)">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
<td class="numCell">{{item[9]}}</td>
</tr>
</tbody>
</table>
<!-- <div id="main" style="width:1200px;height:600px;"></div> -->
<div class="chartWrap">
<div class="chartTitle">小时生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionHour"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable title="原料磨工段">
@ -163,20 +174,19 @@
// alwaysShowContent:true,
};
let grid={
right: '10%',
left:'10%',
right: '7%',
left:'7%',
top:'15%'
};
let toolbox={
right:'5%',
right:'2%',
feature: {
dataView: { show: true, readOnly: false },
// restore: { show: true },
saveAsImage: { show: true }
}
};
let legend= {
top:'5%',
top:'2%',
data:['总产量', '台时产量', '运转率', '分布电耗', '成本']
};
let yAxis= [{
@ -199,7 +209,7 @@
name: '运转率 (%)',
position: 'right',
alignTicks: true,
offset: 0,
offset: 80,
axisLine: {
show: true,
lineStyle: {
@ -215,7 +225,6 @@
name: '分布电耗(KW.h)',
position: 'right',
alignTicks: true,
offset: 80,
axisLine: {
show: true,
lineStyle: {
@ -231,7 +240,7 @@
name: '成本(元)',
position: 'left',
alignTicks: true,
offset: 80,
offset: 70,
axisLine: {
show: true,
lineStyle: {
@ -968,8 +977,8 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
<style scoped>
.printContainer{
padding-left: 20px;
}
</style>

View File

@ -8,7 +8,7 @@
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
class="headerSearch"
/>
<el-button
type="primary"
@ -29,51 +29,53 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="24">原料磨工段班组月度对比分析</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th colspan="2">产量</th>
<th>运转率</th>
<th>成本</th>
<th colspan="7">质量</th>
<th colspan="10">单位产品电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>总产量t</th>
<th>台时产量t/h</th>
<th>运转率%</th>
<th>单位产品成本/</th>
<th>细度%</th>
<th>Fe₂O₃%</th>
<th>水分%</th>
<th>细度%</th>
<th>Fe₂O₃%</th>
<th>水分%</th>
<th>CaO%</th>
<th>循环风机KW·h/t</th>
<th>尾排风机KW·h/t</th>
<th>废气风机KW·h/t</th>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="2400" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="24">原料磨工段班组月度对比分析</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th colspan="2">产量</th>
<th>运转率</th>
<th>成本</th>
<th colspan="7">质量</th>
<th colspan="10">单位产品电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>总产量t</th>
<th>台时产量t/h</th>
<th>运转率%</th>
<th>单位产品成本/</th>
<th>细度%</th>
<th>Fe₂O₃%</th>
<th>水分%</th>
<th>细度%</th>
<th>Fe₂O₃%</th>
<th>水分%</th>
<th>CaO%</th>
<th>循环风机KW·h/t</th>
<th>尾排风机KW·h/t</th>
<th>废气风机KW·h/t</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td v-for="(item0,index0) in item" :key="index0" class="numCell">{{item0}}</td>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td v-for="(item0,index0) in item" :key="index0" class="numCell">{{item0}}</td>
</tr>
</table>
</table>
</div>
</div>
</el-card>
</div>
@ -224,7 +226,8 @@
};
</script>
<style scoped>
.printContainer{
.printWrap{
width: 100%;
overflow-x: scroll;
}
</style>

View File

@ -3,13 +3,13 @@
<el-header>
<div class="left-panel">
<el-date-picker
v-model="query.year_s"
type="year"
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
/>
v-model="query.year_s"
type="year"
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
class="headerSearch"
/>
<el-button
type="primary"
icon="el-icon-search"
@ -29,37 +29,39 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">原料磨工段车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th>月份</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1>0&&ind==3"></span>
<span v-if="item1<0&&ind==3"></span>
<span v-if="item1<0&&ind==5"></span>
<span v-if="item1<0&&ind==5"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1075" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="8">原料磨工段车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th>月份</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1>0&&ind==3"></span>
<span v-if="item1<0&&ind==3"></span>
<span v-if="item1<0&&ind==5"></span>
<span v-if="item1<0&&ind==5"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</el-card>
</div>
@ -264,16 +266,9 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
.redColor{
font-weight: bold;
color: #ff0000;
}
.greenColor{
font-weight: bold;
color: #008000;
<style scoped>
.printWrap{
width: 100%;
overflow-x: scroll;
}
</style>

View File

@ -1,89 +1,98 @@
<template>
<el-container>
<el-header>
<div class="left-panel">
<div style="margin-right: 20px">交接班日志</div>
<el-date-picker
v-model="query.time"
type="date"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
placeholder="日志时间"
/>
<el-select
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in optionsShift"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-select
v-model="query.team"
placeholder="班组"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
stripe
:params="query"
highlightCurrentRow
@row-click="rowClick"
>
<el-table-column type="index" width="50"/>
<!-- <el-table-column label="关联工段" prop="mgroup_name"></el-table-column> -->
<el-table-column label="开始时间" prop="start_time">
<template #default="scope">
<span>{{ scope.row.start_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" prop="end_time">
<template #default="scope">
<span>{{ scope.row.end_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="班组名称" prop="team_name"></el-table-column>
<el-table-column label="当前班次" prop="shift_name"></el-table-column>
<el-table-column label="班长" prop="leader_name"></el-table-column>
<el-table-column label="检验时间">
<template #default="scope">
<span v-if="scope.row.last_test_time">{{ scope.row.last_test_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="150">
<template #default="scope">
<el-button link size="small" @click="sflog_edit(scope.row)" type="primary">编辑</el-button>
<!-- <el-button link size="small" @click="sflog_check(scope.row)" type="primary">质量检验</el-button> -->
<el-button link size="small" @click="sflog_other(scope.row)" type="primary">其他能源</el-button>
<el-button link size="small" @click="sflog_export(scope.row)" type="success">报表</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
<div class="left-panel">
<div style="margin-right: 20px">交接班日志</div>
<el-date-picker
v-model="query.start_time__gte"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="开始时间"
style=" width: 120px"
/>
<el-date-picker
v-model="query.end_time__lt"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 120px"
/>
<el-select
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in optionsShift"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-select
v-model="query.team"
placeholder="班组"
clearable
style="margin-left: 2px; width: 120px"
>
<el-option
v-for="item in options"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
stripe
:params="query"
highlightCurrentRow
@row-click="rowClick"
>
<el-table-column type="index" width="50"/>
<!-- <el-table-column label="关联工段" prop="mgroup_name"></el-table-column> -->
<el-table-column label="开始时间" prop="start_time">
<template #default="scope">
<span>{{ scope.row.start_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" prop="end_time">
<template #default="scope">
<span>{{ scope.row.end_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="班组名称" prop="team_name"></el-table-column>
<el-table-column label="当前班次" prop="shift_name"></el-table-column>
<el-table-column label="班长" prop="leader_name"></el-table-column>
<el-table-column label="检验时间">
<template #default="scope">
<span v-if="scope.row.last_test_time">{{ scope.row.last_test_time.slice(0,16)}}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="150">
<template #default="scope">
<el-button link size="small" @click="sflog_edit(scope.row)" type="primary">编辑</el-button>
<!-- <el-button link size="small" @click="sflog_check(scope.row)" type="primary">质量检验</el-button> -->
<el-button link size="small" @click="sflog_other(scope.row)" type="primary">其他能源</el-button>
<el-button link size="small" @click="sflog_export(scope.row)" type="success">报表</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
<el-drawer v-model="limitedExport" size="60%" :show-close="false">
<template #header="{ close, titleId, titleClass }">
<h4 :id="titleId" :class="titleClass">交接班日志</h4>
@ -173,8 +182,27 @@
limitedExport:false,
};
},
mounted(){
this.getTeam();
this.getShfit();
},
methods: {
getTeam(){
let form ={};
form.page = 0;
form.belong_dept = this.deptId;
this.$API.mtm.team.list.req(form).then(res=>{
this.options = res;
})
},
getShfit(){
this.$API.mtm.shift.req({page:0}).then(res=>{
this.optionsShift = res;
})
},
handleQuery(){
this.$refs.table.queryData(this.query);
},
sflog_export(){
this.limitedExport = true;
},
@ -249,9 +277,6 @@
</script>
<style scoped>
.printContainer{
width: 1075px;
}
#numTable{
margin-left: 37px;
}

View File

@ -16,35 +16,44 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" class="myTable" id="myTable">
<thead class="myTableHead">
<tr>
<th colspan="7">电石渣工段主要设备100KW以上单位产品电耗数据表</th>
</tr>
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>单位</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<template v-for="(item1,ind) in item" :key="item1">
<td v-if="ind==0||ind==1||ind==2" class="numCell">{{item1}}</td>
<td v-if="ind==3" class="numCell hoursItem" @click="itemClick('hours',item1)">{{item1}}</td>
<td v-if="ind==4" class="numCell monthItem" @click="itemClick('month',item1)">{{item1}}</td>
<td v-if="ind==5" class="numCell yearItem" @click="itemClick1('year',item1)">{{item1}}</td>
</template>
</tr>
</tbody>
</table>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" class="myTable" id="myTable">
<thead class="myTableHead">
<tr>
<th colspan="6">电石渣工段主要设备100KW以上单位产品电耗数据表</th>
</tr>
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>单位</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<template v-for="(item1,ind) in item" :key="item1">
<td v-if="ind==0||ind==1||ind==2" class="numCell">{{item1}}</td>
<td v-if="ind==3" class="numCell hoursItem" @click="itemClick('hours',item1)">{{item1}}</td>
<td v-if="ind==4" class="numCell monthItem" @click="itemClick('month',item1)">{{item1}}</td>
<td v-if="ind==5" class="numCell yearItem" @click="itemClick1('year',item1)">{{item1}}</td>
</template>
</tr>
</tbody>
</table>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable title="创建/编辑人员证书">
<div class="searchHead" v-if="type=='hours'">
<el-date-picker
@ -131,8 +140,8 @@
triggerOn:"mousemove",
};
let grid={
right: '10%',
left:'10%',
right: '3%',
left:'7%',
top:'15%'
};
let toolbox={
@ -143,12 +152,12 @@
}
};
let legend= {
top:'5%',
top:'2%',
data:['烘干破主电机']
};
let yAxis= {
type: 'value',
name: '单位产品分布电耗(KW.h/t)',
name: '分布电耗(KW.h/t)',
alignTicks: true,
axisLine: {
show: true,
@ -431,8 +440,8 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
<style scoped>
.printContainer{
padding-left: 20px;
}
</style>

View File

@ -16,42 +16,49 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="10">电石渣工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>上个小时</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item) in tableDatas" :key="item">
<td class="numCell">{{item[0]}}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)" >{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell yearItem" @click="itemClick('year',item)">{{item[5]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
<td class="numCell">{{item[9]}}</td>
</tr>
</tbody>
</table>
<scEcharts height="400px" width="1074px" :option="optionDay"></scEcharts>
<scEcharts height="400px" width="1074px" :option="optionMonth"></scEcharts>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1035" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="9">电石渣工段生产报告</th>
</tr>
<tr>
<th colspan="2">参数</th>
<th>昨日</th>
<th>本月</th>
<th>本年</th>
<th>月目标值</th>
<th>月完成度</th>
<th>年目标值</th>
<th>年完成度</th>
</tr>
</thead>
<tbody>
<tr v-for="(item) in tableDatas" :key="item">
<td class="numCell">{{item[0]}}</td>
<td class="numCell">{{item[1]}}</td>
<td class="numCell hoursItem" @click="itemClick('hours',item)" >{{item[2]}}</td>
<td class="numCell daysItem" @click="itemClick('days',item)">{{item[3]}}</td>
<td class="numCell monthItem" @click="itemClick('month',item)">{{item[4]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[6]}}</td>
<td class="numCell">{{item[7]}}</td>
<td class="numCell">{{item[8]}}</td>
</tr>
</tbody>
</table>
<div class="chartWrap">
<div class="chartTitle">本月生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionDay"></scEcharts>
</div>
<div class="chartWrap">
<div class="chartTitle">本年生产参数统计图</div>
<scEcharts height="400px" width="1033px" :option="optionMonth"></scEcharts>
</div>
</div>
</div>
<sc-dialog v-model="chartShow" draggable title="电石渣工段">
<div class="searchHead" v-if="type=='hours'">
<el-date-picker
@ -160,20 +167,19 @@
// alwaysShowContent:true,
};
let grid={
right: '10%',
left:'10%',
right: '7%',
left:'4%',
top:'15%'
};
let toolbox={
right:'5%',
feature: {
dataView: { show: true, readOnly: false },
// restore: { show: true },
saveAsImage: { show: true }
}
};
let legend= {
top:'5%',
top:'2%',
data:['总产量', '分布电耗', '成本']
};
let yAxis= [{
@ -353,14 +359,6 @@
month_d = lastDate.getMonth()+1;
days_d = lastDate.getDate();
}
//
let hourTime = timeDate - 3600000;
let hourDate = new Date(hourTime);
let year_h = hourDate.getFullYear();
let month_h = hourDate.getMonth()+1;
let days_h = hourDate.getDate();
let hours_h = hourDate.getHours();
//
let params3 = {};
params3.page = 0;
@ -372,28 +370,11 @@
this.$API.enm.enstat.req(params3).then((res3) => {
if(res3.length>0){
let data3 = res3[0];
that.tableDatas[0][3]=data3.total_production;
that.tableDatas[1][3]=data3.elec_consume_unit;
that.tableDatas[2][3]=data3.production_cost_unit;
that.tableDatas[0][2]=data3.total_production;
that.tableDatas[1][2]=data3.elec_consume_unit;
that.tableDatas[2][2]=data3.production_cost_unit;
}
})
//
let params4 = {};
params4.page = 0;
params4.year = year_h;
params4.month = month_h;
params4.day = days_h;
params4.hour = hours_h;
params4.type = 'hour_st';
params4.mgroup = this.query.mgroup;
this.$API.enm.enstat.req(params4).then((res4) => {
if(res4.length>0){
let data4 = res4[0];
that.tableDatas[0][2]=data4.total_production;
that.tableDatas[1][2]=data4.elec_consume_unit;
that.tableDatas[2][2]=data4.production_cost_unit;
}
})
//
let params5 = {};
params5.page=0;
@ -404,14 +385,14 @@
data5.forEach(item5=>{
let str = 'goal_val_'+that.month;
if(item5.goal_cate_name=='总产量t'){
that.tableDatas[0][6]=item5[str];
that.tableDatas[0][8]=item5.goal_val;
that.tableDatas[0][5]=item5[str];
that.tableDatas[0][7]=item5.goal_val;
}else if(item5.goal_cate_name=='单位产品分布电耗KW·h/t'){
that.tableDatas[1][6]=item5[str];
that.tableDatas[1][8]=item5.goal_val;
that.tableDatas[1][5]=item5[str];
that.tableDatas[1][7]=item5.goal_val;
}else if(item5.goal_cate_name=='单位产品成本(元/吨)'){
that.tableDatas[2][6]=item5[str];
that.tableDatas[2][8]=item5.goal_val;
that.tableDatas[2][5]=item5[str];
that.tableDatas[2][7]=item5.goal_val;
}
})
}
@ -425,12 +406,12 @@
this.$API.enm.enstat.req(params1).then((res1) => {
if(res1.length>0){
let data1 = res1[0];
that.tableDatas[0][5]=data1.total_production;
that.tableDatas[0][9]=precen(that.tableDatas[0][5],that.tableDatas[0][8])
that.tableDatas[1][5]=data1.elec_consume_unit;
that.tableDatas[1][9]=precen(that.tableDatas[1][5],that.tableDatas[1][8])
that.tableDatas[2][5]=data1.production_cost_unit;
that.tableDatas[2][9]=precen(that.tableDatas[2][5],that.tableDatas[2][8])
that.tableDatas[0][4]=data1.total_production;
that.tableDatas[0][8]=precen(that.tableDatas[0][4],that.tableDatas[0][7])
that.tableDatas[1][4]=data1.elec_consume_unit;
that.tableDatas[1][8]=precen(that.tableDatas[1][4],that.tableDatas[1][7])
that.tableDatas[2][4]=data1.production_cost_unit;
that.tableDatas[2][8]=precen(that.tableDatas[2][4],that.tableDatas[2][7])
}else{
}
@ -446,12 +427,12 @@
this.$API.enm.enstat.req(params2).then((res2) => {
if(res2.length>0){
let data2 = res2[0];
that.tableDatas[0][4]=data2.total_production;
that.tableDatas[0][7]=precen(that.tableDatas[0][4],that.tableDatas[0][6])
that.tableDatas[1][4]=data2.elec_consume_unit;
that.tableDatas[1][7]=precen(that.tableDatas[1][4],that.tableDatas[1][6])
that.tableDatas[2][4]=data2.production_cost_unit;
that.tableDatas[2][7]=precen(that.tableDatas[2][4],that.tableDatas[2][6])
that.tableDatas[0][3]=data2.total_production;
that.tableDatas[0][6]=precen(that.tableDatas[0][3],that.tableDatas[0][5])
that.tableDatas[1][3]=data2.elec_consume_unit;
that.tableDatas[1][6]=precen(that.tableDatas[1][3],that.tableDatas[1][5])
that.tableDatas[2][3]=data2.production_cost_unit;
that.tableDatas[2][6]=precen(that.tableDatas[2][3],that.tableDatas[2][5])
}
})
})
@ -546,8 +527,8 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
<style scoped>
.printContainer{
padding-left: 20px;
}
</style>

View File

@ -8,7 +8,7 @@
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
class="headerSearch"
/>
<el-button
type="primary"
@ -29,34 +29,36 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="12">电石渣工段班组月度对比分析</th>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1075" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="12">电石渣工段班组月度对比分析</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th rowspan="2">总产量t</th>
<th rowspan="2">单位产品成本/</th>
<th colspan="7">产品单位电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>当期值kKW·h/t</th>
<th>目标值kKW·h/t</th>
<th>当期与目标值差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期值差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td v-for="(item0,index0) in item" :key="index0" class="numCell">{{item0}}</td>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th rowspan="2">总产量t</th>
<th rowspan="2">单位产品成本/</th>
<th colspan="7">产品单位电耗</th>
<th rowspan="2">得分</th>
</tr>
<tr>
<th>当期值kKW·h/t</th>
<th>目标值kKW·h/t</th>
<th>当期与目标值差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期值差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tr v-for="(item,index) in tableDatas" :key="index">
<td v-for="(item0,index0) in item" :key="index0" class="numCell">{{item0}}</td>
</tr>
</table>
</table>
</div>
</div>
</el-card>
</div>
@ -188,8 +190,9 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
<style scoped>
.printWrap{
width: 100%;
overflow-x: scroll;
}
</style>

View File

@ -3,13 +3,13 @@
<el-header>
<div class="left-panel">
<el-date-picker
v-model="query.year_s"
type="year"
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
style="margin-right: 6px;"
/>
v-model="query.year_s"
type="year"
value-format="YYYY"
format="YYYY"
placeholder="查询年份"
class="headerSearch"
/>
<el-button
type="primary"
icon="el-icon-search"
@ -29,37 +29,39 @@
</div>
</el-header>
<el-card style="margin-top:5px">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1000" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="8">车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th>月份</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1>0&&ind==3"></span>
<span v-if="item1<0&&ind==3"></span>
<span v-if="item1<0&&ind==5"></span>
<span v-if="item1<0&&ind==5"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
<div class="printWrap">
<div ref="print" id="myReport" class="printContainer">
<table border="1" width="1075" cellspacing="0" :key="timeStamp" id="myTable" class="myTable">
<thead class="myTableHead">
<tr>
<th colspan="8">车间单位产品电耗月度分析表</th>
</tr>
<tr>
<th>月份</th>
<th>当期值KW·h/t</th>
<th>目标值KW·h/t</th>
<th>当期与目标差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableDatas" :key="item">
<td v-for="(item1,ind) in item" :key="ind" class="numCell">
<div :class="bindClass(item1,ind)">
<span v-if="item1>0&&ind==3"></span>
<span v-if="item1<0&&ind==3"></span>
<span v-if="item1<0&&ind==5"></span>
<span v-if="item1<0&&ind==5"></span>
{{item1}}
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</el-card>
</div>
@ -264,16 +266,9 @@
}
};
</script>
<style>
.printContainer{
width: 1075px;
}
.redColor{
font-weight: bold;
color: #ff0000;
}
.greenColor{
font-weight: bold;
color: #008000;
<style scoped>
.printWrap{
width: 100%;
overflow-x: scroll;
}
</style>

View File

@ -8,7 +8,7 @@
placeholder="工段"
clearable
@change="mgroupChange"
style="margin-left: 2px; width: 200px"
class="headerSearch"
>
<el-option
v-for="item in mgroupOptions"
@ -21,6 +21,7 @@
v-model="query.type"
placeholder="查询类型"
clearable
class="headerSearch"
@change="typeCange"
>
<el-option
@ -36,6 +37,7 @@
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
placeholder="日"
class="headerSearch"
v-if="query.type==0"
/>
<!-- 选择班次 -->
@ -44,7 +46,7 @@
v-model="query.shift"
placeholder="班次"
clearable
style="margin-left: 2px; width: 120px"
class="headerSearch"
>
<el-option
v-for="item in optionsShift"
@ -59,6 +61,7 @@
value-format="YYYY-MM"
format="YYYY-MM"
placeholder="月份"
class="headerSearch"
v-if="query.type==1"
/>
<el-date-picker
@ -67,6 +70,7 @@
value-format="YYYY"
format="YYYY"
placeholder="年份"
class="headerSearch"
v-if="query.type==2"
/>
<el-button

View File

@ -154,9 +154,6 @@
};
</script>
<style>
.printContainer{
width: 1075px;
}
#numTable{
margin-left: 37px;
}

View File

@ -7,7 +7,7 @@
placeholder="车间"
clearable
@change="deptChange"
style="margin-left: 2px; width: 200px"
class="headerSearch"
>
<el-option
v-for="item in deptOptions"
@ -20,6 +20,7 @@
v-model="query.type"
placeholder="查询类型"
clearable
class="headerSearch"
@change="typeCange"
>
<el-option
@ -36,6 +37,7 @@
format="YYYY-MM"
placeholder="查询月份"
v-if="query.type==0"
class="headerSearch"
/>
<el-date-picker
v-model="query.year"
@ -44,6 +46,7 @@
format="YYYY"
placeholder="查询年份"
v-if="query.type==1"
class="headerSearch"
/>
<el-date-picker
v-model="query.yearStart"
@ -52,8 +55,8 @@
format="YYYY"
placeholder="起始年份"
v-if="query.type==2"
class="headerSearch"
/>
<el-button
type="primary"
icon="el-icon-search"
@ -296,9 +299,6 @@
};
</script>
<style>
.printContainer{
width: 1075px;
}
#numTable{
margin-left: 37px;
}

View File

@ -2,27 +2,27 @@
<el-container>
<el-header>
<div class="left-panel">
<el-date-picker
<!-- <el-date-picker
v-model="query.year"
type="year"
value-format="YYYY"
format="YYYY"
placeholder="年"
style="width: 120px;margin-right: 5px;"
/>
/> -->
<el-date-picker
v-model="query.month"
v-model="query.date"
type="month"
value-format="YYYY-MM"
format="YYYY-MM"
placeholder="月"
style="width: 120px;margin-right: 5px;"
class="headerSearch"
/>
<el-select
v-model="query.fee"
placeholder="费用类型"
clearable
style="width: 120px;margin-right: 5px;"
class="headerSearch"
>
<el-option
v-for="item in feeOptions"
@ -35,7 +35,7 @@
v-model="query.mgroup"
placeholder="工段"
clearable
style="width: 120px;margin-right: 5px;"
class="headerSearch"
>
<el-option
v-for="item in options"
@ -47,9 +47,8 @@
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
<div class="right-panel">
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'role.create'"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'feeset.create'"></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id">
@ -65,11 +64,11 @@
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'team.update'" type="primary">编辑</el-button>
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'feeset.update'" type="primary">编辑</el-button>
<el-divider direction="vertical"></el-divider>
<el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
<template #reference>
<el-button link size="small" v-auth="'role.delete'" type="danger">删除</el-button>
<el-button link size="small" v-auth="'feeset.delete'" type="danger">删除</el-button>
</template>
</el-popconfirm>
</template>
@ -95,8 +94,7 @@
return {
apiObj: this.$API.fim.feeset.list,
query: {
year:'',
month:'',
date:'',
fee:'',
mgroup:'',
},
@ -156,7 +154,14 @@
},
//
handleQuery(){
this.$refs.table.queryData(this.query)
let year = this.query.date.split('-')[0];
let month = this.query.date.split('-')[1];
let query = {};
query.year = Number(year);
query.month = Number(month);
query.fee =this.query.fee;
query.mgroup =this.query.mgroup;
this.$refs.table.queryData(query)
},
//
//

View File

@ -2,50 +2,51 @@
<el-container>
<el-header>
<div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="roleAdd" v-auth="'role.create'"></el-button>
<el-date-picker
v-model="query.year"
type="year"
format="YYYY"
value-format="YYYY"
placeholder="年份"
class="headerSearch"
/>
<el-select
v-model="query.mgroup"
placeholder="关联工段"
clearable
class="headerSearch"
>
<el-option
v-for="item in mgroupOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-select
v-model="query.goal_cate"
placeholder="目标种类"
clearable
class="headerSearch"
>
<el-option
v-for="item in goalOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
<div class="right-panel">
<div class="right-panel-search">
<el-date-picker
v-model="query.year"
type="year"
format="YYYY"
value-format="YYYY"
placeholder="年份"
/>
<el-select
v-model="query.mgroup"
placeholder="关联工段"
clearable
>
<el-option
v-for="item in mgroupOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-select
v-model="query.goal_cate"
placeholder="目标种类"
clearable
>
<el-option
v-for="item in goalOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
<el-button type="primary" icon="el-icon-plus" @click="roleAdd" v-auth="'goal.create'"></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" hidePagination>
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange">
<el-table-column label="#" type="index" width="50"></el-table-column>
<el-table-column label="工段" prop="mgroup_name" min-width="100"></el-table-column>
<el-table-column label="目标(项目)" prop="goal_cate_name" min-width="100"></el-table-column>
<el-table-column label="工段" prop="mgroup_name" width="80"></el-table-column>
<el-table-column label="目标(项目)" prop="goal_cate_name" min-width="120"></el-table-column>
<el-table-column label="1月" prop="goal_val_1"></el-table-column>
<el-table-column label="2月" prop="goal_val_2"></el-table-column>
<el-table-column label="3月" prop="goal_val_3"></el-table-column>
@ -61,11 +62,11 @@
<el-table-column label="年目标值" prop="goal_val"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="100">
<template #default="scope">
<el-button link size="small" @click="roleEdit(scope.row)" v-auth="'team.update'" type="primary">编辑</el-button>
<el-button link size="small" @click="roleEdit(scope.row)" v-auth="'goal.update'" type="primary">编辑</el-button>
<el-divider direction="vertical"></el-divider>
<el-popconfirm title="确定删除吗?" @confirm="handleDel(scope.row)">
<template #reference>
<el-button link size="small" v-auth="'role.delete'" type="danger">删除</el-button>
<el-button link size="small" v-auth="'goal.delete'" type="danger">删除</el-button>
</template>
</el-popconfirm>
</template>

View File

@ -2,17 +2,16 @@
<el-container>
<el-header>
<div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'role.create'"></el-button>
<el-input style="margin-right: 5px;" v-model="query.search" placeholder="产品名称" clearable></el-input>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
<div class="right-panel">
<div class="right-panel-search">
<el-input v-model="query.search" placeholder="产品名称" clearable @keyup.enter="handleQuery"></el-input>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'material.create'"></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" hidePagination>
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange">
<el-table-column label="#" type="index" width="50"></el-table-column>
<el-table-column label="名称" prop="name" min-width="100"></el-table-column>
<el-table-column label="标识" prop="code" min-width="100"></el-table-column>
@ -29,11 +28,11 @@
</el-table-column> -->
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'team.update'" type="primary">编辑</el-button>
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'material.update'" type="primary">编辑</el-button>
<el-divider direction="vertical"></el-divider>
<el-popconfirm title="确定删除吗?" @confirm="roleDel(scope.row, scope.$index)">
<template #reference>
<el-button link size="small" v-auth="'role.delete'" type="danger">删除</el-button>
<el-button link size="small" v-auth="'material.delete'" type="danger">删除</el-button>
</template>
</el-popconfirm>
</template>

View File

@ -2,13 +2,11 @@
<el-container>
<el-header>
<div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'role.create'"></el-button>
<el-input style="margin-right: 5px;" v-model="query.search" placeholder="名称" clearable></el-input>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
<div class="right-panel">
<div class="right-panel-search">
<el-input v-model="query.search" placeholder="测点集名称" clearable @keyup.enter="handleQuery"></el-input>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'mgroup.create'"></el-button>
</div>
</el-header>
<el-main class="nopadding">
@ -20,16 +18,15 @@
<span>{{ cates_[scope.row.cate] }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="主要产品" prop="product" min-width="150"></el-table-column> -->
<el-table-column label="所属部门" prop="belong_dept_name" min-width="150"></el-table-column>
<el-table-column label="创建时间" prop="create_time" min-width="150"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'team.update'" type="primary">编辑</el-button>
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'mgroup.update'" type="primary">编辑</el-button>
<el-divider direction="vertical"></el-divider>
<el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
<template #reference>
<el-button link size="small" v-auth="'role.delete'" type="danger">删除</el-button>
<el-button link size="small" v-auth="'mgroup.delete'" type="danger">删除</el-button>
</template>
</el-popconfirm>
</template>

View File

@ -3,18 +3,18 @@
<el-header>
<div class="left-panel">
<el-date-picker
v-model="query.month"
v-model="query.monthData"
type="month"
value-format="YYYY-MM"
format="YYYY-MM"
placeholder="月"
style="width: 120px;margin-right: 5px;"
class="headerSearch"
/>
<el-select
v-model="query.fee"
v-model="query.material"
placeholder="物料"
clearable
style="width: 120px;margin-right: 5px;"
class="headerSearch"
>
<el-option
v-for="item in options"
@ -26,7 +26,7 @@
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
<div class="right-panel">
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'role.create'"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'priceset.create'"></el-button>
</div>
</el-header>
@ -39,11 +39,11 @@
<el-table-column label="单价" prop="price_unit" min-width="150"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'team.update'" type="primary">编辑</el-button>
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'priceset.update'" type="primary">编辑</el-button>
<el-divider direction="vertical"></el-divider>
<el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
<template #reference>
<el-button link size="small" v-auth="'role.delete'" type="danger">删除</el-button>
<el-button link size="small" v-auth="'priceset.delete'" type="danger">删除</el-button>
</template>
</el-popconfirm>
</template>
@ -69,8 +69,7 @@
return {
apiObj: this.$API.fim.priceset.list,
query: {
year:'',
month:'',
monthData:'',
material:'',
},
dialog: {
@ -121,7 +120,13 @@
},
//
handleQuery(){
this.$refs.table.queryData(this.query)
let year = this.query.monthData.split('-')[0];
let month = this.query.monthData.split('-')[1];
let query = {};
query.year = Number(year);
query.month = Number(month);
query.material =this.query.material;
this.$refs.table.queryData(query)
},
//
//

View File

@ -7,7 +7,7 @@
placeholder="车间"
clearable
@change="deptChange"
style="margin-left: 2px; width: 200px"
class="headerSearch"
>
<el-option
v-for="item in deptOptions"
@ -20,6 +20,7 @@
v-model="query.type"
placeholder="查询类型"
clearable
class="headerSearch"
@change="typeCange"
>
<el-option
@ -36,6 +37,7 @@
value-format="YYYY"
format="YYYY"
placeholder="年份"
class="headerSearch"
v-if="query.type==1"
/>
<el-date-picker
@ -44,17 +46,9 @@
value-format="YYYY-MM"
format="YYYY-MM"
placeholder="月份"
class="headerSearch"
v-if="query.type==0"
/>
<!-- <el-date-picker
v-model="query.day"
type="date"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
placeholder="日"
v-if="query.type==0"
/> -->
<el-button
type="primary"
icon="el-icon-search"
@ -358,9 +352,6 @@
};
</script>
<style>
.printContainer{
width: 1075px;
}
.tableContainer{
overflow-x: scroll;
}

View File

@ -7,6 +7,7 @@
v-model="type"
placeholder="查询类型"
clearable
class="headerSearch"
@change="typeCange"
>
<el-option
@ -157,7 +158,7 @@
});
},
getTableData(){},
handlePrint() {
this.$PRINT('#myReport');
},
@ -165,9 +166,6 @@
};
</script>
<style>
.printContainer{
width: 1075px;
}
#numTable{
margin-left: 37px;
}

View File

@ -2,7 +2,7 @@
<el-container>
<el-header>
<div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="roleAdd" v-auth="'role.create'"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleAdd" v-auth="'team.create'"></el-button>
</div>
<div class="right-panel">
<div class="right-panel-search">
@ -20,11 +20,11 @@
<el-table-column label="创建时间" prop="create_time" min-width="150"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link size="small" @click="roleEdit(scope.row)" v-auth="'team.update'" type="primary">编辑</el-button>
<el-button link size="small" @click="handleEdit(scope.row)" v-auth="'team.update'" type="primary">编辑</el-button>
<el-divider direction="vertical"></el-divider>
<el-popconfirm title="确定删除吗?" @confirm="roleDel(scope.row, scope.$index)">
<el-popconfirm title="确定删除吗?" @confirm="handleDel(scope.row, scope.$index)">
<template #reference>
<el-button link size="small" v-auth="'role.delete'" type="danger">删除</el-button>
<el-button link size="small" v-auth="'team.delete'" type="danger">删除</el-button>
</template>
</el-popconfirm>
</template>
@ -106,7 +106,6 @@
}
},
mounted() {
this.getList();
this.getGroup();
},
methods: {
@ -120,13 +119,8 @@
this.group = res.results;
});
},
//
getList(){
var res = this.$API.system.role.list.req();
this.tableData = res.results;
},
//
roleAdd(){
handleAdd(){
this.limitedVisible = true;
this.type = "add";
this.form = Object.assign({}, defaultForm);
@ -158,14 +152,13 @@
},
//
roleEdit(row){
handleEdit(row){
this.type='edit';
this.form=row;
this.limitedVisible = true;
},
//
async roleDel(row){
async handleDel(row){
var id = row.id;
var res = await this.$API.mtm.team.delete.req(id);
if(res.err_msg){

View File

@ -87,7 +87,4 @@
};
</script>
<style>
.printContainer{
width: 1075px;
}
</style>