批量提交

This commit is contained in:
shilixia 2021-12-10 13:23:44 +08:00
parent 6097bcaa62
commit c24a68bedc
11 changed files with 334 additions and 86 deletions

View File

@ -103,4 +103,14 @@ export function getiproductList(query) {
method: 'get',
params: query
})
}
//军检
//军检
export function saleMtest(id, data) {
return request({
url: `/inm/iproduct/${id}/mtest/`,
method: 'POST',
data
})
}

View File

@ -368,4 +368,5 @@ export function deletetechdoc(id, data) {
method: 'delete',
data
})
}
}

View File

@ -154,14 +154,7 @@ export function deleteSaleproduct(id, data) {
})
}
//军检
export function saleMtest(id, data) {
return request({
url: `/sam/sale_product/${id}/mtest/`,
method: 'POST',
data
})
}
//审核
export function saleAudit(id) {
return request({

View File

@ -261,6 +261,32 @@ export function createputins(data) {
data
})
}
//车间领料批量提交
export function createInputs(data) {
return request({
url: '/wpm/operation_input/creates/',
method: 'post',
data
})
}
//产出批量提交
export function createOutputs(data) {
return request({
url: '/wpm/operation_output/creates/',
method: 'post',
data
})
}
//表格初始化
export function recordInit(id) {
return request({
url: `/wpm/operation_record/${id}/init/`,
method: 'GET',
})
}

View File

@ -28,8 +28,38 @@
<el-table-column label="所在仓库">
<template slot-scope="scope">{{ scope.row.warehouse_.name }}</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-else>已军检</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-else-if="scope.row.is_mtestok == true">合格</el-tag></template>
</el-table-column>
<el-table-column
align="center"
label="操作"
width="220px"
>
<template slot-scope="scope">
<el-link
v-if="scope.row.is_mtested == false"
@click="handleMtest(scope)"
>军检</el-link
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="iproductData.count > 0"
@ -38,14 +68,40 @@
:limit.sync="listQuery.page_size"
@pagination="getList"
/>
<el-dialog
:visible.sync="dialogVisible"
:close-on-click-modal="false"
title="军检"
>
<el-form
ref="Form"
:model="mtest"
label-width="150px"
label-position="right"
>
<el-form-item label="军检是否合格">
<el-radio v-model="mtest.is_mtestok" label=True >合格</el-radio>
<el-radio v-model="mtest.is_mtestok" label=False >不合格</el-radio>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="mtest.remark" placeholder="备注" />
</el-form-item>
</el-form>
<div style="text-align: right">
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="smtconfirm('Form')">确认</el-button>
</div>
</el-dialog>
</el-card>
</div>
</template>
<script>
import {
getiproductList,
} from "@/api/inm";
import { getiproductList,saleMtest} from "@/api/inm";
import checkPermission from "@/utils/permission";
import { genTree } from "@/utils";
@ -63,6 +119,10 @@ export default {
page: 1,
page_size: 20,
},
mtest: {},
salesdetail:"",
saleproduct:"",
dialogVisible:false,
};
},
@ -83,7 +143,22 @@ export default {
this.listLoading = false;
});
},
handleMtest(scope){
this.saleproduct=scope.row.id;
this.dialogVisible=true;
},
smtconfirm(){
saleMtest(this.saleproduct,this.mtest).then((res) => {
if (res.code >= 200) {
this.getList();
this.dialogVisible = false;
this.$message.success("成功");
}
});
}
},
};
</script>

View File

