大批量配置缺陷修改及接口联调

dev-scheduling
jinna 4 days ago
parent 10e16d35b3
commit b36e1d1504
  1. 95
      src/views/basicData/bigBatch/addBatch.vue
  2. 93
      src/views/basicData/bigBatch/index.vue
  3. 2
      src/views/oem/oemCustomer/index.vue

@ -24,17 +24,17 @@
</template> </template>
<template #default="scope"> <template #default="scope">
<!-- prop 格式数组名[索引].字段名 --> <!-- prop 格式数组名[索引].字段名 -->
<el-form-item :prop="`tableData[${scope.$index}].wcId`" :rules="formRules.wcId"> <el-form-item :prop="`tableData[${scope.$index}].caId`" :rules="formRules.caId">
<el-select <el-select
v-model="scope.row.wcId" v-model="scope.row.caId"
placeholder="请选择" placeholder="请选择"
style="width: 100%" style="width: 100%"
> >
<el-option <el-option
v-for="item in wcData" v-for="item in abilityData"
:key="item.id" :key="item.id"
:value="item.id" :value="item.id"
:label="item.wcName" :label="item.caName"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -46,29 +46,29 @@
<span><i style="color: red">*</i>单批面积</span> <span><i style="color: red">*</i>单批面积</span>
</template> </template>
<template #default="scope"> <template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].batchNo`" :rules="formRules.batchNo"> <el-form-item :prop="`tableData[${scope.$index}].area`" :rules="formRules.area">
<el-input-number v-model="scope.row.batchNo" controls-position="right" style="width:99%;"></el-input-number> <el-input-number v-model="scope.row.area" :min="0" controls-position="right" style="width:99%;"></el-input-number>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="零件号" width="200"> <el-table-column align="center" label="零件号" width="200">
<template #default="scope"> <template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].partcode`" :rules="formRules.partcode"> <el-form-item :prop="`tableData[${scope.$index}].partCode`" :rules="formRules.partCode">
<el-input v-model="scope.row.partcode"></el-input> <el-input v-model="scope.row.partCode"></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="单件面积" width="200"> <el-table-column align="center" label="单件面积" width="200">
<template #default="scope"> <template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].area`" :rules="formRules.area"> <el-form-item :prop="`tableData[${scope.$index}].singletonArea`" :rules="formRules.singletonArea">
<el-input-number v-model="scope.row.area" controls-position="right" style="width:99%;"></el-input-number> <el-input-number v-model="scope.row.singletonArea" :min="0" controls-position="right" style="width:99%;"></el-input-number>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="描述" > <el-table-column align="center" label="描述" >
<template #default="scope"> <template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].remark`" :rules="formRules.remark"> <el-form-item :prop="`tableData[${scope.$index}].describe`" :rules="formRules.describe">
<el-input v-model="scope.row.remark" ></el-input> <el-input v-model="scope.row.describe" ></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
@ -84,6 +84,8 @@
</template> </template>
<script> <script>
import {addBat,updateBat} from "@/api/basicData/bigBatch"
import {getProcessAbility} from "@/api/basicData/outsourcingAssignmentControl"
export default { export default {
props:{ props:{
showDialog:{ showDialog:{
@ -97,6 +99,10 @@ export default {
moldAddMore:{ moldAddMore:{
type:Boolean, type:Boolean,
default:false default:false
},
checkRow:{
type:Object,
default:()=>{}
} }
}, },
data(){ data(){
@ -106,26 +112,69 @@ export default {
form:{ form:{
tableData:[] tableData:[]
}, },
formRules:{} formRules:{
// 1
tableData: [
{
required: true,
message: '请至少添加一行数据',
trigger: 'submit',
type: 'array' //
},
{
validator: (rule, value, callback) => {
if (value.length === 0) {
callback(new Error('请至少添加一行数据'));
} else {
callback();
}
},
trigger: 'submit'
}
],
// wcId
caId: [
{ required: true, message: '请选择工艺能力', trigger: ['change', 'submit'] }
],
area: [
{ required: true, message: '请填写单批面积', trigger: ['change', 'submit'] }
],
},
abilityData:[],
rowDetail:{}
} }
}, },
created(){ created(){
this.openShow = this.showDialog this.openShow = this.showDialog
this.getAbility()
if(this.title == '新增'){ if(this.title == '新增'){
if(this.form.tableData.length === 0){ if(this.form.tableData.length === 0){
this.addTable() this.addTable()
} }
}else{
this.rowDetail = JSON.parse(JSON.stringify(this.checkRow))
this.rowDetail.caId = this.rowDetail.caId.toString()
console.log('this.rowDetail',this.rowDetail)
this.form.tableData.push(this.rowDetail)
} }
}, },
methods:{ methods:{
getAbility(){
getProcessAbility().then(res =>{
this.abilityData = res.data.data
})
},
selectChange(list, row) { selectChange(list, row) {
row._select = !row._select; row._select = !row._select;
}, },
addTable(){ addTable(){
this.form.tableData.push({ this.form.tableData.push({
_select:false, _select:false,
wcId: '', caId: '',
batchNo: '', area: null,
singletonArea:null,
partCode:'',
describe:''
}) })
}, },
// //
@ -157,7 +206,21 @@ export default {
const { _select, ...validData } = row; // const { _select, ...validData } = row; //
return validData; return validData;
}); });
this.closeDialog(true) if(this.title == '新增'){
addBat(submitData).then(res =>{
if(res.data.code == 200){
this.$message.success('新增成功');
this.closeDialog(true)
}
})
}else{
updateBat(submitData[0]).then(res =>{
if(res.data.code == 200){
this.$message.success('修改成功')
this.closeDialog(true)
}
})
}
}) })
}, },
closeDialog(val) { closeDialog(val) {

@ -19,6 +19,10 @@
> >
<template #menu-left> <template #menu-left>
<el-button type="primary" @click="handleAdd">新增</el-button> <el-button type="primary" @click="handleAdd">新增</el-button>
<el-button type="danger" @click="handleDelete">删除</el-button>
</template>
<template #menu="scope">
<el-button type="primary" text @click="editRow(scope.row)">修改</el-button>
</template> </template>
</avue-crud> </avue-crud>
<add-batch <add-batch
@ -27,12 +31,14 @@
@closeDialog="closeDialog" @closeDialog="closeDialog"
:title="title" :title="title"
:moldAddMore="moldAddMore" :moldAddMore="moldAddMore"
:checkRow="checkRow"
></add-batch> ></add-batch>
</basic-container> </basic-container>
</template> </template>
<script> <script>
import {getList,remove} from "@/api/basicData/bigBatch.js"
import addBatch from "./addBatch.vue" import addBatch from "./addBatch.vue"
export default { export default {
components:{ components:{
@ -52,6 +58,8 @@ export default {
currentPage: 1, currentPage: 1,
total: 0, total: 0,
}, },
selectionList:[],
chechRow:{},
option:{ option:{
columnSort: true, columnSort: true,
tip: false, tip: false,
@ -76,8 +84,8 @@ export default {
addBtn: false, addBtn: false,
labelWidth: 120, labelWidth: 120,
searchLabelWidth: 120, searchLabelWidth: 120,
menu: false, menu: true,
menuWidth: 200, menuWidth: 80,
dialogWidth: 600, dialogWidth: 600,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
@ -97,7 +105,7 @@ export default {
column: [ column: [
{ {
label: '工艺能力', label: '工艺能力',
prop: 'ypCode', prop: 'caName',
span: 24, span: 24,
overflow: true, overflow: true,
search: false, search: false,
@ -113,7 +121,7 @@ export default {
}, },
{ {
label: '单批面积(dm²)', label: '单批面积(dm²)',
prop: 'ypCode', prop: 'area',
span: 24, span: 24,
overflow: true, overflow: true,
search: false, search: false,
@ -129,7 +137,7 @@ export default {
}, },
{ {
label: '零件号(XXX-XXX)', label: '零件号(XXX-XXX)',
prop: 'ypCode', prop: 'partCode',
span: 24, span: 24,
overflow: true, overflow: true,
search: false, search: false,
@ -145,7 +153,7 @@ export default {
}, },
{ {
label: '单件面积(dm²)', label: '单件面积(dm²)',
prop: 'ypCode', prop: 'singletonArea',
span: 24, span: 24,
overflow: true, overflow: true,
search: false, search: false,
@ -161,7 +169,7 @@ export default {
}, },
{ {
label: '描述', label: '描述',
prop: 'ypCode', prop: 'describe',
span: 24, span: 24,
overflow: true, overflow: true,
search: false, search: false,
@ -177,7 +185,7 @@ export default {
}, },
{ {
label: '维护人', label: '维护人',
prop: 'ypCode', prop: 'updateUserName',
span: 24, span: 24,
overflow: true, overflow: true,
search: false, search: false,
@ -193,7 +201,7 @@ export default {
}, },
{ {
label: '维护时间', label: '维护时间',
prop: 'ypCode', prop: 'updateTime',
span: 24, span: 24,
overflow: true, overflow: true,
search: false, search: false,
@ -215,6 +223,25 @@ export default {
}, },
methods:{ methods:{
searchChange(params, done){
this.query = params
this.page.currentPage = 1
this.onLoad()
done()
},
searchReset(){
this.query = {}
this.onLoad()
},
refreshChange(){
this.onLoad()
},
currentChange(currentPage){
this.page.currentPage = currentPage
},
sizeChange(pageSize){
this.page.pageSize = pageSize
},
closeDialog(val){ closeDialog(val){
this.showDialog = false this.showDialog = false
if(val){ if(val){
@ -222,10 +249,56 @@ export default {
} }
}, },
handleAdd(){ handleAdd(){
this.chechRow = {}
this.title = '新增' this.title = '新增'
this.moldAddMore = true this.moldAddMore = true
this.showDialog = true this.showDialog = true
} },
selectionChange(list){
this.selectionList = list
},
handleDelete(){
if(this.selectionList.length == 0){
this.$message.error('请至少选择一条数据')
return
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() =>{
remove({
ids:this.selectionList.map(item => item.id).join(',')
}).then(res =>{
if(res.data.code == 200){
this.$message.success('删除成功')
this.onLoad()
}
})
})
},
editRow(row){
console.log('row========================>',row)
this.checkRow = row
this.title = '修改'
this.moldAddMore = false
this.showDialog = true
},
onLoad(){
this.loading = true;
getList({
current:this.page.currentPage,
size:this.page.pageSize,
...this.query
}).then(res =>{
res.data.data.records.map(item =>{
item.singletonArea = item.singletonArea == -1 ? null : item.singletonArea
})
this.data = res.data.data.records
this.page.total = res.data.data.total
this.loading = false;
})
},
} }
} }
</script> </script>

@ -191,7 +191,7 @@ export default {
sortable: true, sortable: true,
search: false, search: false,
overHidden: true, overHidden: true,
width: 120, width: 260,
rules: [ rules: [
{ {
required: true, required: true,

Loading…
Cancel
Save