320 lines
10 KiB
Python
320 lines
10 KiB
Python
<template>
|
|
<div class="app-container">
|
|
<el-card style="margin-top: 2px">
|
|
|
|
<el-table
|
|
|
|
:data="wproductList.results"
|
|
border
|
|
fit
|
|
stripe
|
|
highlight-current-row
|
|
max-height="600"
|
|
>
|
|
<el-table-column type="index" label="序号" width="50"/>
|
|
<el-table-column label="产品编号">
|
|
<template slot-scope="scope">{{ scope.row.number }}</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column label="任务编号">
|
|
<template slot-scope="scope" v-if="scope.row.subproduction_plan_">{{ scope.row.subproduction_plan_.number }}</template>
|
|
</el-table-column>
|
|
<el-table-column label="产品名称">
|
|
<template slot-scope="scope" v-if="scope.row.material_">{{ scope.row.material_.name }}</template>
|
|
</el-table-column>
|
|
<el-table-column label="型号规格">
|
|
<template slot-scope="scope" v-if="scope.row.material_">{{ scope.row.material_.specification }}</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column label="军检状态">
|
|
<template slot-scope="scope">
|
|
<el-tag v-if="scope.row.is_mtested==false">未军检</el-tag>
|
|
<el-tag v-if="scope.row.is_mtested==true">已军检</el-tag>
|
|
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="军检结论">
|
|
|
|
<template slot-scope="scope"><el-tag v-if="scope.row.is_mtestok==false">不合格</el-tag>
|
|
<el-tag v-if="scope.row.is_mtestok==true">合格</el-tag></template>
|
|
</el-table-column>
|
|
<el-table-column label="仓库">
|
|
<template slot-scope="scope" v-if="scope.row.warehouse_">{{ scope.row.warehouse_.name }}</template>
|
|
</el-table-column>
|
|
<el-table-column label="检查表">
|
|
<template slot-scope="scope">{{ scope.row.number }}</template>
|
|
</el-table-column>
|
|
<el-table-column label="检查状态">
|
|
<template slot-scope="scope">{{ actstate_[scope.row.act_state]}}</template>
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column align="center" label="操作" width="220px">
|
|
<template slot-scope="scope">
|
|
<el-link
|
|
v-if="checkPermission(['warehouse_update'])&&scope.row.act_state==30&&scope.row.is_mtested==false"
|
|
@click="handleMtest(scope)"
|
|
>军检
|
|
</el-link>
|
|
<el-link
|
|
|
|
@click="checkRecord(scope)"
|
|
>检验记录
|
|
</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<pagination
|
|
v-show="wproductList.count > 0"
|
|
:total="wproductList.count"
|
|
:page.sync="listQuery.page"
|
|
:limit.sync="listQuery.page_size"
|
|
@pagination="getList"
|
|
/>
|
|
<el-dialog title="军检" :visible.sync="dialogVisible">
|
|
<el-form :model="mtestform" label-width="130px"
|
|
label-position="right">
|
|
<el-form-item label="是否军检合格" prop="name">
|
|
<el-switch v-model="mtestform.is_mtestok"></el-switch>
|
|
</el-form-item>
|
|
<el-form-item label="军检备注" prop="name">
|
|
<el-input type="textarea" v-model="mtestform.remark_mtest"></el-input>
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
|
<el-button type="primary" @click="submtest">确 定</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
<el-dialog title="检验记录" :close-on-click-modal="false" :visible.sync="limitedCheckRecord">
|
|
<el-table
|
|
:data="recordList"
|
|
border
|
|
height="400"
|
|
>
|
|
<el-table-column type="index" width="50"/>
|
|
<el-table-column label="表单名称">
|
|
<template slot-scope="scope">{{ scope.row.form_.name }}</template>
|
|
</el-table-column>
|
|
<el-table-column label="检查类型">
|
|
<template slot-scope="scope">{{ checkTypes[scope.row.type] }}</template>
|
|
</el-table-column>
|
|
<el-table-column label="是否提交">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.is_submited">已提交</span>
|
|
<span v-else>未提交</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" label="操作">
|
|
<template slot-scope="scope">
|
|
|
|
<el-link
|
|
@click="handleRecordDetail(scope)"
|
|
>查看
|
|
</el-link>
|
|
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
|
|
|
</div>
|
|
</el-dialog>
|
|
<el-dialog
|
|
width="60%"
|
|
:title="formName"
|
|
:visible.sync="recordVisible"
|
|
:close-on-click-modal="false"
|
|
@close="recordCancel"
|
|
>
|
|
<customForm
|
|
v-if="recordVisible"
|
|
:results="fieldList"
|
|
:hasPicture="hasPicture"
|
|
:formID="recordform"
|
|
:wproduct="wproduct"
|
|
:recordId="recordId"
|
|
:isDisabled="isDisabled"
|
|
@recordSubmit="recordSubmit"
|
|
@recordSave="recordSave"
|
|
@recordCancel="recordCancel"
|
|
/>
|
|
</el-dialog>
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import { getfifodetailList } from "@/api/inm";
|
|
import checkPermission from "@/utils/permission";
|
|
import { mtest,getwproductList } from "@/api/wpm";
|
|
|
|
import customForm from '@/components/customForm/index';
|
|
import { getrecordformList, getrffieldList} from "@/api/mtm";
|
|
import {getTestRecord,getTestRecordItem} from "@/api/qm";
|
|
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
|
|
|
|
export default {
|
|
components: { Pagination,customForm },
|
|
data() {
|
|
return {
|
|
wproductList: {
|
|
count: 0,
|
|
},
|
|
|
|
listQuery: {
|
|
page: 1,
|
|
page_size: 20,
|
|
},
|
|
|
|
checkTypes: {
|
|
10: "子工序检验",
|
|
20: "工序检验",
|
|
30: "工序复检",
|
|
36: "夹层检验",
|
|
40: "成品检验",
|
|
},
|
|
actstate_: {
|
|
6: "待复检",
|
|
10: "操作进行中",
|
|
20: "待检验",
|
|
30: "已合格",
|
|
40: "库存中",
|
|
50: "不合格",
|
|
60: "待成品检验",
|
|
8: "操作准备中",
|
|
26: "待夹层检验",
|
|
70: "报废",
|
|
},
|
|
activeName:"1",
|
|
saleproduct:"",
|
|
dialogVisible:false,
|
|
mtestform:{
|
|
is_mtestok:false,
|
|
},
|
|
wproduct: null,
|
|
limitedCheckRecord: false,
|
|
recordList: [],
|
|
fieldList: [],
|
|
is_testok: "true",
|
|
recordformList: [],
|
|
customfieldList: [],
|
|
recordform: null,
|
|
recordId: null,
|
|
fifo_detail: "",
|
|
listQueryrecordform: {
|
|
page: 0,
|
|
},
|
|
recordVisible: false,
|
|
isDisabled: false,
|
|
hasPicture: false,
|
|
dialogFormVisible: false,
|
|
dialogFormVisibles: false,
|
|
limitedCheckRecord: false,
|
|
testrecord: {},
|
|
|
|
WarehouseData: "",
|
|
formName: '项目检查表',
|
|
};
|
|
},
|
|
computed: {},
|
|
watch: {},
|
|
created() {
|
|
this.getList();
|
|
},
|
|
methods: {
|
|
checkPermission,
|
|
|
|
|
|
|
|
//待检成品列表
|
|
getList() {
|
|
|
|
|
|
this.listQuery.material__type = 1;
|
|
getwproductList(this.listQuery).then((response) => {
|
|
if (response.data) {
|
|
this.wproductList = response.data;
|
|
}
|
|
|
|
});
|
|
},
|
|
handleMtest(scope){
|
|
|
|
this.saleproduct=scope.row.id;
|
|
this.dialogVisible=true;
|
|
},
|
|
submtest(){
|
|
mtest(this.saleproduct,this.mtestform).then((res)=>{
|
|
if(res.code >= 200)
|
|
{
|
|
this.$message.success("提交成功!");
|
|
this.dialogVisible=false;
|
|
}
|
|
});
|
|
},
|
|
//检验记录
|
|
checkRecord(scope){
|
|
let that = this;
|
|
that.wproduct = scope.row.id;//成品ID
|
|
that.limitedCheckRecord = true;
|
|
getTestRecord({wproduct:scope.row.id,page:0}).then(res=>{
|
|
if(res.code==200){
|
|
that.recordList = res.data;
|
|
}else{
|
|
this.$message.error(res.msg);
|
|
}
|
|
})
|
|
},
|
|
//点击记录里的查看
|
|
handleRecordDetail(scope) {
|
|
let that = this;
|
|
that.fieldList = [];
|
|
that.recordVisible = false;
|
|
that.recordId = scope.row.id;
|
|
that.recordform = scope.row.form;
|
|
that.formName = scope.row.form_.name;
|
|
getrffieldList({form: this.recordform, page: 1, page_size: 100}).then((response) => {
|
|
if (response.data) {
|
|
that.hasPicture = false;
|
|
let fieldList = response.data.results;
|
|
that.fieldList = [...fieldList];
|
|
let arr = fieldList.filter(item => {
|
|
return item.field_type === 'draw'
|
|
});
|
|
if (arr.length > 0) {
|
|
that.hasPicture = true;
|
|
}
|
|
getTestRecordItem(scope.row.id).then((res) => {
|
|
let arr = [];
|
|
let fieldList = res.data.record_data;
|
|
for (let i = 0; i < that.fieldList.length; i++) {
|
|
let obj = that.fieldList[i];
|
|
obj.is_testok = null;
|
|
for (let j = 0; j < fieldList.length; j++) {
|
|
if (that.fieldList[i].field_key === fieldList[j].field_key) {
|
|
obj.id = fieldList[j].id;
|
|
obj.is_testok = fieldList[j].is_testok;
|
|
obj.field_value = fieldList[j].field_value;
|
|
}
|
|
}
|
|
arr.push(obj)
|
|
}
|
|
that.fieldList = arr;
|
|
that.$nextTick(() => {
|
|
that.isDisabled = true;
|
|
that.recordVisible = true;
|
|
});
|
|
})
|
|
}
|
|
});
|
|
},
|
|
},
|
|
};
|
|
</script>
|