|
|
@@ -52,18 +52,18 @@ let chart: echarts.ECharts | null = null
|
|
|
const router = useRouter()
|
|
|
|
|
|
const nonProductionTimeFields: [keyof ListItem, string][] = [
|
|
|
- ['accidentTime', '工程质量'],
|
|
|
- ['repairTime', '设备故障'],
|
|
|
- ['selfStopTime', '设备保养'],
|
|
|
- ['complexityTime', '技术受限'],
|
|
|
- ['relocationTime', '生产配合'],
|
|
|
- ['rectificationTime', '生产组织'],
|
|
|
- ['waitingStopTime', '不可抗力'],
|
|
|
- ['winterBreakTime', '待命'],
|
|
|
- ['partyaDesign', '甲方设计'],
|
|
|
- ['partyaPrepare', '甲方准备'],
|
|
|
- ['partyaResource', '甲方资源'],
|
|
|
- ['otherNptTime', '其它']
|
|
|
+ ['accidentTime', '工程质量(H)'],
|
|
|
+ ['repairTime', '设备故障(H)'],
|
|
|
+ ['selfStopTime', '设备保养(H)'],
|
|
|
+ ['complexityTime', '技术受限(H)'],
|
|
|
+ ['relocationTime', '生产配合(H)'],
|
|
|
+ ['rectificationTime', '生产组织(H)'],
|
|
|
+ ['waitingStopTime', '不可抗力(H)'],
|
|
|
+ ['winterBreakTime', '待命(H)'],
|
|
|
+ ['partyaDesign', '甲方设计(H)'],
|
|
|
+ ['partyaPrepare', '甲方准备(H)'],
|
|
|
+ ['partyaResource', '甲方资源(H)'],
|
|
|
+ ['otherNptTime', '其它(H)']
|
|
|
]
|
|
|
|
|
|
const getQueryWithoutPage = () => {
|
|
|
@@ -200,7 +200,11 @@ const getPieData = () => {
|
|
|
}
|
|
|
|
|
|
const getNptFieldPieData = () => {
|
|
|
- const excludedFields: Array<keyof ListItem> = ['selfStopTime', 'relocationTime', 'winterBreakTime']
|
|
|
+ const excludedFields: Array<keyof ListItem> = [
|
|
|
+ 'selfStopTime',
|
|
|
+ 'relocationTime',
|
|
|
+ 'winterBreakTime'
|
|
|
+ ]
|
|
|
|
|
|
return nonProductionTimeFields
|
|
|
.filter(([field]) => !excludedFields.includes(field))
|
|
|
@@ -393,16 +397,14 @@ const { ZmTable, ZmTableColumn } = useTableComponents<ListItem>()
|
|
|
show-summary
|
|
|
:summary-method="getSummaries"
|
|
|
:row-class-name="getClickableRowClassName"
|
|
|
- @row-click="handleRowClick"
|
|
|
- >
|
|
|
+ @row-click="handleRowClick">
|
|
|
<zm-table-column
|
|
|
prop="name"
|
|
|
label="队伍"
|
|
|
min-width="120"
|
|
|
fixed="left"
|
|
|
cover-formatter
|
|
|
- :real-value="formatTeamName"
|
|
|
- />
|
|
|
+ :real-value="formatTeamName" />
|
|
|
<zm-table-column
|
|
|
v-for="[prop, label] in nonProductionTimeFields"
|
|
|
:key="prop"
|
|
|
@@ -410,40 +412,35 @@ const { ZmTable, ZmTableColumn } = useTableComponents<ListItem>()
|
|
|
:label="label"
|
|
|
min-width="92"
|
|
|
cover-formatter
|
|
|
- :real-value="(row: ListItem) => formatNumber(row[prop])"
|
|
|
- />
|
|
|
+ :real-value="(row: ListItem) => formatNumber(row[prop])" />
|
|
|
<zm-table-column label="npt合计" is-parent>
|
|
|
<zm-table-column
|
|
|
prop="nptTotal"
|
|
|
label="时长(H)"
|
|
|
min-width="92"
|
|
|
cover-formatter
|
|
|
- :real-value="(row: ListItem) => formatNumber(row.nptTotal)"
|
|
|
- />
|
|
|
+ :real-value="(row: ListItem) => formatNumber(row.nptTotal)" />
|
|
|
<zm-table-column
|
|
|
prop="nptRate"
|
|
|
label="占比"
|
|
|
min-width="92"
|
|
|
cover-formatter
|
|
|
- :real-value="formatRate"
|
|
|
- />
|
|
|
+ :real-value="formatRate" />
|
|
|
</zm-table-column>
|
|
|
<zm-table-column
|
|
|
prop="calendarTime"
|
|
|
- label="自然时间"
|
|
|
+ label="自然时间(H)"
|
|
|
min-width="92"
|
|
|
cover-formatter
|
|
|
action
|
|
|
- :real-value="(row: ListItem) => formatNumber(row.calendarTime)"
|
|
|
- />
|
|
|
+ :real-value="(row: ListItem) => formatNumber(row.calendarTime)" />
|
|
|
</zm-table>
|
|
|
<div
|
|
|
v-else
|
|
|
ref="chartRef"
|
|
|
v-loading="loading"
|
|
|
class="npt-board-container"
|
|
|
- :style="{ width: `${width}px`, height: `${height}px` }"
|
|
|
- >
|
|
|
+ :style="{ width: `${width}px`, height: `${height}px` }">
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-auto-resizer>
|