|
|
|
@ -9,7 +9,12 @@
|
|
|
|
|
<div style="width: 49%"> |
|
|
|
|
<el-divider content-position="left">运单池</el-divider> |
|
|
|
|
<div v-h5uShow="!search"> |
|
|
|
|
<el-form :inline="true" label-width="100px" :model="details.oldQuery" class="el-fr-d"> |
|
|
|
|
<el-form |
|
|
|
|
:inline="true" |
|
|
|
|
label-width="100px" |
|
|
|
|
:model="details.oldQuery" |
|
|
|
|
class="header_search" |
|
|
|
|
> |
|
|
|
|
<!-- <el-form-item label="关键词" class="el-times"> |
|
|
|
|
<el-input></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
@ -26,7 +31,11 @@
|
|
|
|
|
<el-input></el-input> |
|
|
|
|
</el-form-item> --> |
|
|
|
|
<el-form-item label="合同号" class="el-times"> |
|
|
|
|
<el-input v-model="details.oldQuery.orderCodes"></el-input> |
|
|
|
|
<el-input |
|
|
|
|
type="textarea" |
|
|
|
|
placeholder="支持多合同号查询,英文逗号分隔" |
|
|
|
|
v-model="details.oldQuery.orderCodes" |
|
|
|
|
></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="开单时间" class="el-times"> |
|
|
|
|
<el-date-picker |
|
|
|
@ -98,47 +107,40 @@
|
|
|
|
|
<el-divider content-position="left">调度池</el-divider> |
|
|
|
|
|
|
|
|
|
<div v-if="!search"> |
|
|
|
|
<el-form :inline="true" label-width="80px" :model="details.newQuery" class="el-fr-d"> |
|
|
|
|
<div class="fo-fl"> |
|
|
|
|
<!-- <el-form-item label="关键词" class="el-times"> |
|
|
|
|
<el-input></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="目的网点" class="el-times"> |
|
|
|
|
<el-input></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="到站" class="el-times"> |
|
|
|
|
<el-input></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="目标品类" class="el-times"> |
|
|
|
|
<el-input></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="备注" class="el-times"> |
|
|
|
|
<el-input></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="托盘码" class="el-times"> |
|
|
|
|
<el-input></el-input> |
|
|
|
|
</el-form-item> --> |
|
|
|
|
<el-form-item label="开单时间" class="el-times"> |
|
|
|
|
<el-date-picker |
|
|
|
|
v-model="details.newTimeQuery.createTimeArr" |
|
|
|
|
type="daterange" |
|
|
|
|
unlink-panels |
|
|
|
|
range-separator="-" |
|
|
|
|
start-placeholder="开始时间" |
|
|
|
|
end-placeholder="结束时间" |
|
|
|
|
:shortcuts="shortcuts" |
|
|
|
|
clearable |
|
|
|
|
value-format="YYYY-MM-DD" |
|
|
|
|
@change="handleFilterData" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
<!-- <el-form-item class="mr10"> |
|
|
|
|
<el-button type="primary" icon="el-icon-search" @click="searchReset()" |
|
|
|
|
>搜 索</el-button |
|
|
|
|
> |
|
|
|
|
<el-button icon="el-icon-delete" @click="searchReset()">重置</el-button> |
|
|
|
|
</el-form-item> --> |
|
|
|
|
</div> |
|
|
|
|
<el-form |
|
|
|
|
:inline="true" |
|
|
|
|
label-width="80px" |
|
|
|
|
:model="details.newQuery" |
|
|
|
|
class="header_search" |
|
|
|
|
> |
|
|
|
|
<el-form-item label="合同号" class="el-times"> |
|
|
|
|
<el-input |
|
|
|
|
type="textarea" |
|
|
|
|
placeholder="支持多合同号查询,英文逗号分隔" |
|
|
|
|
v-model="details.form.orderCode" |
|
|
|
|
></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item label="开单时间" class="el-times"> |
|
|
|
|
<el-date-picker |
|
|
|
|
v-model="details.newTimeQuery.createTimeArr" |
|
|
|
|
type="daterange" |
|
|
|
|
unlink-panels |
|
|
|
|
range-separator="-" |
|
|
|
|
start-placeholder="开始时间" |
|
|
|
|
end-placeholder="结束时间" |
|
|
|
|
:shortcuts="shortcuts" |
|
|
|
|
clearable |
|
|
|
|
value-format="YYYY-MM-DD" |
|
|
|
|
@change="handleFilterData" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item class="mr10"> |
|
|
|
|
<el-button type="primary" icon="el-icon-search" @click="handleNewSearch" |
|
|
|
|
>搜 索</el-button |
|
|
|
|
> |
|
|
|
|
<el-button icon="el-icon-delete" @click="searchReset()">重置</el-button> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-form> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
@ -261,7 +263,7 @@ import {
|
|
|
|
|
postDeleteZeroSuppleById, |
|
|
|
|
postFindNextNodeList, |
|
|
|
|
} from '@/api/distribution/zeroAdditionalRecording'; |
|
|
|
|
import { downloadXls, setNodeHeight, debounce, deepClone } from '@/utils/util'; |
|
|
|
|
import { downloadXls, setNodeHeight, debounce, deepClone, getObjType } from '@/utils/util'; |
|
|
|
|
import { oldColumnList, newColumnList } from '@/option/distribution/zeroAdditionalRecording'; |
|
|
|
|
import { ElMessage } from 'element-plus'; |
|
|
|
|
import { useRoute, useRouter } from 'vue-router'; |
|
|
|
@ -510,13 +512,29 @@ const handleFilterData = () => {
|
|
|
|
|
|
|
|
|
|
let _flag = true; |
|
|
|
|
for (let key in details.newQuery) { |
|
|
|
|
if (!details.newQuery[key].test(value[key])) _flag = false; |
|
|
|
|
if (!_flag) break; |
|
|
|
|
const _value = value[key]; |
|
|
|
|
if (!_value) continue; |
|
|
|
|
if (getObjType(_value) === 'array') { |
|
|
|
|
let _isFlag = false; |
|
|
|
|
for (let index = 0; index < _value.length; index++) { |
|
|
|
|
const item = _value[index]; |
|
|
|
|
|
|
|
|
|
if (!details.newQuery[key].test(value[key])) continue; |
|
|
|
|
_isFlag = true; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
_flag = _isFlag; |
|
|
|
|
} else { |
|
|
|
|
if (!details.newQuery[key].test(value[key])) _flag = false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!_flag) continue; |
|
|
|
|
|
|
|
|
|
for (let key in details.newTimeQuery) { |
|
|
|
|
if (!_flag) break; |
|
|
|
|
const item = details.newTimeQuery[key]; |
|
|
|
|
if (!item) continue; |
|
|
|
|
|
|
|
|
@ -527,8 +545,6 @@ const handleFilterData = () => {
|
|
|
|
|
|
|
|
|
|
if (_time !== _time) _flag = false; |
|
|
|
|
else if (_time < _startTime || _time > _endTime) _flag = false; |
|
|
|
|
|
|
|
|
|
if (!_flag) break; |
|
|
|
|
} |
|
|
|
|
if (_flag) _filterArr.push(value); |
|
|
|
|
} |
|
|
|
@ -536,14 +552,22 @@ const handleFilterData = () => {
|
|
|
|
|
details.renderData = _filterArr; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const handleNewSearch = () => { |
|
|
|
|
newInputsc(details.form.orderCodes, { prop: 'orderCode' }); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/** 表格表头输入框搜索 */ |
|
|
|
|
const newInputsc = (value, { prop }) => { |
|
|
|
|
// 动态设置正则 |
|
|
|
|
const reg = new RegExp('^' + value); |
|
|
|
|
if (value) { |
|
|
|
|
const _arr = (value + '').split(','); |
|
|
|
|
|
|
|
|
|
details.newQuery[prop] = reg; |
|
|
|
|
// 动态设置正则 |
|
|
|
|
const reg = new RegExp('^' + value); |
|
|
|
|
|
|
|
|
|
if (value === '') delete details.newQuery[prop]; |
|
|
|
|
details.newQuery[prop] = _arr.map(val => new RegExp('^' + value)); |
|
|
|
|
} else { |
|
|
|
|
delete details.newQuery[prop]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
handleFilterData(); |
|
|
|
|
}; |
|
|
|
@ -872,4 +896,8 @@ watch(
|
|
|
|
|
font-weight: bold; |
|
|
|
|
color: var(--el-color-primary); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.header_search > div { |
|
|
|
|
width: 50%; |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|