fix:coding#413生产执行模块

This commit is contained in:
shijing 2024-05-23 09:56:52 +08:00
parent f5d4fc1ced
commit 86be993ba0
2 changed files with 384 additions and 233 deletions

View File

@ -296,14 +296,21 @@
</el-container> </el-container>
</el-main> </el-main>
</el-container> </el-container>
<el-drawer title="进度详情" v-model="dialog.detail" :size="'90%'">
<detail-dialog :mtaskId="mtaskId" ref="detailDialogs"> </detail-dialog>
</el-drawer>
</template> </template>
<script> <script>
import detailDialog from "./mlog_dept6_detail.vue";
export default { export default {
components: {
detailDialog,
},
data() { data() {
return { return {
dialog: { dialog: {
save: false, detail: false,
}, },
apiObj: null, apiObj: null,
query: {}, query: {},
@ -337,6 +344,7 @@ export default {
queryMtask: { queryMtask: {
state__in: "", state__in: "",
}, },
mtaskId: "",
}; };
}, },
mounted() { mounted() {
@ -364,17 +372,18 @@ export default {
}, },
// //
itemClick(row) { itemClick(row) {
this.mtaskId = row.id;
this.dialog.detail = true;
// this.currentMtask = row; // this.currentMtask = row;
// this.mgroup = row.mgroup; // this.mgroup = row.mgroup;
// this.mtask = row.id;
// this.material_out = row.material_out_.id; // this.material_out = row.material_out_.id;
// this.handledate = row.start_date; // this.handledate = row.start_date;
// this.paramsMlog.mtask = this.mtask; // this.paramsMlog.mtask = this.mtask;
// this.apiObjMlog = this.$API.wpm.mlog.list; // this.apiObjMlog = this.$API.wpm.mlog.list;
this.$router.push({ // this.$router.push({
name: "mlogDept6Detail", // name: "mlogDept6Detail",
query: { mtaskId: row.id }, // query: { mtaskId: row.id },
}); // });
}, },
handleQueryMtask() { handleQueryMtask() {
if (this.queryMtaskState) { if (this.queryMtaskState) {

View File

@ -1,248 +1,390 @@
<template> <template>
<el-container> <el-container>
<!-- 任务信息 --> <!-- 任务信息 -->
<el-header style="height: 20%; padding: 0"> <el-header style="height: 20%; padding: 0">
<el-card style="width: 100%; height: 100%"> <el-card style="width: 100%; height: 100%">
<template #header> <template #header>
<div class="card-header"> <div class="card-header">
<span>任务信息</span> <span>任务信息</span>
</div> </div>
</template> </template>
<el-descriptions> <el-descriptions>
<el-descriptions-item label="任务编号">{{ currentMtask.number }}</el-descriptions-item> <el-descriptions-item label="任务编号">{{
<el-descriptions-item label="产品全称"> currentMtask.number
<span v-if="currentMtask.material_out_">{{ currentMtask.material_out_name }}</span> }}</el-descriptions-item>
</el-descriptions-item> <el-descriptions-item label="产品全称">
<el-descriptions-item label="计划数量">{{ currentMtask.count }}</el-descriptions-item> <span v-if="currentMtask.material_out_">{{
<el-descriptions-item label="计划日期">{{ currentMtask.start_date }}</el-descriptions-item> currentMtask.material_out_name
<el-descriptions-item label="合格数">{{ currentMtask.count_ok }}</el-descriptions-item> }}</span>
</el-descriptions> </el-descriptions-item>
</el-card> <el-descriptions-item label="计划数量">{{
</el-header> currentMtask.count
<!-- 日志 --> }}</el-descriptions-item>
<el-main style="padding: 0;"> <el-descriptions-item label="计划日期">{{
<el-container> currentMtask.start_date
<el-header> }}</el-descriptions-item>
<div class="left-panel"> <el-descriptions-item label="合格数">{{
<el-button type="primary" icon="el-icon-plus" @click="addMlog" currentMtask.count_ok
v-if="currentMtask && currentMtask.state == 20" v-auth="'mlog.create'">新增</el-button> }}</el-descriptions-item>
</div> </el-descriptions>
</el-header> </el-card>
<el-main style="padding: 0;"> </el-header>
<scTable ref="mtaskMlogs" :apiObj="apiObj" row-key="id" :params="params" stripe hidePagination hideDo> <!-- 日志 -->
<el-table-column label="工序" prop="mgroup_name"></el-table-column> <el-main style="padding: 0">
<el-table-column label="产品名称" prop="material_out_" min-width="120"> <el-container>
<template #default="scope"> <el-header>
<span v-if="scope.row.material_out_">{{scope.row.material_out_.name}}</span> <div class="left-panel">
</template> <el-button
</el-table-column> type="primary"
<el-table-column label="批次号" prop="batch"></el-table-column> icon="el-icon-plus"
<el-table-column label="加工设备" prop="equipment_name"></el-table-column> @click="addMlog"
<el-table-column label="领用数量" prop="count_use"> </el-table-column> v-if="currentMtask && currentMtask.state == 20"
<el-table-column label="加工数量" prop="count_real"> </el-table-column> v-auth="'mlog.create'"
<el-table-column label="合格数量" prop="count_ok"></el-table-column> >新增</el-button
<el-table-column label="不合格数量" align="center"> >
<el-table-column prop="count_n_hs" label="划伤" /> </div>
<el-table-column prop="count_n_zs" label="挫伤" /> </el-header>
<el-table-column prop="count_n_zz" label="杂质" /> <el-main style="padding: 0">
<el-table-column prop="count_n_tw" label="条纹" /> <scTable
<el-table-column prop="count_n_zdd" label="锥度大" /> ref="mtaskMlogs"
<el-table-column prop="count_n_d" label="短" /> :apiObj="apiObj"
<!-- --> row-key="id"
<!-- <template v-if="currentMtask.material_out_.name=='光纤预制棒'"> --> :params="params"
<template v-if="material_name.indexOf('棒')>-1"> stripe
<el-table-column prop="count_n_dl" label="断裂" /> hidePagination
<el-table-column prop="count_n_qp" label="气泡"/> hideDo
<el-table-column prop="count_n_bl" label="不亮" /> >
<el-table-column prop="count_n_hw" label="横纹" /> <el-table-column
<el-table-column prop="count_n_yp" label="有皮" /> label="工序"
<el-table-column prop="count_n_bp" label="爆皮" /> prop="mgroup_name"
<el-table-column prop="count_n_sc" label="色差" /> ></el-table-column>
</template> <el-table-column
<!-- --> label="产品名称"
<!-- <template v-if="currentMtask.material_out_.name=='光纤预制管'"> --> prop="material_out_"
<template v-if="material_name.indexOf('管')>-1"> min-width="120"
<el-table-column prop="count_n_qx" label="气线"/> >
<el-table-column prop="count_n_js" label="结石" /> <template #default="scope">
<el-table-column prop="count_n_tydd" label="椭圆度大" /> <span v-if="scope.row.material_out_">{{
<el-table-column prop="count_n_sw" label="水雾" /> scope.row.material_out_.name
<el-table-column prop="count_n_bhpcd" label="壁厚偏差大" /> }}</span>
<el-table-column prop="count_n_wq" label="弯" /> </template>
</template> </el-table-column>
</el-table-column> <el-table-column
<el-table-column label="操作人" prop="update_by_name"></el-table-column> label="批次号"
<el-table-column label="操作" fixed="right" width="130"> prop="batch"
<template #default="scope"> ></el-table-column>
<el-button link type="primary" @click="table_edit(scope.row)" v-auth="'mlog.update'" <el-table-column
v-if="scope.row.submit_time == null">编辑 label="加工设备"
</el-button> prop="equipment_name"
<el-button link type="danger" @click="table_del(scope.row)" v-auth="'mlog.delete'" ></el-table-column>
v-if="scope.row.submit_time == null">删除 <el-table-column label="领用数量" prop="count_use">
</el-button> </el-table-column>
<el-button link type="primary" @click="mlog_submit(scope.row)" v-auth="'mlog.submit'" <el-table-column label="加工数量" prop="count_real">
v-if="scope.row.submit_time == null" :loading="mlogHandleLoading">提交 </el-table-column>
</el-button> <el-table-column
<el-button link type="danger" @click="mlog_revert(scope.row)" v-auth="'mlog.submit'" label="合格数量"
v-if="scope.row.submit_time != null" :loading="mlogHandleLoading">撤回 prop="count_ok"
</el-button> ></el-table-column>
<el-button link type="success" @click="table_show(scope.row)"> <el-table-column label="不合格数量" align="center">
日志记录 <el-table-column prop="count_n_hs" label="划伤" />
</el-button> <el-table-column prop="count_n_zs" label="挫伤" />
</template> <el-table-column prop="count_n_zz" label="杂质" />
</el-table-column> <el-table-column prop="count_n_tw" label="条纹" />
</scTable> <el-table-column
</el-main> prop="count_n_zdd"
</el-container> label="锥度大"
</el-main> />
<save-dialog v-if="dialogSave" ref="saveDialog" :mtask="mtask" :mgroup="mgroup" :handledate="handledate" <el-table-column prop="count_n_d" label="短" />
:material_out="material_out" :material_name="material_name" @success="handleSaveSuccess" @closed="dialogSave = false"></save-dialog> <!-- -->
<showDrawer ref="showDrawer" v-if="visibleDrawer" :mlogId="mlogId" @closed="visibleDrawer = false"> <!-- <template v-if="currentMtask.material_out_.name=='光纤预制棒'"> -->
</showDrawer> <template v-if="material_name.indexOf('棒') > -1">
</el-container> <el-table-column
prop="count_n_dl"
label="断裂"
/>
<el-table-column
prop="count_n_qp"
label="气泡"
/>
<el-table-column
prop="count_n_bl"
label="不亮"
/>
<el-table-column
prop="count_n_hw"
label="横纹"
/>
<el-table-column
prop="count_n_yp"
label="有皮"
/>
<el-table-column
prop="count_n_bp"
label="爆皮"
/>
<el-table-column
prop="count_n_sc"
label="色差"
/>
</template>
<!-- -->
<!-- <template v-if="currentMtask.material_out_.name=='光纤预制管'"> -->
<template v-if="material_name.indexOf('管') > -1">
<el-table-column
prop="count_n_qx"
label="气线"
/>
<el-table-column
prop="count_n_js"
label="结石"
/>
<el-table-column
prop="count_n_tydd"
label="椭圆度大"
/>
<el-table-column
prop="count_n_sw"
label="水雾"
/>
<el-table-column
prop="count_n_bhpcd"
label="壁厚偏差大"
/>
<el-table-column prop="count_n_wq" label="弯" />
</template>
</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"
:material_name="material_name"
@success="handleSaveSuccess"
@closed="dialogSave = false"
></save-dialog>
<showDrawer
ref="showDrawer"
v-if="visibleDrawer"
:mlogId="mlogId"
@closed="visibleDrawer = false"
>
</showDrawer>
</el-container>
</template> </template>
<script> <script>
import saveDialog from "./mlog6_form.vue"; import saveDialog from "./mlog6_form.vue";
import showDrawer from "./mlog_drawer.vue"; import showDrawer from "./mlog_drawer.vue";
export default { export default {
components: { components: {
saveDialog, showDrawer saveDialog,
}, showDrawer,
data() { },
return { props: {
mlogHandleLoading: false, mtaskId: {
dialog: { type: String,
save: false, default: "",
}, },
state_: { },
10: '创建中', data() {
20: '已下达', return {
30: '生产中', mlogHandleLoading: false,
40: '已提交', dialog: {
}, save: false,
hideDo: true, },
currentMtask: {}, state_: {
apiObj: null, 10: "创建中",
params: { 20: "已下达",
mtask: '' 30: "生产中",
}, 40: "已提交",
mlogId: '', },
handledate: '', hideDo: true,
dialogSave: false, currentMtask: {},
visibleDrawer: false, apiObj: null,
} params: {
}, mtask: "",
mounted() { },
this.mtaskId = this.$route.query.mtaskId; mlogId: "",
console.log(this.$route.query) handledate: "",
debugger; dialogSave: false,
this.getMtask(this.mtaskId); visibleDrawer: false,
}, };
methods: { },
getMtask(id) { mounted() {
let that = this; console.log(this.mtaskId);
this.$API.pm.mtask.item.req(id).then(res => { this.getMtask();
that.currentMtask = res; },
this.mgroup = res.mgroup; methods: {
this.mtask = res.id; getMtask() {
this.material_out = res.material_out_.id; let that = this;
this.material_name = res.material_out_.name; this.$API.pm.mtask.item.req(that.mtaskId).then((res) => {
this.handledate = res.start_date; that.currentMtask = res;
this.mgroup = res.mgroup;
this.mtask = res.id;
this.material_out = res.material_out_.id;
this.material_name = res.material_out_.name;
this.handledate = res.start_date;
this.params.mtask = this.mtaskId; this.params.mtask = this.mtaskId;
this.apiObj = this.$API.wpm.mlog.list; this.apiObj = this.$API.wpm.mlog.list;
}) });
}, },
table_show(row) { table_show(row) {
this.visibleDrawer = true; this.visibleDrawer = true;
this.mlogId = row.id; this.mlogId = row.id;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.showDrawer.open(); this.$refs.showDrawer.open();
}); });
}, },
handleQueryMtask() { handleQueryMtask() {
this.$refs.table.refresh(); this.$refs.table.refresh();
}, },
// //
addMlog() { addMlog() {
let that = this; let that = this;
that.mgroup = that.currentMtask.mgroup; that.mgroup = that.currentMtask.mgroup;
that.material_out = that.currentMtask.material_out; that.material_out = that.currentMtask.material_out;
that.dialogSave = true; that.dialogSave = true;
that.$nextTick(() => { that.$nextTick(() => {
that.$refs.saveDialog.open("add"); that.$refs.saveDialog.open("add");
}); });
}, },
// //
table_edit(row) { table_edit(row) {
this.dialogSave = true; this.dialogSave = true;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.saveDialog.open("edit").setData(row); this.$refs.saveDialog.open("edit").setData(row);
}); });
}, },
// //
table_del(row) { table_del(row) {
this.$confirm(`确定删除吗?`, "提示", { this.$confirm(`确定删除吗?`, "提示", {
type: "warning", type: "warning",
}).then(() => { })
this.$API.wpm.mlog.delete.req(row.id).then((res) => { .then(() => {
this.$message.success("删除成功"); this.$API.wpm.mlog.delete
this.$refs.mtaskMlogs.refresh(); .req(row.id)
return res; .then((res) => {
}).catch((err) => { this.$message.success("删除成功");
return err; this.$refs.mtaskMlogs.refresh();
}); return res;
}).catch(() => { }); })
}, .catch((err) => {
return err;
});
})
.catch(() => {});
},
// //
handleSaveSuccess(data, mode) { handleSaveSuccess(data, mode) {
this.$refs.mtaskMlogs.refresh(); this.$refs.mtaskMlogs.refresh();
}, },
resetQuery() { resetQuery() {
this.query = {}; this.query = {};
}, },
mlog_submit(row) { mlog_submit(row) {
this.$API.wpm.mlog.submit.req(row.id).then(res => { this.$API.wpm.mlog.submit
this.$message.success('操作成功') .req(row.id)
this.getMtask(row.mtask) .then((res) => {
}).catch(err => { }) this.$message.success("操作成功");
}, this.getMtask(row.mtask);
mlog_revert(row) { })
this.mlogHandleLoading = true; .catch((err) => {});
this.$API.wpm.mlog.revert.req(row.id).then(res => { },
this.$message.success("撤回成功"); mlog_revert(row) {
this.getMtask(row.mtask) this.mlogHandleLoading = true;
this.mlogHandleLoading = false; this.$API.wpm.mlog.revert
}).catch(e => { .req(row.id)
this.mlogHandleLoading = false; .then((res) => {
}) this.$message.success("撤回成功");
}, this.getMtask(row.mtask);
} this.mlogHandleLoading = false;
} })
.catch((e) => {
this.mlogHandleLoading = false;
});
},
},
};
</script> </script>
<style scoped> <style scoped>
.tabsHeader { .tabsHeader {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
right: 20px; right: 20px;
margin-top: 4px; margin-top: 4px;
z-index: 100 z-index: 100;
} }
.right-panel>*+* { .right-panel > * + * {
margin-left: 10px; margin-left: 10px;
} }
.el-main.nopadding { .el-main.nopadding {
padding: 0 20px 0 20px padding: 0 20px 0 20px;
} }
.tableTitle { .tableTitle {
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
font-size: 14px; font-size: 14px;
box-sizing: border-box; box-sizing: border-box;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
} }
</style> </style>