This commit is contained in:
shijing 2024-03-04 13:18:03 +08:00
commit 0b60e40971
4 changed files with 126 additions and 76 deletions

View File

@ -135,6 +135,14 @@ export default {
data);
}
},
daoru: {
name: "导入",
req: async function(data){
return await http.post(
`${config.API_URL}/mtm/material/daoru/`,
data);
}
},
},
// 测点集
mgroup: {

View File

@ -3,6 +3,8 @@
<el-header>
<div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="add" v-auth="'material.create'">新增</el-button>
<scFileImport :templateUrl="materialTemplate" accept=".xlsx" :apiObj="$API.common.upload" @success="upSuccess">
</scFileImport>
</div>
</el-header>
<el-main class="nopadding">
@ -30,12 +32,13 @@
<span><el-tag>{{ typeOptions[scope.row.type] }}</el-tag>
<el-tag type="warning" v-if="scope.row.is_assemb" effect="plain"></el-tag>
<el-tag type="warning" v-if="scope.row.process_name" effect="plain">{{ scope.row.process_name
}}</el-tag>
}}</el-tag>
<el-tag type="warning" v-if="scope.row.is_hidden" effect="plain"></el-tag></span>
</template>
</el-table-column>
<el-table-column label="关联物料" prop="brothers">
<template #default="scope">
<el-icon v-if="scope.row.brothers.length > 0" color="green">
<CircleCheckFilled />
@ -49,6 +52,7 @@
<el-table-column label="安全库存" prop="count_safe" width="80">
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
<el-button link type="primary" @click="table_edit(scope.row)" v-auth="'material.update'">
编辑
@ -70,15 +74,23 @@
<save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSaveSuccess"
@closed="dialog.save = false"></save-dialog>
</template>
<script>
import saveDialog from "./materials_form.vue";
import scFileImport from '@/components/scFileImport'
import scFileExport from '@/components/scFileExport'
import { ElLoading } from 'element-plus'
export default {
name: "rparty",
components: {
saveDialog,
scFileImport,
scFileExport,
ElLoading
},
data() {
return {
materialTemplate: '/media/template/material.xlsx',
dialog: {
save: false,
},
@ -181,6 +193,17 @@ export default {
resetQuery() {
this.query = {};
},
upSuccess(res, close) {
close();
const loading = ElLoading.service({ fullscreen: true, text: "解析中...请稍等" });
this.$API.mtm.material.daoru.req({ path: res.path }).then(res => {
loading.close();
this.$message.success("导入成功");
this.$refs.table.queryData(this.query)
}).catch(err => {
loading.close();
})
},
hiddenChange(val) {
if (val) {
this.query.is_hidden = ''

View File

@ -16,15 +16,16 @@
<el-table-column label="产品名称" prop="material" show-overflow-tooltip>
<template #default="scope">
<span v-if="scope.row.material_out_">{{
scope.row.material_out_.name
}}</span>
scope.row.material_out_.name
}}</span>
</template>
</el-table-column>
<el-table-column label="型号规格" prop="">
<el-table-column label="型号规格" prop="" width="160">
<template #default="scope">
<span v-if="scope.row.material_out_">{{
scope.row.material_out_.specification
}}|{{ scope.row.material_out_.model }}</span>
scope.row.material_out_.specification
}}|{{ scope.row.material_out_.model }}</span>
</template>
</el-table-column>
<el-table-column label="任务编号" prop="number" width="140" show-overflow-tooltip>
@ -34,6 +35,7 @@
</el-table-column>
<el-table-column label="合格数" prop="count_ok"> </el-table-column>
<el-table-column label="状态" prop="state">
<template #default="scope">
<el-tag v-if="scope.row.state !== 40">
{{ state_[scope.row.state] }}
@ -44,6 +46,7 @@
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="60">
<template #default="scope">
<el-link type="primary" @click="table_submit(scope.row)" v-auth="'mtask.submit'"
v-if="scope.row.state != 40">提交
@ -58,6 +61,7 @@
<el-container>
<el-header style="height: 30%; padding: 0;">
<el-card style="width: 100%; height: 100%; overflow-y: auto;">
<template #header>
<div class="card-header">
<span>任务信息</span>
@ -69,17 +73,18 @@
</template>
<el-descriptions>
<el-descriptions-item label="任务编号">{{ currentMtask.number }}</el-descriptions-item>
<el-descriptions-item label="状态">{{ state_[currentMtask.state] }}</el-descriptions-item>
<el-descriptions-item label="状态">{{ state_[currentMtask.state]
}}</el-descriptions-item>
<el-descriptions-item label="产品名称">
<span v-if="currentMtask.material_out_">{{ currentMtask.material_out_.name
}}</span></el-descriptions-item>
}}</span></el-descriptions-item>
<el-descriptions-item label="规格型号"><span v-if="currentMtask.material_out_">{{
currentMtask.material_out_.specification
}}</span></el-descriptions-item>
currentMtask.material_out_.specification
}}</span></el-descriptions-item>
<el-descriptions-item label="合格数">{{ currentMtask.count_ok
}}</el-descriptions-item>
}}</el-descriptions-item>
<el-descriptions-item label="不合格数">{{ currentMtask.count_notok
}}</el-descriptions-item>
}}</el-descriptions-item>
<!-- <el-descriptions-item label="配粉料数">{{ currentMtask.peifen_kg
}}</el-descriptions-item> -->
</el-descriptions>
@ -101,20 +106,23 @@
<el-table-column label="出管总数" prop="count_real">
</el-table-column>
<el-table-column label="规格" prop="mlogb" width="300">
<template #default="scope">
<div v-for="item in scope.row.mlogb" :key="item" class="cateItem" style="">
<div v-for="item in scope.row.mlogb" :key="item" class="cateItem"
style="">
<span>{{ item.material_out_name }}|</span>
<span style="color:darkblue; font-weight: bold;">{{ item.count_ok
}}</span>
}}</span>
</div>
</template>
</el-table-column>
<el-table-column label="合格总数" prop="count_ok">
</el-table-column>
<el-table-column label="合格率" prop="count">
<template #default="scope">
<span>{{ Math.floor(scope.row.count_ok / scope.row.count_real * 100)
}}%</span>
}}%</span>
</template>
</el-table-column>
<el-table-column label="不合格原因及数量" align="center">
@ -141,6 +149,7 @@
</el-table-column>
<el-table-column label="碎料" prop="count_break"> </el-table-column>
<el-table-column label="操作" fixed="right" width="120" align="center">
<template #default="scope">
<el-button link type="primary" @click="table_edit(scope.row)"
v-auth="'mlog.update'" v-if="scope.row.submit_time == null">编辑
@ -185,9 +194,10 @@
<el-table-column label="送料日期" prop="send_date">
</el-table-column>
<el-table-column label="产物" prop="material" show-overflow-tooltip>
<template #default="scope"><span v-if="scope.row.material_">{{
scope.row.material_.name
}}</span>
scope.row.material_.name
}}</span>
</template>
</el-table-column>
<el-table-column label="批次" prop="batch"> </el-table-column>
@ -198,12 +208,14 @@
<el-table-column label="接收人" prop="recive_user_name">
</el-table-column>
<el-table-column label="是否确认" prop="submit_time">
<template #default="scope">
<span v-if="scope.row.submit_time"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="left">
<template #default="scope">
<el-button link type="primary" @click.stop="handover_submit(scope.row)"
v-auth="'handover.submit'" v-if="scope.row.submit_time == null">
@ -230,24 +242,28 @@
<scTable ref="table_wm" :apiObj="apiObjWm" row-key="id" :params="paramsWm" stripe
hidePagination>
<el-table-column label="物料名" prop="material">
<template #default="scope">{{
scope.row.material_.name
}}</template>
scope.row.material_.name
}}</template>
</el-table-column>
<el-table-column label="规格" prop="material">
<template #default="scope">{{
scope.row.material_.specification
}}</template>
scope.row.material_.specification
}}</template>
</el-table-column>
<el-table-column label="型号" prop="material">
<template #default="scope">{{
scope.row.material_.model
}}</template>
scope.row.material_.model
}}</template>
</el-table-column>
<el-table-column label="已到工序" prop="material">
<template #default="scope">{{
scope.row.material_.process_name
}}</template>
scope.row.material_.process_name
}}</template>
</el-table-column>
<el-table-column label="批次" prop="batch"> </el-table-column>
<el-table-column label="数量" prop="count" width="80">
@ -279,6 +295,7 @@
</el-dialog>
</el-container>
</template>
<script>
import saveDialog from "./worktask_form.vue";
import showDrawer from "./mlog_drawer.vue";

