|
|
|
@ -272,6 +272,7 @@
|
|
|
|
|
v-model="multifunctional" |
|
|
|
|
placeholder="请输入要搜索的值" |
|
|
|
|
clearable |
|
|
|
|
@clear='soclear' |
|
|
|
|
/> |
|
|
|
|
<el-button type="primary" @click="SearchFu" |
|
|
|
|
><el-icon><Plus /></el-icon>搜索</el-button |
|
|
|
@ -280,6 +281,28 @@
|
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<!-- 顶部结束 --> |
|
|
|
|
<!-- 首页表格 --> |
|
|
|
|
<el-row> |
|
|
|
|
<!-- 列表模块 --> |
|
|
|
|
<tablecmt |
|
|
|
|
:columnList="menuData" |
|
|
|
|
:tableData="dataInfo" |
|
|
|
|
:loading="loadingObj.list" |
|
|
|
|
@inputTxt="inputsc" |
|
|
|
|
@timeCheck="timesc" |
|
|
|
|
@btnCheck="btnsc" |
|
|
|
|
@selectCheck="selectsc" |
|
|
|
|
@selection="selectionChange" |
|
|
|
|
> |
|
|
|
|
<template #default="slotProps"> |
|
|
|
|
<template v-if="slotProps.scope.column.label === '操作'"> |
|
|
|
|
<div class="ElBtnClass"> |
|
|
|
|
<el-button @click="view(slotProps.scope)">查看</el-button> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</template> |
|
|
|
|
</tablecmt> |
|
|
|
|
</el-row> |
|
|
|
|
<div class="el-Cart"> |
|
|
|
|
<!-- 表格列开始 --> |
|
|
|
|
<el-table |
|
|
|
@ -319,14 +342,13 @@
|
|
|
|
|
align="center" |
|
|
|
|
> |
|
|
|
|
<template #default="props"> |
|
|
|
|
<span :class="props.row[item.prop]=='state'?'.static-class':''">{{ props.row[item.prop] ? props.row[item.prop] : '/' }}</span> |
|
|
|
|
<span :class="props.row[item.prop] == 'state' ? '.static-class' : ''">{{ |
|
|
|
|
props.row[item.prop] ? props.row[item.prop] : '/' |
|
|
|
|
}}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<template v-if="item.type === 2"> |
|
|
|
|
<el-table-column |
|
|
|
|
v-if="item.head" |
|
|
|
@ -827,7 +849,7 @@ const data = ref([]); // 表格数据
|
|
|
|
|
const wrapData = ref([]); //包件表格信息 |
|
|
|
|
const wrapLoading = ref(false); //包件表格弹窗 |
|
|
|
|
const dataInfo = ref([]); //表格展示信息 |
|
|
|
|
const dataInfoTemp=ref([]);//表格展示公共值 |
|
|
|
|
const dataInfoTemp = ref([]); //表格展示公共值 |
|
|
|
|
const dataTmp = ref([]); //暂存数据 |
|
|
|
|
const TabHeight = ref(230); //动态获取表格高度 |
|
|
|
|
const TCTabHeight = ref(600); //动态获取弹窗表格高度 |
|
|
|
@ -871,8 +893,84 @@ const isZeroTable = ref([]); //零担表格
|
|
|
|
|
const comprehensive = ref(false); //司机,零担弹窗 |
|
|
|
|
const QuantityEntryStatus = ref(false); //零担数量录入状态 |
|
|
|
|
const TCzj = ref(); //弹窗组件实例 |
|
|
|
|
const soInpuState = ref(false); //搜索框状态表示当前没有搜索 |
|
|
|
|
const statisticsList = ref([]); //需要统计的字段 |
|
|
|
|
const inputValue = ref('number'); //零担输入的值 |
|
|
|
|
const details = reactive({ |
|
|
|
|
/** 是否开启搜索 */ |
|
|
|
|
search: false, |
|
|
|
|
/** 表格搜索条件 */ |
|
|
|
|
query: {}, |
|
|
|
|
/** 时间快捷选择设置 */ |
|
|
|
|
shortcuts: [ |
|
|
|
|
{ |
|
|
|
|
text: '最近一周', |
|
|
|
|
value: () => { |
|
|
|
|
const end = new Date(); |
|
|
|
|
const start = new Date(); |
|
|
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); |
|
|
|
|
return [start, end]; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
text: '最近一个月', |
|
|
|
|
value: () => { |
|
|
|
|
const end = new Date(); |
|
|
|
|
const start = new Date(); |
|
|
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); |
|
|
|
|
return [start, end]; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
text: '最近三个月', |
|
|
|
|
value: () => { |
|
|
|
|
const end = new Date(); |
|
|
|
|
const start = new Date(); |
|
|
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); |
|
|
|
|
return [start, end]; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
/** 时间选择器数据 */ |
|
|
|
|
stockupDate: [], |
|
|
|
|
/** 列表 */ |
|
|
|
|
columnList, |
|
|
|
|
/** 列表数据 */ |
|
|
|
|
data: [{}], |
|
|
|
|
/** 页面loading */ |
|
|
|
|
loadingObj: { |
|
|
|
|
/** 列表加载loading */ |
|
|
|
|
list: false, |
|
|
|
|
packageListLoading: false, |
|
|
|
|
}, |
|
|
|
|
/** 列表复选框选中的数据 */ |
|
|
|
|
selectionList: [], |
|
|
|
|
/** 是否显示设置表格 */ |
|
|
|
|
drawerShow: false, |
|
|
|
|
/** 分页参数 */ |
|
|
|
|
page: { |
|
|
|
|
currentPage: 1, |
|
|
|
|
pageSize: 50, |
|
|
|
|
total: 0, |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const { |
|
|
|
|
search, |
|
|
|
|
query, |
|
|
|
|
shortcuts, |
|
|
|
|
stockupDate, |
|
|
|
|
data, |
|
|
|
|
loadingObj, |
|
|
|
|
selectionList, |
|
|
|
|
drawerShow, |
|
|
|
|
page, |
|
|
|
|
trickleLoadingPage, |
|
|
|
|
zeroAdditionalRecordingInfo, |
|
|
|
|
popUpShow, |
|
|
|
|
recorddata, |
|
|
|
|
} = toRefs(details); |
|
|
|
|
const dataInfoID = ref(); //点击删除保存当前ID |
|
|
|
|
// 司机选择信息 |
|
|
|
|
// 车辆选项 |
|
|
|
|
// 备货人员 |
|
|
|
@ -1746,6 +1844,14 @@ function dataTabInfo() {
|
|
|
|
|
} |
|
|
|
|
// 点击新增获取在库订单信息 |
|
|
|
|
const AddInfo = () => { |
|
|
|
|
if (soInpuState.value) { |
|
|
|
|
ElMessage({ |
|
|
|
|
showClose: true, |
|
|
|
|
message: '请先重置搜索框值', |
|
|
|
|
type: 'warning', |
|
|
|
|
}); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
dataTmp.value = []; |
|
|
|
|
console.log('提交前的参数', dataInfo.value); |
|
|
|
|
console.log('提交前前临时存储', dataTmp.value); |
|
|
|
@ -1872,9 +1978,72 @@ function removeDuplicates(arr) {
|
|
|
|
|
const ids = arr.map(obj => obj.id); |
|
|
|
|
return arr.filter((item, index) => ids.indexOf(item.id) === index); |
|
|
|
|
} |
|
|
|
|
const soclear=()=>{ |
|
|
|
|
|
|
|
|
|
SearchFu() |
|
|
|
|
} |
|
|
|
|
// 编辑多功能搜索 |
|
|
|
|
const SearchFu = () => { |
|
|
|
|
console.log(soInpuState.value, '当前搜索状态'); |
|
|
|
|
|
|
|
|
|
if (!multifunctional.value && !dataInfoTemp.value.length) { |
|
|
|
|
soInpuState.value = false; //重置搜索状态 |
|
|
|
|
ElMessage({ |
|
|
|
|
showClose: true, |
|
|
|
|
message: '请输入搜索内容', |
|
|
|
|
type: 'warning', |
|
|
|
|
}); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (!multifunctional.value && dataInfoTemp.value.length) { |
|
|
|
|
//这里是回复初始内容 |
|
|
|
|
soInpuState.value = false; //重置搜索状态 |
|
|
|
|
dataInfo.value = JSON.parse(JSON.stringify(dataInfoTemp.value)); |
|
|
|
|
dataInfoTemp.value = []; |
|
|
|
|
} |
|
|
|
|
if (soInpuState.value) { |
|
|
|
|
ElMessage({ |
|
|
|
|
showClose: true, |
|
|
|
|
message: '请先重置数据', |
|
|
|
|
type: 'warning', |
|
|
|
|
}); |
|
|
|
|
return; |
|
|
|
|
} else { |
|
|
|
|
//当前状态默认为假,如果是假可以搜索 |
|
|
|
|
console.log('多功能搜索功能'); |
|
|
|
|
console.log(dataInfo.value, '当前订单'); |
|
|
|
|
dataInfoTemp.value = dataInfo.value; //先存储一个完整的值 |
|
|
|
|
let temp = dataInfo.value.filter(item => { |
|
|
|
|
return Object.values(item).some(val => { |
|
|
|
|
if (typeof val === 'string') { |
|
|
|
|
return val.includes(multifunctional.value); |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
console.log(temp, '搜索结果'); |
|
|
|
|
console.log(dataInfoTemp.value,'临时存储的值'); |
|
|
|
|
dataInfo.value = temp; //如果搜索到了值才赋值 |
|
|
|
|
soInpuState.value = false; //表示当前已经搜索过了 |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// console.log(dataInfo.value, '搜索结果'); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// 删除触发事件 |
|
|
|
|
const DeleteEvent = val => { |
|
|
|
|
dataInfoID.value = val; //存储一份临时数据 |
|
|
|
|
if (dataInfoTemp.value.length) { |
|
|
|
|
//删除拷贝的数据里面如果执行这个表示当前已经是搜索过了,在执行搜索里面的值 |
|
|
|
|
const index = dataInfoTemp.value.findIndex(item => item.id === val.id); |
|
|
|
|
if (index !== -1) { |
|
|
|
|
dataInfoTemp.value.splice(index, 1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
console.log(dataInfoID.value, '当前删除的数据'); |
|
|
|
|
// 接收点击删除当前行数据 |
|
|
|
|
const index = dataInfo.value.findIndex(item => item.id === val.id); |
|
|
|
|
if (index !== -1) { |
|
|
|
@ -1995,28 +2164,6 @@ const Entering = val => {
|
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// 编辑多功能搜索 |
|
|
|
|
const SearchFu = () => { |
|
|
|
|
console.log('多功能搜索功能'); |
|
|
|
|
console.log(dataInfo.value, '当前订单'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let st= dataInfo.value.filter(item => { |
|
|
|
|
return Object.values(item).some(val => { |
|
|
|
|
if (typeof val === 'string') { |
|
|
|
|
return val.includes(multifunctional.value); |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
st.forEach(item=>{ |
|
|
|
|
item.state=true; |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
console.log(st, '搜索结果'); |
|
|
|
|
}; |
|
|
|
|
// 数量录入 |
|
|
|
|
const QuantityEntry = val => { |
|
|
|
|
dataId.value = findIndexById(val.id); //记录当前点击的订单 |
|
|
|
@ -2988,7 +3135,7 @@ const SubmitCommercial = () => {
|
|
|
|
|
align-items: center; |
|
|
|
|
justify-content: space-between; |
|
|
|
|
width: 24%; |
|
|
|
|
.el-input { |
|
|
|
|
.el-input { |
|
|
|
|
margin-right: 4px; |
|
|
|
|
} |
|
|
|
|
button { |
|
|
|
|