|
|
@@ -13,10 +13,10 @@
|
|
|
<el-form-item label="姓名" prop="name">
|
|
|
<el-input v-model="state.form.name"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="性别" prop="xxx">
|
|
|
- <el-select v-model="state.form.xxx" placeholder="请选择" clearable>
|
|
|
+ <el-form-item label="性别" prop="gender">
|
|
|
+ <el-select v-model="state.form.gender" placeholder="请选择" clearable>
|
|
|
<el-option
|
|
|
- v-for="item in state.options.xxx"
|
|
|
+ v-for="item in AppStore.getDict('lvke_sex').list"
|
|
|
:key="item.dictValue"
|
|
|
:label="item.dictLabel"
|
|
|
:value="item.dictValue"
|
|
|
@@ -26,27 +26,27 @@
|
|
|
<el-form-item label="证件号码" prop="idNo">
|
|
|
<el-input v-model="state.form.idNo"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="证件类型" prop="certType">
|
|
|
- <el-select
|
|
|
- v-model="state.form.certType"
|
|
|
- placeholder="请选择"
|
|
|
- clearable
|
|
|
- multiple
|
|
|
- collapse-tags
|
|
|
- collapse-tags-tooltip
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in state.options.certType"
|
|
|
- :key="item.dictValue"
|
|
|
- :label="item.dictLabel"
|
|
|
- :value="item.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="证件类型" prop="xxx">
|
|
|
+ <!-- <el-select-->
|
|
|
+ <!-- v-model="state.form.certType"-->
|
|
|
+ <!-- placeholder="请选择"-->
|
|
|
+ <!-- clearable-->
|
|
|
+ <!-- multiple-->
|
|
|
+ <!-- collapse-tags-->
|
|
|
+ <!-- collapse-tags-tooltip-->
|
|
|
+ <!-- >-->
|
|
|
+ <!-- <el-option-->
|
|
|
+ <!-- v-for="item in state.options.certType"-->
|
|
|
+ <!-- :key="item.dictValue"-->
|
|
|
+ <!-- :label="item.dictLabel"-->
|
|
|
+ <!-- :value="item.dictValue"-->
|
|
|
+ <!-- />-->
|
|
|
+ <!-- </el-select>-->
|
|
|
</el-form-item>
|
|
|
<el-form-item label="国籍" prop="nationality">
|
|
|
<el-select v-model="state.form.nationality" placeholder="请选择" clearable>
|
|
|
<el-option
|
|
|
- v-for="item in state.options.nationality"
|
|
|
+ v-for="item in AppStore.getDict('lvke_city').list"
|
|
|
:key="item.dictValue"
|
|
|
:label="item.dictLabel"
|
|
|
:value="item.dictValue"
|
|
|
@@ -56,77 +56,39 @@
|
|
|
<el-form-item label="居住地" prop="address">
|
|
|
<el-input v-model="state.form.address"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="车次/航班号" prop="idNo">
|
|
|
- <el-input v-model="state.form.address"></el-input>
|
|
|
+ <el-form-item label="车次/航班号" prop="travelNo">
|
|
|
+ <el-input v-model="state.form.travelNo"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="查验地点" prop="port">
|
|
|
- <el-select
|
|
|
- v-model="state.form.port"
|
|
|
- placeholder="请选择"
|
|
|
- clearable
|
|
|
- multiple
|
|
|
- collapse-tags
|
|
|
- collapse-tags-tooltip
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in state.options.port"
|
|
|
- :key="item.dictValue"
|
|
|
- :label="item.dictLabel"
|
|
|
- :value="item.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="查验地点" prop="checkPlace">
|
|
|
+ <el-input v-model="state.form.checkPlace"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="航/车次(班)日期" prop="startTime">
|
|
|
- <el-date-picker
|
|
|
- type="datetime"
|
|
|
- value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
- v-model="state.form.startTime"
|
|
|
- placeholder=""
|
|
|
- />
|
|
|
+ <el-form-item label="航/车次(班)日期" prop="travelTimeStart">
|
|
|
+ <el-date-picker type="date" value-format="YYYY-MM-DD" v-model="state.form.travelTimeStart" placeholder="" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="到" prop="endTime">
|
|
|
- <el-date-picker
|
|
|
- type="datetime"
|
|
|
- value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
- v-model="state.form.endTime"
|
|
|
- placeholder=""
|
|
|
- />
|
|
|
+ <el-form-item label="到" prop="travelTimeEnd">
|
|
|
+ <el-date-picker type="date" value-format="YYYY-MM-DD" v-model="state.form.travelTimeEnd" placeholder="" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="查验日期" prop="startTime">
|
|
|
+ <el-form-item label="查验时间" prop="checkTimeStart">
|
|
|
<el-date-picker
|
|
|
type="datetime"
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
- v-model="state.form.startTime"
|
|
|
+ v-model="state.form.checkTimeStart"
|
|
|
placeholder=""
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="到" prop="endTime">
|
|
|
+ <el-form-item label="到" prop="checkTimeEnd">
|
|
|
<el-date-picker
|
|
|
type="datetime"
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
- v-model="state.form.endTime"
|
|
|
+ v-model="state.form.checkTimeEnd"
|
|
|
placeholder=""
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="未查验通过原因" prop="port">
|
|
|
- <el-select
|
|
|
- v-model="state.form.port"
|
|
|
- placeholder="请选择"
|
|
|
- clearable
|
|
|
- multiple
|
|
|
- collapse-tags
|
|
|
- collapse-tags-tooltip
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in state.options.port"
|
|
|
- :key="item.dictValue"
|
|
|
- :label="item.dictLabel"
|
|
|
- :value="item.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="未查验通过原因" prop="checkReason">
|
|
|
+ <el-input v-model="state.form.checkReason"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="查验人" prop="address">
|
|
|
- <el-input v-model="state.form.address"></el-input>
|
|
|
+ <el-form-item label="查验人" prop="checkBy">
|
|
|
+ <el-input v-model="state.form.checkBy"></el-input>
|
|
|
</el-form-item>
|
|
|
<template #buttonGroup>
|
|
|
<el-button type="primary" @click="onSearch">查询</el-button>
|
|
|
@@ -142,27 +104,30 @@
|
|
|
@on-page-change="onPageChange"
|
|
|
@on-size-change="onSizeChange"
|
|
|
:secondaryColSpan="24"
|
|
|
- @selection-change="onSelectionChange"
|
|
|
>
|
|
|
- <el-table-column type="index" label="序号" width="50" />
|
|
|
<el-table-column type="selection" width="36" fixed="left" />
|
|
|
- <el-table-column property="areaCode" label="姓名" min-width="100" />
|
|
|
- <el-table-column property="code" label="性别" min-width="100" />
|
|
|
- <el-table-column property="funcType" label="年龄" min-width="100" />
|
|
|
- <el-table-column property="xxx" label="证件号码" min-width="100" />
|
|
|
- <el-table-column property="xxx" label="证件类型" min-width="100" />
|
|
|
- <el-table-column property="xxx" label="国籍" min-width="100" />
|
|
|
- <el-table-column property="xxx" label="居住地" min-width="100" />
|
|
|
- <el-table-column property="xxx" label="车次/航班号" min-width="100" />
|
|
|
- <el-table-column property="createTime" label="航/车次(班)日期" min-width="160">
|
|
|
- <template #default="scope">{{ scope.row.createTime.toLocaleString() }}</template>
|
|
|
+ <el-table-column type="index" label="序号" width="50" fixed="left" />
|
|
|
+ <el-table-column property="name" label="姓名" width="100" fixed="left" />
|
|
|
+ <el-table-column property="gender" label="性别" min-width="100">
|
|
|
+ <template #default="scope">{{ AppStore.getDict('lvke_sex').map.get(scope.row.gender) }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column property="age" label="年龄" min-width="100" />
|
|
|
+ <el-table-column property="idNo" label="证件号码" min-width="160" />
|
|
|
+ <el-table-column property="xxx" label="证件类型" min-width="160">
|
|
|
+ <!-- <template #default="scope">{{ AppStore.getDict('lvke_sex').map.get(scope.row.gender) }}</template>-->
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="createTime" label="查验时间" min-width="160">
|
|
|
- <template #default="scope">{{ scope.row.createTime.toLocaleString() }}</template>
|
|
|
+ <el-table-column property="nationality" label="国籍" min-width="100">
|
|
|
+ <template #default="scope">{{ AppStore.getDict('lvke_city').map.get(scope.row.nationality) }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="xxx" label="查验地点" min-width="100" />
|
|
|
- <el-table-column property="xxx" label="未查验通过原因" min-width="100" />
|
|
|
- <el-table-column property="xxx" label="查验人" min-width="100" />
|
|
|
+ <el-table-column property="address" label="居住地" min-width="160" />
|
|
|
+ <el-table-column property="travelNo" label="车次/航班号" min-width="100" />
|
|
|
+ <el-table-column property="travelTime" label="航/车次(班)日期" min-width="160" />
|
|
|
+ <el-table-column property="checkTime" label="查验时间" min-width="160">
|
|
|
+ <template #default="scope">{{ dayjs(scope.row.checkTime).format('YYYY-MM-DD HH:mm:ss') }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column property="checkPlace" label="查验地点" min-width="100" />
|
|
|
+ <el-table-column property="checkReason" label="未查验通过原因" min-width="100" />
|
|
|
+ <el-table-column property="checkBy" label="查验人" min-width="100" />
|
|
|
</cacp-complex-table>
|
|
|
</cacp-search-layout>
|
|
|
</template>
|
|
|
@@ -176,19 +141,15 @@ import { ElMessage } from 'element-plus'
|
|
|
import { SuccessResultCode, useLoading, type TableAction, useComplexTable } from '@cacp/ui'
|
|
|
import config from '@/config'
|
|
|
import detail from './detail.vue'
|
|
|
+import { useAppStore } from '@/stores'
|
|
|
+import dayjs from 'dayjs'
|
|
|
+import { passengerinfoExport, passengerinfoPage } from '@/apis/lvke'
|
|
|
|
|
|
+const AppStore = useAppStore()
|
|
|
const { loading, setLoading } = useLoading()
|
|
|
const { tableData, tablePagination, setPagination, setPageIndex, setPageSizes } = useComplexTable(config)
|
|
|
const state = reactive<any>({
|
|
|
form: {},
|
|
|
- options: {
|
|
|
- xxx: [{ name: '男', code: 1 }],
|
|
|
- certType: [{ name: '身份证', code: 1 }],
|
|
|
- port: [{ name: '新海港', code: 1 }],
|
|
|
- status: [{ name: '已查验', code: 1 }],
|
|
|
- nationality: [{ name: '中国', code: 1 }],
|
|
|
- control: [{ name: '是', code: 1 }]
|
|
|
- },
|
|
|
detail: {
|
|
|
show: false,
|
|
|
transfer: {}
|
|
|
@@ -220,47 +181,36 @@ function onPageChange(currentPage: number) {
|
|
|
}
|
|
|
const onQuery = async () => {
|
|
|
setLoading(true)
|
|
|
- // const res = await typicalOneQuery({
|
|
|
- // ...state.form,
|
|
|
- // pageIndex: tablePagination.currentPage,
|
|
|
- // pageSize: tablePagination.pageSize
|
|
|
- // })
|
|
|
- const res = {
|
|
|
- code: '0',
|
|
|
- data: {
|
|
|
- pageNum: 1,
|
|
|
- pageSize: 20,
|
|
|
- size: 20,
|
|
|
- pages: 3,
|
|
|
- total: 56,
|
|
|
- list: [
|
|
|
- {
|
|
|
- id: '460000200103174428',
|
|
|
- status: 1,
|
|
|
- areaCode: '上海 上海市 510000',
|
|
|
- code: 3643,
|
|
|
- funcType: '创建',
|
|
|
- xxx: '常磊',
|
|
|
- createTime: '1974-06-02 15:53:23',
|
|
|
- lastModified: '1988-07-20 05:47:55'
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- }
|
|
|
+ const res: any = await passengerinfoPage({
|
|
|
+ ...state.form,
|
|
|
+ pageIndex: tablePagination.currentPage,
|
|
|
+ pageSize: tablePagination.pageSize,
|
|
|
+ queryType: 2,
|
|
|
+ checkStatus: 1
|
|
|
+ })
|
|
|
if (res.code === SuccessResultCode) {
|
|
|
setPagination(res.data)
|
|
|
}
|
|
|
setLoading(false)
|
|
|
}
|
|
|
-
|
|
|
-const onSelectionChange = (arr) => {
|
|
|
- console.log(arr)
|
|
|
-}
|
|
|
-const onExport = () => {
|
|
|
+const onExport = async () => {
|
|
|
+ const res: any = await passengerinfoExport({
|
|
|
+ ...state.form,
|
|
|
+ pageIndex: tablePagination.currentPage,
|
|
|
+ pageSize: tablePagination.pageSize,
|
|
|
+ queryType: 2,
|
|
|
+ checkStatus: 2
|
|
|
+ })
|
|
|
+ const blob = new Blob([res])
|
|
|
+ const url = URL.createObjectURL(blob)
|
|
|
+ const a = document.createElement('a')
|
|
|
+ a.href = url
|
|
|
+ a.download = '未查验通过旅客信息.xlsx'
|
|
|
+ a.click()
|
|
|
ElMessage.success('导出成功!')
|
|
|
}
|
|
|
const onView = (row: any) => {
|
|
|
- state.detail.transfer.row = row
|
|
|
+ state.detail.transfer = { id: row.id }
|
|
|
state.detail.show = true
|
|
|
}
|
|
|
const actions: TableAction[] = [
|
|
|
@@ -281,19 +231,7 @@ const actions: TableAction[] = [
|
|
|
onclick: onView
|
|
|
}
|
|
|
]
|
|
|
-// const handleCommand1 = (command: string) => {
|
|
|
-// ElMessage.success('点击了' + command)
|
|
|
-// }
|
|
|
-
|
|
|
-// async function getAreaCodesData() {
|
|
|
-// const res = await getAreaCodes()
|
|
|
-// if (res.code === SuccessResultCode) {
|
|
|
-// options.value = res.data
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
onMounted(() => {
|
|
|
- // getAreaCodesData()
|
|
|
onQuery()
|
|
|
})
|
|
|
</script>
|