@ -98,6 +98,7 @@
<el-dialog
:visible.sync="dialogVisible"
:close-on-click-modal="false"
width="60%"
:title="dialogType === 'edit' ? '编辑销售信息' : '新增销售信息'"
>
<el-form
@ -105,6 +106,7 @@
:model="sale"
label-width="80px"
label-position="right"
:rules="rule1"
>
<el-form-item label="关联订单" prop="name">
@ -142,7 +144,7 @@
<el-form-item label="选择产品" prop="iproducts">
<div class="trdiv">
<el-transfer v-model="sale.iproducts" :data="iproductoptions" :titles="['未选产品', '已选产品']" right-check-change="change"></el-transfer>
<el-transfer v-model="sale.iproducts" :data="iproductoptions" :titles="['未选产品', '已选产品']" right-check-change="change"></el-transfer>
</div>
</el-form-item>
@ -224,7 +226,7 @@ export default {
if (response.data) {
response.data.forEach((item) => {
this.iproductoptions.push({
label: item.material_.name,
label: item.number+"__"+item.material_.name+"__"+(item.is_mtested==true?"已军检":"未军检") ,
key: item.id
})
});
@ -275,7 +277,7 @@ export default {
if (response.data) {
response.data.forEach((item) => {
this.iproductoptions.push({
label: item.material_.name,
label: item.number+"__"+item.material_.name+"__"+(item.is_mtested==true?"已军检":"未军检") ,
key: item.id
})
});
@ -292,7 +294,7 @@ export default {
if (response.data) {
response.data.forEach((item) => {
this.iproductoptions.push({
label: item.material_.name,
label: item.number+"__"+item.material_.name+"__"+(item.is_mtested==true?"已军检":"未军检") ,
key: item.id
})
});
@ -399,6 +401,10 @@ export default {
</script>
<style scoped>
.trdiv >>> .el-transfer-panel{
width:250px;
width:350px;
}
.trdiv >>> .el-transfer__buttons{
width:110px
}
</style>

View File

@ -60,11 +60,7 @@
>
<template slot-scope="scope">
<el-link
v-if="scope.row.is_mtested == false"
@click="handleMtest(scope)"
>军检</el-link
>
<el-link
v-if="checkPermission(['warehouse_delete'])"
type="danger"
@ -76,39 +72,12 @@
</el-table>
</el-card>
<el-dialog
:visible.sync="dialogVisible"
:close-on-click-modal="false"
title="军检"
>
<el-form
ref="Form"
:model="mtest"
label-width="150px"
label-position="right"
>
<el-form-item label="军检是否合格">
<el-radio v-model="mtest.is_mtestok" label=True >合格</el-radio>
<el-radio v-model="mtest.is_mtestok" label=False >不合格</el-radio>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="mtest.remark" placeholder="备注" />
</el-form-item>
</el-form>
<div style="text-align: right">
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="smtconfirm('Form')">确认</el-button>
</div>
</el-dialog>
</el-card>
</div>
</template>
<script>
import {getSale,getSaleproductList,deleteSaleproduct,saleMtest} from "@/api/sam";
import {getSale,getSaleproductList,deleteSaleproduct} from "@/api/sam";
import checkPermission from "@/utils/permission";
@ -119,10 +88,10 @@ export default {
components: { Pagination },
data() {
return {
mtest: {},
salesdetail:"",
saleproduct:"",
dialogVisible:false,
};
},
computed: {},
@ -171,22 +140,7 @@ export default {
console.error(err);
});
},
handleMtest(scope){
this.saleproduct=scope.row.id;
this.dialogVisible=true;
},
smtconfirm(){
saleMtest(this.saleproduct,this.mtest).then((res) => {
if (res.code >= 200) {
this.getSaleproductLists();
this.dialogVisible = false;
this.$message.success("成功");
}
});
}
},
};
</script>

View File

@ -157,6 +157,54 @@
/>
</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
>
</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">
@ -268,6 +316,9 @@
},
wproductList2: {
count: 0,
},
wproductList3: {
count: 0,
},
listQuery: {
page: 1,
@ -280,6 +331,10 @@
listQuery2: {
page: 1,
page_size: 20,
},
listQuery3: {
page: 1,
page_size: 20,
},
formLabelWidth:'',
formLabelWidthL:'',
@ -291,6 +346,7 @@
40: "库存中",
50: "不合格",
60: "待成品检验",
26:"待夹层检验",
},
choice: [
{
@ -331,6 +387,7 @@
this.getList();
this.getList2();
this.getList1();
this.getList3();
// this.getLists();
},
methods: {
@ -361,7 +418,7 @@
getList1() {
this.listQuery1.act_state = 30;
this.listQuery1.material__type = 1;
this.listQuery1.material__type = 2;
getwproductList(this.listQuery1).then((response) => {
if (response.data) {
this.wproductList1 = response.data;
@ -369,7 +426,17 @@
});
},
//夹层半成品列表
getList3() {
this.listQuery3.act_state = 26;
getwproductList(this.listQuery3).then((response) => {
if (response.data) {
this.wproductList3 = response.data;
}
});
},
//半成品批量入库
handleCreate() {
this.dialogFormVisibles = true;
@ -383,7 +450,7 @@
_this.mutipID = []
this.$refs.multipleTable.selection.forEach((item) => {
_this.mutipID.push(item.id);
alert(_this.mutipID);
});
console.log(_this.mutipID);
@ -475,6 +542,7 @@
this.getList();
this.getList1();
this.getList2();
this.getList3();
}
});

View File

@ -50,6 +50,20 @@
<el-button>取消</el-button>
</el-form-item>
</el-form>
<el-drawer
title="作业指导书点击下载查看!"
:visible.sync="drawer"
direction="rtl"
size="10%">
<el-table :data="techdocList">
<el-table-column label="表名称" width="150">
<template slot-scope="scope">
<el-link type="primary" :href="scope.row.file_.file" target="_blank">{{ scope.row.file_.name }}</el-link>
</template>
</el-table-column>
</el-table>
</el-drawer>
</el-card>
<el-row gutter="2">
<el-col span="8">
@ -161,10 +175,10 @@
:model="tableForm"
:visible.sync="dialogVisibleForm"
:close-on-click-modal="false"
:title="tableForm.name"
:title="fieldList.name"
>
<el-form label-width="80px" label-position="right">
<el-row v-for="(item, $index) in fieldList" :key="$index">
<el-row v-for="(item, $index) in fieldList.form_fields" :key="$index">
<el-form-item
v-if="item.field_type === 'string'"
:label="item.field_name"
@ -313,9 +327,21 @@
stripe
style="width: 100%"
max-height="400"
ref="multipleTable"
>
<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.subproduction_plan_.number
}}</template>
</el-table-column>
<el-table-column label="物料名称">
<template slot-scope="scope">{{
scope.row.material_.name
@ -350,7 +376,7 @@
</el-form>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="100px">
<!-- <el-table-column align="center" label="操作" width="100px">
<template slot-scope="scope">
<el-link
v-if="checkPermission(['warehouse_update'])"
@ -358,8 +384,13 @@
>提交</el-link
>
</template>
</el-table-column>
</el-table-column>!-->
</el-table>
<div style="text-align: right">
<el-button type="danger" @click="dialogTablepick = false">取消</el-button>
<el-button type="primary" @click="handlepicks()">提交</el-button>
</div>
</el-dialog>
</template>
</el-card>
@ -404,7 +435,12 @@
stripe
style="width: 100%"
max-height="400"
>
ref="multipleTables"
>
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column type="index" width="50" />
<el-table-column label="生产计划编号">
@ -440,7 +476,7 @@
</el-form>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="100px">
<!-- <el-table-column align="center" label="操作" width="100px">
<template slot-scope="scope">
<el-link
v-if="checkPermission(['warehouse_update'])"
@ -448,8 +484,12 @@
>提交</el-link
>
</template>
</el-table-column>
</el-table-column>!-->
</el-table>
<div style="text-align: right">
<el-button type="danger" @click="dialogTableoutput = false">取消</el-button>
<el-button type="primary" @click="handleoutputs()">提交</el-button>
</div>
</el-dialog>
</el-card>
</el-col>
@ -493,9 +533,12 @@ import {
deleteOperationwproduct,
gettoolList,
createTool,
createInputs,
recordInit,
createOutputs
} from "@/api/wpm";
import { getrffieldList } from "@/api/mtm";
import { getrffieldList,gettechdocList } from "@/api/mtm";
import checkPermission from "@/utils/permission";
import { getprogressList } from "@/api/pm";
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
@ -505,9 +548,11 @@ export default {
inject: ["reload"],
data() {
return {
techdocList:"",
operationList: {
count: 0,
},
drawer:false,
listQuery: {
page: 1,
page_size: 20,
@ -633,7 +678,12 @@ export default {
//作业指导书
readbook(){
this.drawer=true;
gettechdocList({operation:this.id,page:0}).then((response) => {
if (response.data) {
this.techdocList= response.data;
}
});
},
//是否使用边角料
@ -719,9 +769,7 @@ export default {
handlerecord(scope) {
this.tableForm = Object.assign({}, scope.row); // copy obj
this.formID = scope.row.id;
this.listQueryfield.form = scope.row.form_.id;
this.listQueryfield.page = 0;
getrffieldList(this.listQueryfield).then((response) => {
recordInit( this.formID).then((response) => {
if (response.data) {
this.fieldList = response.data;
}
@ -784,6 +832,40 @@ export default {
}
});
},
//车间领料批量提交
handlepicks() {
let _this = this;
this.pickDatas=[],
this.$refs.multipleTable.selection.forEach((item) => {
if(item.pick_count>0)
{
this.pickDatas.push({
"operation" :this.id,
"wmaterial":item.id,
"count": item.pick_count,
});
}
});
createInputs(this.pickDatas).then((res) => {
if (res.code >= 200) {
this.dialogTablepick = false;
this.$message.success("提交成功!");
_this.getinputLists();
}
});
},
//操作产出物料列表
getoutputLists() {
getoutputList({ operation: this.id, page: 0 }).then((response) => {
@ -816,6 +898,38 @@ export default {
}
});
},
//车间产出物料批量提交
handleoutputs() {
this.outputDatas=[],
this.$refs.multipleTables.selection.forEach((item) => {
if(item.output_count>0)
{
this.outputDatas.push({
"operation" :this.id,
"subproduction_progress":item.id,
"count": item.output_count,
});
}
});
createOutputs(this.outputDatas).then((res) => {
if (res.code >= 200) {
this.dialogTableoutput = false;
this.$message.success("提交成功!");
this.getoutputLists();
}
});
},
//提交本次操作
handlesubmit() {
submitOperation(this.id).then((res) => {

View File

@ -440,7 +440,7 @@ export default {
_this.mutipID=[]
this.$refs.multipleTable.selection.forEach((item) => {
_this.mutipID.push( item.id );
alert(_this.mutipID);
});
console.log(_this.mutipID);

View File

@ -703,6 +703,7 @@ export default {
50: "不合格",
60: "待成品检验",
8:"操作准备中",
26:"待夹层检验",
},
state_: {
0: "制定中",