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

dev-scheduling
jinna 4 hours 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 #default="scope">
<!-- 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
v-model="scope.row.wcId"
v-model="scope.row.caId"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in wcData"
v-for="item in abilityData"
:key="item.id"
:value="item.id"
:label="item.wcName"
:label="item.caName"
></el-option>
</el-select>
</el-form-item>
@ -46,29 +46,29 @@
<span><i style="color: red">*</i>单批面积</span>
</template>
<template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].batchNo`" :rules="formRules.batchNo">
<el-input-number v-model="scope.row.batchNo" controls-position="right" style="width:99%;"></el-input-number>
<el-form-item :prop="`tableData[${scope.$index}].area`" :rules="formRules.area">
<el-input-number v-model="scope.row.area" :min="0" controls-position="right" style="width:99%;"></el-input-number>
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" label="零件号" width="200">
<template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].partcode`" :rules="formRules.partcode">
<el-input v-model="scope.row.partcode"></el-input>
<el-form-item :prop="`tableData[${scope.$index}].partCode`" :rules="formRules.partCode">
<el-input v-model="scope.row.partCode"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" label="单件面积" width="200">
<template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].area`" :rules="formRules.area">
<el-input-number v-model="scope.row.area" controls-position="right" style="width:99%;"></el-input-number>
<el-form-item :prop="`tableData[${scope.$index}].singletonArea`" :rules="formRules.singletonArea">
<el-input-number v-model="scope.row.singletonArea" :min="0" controls-position="right" style="width:99%;"></el-input-number>
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" label="描述" >
<template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].remark`" :rules="formRules.remark">
<el-input v-model="scope.row.remark" ></el-input>
<el-form-item :prop="`tableData[${scope.$index}].describe`" :rules="formRules.describe">
<el-input v-model="scope.row.describe" ></el-input>
</el-form-item>
</template>
</el-table-column>
@ -84,6 +84,8 @@
</template>
<script>
import {addBat,updateBat} from "@/api/basicData/bigBatch"
import {getProcessAbility} from "@/api/basicData/outsourcingAssignmentControl"
export default {
props:{
showDialog:{
@ -97,6 +99,10 @@ export default {
moldAddMore:{
type:Boolean,
default:false
},
checkRow:{
type:Object,
default:()=>{}
}
},
data(){
@ -106,26 +112,69 @@ export default {
form:{
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(){
this.openShow = this.showDialog
this.getAbility()
if(this.title == '新增'){
if(this.form.tableData.length === 0){
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:{
getAbility(){
getProcessAbility().then(res =>{
this.abilityData = res.data.data
})
},
selectChange(list, row) {
row._select = !row._select;
},
addTable(){
this.form.tableData.push({
_select:false,
wcId: '',
batchNo: '',
caId: '',
area: null,
singletonArea:null,
partCode:'',
describe:''
})
},
//
@ -157,7 +206,21 @@ export default {
const { _select, ...validData } = row; //
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) {

@ -19,6 +19,10 @@
>
<template #menu-left>
<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>
</avue-crud>
<add-batch
@ -27,12 +31,14 @@
@closeDialog="closeDialog"
:title="title"
:moldAddMore="moldAddMore"
:checkRow="checkRow"
></add-batch>
</basic-container>
</template>
<script>
import {getList,remove} from "@/api/basicData/bigBatch.js"
import addBatch from "./addBatch.vue"
export default {
components:{
@ -52,6 +58,8 @@ export default {
currentPage: 1,
total: 0,
},
selectionList:[],
chechRow:{},
option:{
columnSort: true,
tip: false,
@ -76,8 +84,8 @@ export default {
addBtn: false,
labelWidth: 120,
searchLabelWidth: 120,
menu: false,
menuWidth: 200,
menu: true,
menuWidth: 80,
dialogWidth: 600,
dialogClickModal: false,
searchEnter: true,
@ -97,7 +105,7 @@ export default {
column: [
{
label: '工艺能力',
prop: 'ypCode',
prop: 'caName',
span: 24,
overflow: true,
search: false,
@ -113,7 +121,7 @@ export default {
},
{
label: '单批面积(dm²)',
prop: 'ypCode',
prop: 'area',
span: 24,
overflow: true,
search: false,
@ -129,7 +137,7 @@ export default {
},
{
label: '零件号(XXX-XXX)',
prop: 'ypCode',
prop: 'partCode',
span: 24,
overflow: true,
search: false,
@ -145,7 +153,7 @@ export default {
},
{
label: '单件面积(dm²)',
prop: 'ypCode',
prop: 'singletonArea',
span: 24,
overflow: true,
search: false,
@ -161,7 +169,7 @@ export default {
},
{
label: '描述',
prop: 'ypCode',
prop: 'describe',
span: 24,
overflow: true,
search: false,
@ -177,7 +185,7 @@ export default {
},
{
label: '维护人',
prop: 'ypCode',
prop: 'updateUserName',
span: 24,
overflow: true,
search: false,
@ -193,7 +201,7 @@ export default {
},
{
label: '维护时间',
prop: 'ypCode',
prop: 'updateTime',
span: 24,
overflow: true,
search: false,
@ -215,6 +223,25 @@ export default {
},
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){
this.showDialog = false
if(val){
@ -222,10 +249,56 @@ export default {
}
},
handleAdd(){
this.chechRow = {}
this.title = '新增'
this.moldAddMore = 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>

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

Loading…
Cancel
Save