factory_web/src/views/wpm_gx/inm.vue

238 lines
5.4 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-header>
<div class="left-panel">
<el-button type="primary" @click="tomio" v-auth="'mio.do'"
v-if="mgroupName!=='size'&&mgroupName!=='facade'"
>领料</el-button
>
<el-button type="primary" @click="tomio" v-auth="'mio.do'"
>入库</el-button
>
</div>
<div class="right-panel">
<!-- <el-button type="primary" @click="materialsChoses('wm')"
>选择物料</el-button
> -->
<el-input
style="margin-right: 5px"
v-model="query.search"
placeholder="名称"
clearable
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
hidePagination
:params="params"
:query="query"
>
<el-table-column
label="状态"
prop="state"
width="100"
><template #default="scope"
><el-tag
:type="wmState[scope.row.state]?.type"
>{{
wmState[scope.row.state]?.text
}}</el-tag
>
</template></el-table-column>
<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>
<el-table-column
label="部门/工段"
prop="belong_dept_name"
>
<template #default="scope">
{{scope.row.belong_dept_name}}/{{scope.row.mgroup_name}}
</template>
</el-table-column>
<el-table-column
label="数量"
prop="count"
min-width="80"
></el-table-column>
<!-- <el-table-column
v-if="mgroupName=='size'||mgroupName=='facade'"
label="检验状态"
>
<template #default="scope">
<el-tag type="success" v-if="scope.row.count_xtest == null">已检验</el-tag>
<el-tag type="primary" v-else>未检验 </el-tag>
</template>
</el-table-column> -->
<el-table-column
label="不合格标记"
prop="notok_sign_name"
></el-table-column>
<el-table-column
label="创建时间"
prop="create_time"
width="150"
></el-table-column>
<el-table-column
label="操作"
fixed="right"
align="center"
width="80"
v-if="mgroupName!=='size'&&mgroupName!=='facade'"
>
<template #default="scope">
<el-button
link
size="small"
@click="table_Check(scope.row)"
v-auth="'mgroup.update'"
type="primary"
v-if="scope.row.notok_sign_name == null"
>抽检
</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
<el-dialog title="选择物料" v-model="materialsVisible" width="90%">
<materials
style="height: 500px"
:materialType="materialType"
ref="materialsChose"
@choseChange="choseChange"
></materials>
</el-dialog>
<check-dialog
v-if="dialog.save"
ref="saveDialog"
:mgroup="mgroupId"
:itemObj = "checkItem"
@success="handleSaveSuccess"
@closed="dialog.save = false"
>
</check-dialog>
</el-container>
</template>
<script>
import { wmState } from "@/utils/enum.js";
import materials from "./../mtm/materials.vue";
import checkDialog from "./check_form.vue";
export default {
props: {
mgroupName: {
type: String,
default: "",
},
},
components: {
materials,
checkDialog
},
name: "wmaterial",
data() {
return {
wmState,
apiObj: null,
params: {
mgroupx: "",
},
query: {},
dialog: {
save: false,
permission: false,
},
tableData: [],
selection: [],
queryWm: {
search: "",
material: "",
},
materialType: "wm",
visibleDrawer: false,
};
},
mounted() {
let that = this;
if(that.mgroupName=="size"){
that.params.material__process__name = "一次超洗";
that.apiObj = that.$API.wpm.wmaterial.list;
}else if(that.mgroupName=="facade"){
that.params.material__process__name = "二次超洗";
that.apiObj = that.$API.wpm.wmaterial.list;
}else{
that.$API.mtm.mgroup.list
.req({ page: 0, search: that.mgroupName })
.then((res) => {
if (res.length < 1) {
that.$message.error("获取工段错误");
return;
}
that.mgroupId = res[0].id;
that.$TOOL.data.set('gx_deptID',res[0].belong_dept)
that.params.mgroupx = res[0].id;
that.apiObj = that.$API.wpm.wmaterial.list;
});
}
},
methods: {
materialsChoses(str) {
this.materialType = str;
this.materialsVisible = true;
},
choseChange(data) {
this.queryWm.material = data;
this.$refs.table_wm.queryData(this.queryWm);
this.materialsVisible = false;
},
tomio() {
this.$router.push({ name: "halfgood_mio" });
},
table_Check(row){
this.checkItem = row;
let mode = this.mgroupName;
this.dialog.save = true;
this.$nextTick(() => {
this.$refs.saveDialog.open(mode);
});
},
//表格选择后回调事件
selectionChange(selection) {
this.selection = selection;
},
//搜索
handleQuery() {
this.$refs.table.queryData(this.query);
},
//本地更新数据
handleSaveSuccess(data, mode) {
this.dialog.save = false;
this.$refs.table.refresh();
},
},
};
</script>
<style scoped></style>