View File

@ -47,8 +47,8 @@
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="数量(桶数)" width="100">
<el-input-number v-model="form.count_real" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="请输入数量">
<el-input-number v-model="form.count_real" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="请输入数量">
</el-input-number>
</el-form-item>
</el-col>
@ -168,50 +168,50 @@
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="椭圆/弯曲">
<el-input-number v-model="form.count_n_wq" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="椭圆/弯曲" @change="countNotOkSun">
<el-input-number v-model="form.count_n_wq" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="椭圆/弯曲" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="条纹">
<el-input-number v-model="form.count_n_tw" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="条纹" @change="countNotOkSun">
<el-input-number v-model="form.count_n_tw" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="条纹" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="断裂">
<el-input-number v-model="form.count_n_dl" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="断裂" @change="countNotOkSun">
<el-input-number v-model="form.count_n_dl" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="断裂" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="偏壁">
<el-input-number v-model="form.count_n_pb" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="偏壁" @change="countNotOkSun">
<el-input-number v-model="form.count_n_pb" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="偏壁" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="大小头">
<el-input-number v-model="form.count_n_dxt" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="大小头" @change="countNotOkSun">
<el-input-number v-model="form.count_n_dxt" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="大小头" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="结石">
<el-input-number v-model="form.count_n_js" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="结石" @change="countNotOkSun">
<el-input-number v-model="form.count_n_js" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="结石" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="气线">
<el-input-number v-model="form.count_n_qx" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="气线" @change="countNotOkSun">
<el-input-number v-model="form.count_n_qx" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="气线" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
@ -306,8 +306,8 @@
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="应出量">
<el-input-number v-model="form.count_real" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="生产量" @change="countChange">
<el-input-number v-model="form.count_real" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="生产量" @change="countChange">
</el-input-number>
</el-form-item>
</el-col>
@ -369,36 +369,36 @@
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="炸纹">
<el-input-number v-model="form.count_n_zw" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="炸纹" @change="countNotOkSun">
<el-input-number v-model="form.count_n_zw" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="炸纹" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="条纹">
<el-input-number v-model="form.count_n_tw" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="条纹" @change="countNotOkSun">
<el-input-number v-model="form.count_n_tw" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="条纹" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="气泡">
<el-input-number v-model="form.count_n_qp" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="气泡" @change="countNotOkSun">
<el-input-number v-model="form.count_n_qp" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="气泡" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="弯曲">
<el-input-number v-model="form.count_n_wq" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="弯曲" @change="countNotOkSun">
<el-input-number v-model="form.count_n_wq" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="弯曲" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="其他">
<el-input-number v-model="form.count_n_qt" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="其他" @change="countNotOkSun">
<el-input-number v-model="form.count_n_qt" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="其他" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
@ -436,8 +436,8 @@
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="出管总数">
<el-input-number v-model="form.count_real" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="出管总数" @change="countChange">
<el-input-number v-model="form.count_real" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="出管总数" @change="countChange">
</el-input-number>
</el-form-item>
</el-col>
@ -469,8 +469,8 @@
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="碎料">
<el-input-number v-model="form.count_break" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="碎料">
<el-input-number v-model="form.count_break" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="碎料">
</el-input-number>
</el-form-item>
</el-col>
@ -493,8 +493,8 @@
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="合格数">
<el-input-number v-model="item.count_ok" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="合格数" @change="countOkSun">
<el-input-number v-model="item.count_ok" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="合格数" @change="countOkSun">
</el-input-number>
</el-form-item>
</el-col>
@ -505,50 +505,50 @@
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="椭圆/弯曲">
<el-input-number v-model="form.count_n_wq" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="椭圆/弯曲" @change="countNotOkSun">
<el-input-number v-model="form.count_n_wq" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="椭圆/弯曲" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="条纹">
<el-input-number v-model="form.count_n_tw" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="条纹" @change="countNotOkSun">
<el-input-number v-model="form.count_n_tw" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="条纹" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="断裂">
<el-input-number v-model="form.count_n_dl" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="断裂" @change="countNotOkSun">
<el-input-number v-model="form.count_n_dl" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="断裂" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="偏壁">
<el-input-number v-model="form.count_n_pb" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="偏壁" @change="countNotOkSun">
<el-input-number v-model="form.count_n_pb" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="偏壁" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="大小头">
<el-input-number v-model="form.count_n_dxt" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="大小头" @change="countNotOkSun">
<el-input-number v-model="form.count_n_dxt" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="大小头" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="结石">
<el-input-number v-model="form.count_n_js" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="结石" @change="countNotOkSun">
<el-input-number v-model="form.count_n_js" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="结石" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="气线">
<el-input-number v-model="form.count_n_qx" controls-position="right" :min="0" :step="1" :step-strictly="true"
style="width: 100%" placeholder="气线" @change="countNotOkSun">
<el-input-number v-model="form.count_n_qx" controls-position="right" :min="0" :step="1"
:step-strictly="true" style="width: 100%" placeholder="气线" @change="countNotOkSun">
</el-input-number>
</el-form-item>
</el-col>
@ -572,6 +572,7 @@
</el-footer>
</el-dialog>
</template>
<script>
export default {
emits: ["success", "closed"],
@ -665,7 +666,7 @@ export default {
if (this.activeType == "10车间" || this.activeType == "7车间") {
this.form.batch = this.material_model + '-' + batchDate;
}
this.getMaterial();
// this.getMaterial();
this.getUserList();
this.getEquipment();
this.getShiftOptions();
@ -786,6 +787,7 @@ export default {
for (var i = 0; i < res.length; i++) {
mOptions.push({
id: res[i].material_out,
name: res[i].material_out_name,
full_name: res[i].material_out_name,
material_in: res[i].material_in
});
@ -997,10 +999,10 @@ export default {
},
};
</script>
<style scoped>
.formTitle {
margin-bottom: 10px;
font-weight: 600;
}
</style>
</style>