From 06b5d0fa8f9106ac5103de484448a8d2014ec782 Mon Sep 17 00:00:00 2001
From: 13208366016 <47278630@qq.com>
Date: Wed, 15 Nov 2023 10:33:23 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=80=BC=E6=9C=8D=E5=8A=A1=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8Dbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../signfor/distributionSignforedt.vue | 170 +++++++++++-------
1 file changed, 107 insertions(+), 63 deletions(-)
diff --git a/src/views/distribution/signfor/distributionSignforedt.vue b/src/views/distribution/signfor/distributionSignforedt.vue
index 32d6d511..8db9f93f 100644
--- a/src/views/distribution/signfor/distributionSignforedt.vue
+++ b/src/views/distribution/signfor/distributionSignforedt.vue
@@ -420,7 +420,7 @@
新增
- 批量删除
+ 批量移除
@@ -521,7 +521,7 @@
-
+
@@ -563,7 +563,7 @@
@select-all="selectAll"
@select="selectChange"
>
-
+
@@ -713,14 +713,15 @@ const route = useRoute();
const router = useRouter(); //参数ID
const dataAdded = ref([]); //增值服务表格渲染参数
const TcDataAdded = ref([]); //弹窗表格渲染的数据
-const TabIndex = ref(0); //增值服务标题默认显示
+// const TabIndex = ref(0); //增值服务标题默认显示
const TCeditLoading = ref(false); //弹窗的加载Load
const dialogBatchDelete = ref(false);
const TcSoInput = ref({}); //增值服务弹窗搜索表单
const TcServices = ref('上楼'); //增值服务弹窗标题
+const TcIndex = ref(1); //Tab栏下标,用于重新渲染表格展示数据
const tcSo = ref(false); //搜索框
const ZcBtnDis = ref(true); //增值服务按钮禁止
-const ConfirmationInformation = ref(false); //增值服务确认框 、
+const ConfirmationInformation = ref(false); //增值服务确认框
const TcZcInput = ref({}); //增值服务距离费用包间确认信息
const TcTemp = ref([]); //弹窗临时存储
const TcData = ref([]); //弹窗要提交的数据
@@ -728,6 +729,7 @@ const state = ref(false); //状态表格勾选
const ServiceRadioSelection = ref([]); //增值服务单选删除
const TabInfo = ref(null); //标题栏切换的参数
const addvalueDetailId = ref(null); //增值服务新增必要参数
+const TcBtn = ref(false); //增值服务弹窗去掉操作栏
const enlargeImage = (dialogImageUrl, dialogVisible) => {
return uploadFile => {
console.log(uploadFile, '点击放大的内容');
@@ -1438,7 +1440,7 @@ const menuDataB1 = ref([
label: '订单自编号',
type: 4,
values: '',
- width: '200',
+ width: '300',
checkarr: [],
fixed: false,
sortable: true,
@@ -1586,6 +1588,17 @@ const headers = computed(() => {
const doubledCount = computed(() => {
return '/api/blade-resource/oss/endpoint/put-file';
});
+
+const findIndexById = (A, B) => {
+ const indexArray = [];
+ for (const itemA of A) {
+ const matchingItem = B.find(itemB => itemB.packageId === itemA.packageId);
+ if (matchingItem) {
+ indexArray.push(B.indexOf(matchingItem));
+ }
+ }
+ return indexArray;
+};
// 增值服务请求函数
const ValueAddedFunction = val => {
TCeditLoading.value = true; //开启load加载效果
@@ -1596,35 +1609,38 @@ const ValueAddedFunction = val => {
total.value = res.data.total; //总条数
res.data.records.forEach(item => {
item.checkbox = true; //添加标识用于处理零担数量修改
+ item.zeroQuantity = 0; //设置默认值
});
- console.log(res.data.records, '处理好的值');
+ // 数据回显
+ // const setIn = setTimeout(() => {
+ // let dataX = findIndexById(dataAdded.value, TcDataAdded.value);
+ // console.log(dataX, '返回的对应下标');
+ // // 对有的数据进行勾选
+ // TcDataAdded.value.forEach((row, i) => {
+ // const dataIndex = dataX[i];
+ // if (typeof dataIndex !== 'undefined') {
+ // TcDataAdded.value[i] = TcDataAdded.value[dataIndex];
+ // tableRefs.value.toggleRowSelection(TcDataAdded.value[i], true);
+ // TcDataAdded.value[i].checkbox = false; //禁止修改
+ // console.log(row, '要处理的数据');
+ // }
+ // });
+ // clearTimeout(setIn);
+ // }, 0);
});
};
-// 匹配ID获取下标
-function findIndexes(targetArray, searchArray) {
- const indexes = [];
-
- for (let i = 0; i < targetArray.length; i++) {
- const targetId = targetArray[i];
-
- for (let j = 0; j < searchArray.length; j++) {
- const searchId = searchArray[j].id;
-
- if (targetId === searchId) {
- indexes.push(j);
- break;
- }
- }
+// 增值服务是否禁用勾选
+const selectable = (row, index) => {
+ if (!row.checkbox) {
+ return false; //禁用状态
+ } else {
+ return true; //非禁用状态
}
-
- return indexes;
-}
-
+};
// 新增按钮展开增值服务弹窗
const newlyAdded = val => {
- console.log(tableRefs.value, 'tableRefs.value');
-
- menuDataB.value = menuDataB1.value; //字段切换
+ let menData = menuDataB1.value.slice(0, -1); //移除menuDataB1.value数组最后一个下标的值
+ menuDataB.value = menData; //字段切换
dialogBatchDelete.value = true; //开启弹窗
// 调用增值服务请求接口函数
ValueAddedFunction({
@@ -1632,14 +1648,6 @@ const newlyAdded = val => {
current: currentPage.value,
size: pageSize.value,
});
-
- // 对有的数据进行勾选
- // const setIn = setTimeout(() => {
- // TcDataAdded.forEach((row, i) => {
- // tableRefs.value.toggleRowSelection(TcDataAdded[i], true);
- // });
- // clearTimeout(setIn);
- // }, 0);
};
// 增值服务清空
const ServiceReset = val => {
@@ -1650,16 +1658,24 @@ const ServiceReset = val => {
reservationId: RouterReservationId.value,
});
};
+// 增值服务取消
+const TCdialogBatchDelete = () => {
+ dialogBatchDelete.value = false; //关闭弹窗
+};
// 增值服务
const addedSubmission = val => {
- console.log(TcDataAdded.value);
+ if (!TcTemp.value.length) {
+ ElMessage({
+ message: '暂未选择包件',
+ type: 'warning',
+ });
+ return;
+ }
ConfirmationInformation.value = true; //开启确认信息
};
// 取消增值服务包件函数
const cancellation = val => {
- console.log(Array.isArray(val), 'Array.isArray(val)');
-
if (!Array.isArray(val)) {
// 判断是单选删除,还是全选删除
let Read = [];
@@ -1675,6 +1691,7 @@ const cancellation = val => {
DataInfo.reservationId = RouterReservationId.value; //预约客户ID
DataInfo.addvalueDetailId = addvalueDetailId.value; //增值服务详情ID
DataInfo.packageEntityList = data; //取消包件列表
+ DataInfo.addvalueType = TcIndex.value; //增值服务项类型 (必带参数)
$_cancelSignAddValuePackage(DataInfo).then(res => {
console.log(res, '删除之后的返回值');
if (res.data.code == 200) {
@@ -1682,6 +1699,7 @@ const cancellation = val => {
message: res.data.msg,
type: 'success',
});
+ valueAddedServices(TcIndex.value);
ZcBtnDis.value = true; //禁止使用批量删除按钮
// 删除成功重置表单结构
TcData.value = []; //正式结构
@@ -1701,6 +1719,10 @@ const BatchDelete = row => {
// catch error
});
};
+// 增值服务弹窗关闭回调
+const TzClose = () => {
+ menuDataB.value = menuDataB1.value;
+};
// 增值服务单选删除
const DeleteEvent = row => {
cancellation(row); //单选删除,把当前行的数据传入
@@ -1734,19 +1756,41 @@ const ZcSelectChange = (select, val) => {
}
console.log(select, val);
};
+// 重置函数
+const TcIReset = () => {
+ TcData.value = []; //重置表格数据
+ TcTemp.value = []; //重置表格临时数据
+ ConfirmationInformation.value = false; //关闭弹窗
+ dialogBatchDelete.value = false; //关闭弹窗
+ TcZcInput.value = {};
+ ElMessage({
+ message: '操作成功',
+ type: 'success',
+ });
+ menuDataB.value = menuDataB1.value; //移除menuDataB1.value数组最后一个下标的值
+};
// 增值服务确认提交
const ConfirmSubmission = () => {
// 判断零担是否已经输入数量
+ let state = true;
TcTemp.value.forEach(item => {
+ console.log(item, '零担数据处理');
if (item.conditions == 3) {
//表示当前是零担数据
-
- if (item.zeroQuantity) {
- console.log(item.firsts + '没有输入数量');
+ item.quantity = item.zeroQuantity; //把输入的值给quantity
+ if (!item.zeroQuantity) {
+ ElMessage({
+ message: item.firsts + '没有输入数量',
+ type: 'warning',
+ });
+ state = false;
}
}
});
-
+ // 没有输入数量不继续走流程
+ if (!state) {
+ return;
+ }
TcData.value = TcTemp.value; //临时存储的数据给到正式提交的表格
TcZcInput.value.num = TcTemp.value.length; //增加的包件总数
let data = JSON.parse(JSON.stringify(TcData.value));
@@ -1756,7 +1800,7 @@ const ConfirmSubmission = () => {
};
DataInfo.reservationId = RouterReservationId.value; //预约客户ID(必带参数)
DataInfo.deliveryId = RouterId.value; //配送任务ID(必带参数)
- DataInfo.addvalueType = 1; //增值服务项类型 (必带参数)
+ DataInfo.addvalueType = TcIndex.value; //增值服务项类型 (必带参数)
DataInfo.packageEntityList = data; //选中的所有包件信息
console.log(DataInfo, '最后要提交的值');
@@ -1766,20 +1810,15 @@ const ConfirmSubmission = () => {
//修改接口
DataInfo.addvalueDetailId = addvalueDetailId.value; //增值服务详情ID
$_updateSignAddValuePackage(DataInfo).then(res => {
- console.log(res, '返回成功的值');
- TcData.value = []; //重置表格数据
- TcTemp.value = []; //重置表格临时数据
- ConfirmationInformation.value = false; //关闭弹窗
- dialogBatchDelete.value = false; //关闭弹窗
+ TcIReset();
+ valueAddedServices(TcIndex.value);
});
} else {
// 新增接口
$_saveSignAddValuePackage(DataInfo).then(res => {
- console.log(res, '提交之后返回的值');
- TcData.value = []; //重置表格数据
- TcTemp.value = []; //重置表格临时数据
- ConfirmationInformation.value = false; //关闭弹窗
- dialogBatchDelete.value = false; //关闭弹窗
+ TcIReset();
+
+ valueAddedServices(TcIndex.value);
});
}
};
@@ -1896,7 +1935,10 @@ const tabClick = val => {
};
// 增值服务切换查询函数
const valueAddedServices = val => {
+ dataAdded.value = []; //清空展示表单
addvalueDetailId.value = null; //清空新增标识
+ console.log(addvalueDetailId.value, '当前是否为新增还是编辑');
+
addvalueInfoList({
addvalueId: val,
signforId: RouterId.value,
@@ -1909,7 +1951,6 @@ const valueAddedServices = val => {
addvalueDetailId.value = res.data.data.addvalueDetailId;
console.log('当前不是第一次,为新增操作');
}
-
res.data.data.packageEntityList.forEach(item => {
item.checkbox = true;
console.log(item);
@@ -1923,14 +1964,20 @@ const valueAddedServices = val => {
}
});
};
+// 展开增值服务默认加载第一项
const ServiceChange = val => {
- console.log(val, '增值服务点击');
+ menuDataB.value = menuDataB1.value;
+ setTimeout(() => {
+ valueAddedServices(1);
+ }, 0);
};
// 增值服务标题栏切换函数
const TitleBarSwitch = data => {
TcServices.value = data.props.label; //增值服务弹窗标题
+ TcIndex.value = Number(data.props.name); //存储tab栏下标用于重新渲染参数
+ TcIndex.value++;
+ console.log(TcIndex.value, '当前的tab下标');
editLoading.value = true; //开启加载效果
- TabIndex.value = data.props.name;
if (data.props.name == 0) {
menuDataB.value = menuDataB1.value;
valueAddedServices(1);
@@ -1958,7 +2005,6 @@ const TitleBarSwitch = data => {
};
// 增值服务信息tab切换
const tabClickB = val => {
- console.log(val, 'val当前信息');
TabInfo.value = val; //把当前信息保存起来
TitleBarSwitch(val);
};
@@ -1974,13 +2020,11 @@ const selectAll = val => {
};
// 表格单个选中触发事件
const selectChange = (selection, row) => {
+ console.log(row, '表格单选触发');
row.checkbox = !row.checkbox;
// 1.selection 选中的数组
// 2.row 选中的当前行
- console.log(selection);
- console.log(row, '当前选中的');
TcTemp.value = selection; //吧选中的信息放到准备提交的地方
- console.log(TcTemp.value, '准备提交的数据');
};
// 每页多少条触发
const PageSizeChange = val => {