factory_web/src/views/wpm_gx/mtask.vue

212 lines
5.0 KiB
Vue
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>
<el-container>
<el-main>
<scTable
ref="table"
:apiObj="apiObj"
:query="params"
row-key="id"
:params="params"
>
<el-table-column label="任务列表" type="index" width="80"></el-table-column>
<el-table-column label="产品名" prop="material_out_name" show-overflow-tooltip>
</el-table-column>
<el-table-column label="任务编号" prop="number" width="140" show-overflow-tooltip>
</el-table-column>
<el-table-column label="任务量" prop="count"> </el-table-column>
<el-table-column label="开始时间" prop="start_date">
</el-table-column>
<el-table-column label="结束时间" prop="end_date">
</el-table-column>
<el-table-column label="合格数" prop="count_ok">
</el-table-column>
<el-table-column label="分配人数" prop="mtaskb">
<template #default="scope">
<span v-if="scope.row.mtaskb.length>0">
{{scope.row.mtaskb.length}}
</span>
</template>
</el-table-column>
<el-table-column label="可用批" v-if="mgroupName!='切片'">
<template #default="scope">
<el-button
link
size="small"
type="primary"
v-if="scope.row.state == 20"
@click="viewBatches(scope.row)">
查看
</el-button>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="90">
<template #default="scope">
<el-button
link
size="small"
v-auth="'mtask.submit'"
type="primary"
v-if="scope.row.state == 20 "
@click="mtask_submit(scope.row)"
>提交
</el-button>
<el-button
link
size="small"
v-auth="'mtask.submit'"
type="primary"
v-if="scope.row.state == 20 "
@click="mtask_deliver(scope.row)"
>分配
</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
<deliver-drawer
v-if="deliverShow"
ref="detailDialog"
:mgroup="mgroupId"
:dept="deptId"
@success = "refreshMtask"
@closed="detailClose"
>
</deliver-drawer>
<el-dialog v-model="dialogVisible">
<scTable hidePagination hideDo :apiObj="m_apiObj" :query="m_query" ref="mTable">
<el-table-column
label="物料名称"
prop="material_name"
min-width="150"
>
<template #default="scope">
{{ scope.row.material_name }}
<span v-if="scope.row.material_origin != null"
>{{ scope.row.material_origin_name }}</span
>
</template>
</el-table-column>
<el-table-column
label="批次号"
prop="batch"
min-width="120"
></el-table-column>
</scTable>
</el-dialog>
</el-container>
</template>
<script>
import deliverDrawer from "./mtask_deliver.vue";
export default {
props: {
mgroupName: {
type: String,
default: "",
},
},
components: {
deliverDrawer,
},
name: "mtask",
data() {
return {
dialogVisible: false,
m_apiObj: null,
m_query: null,
apiObj: null,
params: { mgroup: "",state:20 },
query: {},
tableData: [],
selection: [],
cates_: {
section: "工序",
other: "其他",
},
type_: {
10: "primary",
20: "primary",
30: "primary",
34: "danger",
40: "success",
},
// state_: {
// 10: "创建中",
// 20: "已下达",
// 30: "生产中",
// 34: "已终止",
// 40: "已提交",
// },
deptId: null,
deliverShow:false,
};
},
mounted() {
let that = this;
that.$API.mtm.mgroup.list
.req({ page: 0, name: that.mgroupName })
.then((res) => {
if(res.length>0){
that.mgroupId = res[0].id;
that.deptId = res[0].belong_dept;
that.processId = res[0].process;
that.processCate = res[0].process_cate;
that.params.mgroup = res[0].id;
that.apiObj = this.$API.pm.mtask.list;
}else{
that.$message.error("获取工段错误");
return;
}
});
},
methods: {
viewBatches(row){
this.dialogVisible = true;
this.$nextTick(() => {
this.m_query = {mtaskx: row.id};
this.m_apiObj = this.$API.wpm.wmaterial.list;
this.$refs.mTable.queryData(this.m_query);
});
},
elTagType(state) {
return this.type_[state];
},
mtask_submit(row){
this.$confirm('确定提交该任务吗?提交后不可更改相关信息', "提示", {
type: "warning",
}).then(() => {
this.$API.pm.mtask.submit.req(row.id).then((res) => {
this.$message.success("操作成功");
this.$refs.table.refresh();
this.mtaskClick(this.currentMtask);
}).catch((err) => {});
});
},
mtask_deliver(row){
this.deliverShow = true;
this.$nextTick(() => {
this.$refs.detailDialog.open(row);
});
},
refreshMtask(){
this.$refs.table.refresh();
},
//表格选择后回调事件
selectionChange(selection) {
this.selection = selection;
},
//搜索
handleQuery() {
this.$refs.table.queryData(this.query);
},
//本地更新数据
//新增岗位后更新数据
handleSaveSuccess(data, mode) {
this.dialog.save = true;
this.$refs.table.refresh();
},
},
};
</script>
<style scoped></style>