中航光电热表web
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

133 lines
3.5 KiB

<template>
<!-- 转外协 -->
<el-dialog
title="转外协"
append-to-body
:modelValue="showDialog"
width="60%"
@close="closeDialog"
>
<el-form :model="outsourceForm" :rules="outsourceRules" label-width="70px">
<el-form-item label="备注:" prop="memo">
<el-input
placeholder="请输入备注"
v-model="outsourceForm.memo"
type="textarea"
style="width: 40%"
></el-input>
</el-form-item>
</el-form>
<el-table :data="outsourceData" @selection-change="handleSelectionChange">
<el-table-column align="center" type="selection"></el-table-column>
<el-table-column
align="center"
label="工序号"
prop="orders"
></el-table-column>
<el-table-column
align="center"
label="工序代码"
prop="workPlan.processSet.code"
></el-table-column>
<el-table-column
align="center"
label="工序名称"
prop="workPlan.processSet.name"
></el-table-column>
<el-table-column align="center" label="工艺能力" prop="processAbility.name"> </el-table-column>
<el-table-column align="center" label="工序描述" prop="makeMemo"> </el-table-column>
<el-table-column align="center" label="不可转外协原因" prop="reason"> </el-table-column>
</el-table>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog" :loading="loading">取 消</el-button>
<el-button type="primary" @click="turnOem" :loading="loading">确定</el-button>
</span>
</template>
</el-dialog>
</template>
<script>
import { getListProProcess, transferBill } from '@/api/productionManagement/productionMonitoring';
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
itemData: {
type: Array,
default: [],
},
},
data() {
return {
loading:false,
outsourceForm: {},
outsourceRules: {
memo: [{ required: true, message: '请输入', trigger: 'blur' }],
},
outsourceData: [],
selectedRows: [],
};
},
mounted() {
this.getListProProcess();
},
methods: {
// 获取转外协数据
getListProProcess() {
let params = {
woIds: this.itemData.map(item => item.woId),
runType: 1, //转换类型:1-外协,2-厂内
};
getListProProcess(params).then(res => {
this.outsourceData = res.data.data;
});
},
closeDialog() {
this.$emit('closeDialog');
},
// 监听选择变化
handleSelectionChange(selection) {
this.selectedRows = selection;
},
// 确定
turnOem() {
if (this.outsourceData.length == 0) {
this.$message.error('当前数据列表为空');
return;
}
if (this.selectedRows.length == 0) {
this.$message.error('请选择需要转外协的数据');
return;
}
this.loading = true
let orderData = [];
this.itemData.forEach(item => {
item.runType = 1;
orderData.push({
runType: 1,
woId: item.woId,
});
});
let query = {
workOrderRuns: orderData,
workPlanRuns: this.selectedRows,
};
transferBill(query).then(res => {
this.$message.success('操作成功');
this.closeDialog();
this.loading = false
}).catch(err=>{
this.loading = false
})
},
},
};
</script>
<style></style>