|
@@ -33,7 +33,11 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<template v-slot:orderNum="{ row }">
|
|
<template v-slot:orderNum="{ row }">
|
|
|
- <el-input v-model="row.orderNum" placeholder="请输入排序"></el-input>
|
|
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="row.orderNum"
|
|
|
|
|
+ placeholder="请输入排序"
|
|
|
|
|
+ @blur="checkOrderNum(row)"
|
|
|
|
|
+ ></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<template v-slot:processLabel="{ row }">
|
|
<template v-slot:processLabel="{ row }">
|
|
@@ -268,10 +272,40 @@
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ // 获取下一个可用的 orderNum,避免重复
|
|
|
|
|
+ getNextOrderNum() {
|
|
|
|
|
+ const data = this.$refs.table.getData();
|
|
|
|
|
+ if (!data || data.length === 0) {
|
|
|
|
|
+ return 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ const orderNums = data
|
|
|
|
|
+ .map((item) => Number(item.orderNum))
|
|
|
|
|
+ .filter((n) => !isNaN(n));
|
|
|
|
|
+ if (orderNums.length === 0) {
|
|
|
|
|
+ return 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ return Math.max(...orderNums) + 1;
|
|
|
|
|
+ },
|
|
|
|
|
+ // 校验排序号是否重复
|
|
|
|
|
+ checkOrderNum(row) {
|
|
|
|
|
+ if (row.orderNum === '' || row.orderNum === null || row.orderNum === undefined) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ const data = this.$refs.table.getData();
|
|
|
|
|
+ const dup = data.find(
|
|
|
|
|
+ (item) => item !== row && String(item.orderNum) === String(row.orderNum)
|
|
|
|
|
+ );
|
|
|
|
|
+ if (dup) {
|
|
|
|
|
+ this.$message.warning(`排序号 ${row.orderNum} 已存在,请重新输入`);
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ row.orderNum = '';
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
addParamrter() {
|
|
addParamrter() {
|
|
|
// console.log(this.$refs.ProductionCom?.selection);
|
|
// console.log(this.$refs.ProductionCom?.selection);
|
|
|
let arr = this.$refs.ProductionCom.selection;
|
|
let arr = this.$refs.ProductionCom.selection;
|
|
|
- let len = this.$refs.table.getData().length + 1;
|
|
|
|
|
|
|
+ let len = this.getNextOrderNum();
|
|
|
let arrM = arr.map((item, index) => {
|
|
let arrM = arr.map((item, index) => {
|
|
|
return {
|
|
return {
|
|
|
...item.detail,
|
|
...item.detail,
|
|
@@ -370,7 +404,7 @@
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (data.length != 0) {
|
|
if (data.length != 0) {
|
|
|
- let len = this.$refs.table.getData().length + 1;
|
|
|
|
|
|
|
+ let len = this.getNextOrderNum();
|
|
|
let arrM = data.map((item, index) => {
|
|
let arrM = data.map((item, index) => {
|
|
|
return {
|
|
return {
|
|
|
...item.detail,
|
|
...item.detail,
|