1022 lines
32 KiB
Python
1022 lines
32 KiB
Python
<template>
|
||
<div class="app-container">
|
||
<el-tabs type="border-card">
|
||
<el-tab-pane label="待检半成品">
|
||
<el-card style="margin-top: 2px">
|
||
<el-table
|
||
v-loading="listLoading"
|
||
:data="wproductList.results"
|
||
border
|
||
fit
|
||
stripe
|
||
highlight-current-row
|
||
max-height="700"
|
||
|
||
>
|
||
<el-table-column type="index" width="50"/>
|
||
<el-table-column label="半成品名称">
|
||
<template slot-scope="scope">{{ scope.row.material_.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 label="所在子工序">
|
||
<template slot-scope="scope">{{ scope.row.step_.name }}</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.test===null"
|
||
@click="handleInspection(scope,'1')"
|
||
>检验
|
||
</el-link>
|
||
<el-link
|
||
v-if="scope.row.test!==null"
|
||
@click="checkRecord(scope,'1')"
|
||
>检验记录
|
||
</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-card>
|
||
</el-tab-pane>
|
||
<el-tab-pane label="复检半成品">
|
||
<el-card style="margin-top: 2px">
|
||
<el-table
|
||
v-loading="listLoading"
|
||
:data="wproductList2.results"
|
||
border
|
||
fit
|
||
stripe
|
||
highlight-current-row
|
||
max-height="600"
|
||
>
|
||
<el-table-column type="index" width="50"/>
|
||
<el-table-column label="半成品名称">
|
||
<template slot-scope="scope">{{ scope.row.material_.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 label="所在子工序">
|
||
<template slot-scope="scope">{{ scope.row.step_.name }}</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.test===null"
|
||
@click="handleInspection(scope,'2')"
|
||
>检验
|
||
</el-link>
|
||
<el-link
|
||
v-if="scope.row.test!==null"
|
||
@click="checkRecord(scope,'2')"
|
||
>检验记录
|
||
</el-link>
|
||
|
||
<!--<el-link
|
||
v-if="checkPermission(['warehouse_update'])"
|
||
@click="handleInspection(scope,'2')"
|
||
>
|
||
检验
|
||
</el-link>-->
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<pagination
|
||
v-show="wproductList2.count > 0"
|
||
:total="wproductList2.count"
|
||
:page.sync="listQuery2.page"
|
||
:limit.sync="listQuery2.page_size"
|
||
@pagination="getList2"
|
||
/>
|
||
</el-card>
|
||
</el-tab-pane>
|
||
<el-tab-pane label="已合格半成品">
|
||
<el-card style="margin-top: 2px">
|
||
<el-button type="primary" icon="el-icon-plus" @click="handleCreate">
|
||
批量入库
|
||
</el-button>
|
||
<el-table
|
||
v-loading="listLoading"
|
||
:data="wproductList1.results"
|
||
ref="multipleTable"
|
||
border
|
||
fit
|
||
stripe
|
||
highlight-current-row
|
||
max-height="600"
|
||
|
||
>
|
||
<el-table-column
|
||
type="selection"
|
||
width="55">
|
||
</el-table-column>
|
||
<el-table-column type="index" width="50"/>
|
||
<el-table-column label="半成品名称">
|
||
<template slot-scope="scope">{{ scope.row.material_.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 label="所在子工序">
|
||
<template slot-scope="scope">{{ scope.row.step_.name }}</template>
|
||
</el-table-column>
|
||
|
||
<el-table-column align="center" label="操作" width="220px">
|
||
<template slot-scope="scope">
|
||
<el-link
|
||
v-if="checkPermission(['warehouse_update'])"
|
||
@click="handlePutin(scope)"
|
||
>入库
|
||
</el-link>
|
||
<el-link
|
||
v-if="scope.row.test!==null"
|
||
@click="checkRecord(scope)"
|
||
>检验记录
|
||
</el-link>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<pagination
|
||
v-show="wproductList1.count > 0"
|
||
:total="wproductList1.count"
|
||
:page.sync="listQuery1.page"
|
||
:limit.sync="listQuery1.page_size"
|
||
@pagination="getList1"
|
||
/>
|
||
</el-card>
|
||
</el-tab-pane>
|
||
<el-tab-pane label="不合格半成品">
|
||
<el-card style="margin-top: 2px">
|
||
|
||
<el-table
|
||
v-loading="listLoading"
|
||
:data="wproductList4.results"
|
||
|
||
border
|
||
fit
|
||
stripe
|
||
highlight-current-row
|
||
max-height="600"
|
||
|
||
>
|
||
<el-table-column type="index" width="50"/>
|
||
<el-table-column label="半成品名称">
|
||
<template slot-scope="scope">{{ scope.row.material_.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 label="所在子工序">
|
||
<template slot-scope="scope">{{ scope.row.step_.name }}</template>
|
||
</el-table-column>
|
||
|
||
<el-table-column align="center" label="操作" width="220px">
|
||
<template slot-scope="scope">
|
||
<el-link
|
||
v-if="checkPermission(['warehouse_update'])"
|
||
@click="handleScrap(scope)"
|
||
>报废
|
||
</el-link>
|
||
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<pagination
|
||
v-show="wproductList1.count > 0"
|
||
:total="wproductList1.count"
|
||
:page.sync="listQuery1.page"
|
||
:limit.sync="listQuery1.page_size"
|
||
@pagination="getList1"
|
||
/>
|
||
</el-card>
|
||
</el-tab-pane>
|
||
<el-tab-pane label="夹层半成品">
|
||
<el-card style="margin-top: 2px">
|
||
<el-table
|
||
v-loading="listLoading"
|
||
:data="wproductList3.results"
|
||
border
|
||
fit
|
||
stripe
|
||
highlight-current-row
|
||
max-height="600"
|
||
>
|
||
<el-table-column type="index" width="50"/>
|
||
<el-table-column label="半成品名称">
|
||
<template slot-scope="scope">{{ scope.row.material_.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 label="所在子工序">
|
||
<template slot-scope="scope">{{ scope.row.step_.name }}</template>
|
||
</el-table-column>
|
||
<el-table-column align="center" label="操作" width="220px">
|
||
<template slot-scope="scope">
|
||
<el-link
|
||
v-if="checkPermission(['warehouse_update'])"
|
||
@click="handleInspection(scope)"
|
||
>检验
|
||
</el-link>
|
||
<el-link
|
||
v-if="scope.row.test!==null"
|
||
@click="checkRecord(scope,'1')"
|
||
>检验记录
|
||
</el-link>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<pagination
|
||
v-show="wproductList3.count > 0"
|
||
:total="wproductList3.count"
|
||
:page.sync="listQuery3.page"
|
||
:limit.sync="listQuery3.page_size"
|
||
@pagination="getList3"
|
||
/>
|
||
</el-card>
|
||
</el-tab-pane>
|
||
</el-tabs>
|
||
<!--物料检查表&&-->
|
||
<el-dialog title="物料检查表" :close-on-click-modal="false" :visible.sync="outerVisible">
|
||
<el-select style="width: 100%" v-model="recordform" placeholder="请选择" @change="recordformChange">
|
||
<el-option
|
||
v-for="item in recordformList"
|
||
:key="item.name"
|
||
:label="item.name"
|
||
:value="item.id"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
<!-- <!–第一次操作时的展示–>
|
||
<el-dialog
|
||
width="60%"
|
||
:title="formName"
|
||
:visible.sync="innerVisible"
|
||
append-to-body
|
||
>
|
||
<customForm
|
||
:results="fieldList"
|
||
:hasPicture="hasPicture"
|
||
:formID="recordform"
|
||
:wproduct="wproduct"
|
||
:recordId="recordId"
|
||
@recordSubmit="recordSubmit"
|
||
@recordSave="recordSave"
|
||
/>
|
||
</el-dialog>
|
||
<!–复检检验表单–>
|
||
<el-dialog
|
||
width="60%"
|
||
:title="formName"
|
||
:visible.sync="limitedReview"
|
||
append-to-body
|
||
>
|
||
<reviewForm
|
||
:results="fieldList"
|
||
:originList="originList"
|
||
:formID="recordform"
|
||
:hasPicture="hasPicture"
|
||
:wproduct="wproduct"
|
||
:origintest="origintest"
|
||
@formFunc="formFunc"
|
||
/>
|
||
</el-dialog>-->
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="outerVisible = false">
|
||
取 消
|
||
</el-button>
|
||
<el-button type="primary" @click="submitrecordform(innerIndex)">填写检查项目</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!--复检检验表单-->
|
||
<el-dialog
|
||
width="60%"
|
||
:title="formName"
|
||
@close="recordCancel"
|
||
:visible.sync="limitedReview"
|
||
:close-on-click-modal="false"
|
||
>
|
||
<reviewForm
|
||
:results="fieldList"
|
||
:originList="originList"
|
||
:formID="recordform"
|
||
:hasPicture="hasPicture"
|
||
:wproduct="wproduct"
|
||
:recordId="recordId"
|
||
@recordSave="recordSave"
|
||
@recordSubmit="recordSubmit"
|
||
@recordCancel="recordCancel"
|
||
/>
|
||
</el-dialog>
|
||
<!--非检查表显示-->
|
||
<el-dialog
|
||
width="60%"
|
||
:title="formName"
|
||
:visible.sync="recordVisible"
|
||
:close-on-click-modal="false"
|
||
@close="recordCancel"
|
||
>
|
||
<customForm
|
||
:results="fieldList"
|
||
:hasPicture="hasPicture"
|
||
:formID="recordform"
|
||
:wproduct="wproduct"
|
||
:recordId="recordId"
|
||
@recordSubmit="recordSubmit"
|
||
@recordSave="recordSave"
|
||
@recordCancel="recordCancel"
|
||
/>
|
||
</el-dialog>
|
||
|
||
<!--半成品入库-->
|
||
<el-dialog title="半成品入库" :close-on-click-modal="false" :visible.sync="dialogFormVisible">
|
||
<el-form :model="form">
|
||
<el-form-item label="仓库" :label-width="formLabelWidth">
|
||
<el-select
|
||
style="width: 100%"
|
||
v-model="form.warehouse"
|
||
placeholder="请选择仓库"
|
||
>
|
||
<el-option
|
||
v-for="item in WarehouseData"
|
||
:key="item.id"
|
||
:label="item.name"
|
||
:value="item.id"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="备注" :label-width="formLabelWidth">
|
||
<el-input v-model="form.remark"></el-input>
|
||
</el-form-item>
|
||
|
||
</el-form>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||
<el-button type="primary" @click="putin">确 定</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
|
||
v-if="!scope.row.is_submited"
|
||
@click="handleInspectionRecord(scope)"
|
||
>检验
|
||
</el-link>
|
||
<el-link
|
||
v-else
|
||
@click="handleRecordDetail(scope)"
|
||
>查看
|
||
</el-link>
|
||
<el-link
|
||
@click="delTestRecord(scope)"
|
||
>删除
|
||
</el-link>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||
<el-button type="primary" @click="putin">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!--半成品批量入库-->
|
||
<el-dialog title="半成品批量入库" :close-on-click-modal="false" :visible.sync="dialogFormVisibles">
|
||
<el-form :model="form">
|
||
<el-form-item label="仓库" :label-width="formLabelWidth">
|
||
<el-select
|
||
style="width: 100%"
|
||
v-model="form.warehouse"
|
||
placeholder="请选择仓库"
|
||
>
|
||
<el-option
|
||
v-for="item in WarehouseData"
|
||
:key="item.id"
|
||
:label="item.name"
|
||
:value="item.id"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="备注" :label-width="formLabelWidth">
|
||
<el-input v-model="form.remark"></el-input>
|
||
</el-form-item>
|
||
|
||
</el-form>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisibles = false">取 消</el-button>
|
||
<el-button type="primary" @click="putins">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
</div>
|
||
</template>
|
||
<script>
|
||
import customForm from '@/components/customForm/index';
|
||
import reviewForm from '@/components/customForm/review';
|
||
import {getwproductList, wproductTest, wproductPutin, createputins,testInit,scrap} from "@/api/wpm";
|
||
import checkPermission from "@/utils/permission";
|
||
import {getWarehouseList} from "@/api/inm";
|
||
import {getMaterialList, getrecordformList, getrffieldList} from "@/api/mtm";
|
||
import {getTestRecord,getTestRecordItem,putTestRecordItem,delTestRecordItem,subTestRecordItem} from "@/api/qm";
|
||
import {genTree} from "@/utils";
|
||
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
|
||
const defaultetestitem = {};
|
||
export default {
|
||
inject:['reload'],
|
||
components: {Pagination, customForm,reviewForm},
|
||
data() {
|
||
return {
|
||
testitem: defaultetestitem,
|
||
form: {remark: "", warehouse: ""},
|
||
wproductList: {
|
||
count: 0,
|
||
},
|
||
wproductList1: {
|
||
count: 0,
|
||
},
|
||
wproductList2: {
|
||
count: 0,
|
||
},
|
||
wproductList3: {
|
||
count: 0,
|
||
},
|
||
wproductList4: {
|
||
count: 0,
|
||
},
|
||
listQuery: {
|
||
page: 1,
|
||
page_size: 20,
|
||
},
|
||
listQuery1: {
|
||
page: 1,
|
||
page_size: 20,
|
||
},
|
||
listQuery2: {
|
||
page: 1,
|
||
page_size: 20,
|
||
},
|
||
listQuery3: {
|
||
page: 1,
|
||
page_size: 20,
|
||
},
|
||
listQuery4: {
|
||
page: 1,
|
||
page_size: 20,
|
||
},
|
||
formLabelWidth:'',
|
||
formLabelWidthL:'',
|
||
actstate_: {
|
||
6: "待复检",
|
||
10: "生产中",
|
||
20: "待检验",
|
||
30: "已合格",
|
||
40: "库存中",
|
||
50: "不合格",
|
||
60: "待成品检验",
|
||
26:"待夹层检验",
|
||
},
|
||
checkTypes:{
|
||
10:"子工序检验",
|
||
20:"工序检验",
|
||
30:"工序复检",
|
||
36:"夹层检验",
|
||
40:"成品检验",
|
||
},
|
||
choice: [
|
||
{
|
||
value: true,
|
||
label: "合格",
|
||
},
|
||
{
|
||
value: false,
|
||
label: "不合格",
|
||
},
|
||
],
|
||
recordList: [],
|
||
options: [],
|
||
listLoading: true,
|
||
fieldList: [],
|
||
originList: [],
|
||
is_testok: "true",
|
||
field: [],
|
||
recordformList: [],
|
||
recordform: null,
|
||
recordId: null,
|
||
fifo_detail: "",
|
||
listQueryrecordform: {
|
||
page: 0,
|
||
},
|
||
recordVisible:false,
|
||
innerIndex:null,
|
||
origintest:null,
|
||
mutipID: [],
|
||
wproduct: null,
|
||
isPost: false,
|
||
origin_test: null,
|
||
hasPicture: false,
|
||
outerVisible: false,
|
||
innerVisible: false,
|
||
limitedReview: false,
|
||
dialogFormVisible: false,
|
||
dialogFormVisibles: false,
|
||
limitedCheckRecord: false,
|
||
testrecord: {},
|
||
WarehouseData: "",
|
||
formName: '项目检查表',
|
||
};
|
||
},
|
||
computed: {},
|
||
watch: {},
|
||
created() {
|
||
this.getList();
|
||
this.getList2();
|
||
this.getList1();
|
||
this.getList3();
|
||
this.getList4();
|
||
// this.getLists();
|
||
},
|
||
methods: {
|
||
checkPermission,
|
||
//待检半成品列表
|
||
getList() {
|
||
this.listLoading = true;
|
||
this.listQuery.act_state = 20;
|
||
getwproductList(this.listQuery).then((response) => {
|
||
if (response.data) {
|
||
this.wproductList = response.data;
|
||
}
|
||
this.listLoading = false;
|
||
});
|
||
},
|
||
//复检半成品列表
|
||
getList2() {
|
||
this.listQuery2.act_state = 6;
|
||
getwproductList(this.listQuery2).then((response) => {
|
||
if (response.data) {
|
||
this.wproductList2 = response.data;
|
||
}
|
||
});
|
||
},
|
||
//已合格半成品
|
||
getList1() {
|
||
this.listQuery1.act_state = 30;
|
||
this.listQuery1.material__type = 2;
|
||
getwproductList(this.listQuery1).then((response) => {
|
||
if (response.data) {
|
||
this.wproductList1 = response.data;
|
||
}
|
||
|
||
});
|
||
},
|
||
//不合格半成品
|
||
getList4(){
|
||
this.listQuery4.act_state = 50;
|
||
this.listQuery4.material__type = 2;
|
||
getwproductList(this.listQuery4).then((response) => {
|
||
if (response.data) {
|
||
this.wproductList4= response.data;
|
||
}
|
||
|
||
});
|
||
},
|
||
//不合格半成品报废
|
||
handleScrap(scope){
|
||
this.$confirm("确认该半成品报废?", "警告", {
|
||
confirmButtonText: "确认",
|
||
cancelButtonText: "取消",
|
||
type: "error",
|
||
})
|
||
.then(async () => {
|
||
await scrap(scope.row.id);
|
||
this.getList4();
|
||
this.$message.success("该半成品已报废!");
|
||
})
|
||
.catch((err) => {
|
||
console.error(err);
|
||
});
|
||
},
|
||
|
||
//夹层半成品列表
|
||
getList3() {
|
||
this.listQuery3.act_state = 26;
|
||
getwproductList(this.listQuery3).then((response) => {
|
||
if (response.data) {
|
||
this.wproductList3 = response.data;
|
||
}
|
||
|
||
});
|
||
},
|
||
|
||
//半成品批量入库
|
||
handleCreate() {
|
||
this.dialogFormVisibles = true;
|
||
this.getWarehouseLists();//仓库
|
||
|
||
|
||
},
|
||
//批量入库
|
||
putins() {
|
||
let _this = this;
|
||
_this.mutipID = []
|
||
this.$refs.multipleTable.selection.forEach((item) => {
|
||
_this.mutipID.push(item.id);
|
||
|
||
});
|
||
console.log(_this.mutipID);
|
||
|
||
createputins({
|
||
warehouse: this.form.warehouse,
|
||
wproducts: _this.mutipID,
|
||
remark: this.form.remark
|
||
}).then((res) => {
|
||
if (res.code >= 200) {
|
||
this.$message.success("批量入库成功!");
|
||
this.dialogFormVisibles = false;
|
||
this.getList1();
|
||
}
|
||
});
|
||
},
|
||
//仓库列表
|
||
getWarehouseLists() {
|
||
getWarehouseList({page: 0}).then((response) => {
|
||
if (response.data) {
|
||
this.WarehouseData = response.data;
|
||
}
|
||
});
|
||
},
|
||
//点击检验:如果有一个直接进入,如果有多个表再进行选择
|
||
handleInspection(scope,index) {
|
||
//调该物料对应的检查表
|
||
debugger;
|
||
let that = this;
|
||
this.innerIndex = index;
|
||
// this.outerVisible = true;
|
||
this.wproduct = scope.row.id;//半成品ID
|
||
this.listQueryrecordform.material = scope.row.material_.id;//
|
||
this.listQueryrecordform.type = 2;
|
||
this.recordform = null;
|
||
getrecordformList(this.listQueryrecordform).then((response) => {
|
||
if (response.data) {
|
||
debugger;
|
||
this.recordformList = response.data;
|
||
if(response.data.length===1){
|
||
that.recordform = response.data[0].id;
|
||
that.formName = response.data[0].name;
|
||
that.submitrecordform(index);
|
||
}else{
|
||
//弹出列表选择框
|
||
this.outerVisible = true;
|
||
}
|
||
}
|
||
});
|
||
},
|
||
//选择物料检查表
|
||
recordformChange() {
|
||
let that = this;
|
||
let arr = this.recordformList.filter(item => {
|
||
return item.id === that.recordform;
|
||
});
|
||
that.formName = arr[0].name;
|
||
// this.outerVisible = false;
|
||
// that.submitrecordform(that.innerIndex);
|
||
},
|
||
//检验记录
|
||
checkRecord(scope,index){
|
||
let that = this;
|
||
that.innerIndex = index;
|
||
that.wproduct = scope.row.id;//半成品ID
|
||
that.limitedCheckRecord = true;
|
||
getTestRecord({wproduct:scope.row.id}).then(res=>{
|
||
if(res.code==200){
|
||
debugger;
|
||
that.recordList = res.data.results;
|
||
}else{
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
},
|
||
//点击记录里的检验
|
||
handleInspectionRecord(scope){
|
||
debugger;
|
||
let that =this;
|
||
that.recordVisible = false;
|
||
that.recordId = scope.row.id;
|
||
that.recordform = scope.row.form;
|
||
that.formName = scope.row.form_.name;
|
||
if(that.innerIndex==='1'){//非复检
|
||
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) => {
|
||
debugger;
|
||
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.recordVisible = true;
|
||
});
|
||
})
|
||
}
|
||
});
|
||
}else if(that.innerIndex==='2'){//复检
|
||
getTestRecordItem(scope.row.id).then((res) => {
|
||
if (res.data) {
|
||
that.hasPicture = false;
|
||
let fieldList = res.data.record_data;
|
||
that.fieldList = [...fieldList];
|
||
that.origintest = res.data.origin_test;
|
||
that.recordform = res.data.origin_test_.form;
|
||
let originList = res.data.origin_test_.record_data;
|
||
that.originList = [...originList];
|
||
for (let i = 0; i < that.fieldList.length; i++) {
|
||
let obj = that.fieldList[i];
|
||
obj.is_testok = null;
|
||
for (let j = 0; j < originList.length; j++) {
|
||
if (that.fieldList[i].field_key === originList[j].field_key) {
|
||
obj.id = originList[j].id;
|
||
obj.is_testok = originList[j].is_testok;
|
||
obj.field_value = originList[j].field_value;
|
||
obj.origin_value = originList[j].field_value;
|
||
}
|
||
}
|
||
let arr = fieldList.filter(item => {
|
||
return item.field_type === 'draw'
|
||
});
|
||
if (arr.length > 0) {
|
||
that.hasPicture = true;
|
||
}
|
||
this.limitedReview = true;
|
||
}
|
||
}
|
||
})
|
||
}
|
||
},
|
||
//点击记录里的查看
|
||
handleRecordDetail(scope){
|
||
|
||
},
|
||
//半产品复检
|
||
handleReview() {
|
||
debugger;
|
||
let that = this;
|
||
testInit({ wproduct: this.wproduct,form: that.recordform}).then((response) => {
|
||
if (response.data) {
|
||
debugger;
|
||
that.hasPicture = false;
|
||
that.recordId = response.data.id;
|
||
that.formName = response.data.form_.name;
|
||
let fieldList = response.data.record_data;
|
||
that.fieldList = [...fieldList];
|
||
that.origintest = response.data.origin_test;
|
||
// that.recordform = response.data.origin_test_.form;
|
||
let originList = response.data.origin_test_.record_data;
|
||
that.originList = [...originList];
|
||
let arr = fieldList.filter(item => {
|
||
return item.field_type === 'draw'
|
||
});
|
||
if (arr.length > 0) {
|
||
that.hasPicture = true;
|
||
}
|
||
this.limitedReview = true;
|
||
}
|
||
});
|
||
},
|
||
|
||
//根据选择的表,渲染检查项目
|
||
submitrecordform(index) {
|
||
debugger;
|
||
let that = this;
|
||
this.outerVisible = false;
|
||
if (that.recordform != "") {
|
||
if(index==='1'){//非复检
|
||
testInit({ wproduct: that.wproduct,form: that.recordform}).then((response) => {
|
||
if (response.data) {
|
||
that.hasPicture = false;
|
||
that.recordId = response.data.id;
|
||
getTestRecordItem(response.data.id).then((res) => {
|
||
that.formName = res.data.form_.name;
|
||
let fieldList = res.data.record_data;
|
||
that.fieldList = [...fieldList];
|
||
let arr = fieldList.filter(item => {
|
||
return item.field_type === 'draw'
|
||
});
|
||
if (arr.length > 0) {
|
||
that.hasPicture = true;
|
||
}
|
||
that.$nextTick(()=>{
|
||
that.recordVisible = true;
|
||
});
|
||
})
|
||
}
|
||
});
|
||
}else if(index==='2'){//复检
|
||
debugger;
|
||
that.handleReview();
|
||
}
|
||
} else this.$message.error("请选择检查表!");
|
||
},
|
||
|
||
//半成品入库
|
||
handlePutin(scope) {
|
||
this.dialogFormVisible = true;
|
||
this.getWarehouseLists();//仓库
|
||
this.id = scope.row.id;//半成品id
|
||
},
|
||
putin() {
|
||
wproductPutin(this.id, this.form).then((res) => {
|
||
if (res.code >= 200) {
|
||
this.$message.success("入库成功!");
|
||
this.dialogFormVisible = false;
|
||
this.getList1();
|
||
}
|
||
});
|
||
},
|
||
delTestRecord(scope){
|
||
let that = this;
|
||
this.$confirm("确认删除?", "警告", {
|
||
confirmButtonText: "确认",
|
||
cancelButtonText: "取消",
|
||
type: "error",
|
||
})
|
||
.then(async () => {
|
||
await delTestRecordItem(scope.row.id).then(res=>{
|
||
if(res.code>=200){
|
||
that.$message.success("成功");
|
||
that.refreshRecord();
|
||
that.getList();
|
||
that.getList2();
|
||
that.getList1();
|
||
that.getList3();
|
||
}else{
|
||
this.$message.error(res.msg);
|
||
}
|
||
});
|
||
})
|
||
.catch((err) => {
|
||
console.error(err);
|
||
});
|
||
},
|
||
//更新检验记录列表
|
||
refreshRecord(){
|
||
let that = this;
|
||
getTestRecord({wproduct:that.wproduct}).then(res=>{
|
||
if(res.code==200){
|
||
that.recordList = res.data.results;
|
||
}else{
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
},
|
||
//保存检查项目
|
||
recordSave(value) {
|
||
debugger;
|
||
let that = this;
|
||
let id = value.id;
|
||
let params = {};
|
||
params.record_data = value.record_data;
|
||
params.is_testok = value.is_testok;
|
||
putTestRecordItem(id,params).then((res) => {
|
||
debugger;
|
||
if (res.code >= 200) {
|
||
that.recordVisible = false;
|
||
that.limitedReview = false;
|
||
that.getList();
|
||
that.getList2();
|
||
that.getList1();
|
||
that.getList3();
|
||
that.refreshRecord();
|
||
}else{
|
||
this.$message.error(res.msg)
|
||
}
|
||
}) .catch((err) => {
|
||
console.error(err);
|
||
});
|
||
},
|
||
//记录提交检查项目
|
||
recordSubmit(value) {
|
||
let that = this;
|
||
let id = value.id;
|
||
let params = {};
|
||
params.record_data = value.record_data;
|
||
params.is_testok = value.is_testok;
|
||
putTestRecordItem(id,params).then((res) => {
|
||
if (res.code >= 200) {
|
||
subTestRecordItem(id,params).then((res) => {
|
||
if (res.code >= 200) {
|
||
that.recordVisible = false;
|
||
that.limitedReview = false;
|
||
that.limitedCheckRecord = false;
|
||
that.getList();
|
||
that.getList2();
|
||
that.getList1();
|
||
that.getList3();
|
||
that.refreshRecord();
|
||
}
|
||
});
|
||
}else{
|
||
this.$message.error(res.msg)
|
||
}
|
||
}) .catch((err) => {
|
||
console.error(err);
|
||
});
|
||
},
|
||
//第一次保存提交检查项目
|
||
recordCancel() {
|
||
this.recordVisible = false;
|
||
this.limitedReview = false;
|
||
this.getList();
|
||
this.getList2();
|
||
this.getList1();
|
||
this.getList3();
|
||
},
|
||
pageRefresh(){
|
||
this.reload()
|
||
},
|
||
},
|
||
}
|
||
</script>
|