|
@@ -249,6 +249,7 @@
|
|
|
:toolkit="[]"
|
|
:toolkit="[]"
|
|
|
style="margin-bottom: 10px"
|
|
style="margin-bottom: 10px"
|
|
|
:datasource="item.detailList"
|
|
:datasource="item.detailList"
|
|
|
|
|
+ :selection.sync="selection[index]"
|
|
|
row-key="id"
|
|
row-key="id"
|
|
|
>
|
|
>
|
|
|
<template v-slot:totalCount="{ row }">
|
|
<template v-slot:totalCount="{ row }">
|
|
@@ -405,6 +406,7 @@
|
|
|
historyForm: {},
|
|
historyForm: {},
|
|
|
splitFormList: [],
|
|
splitFormList: [],
|
|
|
rules: {},
|
|
rules: {},
|
|
|
|
|
+ selection: [],
|
|
|
columns: [
|
|
columns: [
|
|
|
{
|
|
{
|
|
|
width: 45,
|
|
width: 45,
|
|
@@ -437,6 +439,21 @@
|
|
|
align: 'center',
|
|
align: 'center',
|
|
|
showOverflowTooltip: true
|
|
showOverflowTooltip: true
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 100,
|
|
|
|
|
+ label: '状态',
|
|
|
|
|
+ fixed: 'left',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ return row.isInquiry == 1
|
|
|
|
|
+ ? '部分核价'
|
|
|
|
|
+ : row.isInquiry == 2
|
|
|
|
|
+ ? '全部核价完成'
|
|
|
|
|
+ : row.isInquiry == 3
|
|
|
|
|
+ ? '核价中'
|
|
|
|
|
+ : '未核价';
|
|
|
|
|
+ },
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
{
|
|
{
|
|
|
minWidth: 150,
|
|
minWidth: 150,
|
|
|
prop: 'totalCount',
|
|
prop: 'totalCount',
|
|
@@ -444,6 +461,12 @@
|
|
|
slot: 'totalCount',
|
|
slot: 'totalCount',
|
|
|
align: 'center'
|
|
align: 'center'
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 150,
|
|
|
|
|
+ prop: 'inquiryNum',
|
|
|
|
|
+ label: '已核价数量',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
{
|
|
{
|
|
|
width: 100,
|
|
width: 100,
|
|
|
prop: 'measuringUnit',
|
|
prop: 'measuringUnit',
|
|
@@ -485,6 +508,12 @@
|
|
|
{ label: '分批到货', value: 2 }
|
|
{ label: '分批到货', value: 2 }
|
|
|
],
|
|
],
|
|
|
splitColumns: [
|
|
splitColumns: [
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 45,
|
|
|
|
|
+ type: 'selection',
|
|
|
|
|
+ columnKey: 'selection',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
{
|
|
{
|
|
|
width: 45,
|
|
width: 45,
|
|
|
type: 'index',
|
|
type: 'index',
|
|
@@ -634,16 +663,32 @@
|
|
|
)?.totalCount;
|
|
)?.totalCount;
|
|
|
count += row.totalCount;
|
|
count += row.totalCount;
|
|
|
this.setFormCount(row.id, count);
|
|
this.setFormCount(row.id, count);
|
|
|
|
|
+
|
|
|
if (this.splitFormList[formIndex].detailList.length == 0) {
|
|
if (this.splitFormList[formIndex].detailList.length == 0) {
|
|
|
- this.handleMerge(formIndex);
|
|
|
|
|
|
|
+ this.handleMerge(formIndex,'delAll');
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- handleMerge(index) {
|
|
|
|
|
|
|
+ handleMerge(index,type) {
|
|
|
|
|
+ if (this.selection[index]?.length&&type!='delAll') {
|
|
|
|
|
+ this.selectionDel(index);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
this.splitFormList.splice(index, 1);
|
|
this.splitFormList.splice(index, 1);
|
|
|
if (this.splitFormList.length == 0) {
|
|
if (this.splitFormList.length == 0) {
|
|
|
this.form = this.historyForm;
|
|
this.form = this.historyForm;
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
+ selectionDel(index) {
|
|
|
|
|
+ this.selection[index].forEach((item) => {
|
|
|
|
|
+ let i = this.splitFormList[index].detailList.findIndex(
|
|
|
|
|
+ (val) => val.id == item.id
|
|
|
|
|
+ );
|
|
|
|
|
+ if (i != '-1') {
|
|
|
|
|
+ this.handleRemove(index, i, item);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ console.log(this.selection[index], 'this.selection[index]');
|
|
|
|
|
+ },
|
|
|
openStaffSelection(index) {
|
|
openStaffSelection(index) {
|
|
|
this.$refs.staffSelection.open(
|
|
this.$refs.staffSelection.open(
|
|
|
this.form.responsibleName
|
|
this.form.responsibleName
|