|
|
|
@ -420,7 +420,7 @@
|
|
|
|
|
<div class="BatchDelete"> |
|
|
|
|
<el-button type="primary" @click="newlyAdded(item.name)"> 新增 </el-button> |
|
|
|
|
<el-button :disabled="ZcBtnDis" type="primary" @click="BatchDelete(item.name)"> |
|
|
|
|
批量删除 |
|
|
|
|
批量移除 |
|
|
|
|
</el-button> |
|
|
|
|
</div> |
|
|
|
|
<template v-for="(item, index) in TabTitle" :key="index"> |
|
|
|
@ -521,7 +521,7 @@
|
|
|
|
|
</el-collapse> |
|
|
|
|
<!-- 增值服务弹窗信息 --> |
|
|
|
|
|
|
|
|
|
<el-dialog v-model="dialogBatchDelete" :title="TcServices" width="80%"> |
|
|
|
|
<el-dialog @close="TzClose" v-model="dialogBatchDelete" :title="TcServices" width="80%"> |
|
|
|
|
<!-- 搜索功能 --> |
|
|
|
|
<el-form v-if="tcSo" :inline="true" :model="TcSoInput" style="display: flex"> |
|
|
|
|
<el-form-item label="订单自编号:"> |
|
|
|
@ -563,7 +563,7 @@
|
|
|
|
|
@select-all="selectAll" |
|
|
|
|
@select="selectChange" |
|
|
|
|
> |
|
|
|
|
<el-table-column type="selection" width="55" fixed /> |
|
|
|
|
<el-table-column type="selection" width="55" fixed :selectable="selectable" /> |
|
|
|
|
<el-table-column type="index" fixed width="50" height="100" label="#" align="center" /> |
|
|
|
|
|
|
|
|
|
<!-- |
|
|
|
@ -625,7 +625,7 @@
|
|
|
|
|
/> --> |
|
|
|
|
<span></span> |
|
|
|
|
<span class="dialog-footer"> |
|
|
|
|
<el-button @click="dialogBatchDelete">取消</el-button> |
|
|
|
|
<el-button @click="TCdialogBatchDelete">取消</el-button> |
|
|
|
|
<el-button type="primary" @click="addedSubmission"> 提交 </el-button> |
|
|
|
|
</span> |
|
|
|
|
</div> |
|
|
|
@ -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 => { |
|
|
|
|