hberp/hb_client/src/views/pm/plandetails.vue

258 lines
7.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<el-card style="margin-top: 2px">
<el-descriptions title="任务详情" :column="4" border style="margin-bottom: 20px">
<el-descriptions-item label="任务编号">{{productionplan.number}}</el-descriptions-item>
<el-descriptions-item label="产品名称" v-if="productionplan.product_">{{productionplan.product_.name}}
</el-descriptions-item>
<el-descriptions-item label="规格型号" v-if="productionplan.product_">{{productionplan.product_.specification}}
</el-descriptions-item>
<el-descriptions-item label="生产数量">{{productionplan.count}}</el-descriptions-item>
<el-descriptions-item label="生产状态">{{state_[productionplan.state]}}</el-descriptions-item>
<el-descriptions-item label="计划开工时间">{{productionplan.start_date}}</el-descriptions-item>
<el-descriptions-item label="计划完工时间">{{productionplan.end_date}}</el-descriptions-item>
</el-descriptions>
<el-table
:data="wproduct"
border
fit
stripe
style="width: 100%"
height="500"
>
<el-table-column type="index" label="序号" width="50"/>
<el-table-column label="玻璃编号/产品编号">
<template slot-scope="scope">{{ scope.row.number }}</template>
</el-table-column>
<el-table-column label="所在子工序">
<template slot-scope="scope">
{{scope.row.step_.name}}
</template>
</el-table-column>
<el-table-column label="产品状态">
<template slot-scope="scope">{{
actstate_[scope.row.act_state]
}}
</template>
</el-table-column>
<el-table-column label="生产状态">
<template slot-scope="scope">
{{scope.row.step_.name}}
</template>
</el-table-column>
<el-table-column label="最后检验结果">
<template slot-scope="scope">
<span v-if="scope.row.last_test_result==false">不合格</span>
<span v-if="scope.row.last_test_result==true">合格</span>
</template>
</el-table-column>
<el-table-column label="生产记录">
<template slot-scope="scope">
<el-button @click="select(scope)">查看</el-button>
</template>
</el-table-column>
<el-table-column
align="center"
label="操作"
width="220px"
>
<template slot-scope="scope">
<el-link
v-if="checkPermission(['material_delete'])"
type="primary"
@click="handleoption(scope)"
>生成流程卡
</el-link>
</template>
</el-table-column>
</el-table>
<!--检验记录-->
<el-dialog title="检验记录" :visible.sync="limitedCheckRecord">
<el-table
:data="recordList"
border
height="400"
>
<el-table-column type="index" width="50"/>
<el-table-column label="表单名称">
<template slot-scope="scope">{{ scope.row.form_.name }}</template>
</el-table-column>
<el-table-column align="center" label="操作">
<template slot-scope="scope">
<el-link
@click="handleRecordDetail(scope)"
>查看
</el-link>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
</div>
</el-dialog>
<!--非检查表显示-->
<el-dialog
:title="formName"
:visible.sync="recordVisible"
:close-on-click-modal="false"
>
<el-row>
<el-col v-for="item in fieldList" :key="item.id" :span="12">
<div class="items" v-if="item.field_type!=='draw'">
<span class="itemLabel">{{item.field_name}}</span>
<span>{{item.field_value}}</span>
</div>
</el-col>
<el-col v-for="item in fieldList" :key="item.id" :span="24">
<div class="items" v-if="item.field_type==='draw'" style="height: 400px">
<span class="itemLabel">{{item.field_name}}</span>
<img style="width: 45%;vertical-align: text-top;" :src="'http://47.95.0.242:2222'+item.field_value"/>
</div>
</el-col>
</el-row>
</el-dialog>
</el-card>
</div>
</template>
<script>
import {getProductionplan} from "@/api/pm";
import {getwproductList, getrecordList,recordInit} from "@/api/wpm";
import checkPermission from "@/utils/permission";
const defaultrecordform = {enabled: false};
export default {
data() {
return {
productionplan: {
number: ""
},
activeName: "1",
wproduct: [],
recordList: [],
limitedCheckRecord: false,
listQuery: {
page: 1,
page_size: 20,
},
state_: {
10: "制定中",
20: "已下达",
30: "已接受",
40: "生产中",
50: "已完成",
60: "军检完成",
70: "暂停",
80: "终止",
},
actstate_: {
6: "待复检",
10: "操作进行中",
20: "待检验",
30: "已合格",
40: "库存中",
50: "不合格",
60: "待成品检验",
8: "操作准备中",
26: "待夹层检验",
70: "报废",
},
process_json: null,
productionplanID: null,
dialogVisibleForm: false,
recordform: defaultrecordform,
dialogType: "new",
dialogVisible: false,
dialogType1: "new",
dialogVisible1: false,
checkForm: {
hhh: '',
},
recordVisible: false,
customfieldList: [],
recordId: null,
fifo_detail: "",
formName: "项目检查表",
hasPicture: false,
fieldList: [],
};
},
computed: {},
watch: {},
created() {
this.id = this.$route.params.id;
this.getList();
this.getwproductList();
},
methods: {
checkPermission,
getList() {
getProductionplan(this.id).then((response) => {
if (response.data) {
this.productionplan = response.data;
this.productionplanID = response.data.id;
let process_json = [];
for (let item in response.data.process_json) {
let obj = new Object();
obj = response.data.process_json[item];
process_json.push(obj)
}
this.process_json = process_json;
}
});
},
getwproductList() {
getwproductList({production_plan: this.id, page: 0,}).then((response) => {
if (response.data) {
this.wproduct = response.data;
}
});
},
//查看该玻璃检验记录表
handleoption(scope) {
this.$router.push({name: "processcard", params: {id: scope.row.id},})
},
//查看生产记录
select(scope) {
this.limitedCheckRecord = true;
getrecordList({wproduct: scope.row.id, page: 0}).then(res => {
if (res.code == 200) {
this.recordList = res.data;
}
})
},
//点击记录里的查看
handleRecordDetail(scope) {
let that = this;
that.fieldList = [];
recordInit(scope.row.id).then((res) => {
if (res.code >= 200) {
that.recordVisible = true;
that.formName = res.data.form_.name;
that.fieldList = res.data.record_data;
}
})
},
},
};
</script>
<style scoped>
.items {
height: 35px;
line-height: 35px;
padding-left: 20px;
}
.itemLabel {
font-size: 14px;
color: #606266;
font-weight: 600;
}
</style>