factory_web/src/views/wpm/mlog_dept6_detail.vue

229 lines
7.7 KiB
Vue

<template>
<el-container>
<!-- 任务信息 -->
<el-header style="height: 20%; padding: 0">
<el-card style="width: 100%; height: 100%">
<template #header>
<div class="card-header">
<span>任务信息</span>
</div>
</template>
<el-descriptions>
<el-descriptions-item label="任务编号">{{ currentMtask.number }}</el-descriptions-item>
<el-descriptions-item label="产品全称">
<span v-if="currentMtask.material_out_">{{ currentMtask.material_out_name }}</span>
</el-descriptions-item>
<el-descriptions-item label="计划数量">{{ currentMtask.count }}</el-descriptions-item>
<el-descriptions-item label="计划日期">{{ currentMtask.start_date }}</el-descriptions-item>
<el-descriptions-item label="合格数">{{ currentMtask.count_ok }}</el-descriptions-item>
</el-descriptions>
</el-card>
</el-header>
<!-- 日志 -->
<el-main style="padding: 0;">
<el-container>
<el-header>
<div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="addMlog"
v-if="currentMtask && currentMtask.state == 20" v-auth="'mlog.create'">新增</el-button>
</div>
</el-header>
<el-main style="padding: 0;">
<scTable ref="mtaskMlogs" :apiObj="apiObj" row-key="id" :params="params" stripe hidePagination hideDo>
<el-table-column label="工序" prop="mgroup_name"></el-table-column>
<el-table-column label="产品编号">
<template #default="scope">
<span v-if="scope.row.material_out_">{{ scope.row.material_out_.number }}</span>
</template>
</el-table-column>
<el-table-column label="加工设备" prop="equipment_name"></el-table-column>
<el-table-column label="领用数量" prop="count_use"> </el-table-column>
<el-table-column label="加工数量" prop="count_real"> </el-table-column>
<el-table-column label="合格数量" prop="count_ok"></el-table-column>
<el-table-column label="不合格数量" align="center">
<el-table-column prop="count_n_wq" label="弯曲" />
<el-table-column prop="count_n_zw" label="炸纹" />
<el-table-column prop="count_n_tw" label="条纹" />
<el-table-column prop="count_n_qp" label="气泡" />
<el-table-column prop="count_n_dl" label="断裂" />
<el-table-column prop="count_n_pb" label="偏壁" />
<el-table-column prop="count_n_dxt" label="大小头" />
<el-table-column prop="count_n_js" label="结石" />
<el-table-column prop="count_n_qx" label="气线" />
<el-table-column prop="count_n_qt" label="其他" />
</el-table-column>
<el-table-column label="操作人" prop="update_by_name"></el-table-column>
<el-table-column label="操作" fixed="right" width="130">
<template #default="scope">
<el-button link type="primary" @click="table_edit(scope.row)" v-auth="'mlog.update'"
v-if="scope.row.submit_time == null">编辑
</el-button>
<el-button link type="danger" @click="table_del(scope.row)" v-auth="'mlog.delete'"
v-if="scope.row.submit_time == null">删除
</el-button>
<el-button link type="primary" @click="mlog_submit(scope.row)" v-auth="'mlog.submit'"
v-if="scope.row.submit_time == null" :loading="mlogHandleLoading">提交
</el-button>
<el-button link type="danger" @click="mlog_revert(scope.row)" v-auth="'mlog.submit'"
v-if="scope.row.submit_time != null" :loading="mlogHandleLoading">撤回
</el-button>
<el-button link type="success" @click="table_show(scope.row)">
日志记录
</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</el-main>
<save-dialog v-if="dialogSave" ref="saveDialog" :mtask="mtask" :mgroup="mgroup" :handledate="handledate"
:material_out="material_out" @success="handleSaveSuccess" @closed="dialogSave = false"></save-dialog>
<showDrawer ref="showDrawer" v-if="visibleDrawer" :mlogId="mlogId" @closed="visibleDrawer = false">
</showDrawer>
</el-container>
</template>
<script>
import saveDialog from "./mlog6_form.vue";
import showDrawer from "./mlog_drawer.vue";
export default {
components: {
saveDialog, showDrawer
},
data() {
return {
mlogHandleLoading: false,
dialog: {
save: false,
},
state_: {
10: '创建中',
20: '已下达',
30: '生产中',
40: '已提交',
},
hideDo: true,
currentMtask: {},
apiObj: null,
params: {
mtask: ''
},
mlogId: '',
handledate: '',
dialogSave: false,
visibleDrawer: false,
}
},
mounted() {
this.mtaskId = this.$route.query.mtaskId;
console.log(this.$route.query)
debugger;
this.getMtask(this.mtaskId);
},
methods: {
getMtask(id) {
let that = this;
this.$API.pm.mtask.item.req(id).then(res => {
that.currentMtask = res;
this.mgroup = res.mgroup;
this.mtask = res.id;
this.material_out = res.material_out_.id;
this.handledate = res.start_date;
this.params.mtask = this.mtaskId;
this.apiObj = this.$API.wpm.mlog.list;
})
},
table_show(row) {
this.visibleDrawer = true;
this.mlogId = row.id;
this.$nextTick(() => {
this.$refs.showDrawer.open();
});
},
handleQueryMtask() {
this.$refs.table.refresh();
},
//添加
addMlog() {
let that = this;
that.mgroup = that.currentMtask.mgroup;
that.material_out = that.currentMtask.material_out;
that.dialogSave = true;
that.$nextTick(() => {
that.$refs.saveDialog.open("add");
});
},
//编辑
table_edit(row) {
this.dialogSave = true;
this.$nextTick(() => {
this.$refs.saveDialog.open("edit").setData(row);
});
},
//删除
table_del(row) {
this.$confirm(`确定删除吗?`, "提示", {
type: "warning",
}).then(() => {
this.$API.wpm.mlog.delete.req(row.id).then((res) => {
this.$message.success("删除成功");
this.$refs.mtaskMlogs.refresh();
return res;
}).catch((err) => {
return err;
});
}).catch(() => { });
},
//本地更新数据
handleSaveSuccess(data, mode) {
this.$refs.mtaskMlogs.refresh();
},
resetQuery() {
this.query = {};
},
mlog_submit(row) {
this.$API.wpm.mlog.submit.req(row.id).then(res => {
this.$message.success('操作成功')
this.getMtask(row.mtask)
}).catch(err => { })
},
mlog_revert(row) {
this.mlogHandleLoading = true;
this.$API.wpm.mlog.revert.req(row.id).then(res => {
this.$message.success("撤回成功");
this.getMtask(row.mtask)
this.mlogHandleLoading = false;
}).catch(e => {
this.mlogHandleLoading = false;
})
},
}
}
</script>
<style scoped>
.tabsHeader {
display: inline-block;
position: absolute;
right: 20px;
margin-top: 4px;
z-index: 100
}
.right-panel>*+* {
margin-left: 10px;
}
.el-main.nopadding {
padding: 0 20px 0 20px
}
.tableTitle {
height: 40px;
line-height: 40px;
font-size: 14px;
box-sizing: border-box;
border-bottom: 1px solid #eeeeee;
}
</style>