<template>
|
<div>
|
<el-row>
|
<el-col :span="12">
|
<div class="param-top">
|
<div class="form-item">
|
<label>工艺名称</label>
|
<div>{{ currOperateTask.technologyName }}</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12">
|
<div class="param-top">
|
<div class="form-item">
|
<label>工艺要求</label>
|
<div>{{ currOperateTask.technologyRequire }}</div>
|
</div>
|
</div>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<div class="param-top">
|
<div class="form-item">
|
<label>零件</label>
|
<div>{{ currOperateTask.partName }}</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12">
|
<div class="param-top">
|
<div class="form-item">
|
<label>制造订单</label>
|
<div>{{ currOperateTask.manufacturingOrder }}</div>
|
</div>
|
</div>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<div class="param-top">
|
<div class="form-item">
|
<label>状态</label>
|
<div>{{ currOperateTask.statusDesc }}</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12">
|
<div class="param-top">
|
<div class="form-item">
|
<label>备注</label>
|
<div>{{ currOperateTask.remark }}</div>
|
</div>
|
</div>
|
</el-col>
|
</el-row>
|
|
<el-card class="taskinfo-param-card">
|
<el-tabs
|
class="taskinfo-param-tabs"
|
v-model="activeName"
|
type="card"
|
@tab-click="handleTabClick"
|
>
|
<el-tab-pane
|
v-for="(paramTab, index) in paramTabs"
|
:key="index"
|
:label="paramTab"
|
:name="paramTab"
|
>
|
<div style="height: 100%;">
|
<div class="tab-params-class">
|
<el-card style="height: 100%;" header="参数集" shadow="never">
|
<el-table
|
:data="everyTabParams"
|
highlight-current-row
|
@row-click="tabParamsClick"
|
>
|
<el-table-column
|
prop="systemNo"
|
label="编号"
|
align="center"
|
></el-table-column>
|
<el-table-column
|
prop="operationTemplateName"
|
label="名称"
|
align="center"
|
></el-table-column>
|
</el-table>
|
</el-card>
|
</div>
|
<div class="params-class">
|
<el-card style="height: 100%;" header="参数" shadow="never">
|
<el-table :data="params">
|
<el-table-column
|
prop="parameterItem"
|
label="名称"
|
align="center"
|
>
|
<template slot-scope="scope">
|
<span
|
>{{ scope.row.parameterItem }}({{
|
scope.row.unit
|
}})</span
|
>
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="paramValue"
|
label="值"
|
align="center"
|
></el-table-column>
|
</el-table>
|
</el-card>
|
</div>
|
</div>
|
</el-tab-pane>
|
</el-tabs>
|
</el-card>
|
</div>
|
</template>
|
<style lang="scss" scoped>
|
.param-top {
|
width: 100%;
|
height: 30px;
|
padding: 10px 40px;
|
|
.form-item {
|
display: flex;
|
align-items: center;
|
}
|
|
.form-item label {
|
color: #999;
|
display: inline-block;
|
white-space: nowrap;
|
font-size: 12px;
|
transform: translateZ(0);
|
min-width: 100px;
|
}
|
|
.form-item div {
|
font-size: 12px;
|
color: rgba(0, 0, 0, 0.9);
|
vertical-align: middle;
|
}
|
}
|
|
.taskinfo-param-card {
|
margin-top: 10px;
|
height: 700px;
|
}
|
|
.taskinfo-param-card >>> .el-card__body {
|
height: 100%;
|
}
|
|
.taskinfo-param-tabs {
|
height: 100%;
|
}
|
|
.taskinfo-param-tabs >>> .el-tabs__content {
|
height: calc(100% - 56px);
|
}
|
|
.taskinfo-param-tabs >>> .el-tabs__content > .el-tab-pane {
|
height: 100%;
|
}
|
|
.tab-params-class {
|
float: left;
|
width: 35%;
|
height: 100%;
|
}
|
|
.params-class {
|
float: right;
|
width: 60%;
|
height: 100%;
|
}
|
</style>
|
<script>
|
import { getTemplate } from '@/api/plan/operationtask'
|
export default {
|
props: {
|
currOperateTask: {
|
type: Object,
|
default: () => {
|
return {}
|
}
|
},
|
workstationId: {
|
type: Number
|
}
|
},
|
data() {
|
return {
|
activeName: '',
|
paramDatas: [],
|
paramTabs: [], // tab的集合
|
everyTabParams: [], // 每个tab下参数集的集合
|
params: [] // 每个参数集下的参数的集合
|
}
|
},
|
created() {},
|
methods: {
|
// 根据工艺和工序的id去获取工序参数
|
getTechnologyRoutingParam(item) {
|
getTemplate(this.currOperateTask.id).then((response) => {
|
this.paramDatas = response.data.data
|
this.paramTabs = []
|
if (this.paramDatas != null && this.paramDatas.length > 0) {
|
for (let i = 0; i < this.paramDatas.length; i++) {
|
const paramData = this.paramDatas[i]
|
if (this.paramTabs.indexOf(paramData.operationTemplateType) < 0) {
|
this.paramTabs.push(paramData.operationTemplateType)
|
}
|
}
|
if (this.paramTabs.length > 0) {
|
this.activeName = this.paramTabs[0]
|
this.getEveryTabParams(this.paramTabs[0])
|
}
|
}
|
})
|
},
|
// 响应tab单击事件
|
handleTabClick(tab, event) {
|
this.getEveryTabParams(tab.name)
|
},
|
// 响应参数集点击事件
|
tabParamsClick(row) {
|
this.getParams(row.id)
|
},
|
// 根据tab名称,去获取参数集的集合
|
getEveryTabParams(tabName) {
|
this.everyTabParams = []
|
this.params = []
|
if (this.paramDatas != null && this.paramDatas.length > 0) {
|
for (let i = 0; i < this.paramDatas.length; i++) {
|
const paramData = this.paramDatas[i]
|
if (paramData.operationTemplateType === tabName) {
|
this.everyTabParams.push(paramData)
|
}
|
}
|
}
|
},
|
// 根据参数集id,去获取参数的集合
|
getParams(id) {
|
this.params = []
|
const paramData = this.paramDatas.find((item) => id === item.id)
|
if (paramData !== undefined) {
|
this.params = paramData.paramList
|
}
|
},
|
// 初始化页面变量
|
initTaskParam() {
|
this.activeName = ''
|
this.paramDatas = []
|
this.paramTabs = []
|
this.everyTabParams = []
|
this.params = []
|
}
|
},
|
watch: {
|
currOperateTask: {
|
handler(newValue, oldValue) {
|
if (newValue.id) {
|
// 查询paramDatas
|
this.getTechnologyRoutingParam(newValue)
|
} else {
|
this.initTaskParam()
|
}
|
},
|
deep: true
|
},
|
workstationId(val) {
|
// this.initTaskParam()
|
}
|
}
|
}
|
</script>
|