|
|
@@ -16,7 +16,7 @@
|
|
|
<el-option
|
|
|
v-for="item in IS_FOREIGNER_TYPE_OPTIONS"
|
|
|
:key="item.value"
|
|
|
- :value="item.label"
|
|
|
+ :value="item.value"
|
|
|
:label="item.label"
|
|
|
:disabled="item.disabled"
|
|
|
/>
|
|
|
@@ -41,12 +41,26 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="select-box--item">
|
|
|
- <span>到达时间:</span>
|
|
|
- <el-date-picker v-model="searchData.startTime" type="datetime" />
|
|
|
+ <span>到访时间:</span>
|
|
|
+ <el-date-picker
|
|
|
+ v-model="visitTime"
|
|
|
+ type="datetimerange"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始时间"
|
|
|
+ end-placeholder="结束时间"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ />
|
|
|
</div>
|
|
|
<div class="select-box--item">
|
|
|
<span>离开时间:</span>
|
|
|
- <el-date-picker v-model="searchData.endTime" type="datetime" />
|
|
|
+ <el-date-picker
|
|
|
+ v-model="leaveTime"
|
|
|
+ type="datetimerange"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始时间"
|
|
|
+ end-placeholder="结束时间"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ />
|
|
|
</div>
|
|
|
</section>
|
|
|
<section class="search-btn">
|
|
|
@@ -84,7 +98,11 @@
|
|
|
<span>{{ scope.row.visitReason || '--' }}</span>
|
|
|
</template>
|
|
|
<template #respondentName="scope">
|
|
|
- <span>{{ scope.row.respondentName || '--' }}</span>
|
|
|
+ <span>{{
|
|
|
+ scope.row.respondentName && scope.row.respondentNo
|
|
|
+ ? scope.row.respondentName + '+' + scope.row.respondentNo
|
|
|
+ : '--'
|
|
|
+ }}</span>
|
|
|
</template>
|
|
|
<template #visitState="scope">
|
|
|
<span>{{ VISIT_STATE_TYPE_LABEL[scope.row.visitState] || '--' }}</span>
|
|
|
@@ -115,10 +133,10 @@
|
|
|
VISIT_STATE_TYPE_LABEL,
|
|
|
VISITOR_MANAGEMENT_PROMISSION_CODE,
|
|
|
} from '../constants';
|
|
|
+ import dayjs from 'dayjs';
|
|
|
import { exportVisitorList, getVisitorList } from '@/api/security-confidentiality-person/outer-person';
|
|
|
import { ElMessage } from 'element-plus';
|
|
|
import { downloadFile } from '@/views/disaster/utils';
|
|
|
-
|
|
|
import { useUserInfoHook } from '@/hooks/useUserInfoHook';
|
|
|
|
|
|
const { permissions } = useUserInfoHook();
|
|
|
@@ -128,6 +146,12 @@
|
|
|
|
|
|
const searchData = reactive<VisitorTableQuery>({});
|
|
|
|
|
|
+ const visitTime = ref<string[]>([
|
|
|
+ dayjs().startOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
+ dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
+ ]);
|
|
|
+ const leaveTime = ref<string[]>();
|
|
|
+
|
|
|
const { tableConfig, pagination } = useTableConfig(OUTER_PERSON_VISITOR_TABEL_COLUMNS, TABLE_OPTIONS);
|
|
|
|
|
|
const tableData = ref<VisitorTableData[]>([]);
|
|
|
@@ -137,10 +161,28 @@
|
|
|
pageSize: pagination.pageSize,
|
|
|
queryParam: {},
|
|
|
});
|
|
|
+ const selectableInputRef = ref<InstanceType<typeof SelectableInput>>();
|
|
|
function getQuery() {
|
|
|
- tableQuery.queryParam = {
|
|
|
- ...searchData,
|
|
|
- };
|
|
|
+ if (!selectableInputRef.value) return;
|
|
|
+ tableQuery.queryParam = {};
|
|
|
+ const selectableSearch = selectableInputRef.value.getValue();
|
|
|
+ if (selectableSearch) {
|
|
|
+ tableQuery.queryParam[selectableSearch.key as string] = selectableSearch.value;
|
|
|
+ }
|
|
|
+ if (searchData.isForeigner != null) {
|
|
|
+ tableQuery.queryParam.isForeigner = searchData.isForeigner;
|
|
|
+ }
|
|
|
+ if (searchData.visitState != null) {
|
|
|
+ tableQuery.queryParam.visitState = searchData.visitState;
|
|
|
+ }
|
|
|
+ if (visitTime.value) {
|
|
|
+ tableQuery.queryParam.visitStartTime = visitTime.value[0];
|
|
|
+ tableQuery.queryParam.visitEndTime = visitTime.value[1];
|
|
|
+ }
|
|
|
+ if (leaveTime.value) {
|
|
|
+ tableQuery.queryParam.leaveStartTime = leaveTime.value[0];
|
|
|
+ tableQuery.queryParam.leaveEndTime = leaveTime.value[1];
|
|
|
+ }
|
|
|
}
|
|
|
async function getTableData() {
|
|
|
tableConfig.loading = true;
|
|
|
@@ -167,11 +209,17 @@
|
|
|
}
|
|
|
|
|
|
function handleReset() {
|
|
|
+ selectableInputRef.value?.clearValue();
|
|
|
for (const key in searchData) {
|
|
|
if (searchData.hasOwnProperty(key)) {
|
|
|
searchData[key] = undefined;
|
|
|
}
|
|
|
}
|
|
|
+ visitTime.value = [
|
|
|
+ dayjs().startOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
+ dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
+ ];
|
|
|
+ leaveTime.value = [];
|
|
|
handleSearch();
|
|
|
}
|
|
|
|
|
|
@@ -189,7 +237,7 @@
|
|
|
}
|
|
|
}
|
|
|
onMounted(() => {
|
|
|
- getTableData();
|
|
|
+ handleSearch();
|
|
|
});
|
|
|
</script>
|
|
|
|