CzRger 4 months ago
parent
commit
afea499ffd

+ 71 - 33
snowy-admin-web/src/views/gsc/check/detail.vue

@@ -6,45 +6,82 @@
 		width="90%"
 	>
 		<div class="goods-detail">
-      <div class="__cus-title_1">基本信息</div>
+      <div class="__cus-title_1">旅客基本信息</div>
       <a-form :model="formData">
-        <a-row>
-          <a-col :span="16">
-            <a-row :gutter="16">
-              <a-col :span="12">
-                <a-form-item label="姓名">
-                  <a-input v-model:value="formData.name" :disabled="true"/>
-                </a-form-item>
-              </a-col>
-              <a-col :span="12">
-                <a-form-item label="性别">
-                  <a-select v-model:value="formData.gender" :disabled="true"
-                            :options="sexOptions" show-search allow-clear optionFilterProp="label"/>
-                </a-form-item>
-              </a-col>
-              <a-col :span="12">
-                <a-form-item label="国籍">
-                  <a-select v-model:value="formData.nationality" :disabled="true"
-                            :options="cityOptions" show-search allow-clear optionFilterProp="label"/>
-                </a-form-item>
-              </a-col>
-              <a-col :span="12">
-                <a-form-item label="年龄">
-                  <a-input v-model:value="formData.age" :disabled="true"/>
-                </a-form-item>
-              </a-col>
-              <a-col :span="12">
-                <a-form-item label="身份证号">
-                  <a-input v-model:value="formData.idNo" :disabled="true"/>
-                </a-form-item>
-              </a-col>
-            </a-row>
+        <a-row :gutter="16">
+          <a-col :span="8">
+            <a-form-item label="姓名">
+              <a-input v-model:value="formData.name" :disabled="true"/>
+            </a-form-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-item label="身份证号">
+              <a-input v-model:value="formData.idNo" :disabled="true"/>
+            </a-form-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-item label="国籍">
+              <a-select v-model:value="formData.nationality" :disabled="true"
+                        :options="cityOptions" show-search allow-clear optionFilterProp="label"/>
+            </a-form-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-item label="车次/航班号">
+              <a-input v-model:value="formData.travelNo" :disabled="true"/>
+            </a-form-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-item label="性别">
+              <a-select v-model:value="formData.gender" :disabled="true"
+                        :options="sexOptions" show-search allow-clear optionFilterProp="label"/>
+            </a-form-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-item label="年龄">
+              <a-input v-model:value="formData.age" :disabled="true"/>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+      <div class="__cus-title_1">查验信息</div>
+      <a-form :model="formData">
+        <a-row :gutter="16">
+          <a-col :span="8">
+            <a-form-item label="查验时间">
+              <a-input v-model:value="formData.checkTime" :disabled="true"/>
+            </a-form-item>
           </a-col>
           <a-col :span="8">
+            <a-form-item label="查验地点">
+              <a-input v-model:value="formData.checkPlace" :disabled="true"/>
+            </a-form-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-item label="查验人">
+              <a-input v-model:value="formData.checkBy" :disabled="true"/>
+            </a-form-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-item label="查验结果">
+              <a-select v-model:value="formData.checkStatus" :disabled="true"
+                        :options="checkStatusOptions" show-search allow-clear optionFilterProp="label"/>
+            </a-form-item>
+          </a-col>
+          <a-col :span="16">
+            <a-form-item :label="formData.checkStatus == 1 ? '查验结果说明' : '查验未通过原因'">
+              <a-input v-model:value="formData.checkReason" :disabled="true"/>
+            </a-form-item>
           </a-col>
         </a-row>
       </a-form>
-      <div class="__cus-title_1">携带物品信息</div>
+      <div class="__cus-title_1">查验过程记录</div>
+      <a-timeline>
+        <a-timeline-item>Create a services site 2015-09-01</a-timeline-item>
+        <a-timeline-item>Solve initial network problems 2015-09-01</a-timeline-item>
+        <a-timeline-item>Technical testing 2015-09-01</a-timeline-item>
+        <a-timeline-item>Network problems being solved 2015-09-01</a-timeline-item>
+      </a-timeline>
+      <div class="__cus-title_1">行李物品信息</div>
       <a-table
         style="margin-top: 10px"
         bordered
@@ -161,6 +198,7 @@ const sexOptions = tool.dictList('lvke_sex')
 const cityOptions = tool.dictList('lvke_city')
 const departurePortOptions = tool.dictList('lvke_departurePort')
 const arrivingPortOptions = tool.dictList('lvke_arrivingPort')
+const checkStatusOptions = tool.dictList('lvke_checkStatus')
 // 抛出函数
 defineExpose({
 	onOpen

+ 40 - 29
snowy-admin-web/src/views/gsc/check/index_all.vue

@@ -8,12 +8,6 @@
           </a-form-item>
         </a-col>
         <a-col :span="6">
-          <a-form-item label="性别">
-            <a-select v-model:value="searchFormState.gender" placeholder="请选择性别"
-                      :options="sexOptions" show-search allow-clear optionFilterProp="label"/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
           <a-form-item label="身份证号">
             <a-input v-model:value="searchFormState.idNo" placeholder="请输入身份证号" allow-clear/>
           </a-form-item>
@@ -30,6 +24,12 @@
           </a-form-item>
         </a-col>
         <a-col :span="6">
+          <a-form-item label="性别">
+            <a-select v-model:value="searchFormState.gender" placeholder="请选择性别"
+                      :options="sexOptions" show-search allow-clear optionFilterProp="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
           <a-form-item label="车次/航班号">
             <a-input v-model:value="searchFormState.travelNo" placeholder="请输入车次/航班号" allow-clear/>
           </a-form-item>
@@ -40,12 +40,6 @@
           </a-form-item>
         </a-col>
         <a-col :span="6">
-          <a-form-item label="是否携带行李物品">
-            <a-select v-model:value="searchFormState.baggage" placeholder="请选择是否携带行李物品"
-                      :options="isNoOptions" show-search allow-clear optionFilterProp="label"/>
-          </a-form-item>
-        </a-col>
-        <a-col :span="6">
           <a-form-item label="出发港口">
             <a-select v-model:value="searchFormState.fromPort" placeholder="请选择出发港口"
                       :options="departurePortOptions" show-search allow-clear optionFilterProp="label"/>
@@ -58,6 +52,12 @@
           </a-form-item>
         </a-col>
         <a-col :span="6">
+          <a-form-item label="查验状态">
+            <a-select v-model:value="searchFormState.checkStatus" placeholder="请选择查验状态"
+                      :options="checkStatusOptions" show-search allow-clear optionFilterProp="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
           <a-button type="primary" @click="onSearch()">查询</a-button>
           <a-button style="margin: 0 8px" @click="reset">重置</a-button>
         </a-col>
@@ -80,30 +80,37 @@
         <template v-if="column.dataIndex === 'nationality'">
           {{ $TOOL.dictTypeData('lvke_city', record.nationality) }}
         </template>
-        <template v-if="column.dataIndex === 'baggage'">
-          {{ $TOOL.dictTypeData('lvke_isNo', record.baggage) }}
-        </template>
         <template v-if="column.dataIndex === 'fromPort'">
           {{ $TOOL.dictTypeData('lvke_departurePort', record.fromPort) }}
         </template>
         <template v-if="column.dataIndex === 'toPort'">
           {{ $TOOL.dictTypeData('lvke_arrivingPort', record.toPort) }}
         </template>
-        <template v-if="column.dataIndex === 'action'">
-          <a-space>
-            <a @click="ref_detail.onOpen(record)">查看</a>
-          </a-space>
+        <template v-if="column.dataIndex === 'checkInstruction'">
+          <a @click="ref_method.onOpen(record)">
+            {{ $TOOL.dictTypeData('lvke_checkMethod', record.checkInstruction) }}
+          </a>
+        </template>
+        <template v-if="column.dataIndex === 'checkStatus'">
+          <template v-if="record.checkStatus != 0">
+            <a @click="ref_detail.onOpen(record)">{{ $TOOL.dictTypeData('lvke_checkStatus', record.checkStatus) }}</a>
+          </template>
+          <template v-else>
+            {{ $TOOL.dictTypeData('lvke_checkStatus', record.checkStatus) }}
+          </template>
         </template>
       </template>
     </s-table>
   </a-card>
   <Detail ref="ref_detail"/>
+  <Method ref="ref_method"/>
 </template>
 
 <script setup name="demo2">
 import tool from '@/utils/tool'
 import {cloneDeep} from 'lodash-es'
 import Detail from './detail.vue'
+import Method from './method.vue'
 import basicApi from '@/api/gsc/basic'
 
 const {proxy} = getCurrentInstance()
@@ -113,6 +120,7 @@ const searchFormRef = ref()
 const tableRef = ref()
 const filterParam = ref({})
 const ref_detail = ref()
+const ref_method = ref()
 const toolConfig = {refresh: true, height: true, columnSetting: true, striped: false}
 const columns = [
   {
@@ -136,6 +144,10 @@ const columns = [
     dataIndex: 'address',
   },
   {
+    title: '年龄',
+    dataIndex: 'age',
+  },
+  {
     title: '车次/航班号',
     dataIndex: 'travelNo',
   },
@@ -144,10 +156,6 @@ const columns = [
     dataIndex: 'travelTime',
   },
   {
-    title: '是否携带行李物品',
-    dataIndex: 'baggage',
-  },
-  {
     title: '出发港口',
     dataIndex: 'fromPort',
   },
@@ -156,16 +164,19 @@ const columns = [
     dataIndex: 'toPort',
   },
   {
-    title: '座位号',
-    dataIndex: 'seatNo',
+    title: '查验指令',
+    dataIndex: 'checkInstruction',
+    align: 'center',
+    width: 100,
+    fixed: 'right',
   },
   {
-    title: '操作',
-    dataIndex: 'action',
+    title: '查验状态',
+    dataIndex: 'checkStatus',
     align: 'center',
     width: 100,
     fixed: 'right',
-  }
+  },
 ]
 const selectedRowKeys = ref([])
 // 列表选择配置
@@ -205,7 +216,7 @@ const reset = () => {
 }
 const sexOptions = tool.dictList('lvke_sex')
 const cityOptions = tool.dictList('lvke_city')
-const isNoOptions = tool.dictList('lvke_isNo')
 const departurePortOptions = tool.dictList('lvke_departurePort')
 const arrivingPortOptions = tool.dictList('lvke_arrivingPort')
+const checkStatusOptions = tool.dictList('lvke_checkStatus')
 </script>

+ 213 - 0
snowy-admin-web/src/views/gsc/check/index_noPass.vue

@@ -0,0 +1,213 @@
+<template>
+  <a-card :bordered="false">
+    <a-form ref="searchFormRef" :model="searchFormState" class="ant-advanced-search-form">
+      <a-row :gutter="24">
+        <a-col :span="6">
+          <a-form-item label="姓名">
+            <a-input v-model:value="searchFormState.name" placeholder="请输入姓名" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="身份证号">
+            <a-input v-model:value="searchFormState.idNo" placeholder="请输入身份证号" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="国籍">
+            <a-select v-model:value="searchFormState.nationality" placeholder="请选择国籍"
+                      :options="cityOptions" show-search allow-clear optionFilterProp="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="居住地">
+            <a-input v-model:value="searchFormState.address" placeholder="请输入居住地" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="性别">
+            <a-select v-model:value="searchFormState.gender" placeholder="请选择性别"
+                      :options="sexOptions" show-search allow-clear optionFilterProp="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="车次/航班号">
+            <a-input v-model:value="searchFormState.travelNo" placeholder="请输入车次/航班号" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="航/车次(班)日期">
+            <a-range-picker v-model:value="searchFormState.travelTime" show-time allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="查验时间">
+            <a-range-picker v-model:value="searchFormState.checkTime" show-time allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="查验地点">
+            <a-input v-model:value="searchFormState.checkPlace" placeholder="请输入查验地点" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="未查验通过原因">
+            <a-input v-model:value="searchFormState.checkReason" placeholder="请输入未查验通过原因" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="查验人">
+            <a-input v-model:value="searchFormState.checkBy" placeholder="请输入查验人" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-button type="primary" @click="onSearch()">查询</a-button>
+          <a-button style="margin: 0 8px" @click="reset">重置</a-button>
+        </a-col>
+      </a-row>
+    </a-form>
+    <s-table
+      ref="tableRef"
+      :columns="columns"
+      :data="loadData"
+      bordered
+      :row-key="(record) => record.id"
+      :tool-config="toolConfig"
+      v-model:filterParam="filterParam"
+      :scroll="{ x: 2000 }"
+    >
+      <template #bodyCell="{ column, record }">
+        <template v-if="column.dataIndex === 'gender'">
+          {{ $TOOL.dictTypeData('lvke_sex', record.gender) }}
+        </template>
+        <template v-if="column.dataIndex === 'nationality'">
+          {{ $TOOL.dictTypeData('lvke_city', record.nationality) }}
+        </template>
+        <template v-if="column.dataIndex === 'checkStatus'">
+          <a @click="ref_detail.onOpen(record)">
+            {{ $TOOL.dictTypeData('lvke_checkStatus', record.checkStatus) }}
+          </a>
+        </template>
+      </template>
+    </s-table>
+  </a-card>
+  <Detail ref="ref_detail"/>
+</template>
+
+<script setup name="demo2">
+import tool from '@/utils/tool'
+import {cloneDeep} from 'lodash-es'
+import Detail from './detail.vue'
+import basicApi from '@/api/gsc/basic'
+
+const {proxy} = getCurrentInstance()
+const searchFormState = ref({})
+const searchFormStateReal = ref({}) // 点击搜索后备份的查询参数
+const searchFormRef = ref()
+const tableRef = ref()
+const filterParam = ref({})
+const ref_detail = ref()
+const toolConfig = {refresh: true, height: true, columnSetting: true, striped: false}
+const columns = [
+  {
+    title: '姓名',
+    dataIndex: 'name',
+  },
+  {
+    title: '性别',
+    dataIndex: 'gender',
+  },
+  {
+    title: '身份证号',
+    dataIndex: 'idNo',
+  },
+  {
+    title: '国籍',
+    dataIndex: 'nationality',
+  },
+  {
+    title: '居住地',
+    dataIndex: 'address',
+  },
+  {
+    title: '年龄',
+    dataIndex: 'age',
+  },
+  {
+    title: '车次/航班号',
+    dataIndex: 'travelNo',
+  },
+  {
+    title: '航/车次(班)日期',
+    dataIndex: 'travelTime',
+  },
+  {
+    title: '查验时间',
+    dataIndex: 'checkTime',
+  },
+  {
+    title: '查验地点',
+    dataIndex: 'checkPlace',
+  },
+  {
+    title: '未通过查验原因',
+    dataIndex: 'checkReason',
+  },
+  {
+    title: '查验人',
+    dataIndex: 'checkBy',
+  },
+  {
+    title: '查验结果',
+    dataIndex: 'checkStatus',
+    align: 'center',
+    width: 100,
+    fixed: 'right',
+  }
+]
+const selectedRowKeys = ref([])
+// 列表选择配置
+const options = {
+  // columns数字类型字段加入 needTotal: true 可以勾选自动算账
+  alert: {
+    show: true,
+    clear: () => {
+      selectedRowKeys.value = ref([])
+    }
+  },
+  rowSelection: {
+    onChange: (selectedRowKey, selectedRows) => {
+      selectedRowKeys.value = selectedRowKey
+    }
+  }
+}
+const loadData = (parameter) => {
+  if (searchFormStateReal.value.travelTime?.length > 0) {
+    searchFormStateReal.value.travelTimeStart = proxy.$util.YMDHms(searchFormStateReal.value.travelTime[0])
+    searchFormStateReal.value.travelTimeEnd = proxy.$util.YMDHms(searchFormStateReal.value.travelTime[1])
+    delete searchFormStateReal.value.travelTime
+  }
+  if (searchFormStateReal.value.checkTime?.length > 0) {
+    searchFormStateReal.value.checkTimeStart = proxy.$util.YMDHms(searchFormStateReal.value.checkTime[0])
+    searchFormStateReal.value.checkTimeEnd = proxy.$util.YMDHms(searchFormStateReal.value.checkTime[1])
+    delete searchFormStateReal.value.checkTime
+  }
+  return basicApi.passengerInfoPage(Object.assign(parameter, searchFormStateReal.value, {checkStatus: 1})).then((data) => {
+    return data
+  })
+}
+// 搜索同时备份参数
+const onSearch = (parameter) => {
+  searchFormStateReal.value = cloneDeep(searchFormState.value)
+  tableRef.value.refresh(parameter)
+}
+// 重置
+const reset = () => {
+  searchFormRef.value.resetFields()
+  onSearch(true)
+}
+const sexOptions = tool.dictList('lvke_sex')
+const cityOptions = tool.dictList('lvke_city')
+const departurePortOptions = tool.dictList('lvke_departurePort')
+const arrivingPortOptions = tool.dictList('lvke_arrivingPort')
+const checkStatusOptions = tool.dictList('lvke_checkStatus')
+</script>

+ 199 - 0
snowy-admin-web/src/views/gsc/check/index_pass.vue

@@ -0,0 +1,199 @@
+<template>
+  <a-card :bordered="false">
+    <a-form ref="searchFormRef" :model="searchFormState" class="ant-advanced-search-form">
+      <a-row :gutter="24">
+        <a-col :span="6">
+          <a-form-item label="姓名">
+            <a-input v-model:value="searchFormState.name" placeholder="请输入姓名" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="身份证号">
+            <a-input v-model:value="searchFormState.idNo" placeholder="请输入身份证号" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="国籍">
+            <a-select v-model:value="searchFormState.nationality" placeholder="请选择国籍"
+                      :options="cityOptions" show-search allow-clear optionFilterProp="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="居住地">
+            <a-input v-model:value="searchFormState.address" placeholder="请输入居住地" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="性别">
+            <a-select v-model:value="searchFormState.gender" placeholder="请选择性别"
+                      :options="sexOptions" show-search allow-clear optionFilterProp="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="车次/航班号">
+            <a-input v-model:value="searchFormState.travelNo" placeholder="请输入车次/航班号" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="航/车次(班)日期">
+            <a-range-picker v-model:value="searchFormState.travelTime" show-time allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="查验时间">
+            <a-range-picker v-model:value="searchFormState.checkTime" show-time allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="查验地点">
+            <a-input v-model:value="searchFormState.checkPlace" placeholder="请输入查验地点" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-button type="primary" @click="onSearch()">查询</a-button>
+          <a-button style="margin: 0 8px" @click="reset">重置</a-button>
+        </a-col>
+      </a-row>
+    </a-form>
+    <s-table
+      ref="tableRef"
+      :columns="columns"
+      :data="loadData"
+      bordered
+      :row-key="(record) => record.id"
+      :tool-config="toolConfig"
+      v-model:filterParam="filterParam"
+      :scroll="{ x: 2000 }"
+    >
+      <template #bodyCell="{ column, record }">
+        <template v-if="column.dataIndex === 'gender'">
+          {{ $TOOL.dictTypeData('lvke_sex', record.gender) }}
+        </template>
+        <template v-if="column.dataIndex === 'nationality'">
+          {{ $TOOL.dictTypeData('lvke_city', record.nationality) }}
+        </template>
+        <template v-if="column.dataIndex === 'checkStatus'">
+          <a @click="ref_detail.onOpen(record)">
+            {{ $TOOL.dictTypeData('lvke_checkStatus', record.checkStatus) }}
+          </a>
+        </template>
+      </template>
+    </s-table>
+  </a-card>
+  <Detail ref="ref_detail"/>
+</template>
+
+<script setup name="demo2">
+import tool from '@/utils/tool'
+import {cloneDeep} from 'lodash-es'
+import Detail from './detail.vue'
+import basicApi from '@/api/gsc/basic'
+
+const {proxy} = getCurrentInstance()
+const searchFormState = ref({})
+const searchFormStateReal = ref({}) // 点击搜索后备份的查询参数
+const searchFormRef = ref()
+const tableRef = ref()
+const filterParam = ref({})
+const ref_detail = ref()
+const toolConfig = {refresh: true, height: true, columnSetting: true, striped: false}
+const columns = [
+  {
+    title: '姓名',
+    dataIndex: 'name',
+  },
+  {
+    title: '性别',
+    dataIndex: 'gender',
+  },
+  {
+    title: '身份证号',
+    dataIndex: 'idNo',
+  },
+  {
+    title: '国籍',
+    dataIndex: 'nationality',
+  },
+  {
+    title: '居住地',
+    dataIndex: 'address',
+  },
+  {
+    title: '年龄',
+    dataIndex: 'age',
+  },
+  {
+    title: '车次/航班号',
+    dataIndex: 'travelNo',
+  },
+  {
+    title: '航/车次(班)日期',
+    dataIndex: 'travelTime',
+  },
+  {
+    title: '查验时间',
+    dataIndex: 'checkTime',
+  },
+  {
+    title: '查验地点',
+    dataIndex: 'checkPlace',
+  },
+  {
+    title: '查验人',
+    dataIndex: 'checkBy',
+  },
+  {
+    title: '查验结果',
+    dataIndex: 'checkStatus',
+    align: 'center',
+    width: 100,
+    fixed: 'right',
+  }
+]
+const selectedRowKeys = ref([])
+// 列表选择配置
+const options = {
+  // columns数字类型字段加入 needTotal: true 可以勾选自动算账
+  alert: {
+    show: true,
+    clear: () => {
+      selectedRowKeys.value = ref([])
+    }
+  },
+  rowSelection: {
+    onChange: (selectedRowKey, selectedRows) => {
+      selectedRowKeys.value = selectedRowKey
+    }
+  }
+}
+const loadData = (parameter) => {
+  if (searchFormStateReal.value.travelTime?.length > 0) {
+    searchFormStateReal.value.travelTimeStart = proxy.$util.YMDHms(searchFormStateReal.value.travelTime[0])
+    searchFormStateReal.value.travelTimeEnd = proxy.$util.YMDHms(searchFormStateReal.value.travelTime[1])
+    delete searchFormStateReal.value.travelTime
+  }
+  if (searchFormStateReal.value.checkTime?.length > 0) {
+    searchFormStateReal.value.checkTimeStart = proxy.$util.YMDHms(searchFormStateReal.value.checkTime[0])
+    searchFormStateReal.value.checkTimeEnd = proxy.$util.YMDHms(searchFormStateReal.value.checkTime[1])
+    delete searchFormStateReal.value.checkTime
+  }
+  return basicApi.passengerInfoPage(Object.assign(parameter, searchFormStateReal.value, {checkStatus: 1})).then((data) => {
+    return data
+  })
+}
+// 搜索同时备份参数
+const onSearch = (parameter) => {
+  searchFormStateReal.value = cloneDeep(searchFormState.value)
+  tableRef.value.refresh(parameter)
+}
+// 重置
+const reset = () => {
+  searchFormRef.value.resetFields()
+  onSearch(true)
+}
+const sexOptions = tool.dictList('lvke_sex')
+const cityOptions = tool.dictList('lvke_city')
+const departurePortOptions = tool.dictList('lvke_departurePort')
+const arrivingPortOptions = tool.dictList('lvke_arrivingPort')
+const checkStatusOptions = tool.dictList('lvke_checkStatus')
+</script>

+ 8 - 12
snowy-admin-web/src/views/gsc/check/method.vue

@@ -11,19 +11,17 @@
         <a-row :gutter="16">
           <a-col :span="12">
             <a-form-item label="指令编号">
-              <a-input v-model:value="formData.reWarehouseNumber" :disabled="true"/>
+              <a-input v-model:value="formData.checkInstructionNo" :disabled="true"/>
             </a-form-item>
           </a-col>
           <a-col :span="12">
             <a-form-item label="发布时间">
-              <a-select v-model:value="formData.reWarehouseNumber" :disabled="true"
-                        :options="sexOptions" show-search allow-clear optionFilterProp="label"/>
+              <a-input v-model:value="formData.releaseTime" :disabled="true"/>
             </a-form-item>
           </a-col>
           <a-col :span="12">
             <a-form-item label="查验地点">
-              <a-select v-model:value="formData.reWarehouseNumber" :disabled="true"
-                        :options="cityOptions" show-search allow-clear optionFilterProp="label"/>
+              <a-input v-model:value="formData.checkPlace" :disabled="true"/>
             </a-form-item>
           </a-col>
         </a-row>
@@ -33,13 +31,13 @@
         <a-row :gutter="16">
           <a-col :span="12">
             <a-form-item label="查验方式">
-              <a-select v-model:value="formData.reWarehouseNumber" :disabled="true"
+              <a-select v-model:value="formData.checkInstruction" :disabled="true"
                         :options="checkMethodOptions" show-search allow-clear optionFilterProp="label"/>
             </a-form-item>
           </a-col>
           <a-col :span="12">
             <a-form-item label="查验目的">
-              <a-input v-model:value="formData.reWarehouseNumber" :disabled="true"/>
+              <a-input v-model:value="formData.checkPurpose" :disabled="true"/>
             </a-form-item>
           </a-col>
         </a-row>
@@ -62,11 +60,9 @@ const formData = ref({})
 // 打开抽屉
 const onOpen = (record, view = false) => {
 	open.value = true
-	// if (record) {
-	// 	qyOutWarehouseApi.qyOutWarehousePage({warehouseNumber: record.warehouseNumber}).then(res => {
-	// 		formData.value = Object.assign({}, res)
-	// 	})
-	// }
+	if (record) {
+    formData.value = Object.assign({}, record)
+	}
 }
 // 关闭抽屉
 const onClose = () => {

+ 52 - 36
snowy-admin-web/src/views/gsc/pass/detail.vue

@@ -13,29 +13,29 @@
             <a-row :gutter="16">
               <a-col :span="12">
                 <a-form-item label="姓名">
-                  <a-input v-model:value="formData.reWarehouseNumber" :disabled="true"/>
+                  <a-input v-model:value="formData.name" :disabled="true"/>
                 </a-form-item>
               </a-col>
               <a-col :span="12">
                 <a-form-item label="性别">
-                  <a-select v-model:value="formData.reWarehouseNumber" :disabled="true"
+                  <a-select v-model:value="formData.gender" :disabled="true"
                             :options="sexOptions" show-search allow-clear optionFilterProp="label"/>
                 </a-form-item>
               </a-col>
               <a-col :span="12">
                 <a-form-item label="国籍">
-                  <a-select v-model:value="formData.reWarehouseNumber" :disabled="true"
+                  <a-select v-model:value="formData.nationality" :disabled="true"
                             :options="cityOptions" show-search allow-clear optionFilterProp="label"/>
                 </a-form-item>
               </a-col>
               <a-col :span="12">
                 <a-form-item label="年龄">
-                  <a-input v-model:value="formData.reWarehouseNumber" :disabled="true"/>
+                  <a-input v-model:value="formData.age" :disabled="true"/>
                 </a-form-item>
               </a-col>
               <a-col :span="12">
                 <a-form-item label="身份证号">
-                  <a-input v-model:value="formData.reWarehouseNumber" :disabled="true"/>
+                  <a-input v-model:value="formData.idNo" :disabled="true"/>
                 </a-form-item>
               </a-col>
             </a-row>
@@ -48,28 +48,26 @@
       <a-table
         style="margin-top: 10px"
         bordered
-        :dataSource="[
-          formData,
-        ]"
+        :dataSource="formData.goods"
         :columns="[
-          {title: '物品类别',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '物品细类',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '物品名称',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '物品产地',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '重量(千克)',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '品牌',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '规格型号',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '单价',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '币种',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '数量',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '数量单位',dataIndex: 'wlbh',key: 'wlbh'},
-          {title: '发票/许可证',dataIndex: 'action',key: 'action'},
+          {title: '物品类别',dataIndex: 'goodCategory',key: 'goodCategory'},
+          {title: '物品细类',dataIndex: 'goodSubclass',key: 'goodSubclass'},
+          {title: '物品名称',dataIndex: 'goodName',key: 'goodName'},
+          {title: '物品产地',dataIndex: 'goodPlace',key: 'goodPlace'},
+          {title: '重量(千克)',dataIndex: 'weight',key: 'weight'},
+          {title: '品牌',dataIndex: 'brand',key: 'brand'},
+          {title: '规格型号',dataIndex: 'specModel',key: 'specModel'},
+          {title: '单价',dataIndex: 'price',key: 'price'},
+          {title: '币种',dataIndex: 'currency',key: 'currency'},
+          {title: '数量',dataIndex: 'quantity',key: 'quantity'},
+          {title: '数量单位',dataIndex: 'unit',key: 'unit'},
+          {title: '发票/许可证',dataIndex: 'license',key: 'license'},
         ]"
         :pagination="false"
       >
         <template #bodyCell="{ column, record }">
-          <template v-if="column.dataIndex === 'action'">
-            <a-button type="link" primary size="small">查看</a-button>
+          <template v-if="column.dataIndex === 'license'">
+            <a-button type="link" primary size="small" @click="onViewImg(record.license)">查看</a-button>
           </template>
         </template>
       </a-table>
@@ -78,61 +76,77 @@
         <a-row :gutter="16">
           <a-col :span="8">
             <a-form-item label="乘坐交通工具类型">
-              <a-input v-model:value="formData.reWarehouseNumber" :disabled="true"/>
+              <a-input v-model:value="formData.vehicleType" :disabled="true"/>
             </a-form-item>
           </a-col>
           <a-col :span="8">
             <a-form-item label="出发时间">
-              <a-input v-model:value="formData.reWarehouseNumber" :disabled="true"/>
+              <a-input v-model:value="formData.departTime" :disabled="true"/>
             </a-form-item>
           </a-col>
           <a-col :span="8">
             <a-form-item label="出发港口">
-              <a-select v-model:value="formData.reWarehouseNumber" :disabled="true"
+              <a-select v-model:value="formData.fromPort" :disabled="true"
                         :options="departurePortOptions" show-search allow-clear optionFilterProp="label"/>
             </a-form-item>
           </a-col>
           <a-col :span="8">
             <a-form-item label="到达港口">
-              <a-select v-model:value="formData.reWarehouseNumber" :disabled="true"
+              <a-select v-model:value="formData.toPort" :disabled="true"
                         :options="arrivingPortOptions" show-search allow-clear optionFilterProp="label"/>
             </a-form-item>
           </a-col>
           <a-col :span="8">
             <a-form-item label="车次/航班号">
-              <a-input v-model:value="formData.reWarehouseNumber" :disabled="true"/>
+              <a-input v-model:value="formData.travelNo" :disabled="true"/>
             </a-form-item>
           </a-col>
           <a-col :span="8">
             <a-form-item label="座位号">
-              <a-input v-model:value="formData.reWarehouseNumber" :disabled="true"/>
+              <a-input v-model:value="formData.seatNo" :disabled="true"/>
             </a-form-item>
           </a-col>
         </a-row>
       </a-form>
 		</div>
 		<template #footer></template>
+<!--    <a-image-preview-group-->
+<!--      :style="{ display: 'none' }"-->
+<!--      :preview="{-->
+<!--        visible: imgOptions.visible,-->
+<!--        onVisibleChange: imgOptions.setVisible,-->
+<!--      }">-->
+<!--      <a-image :width="200" src="https://aliyuncdn.antdv.com/vue.png" />-->
+<!--      <a-image :width="200" src="https://aliyuncdn.antdv.com/logo.png" />-->
+<!--    </a-image-preview-group>-->
 	</a-modal>
 </template>
 
 <script setup name="enterpriseDetail">
 import tool from '@/utils/tool'
 import {cloneDeep} from 'lodash-es'
-import qyOutWarehouseApi from "@/api/yqyc/qyOutWarehouseApi";
+import basicApi from "@/api/gsc/basic";
 // 抽屉状态
 const open = ref(false)
 const emit = defineEmits({successful: null})
 // 表单数据
 const formData = ref({})
+const imgOptions = ref({
+  visible: false,
+  setVisible: (value) => {
+    imgOptions.value.visible = value;
+  },
+  url: []
+})
 
 // 打开抽屉
 const onOpen = (record, view = false) => {
 	open.value = true
-	// if (record) {
-	// 	qyOutWarehouseApi.qyOutWarehousePage({warehouseNumber: record.warehouseNumber}).then(res => {
-	// 		formData.value = Object.assign({}, res)
-	// 	})
-	// }
+	if (record) {
+    basicApi.passengerinfoDetail({id: record.id}).then(res => {
+			formData.value = Object.assign({}, res)
+		})
+	}
 }
 // 关闭抽屉
 const onClose = () => {
@@ -140,9 +154,11 @@ const onClose = () => {
 	formData.value = {}
 	open.value = false
 }
+const onViewImg = (urls) => {
+
+}
 const sexOptions = tool.dictList('lvke_sex')
-// const cityOptions = tool.dictList('lvke_city')
-const cityOptions = []
+const cityOptions = tool.dictList('lvke_city')
 const departurePortOptions = tool.dictList('lvke_departurePort')
 const arrivingPortOptions = tool.dictList('lvke_arrivingPort')
 // 抛出函数

+ 44 - 66
snowy-admin-web/src/views/gsc/pass/index.vue

@@ -1,6 +1,6 @@
 <template>
   <a-card :bordered="false">
-    <a-form ref="searchref_detail" name="advanced_search" :model="searchFormState" class="ant-advanced-search-form">
+    <a-form ref="searchFormRef" :model="searchFormState" class="ant-advanced-search-form">
       <a-row :gutter="24">
         <a-col :span="6">
           <a-form-item label="姓名">
@@ -9,51 +9,51 @@
         </a-col>
         <a-col :span="6">
           <a-form-item label="性别">
-            <a-select v-model:value="searchFormState.accountType" placeholder="请选择性别"
+            <a-select v-model:value="searchFormState.gender" placeholder="请选择性别"
                       :options="sexOptions" show-search allow-clear optionFilterProp="label"/>
           </a-form-item>
         </a-col>
         <a-col :span="6">
           <a-form-item label="身份证号">
-            <a-input v-model:value="searchFormState.name" placeholder="请输入身份证号" allow-clear/>
+            <a-input v-model:value="searchFormState.idNo" placeholder="请输入身份证号" allow-clear/>
           </a-form-item>
         </a-col>
         <a-col :span="6">
           <a-form-item label="国籍">
-            <a-select v-model:value="searchFormState.accountType" placeholder="请选择国籍"
+            <a-select v-model:value="searchFormState.nationality" placeholder="请选择国籍"
                       :options="cityOptions" show-search allow-clear optionFilterProp="label"/>
           </a-form-item>
         </a-col>
         <a-col :span="6">
           <a-form-item label="居住地">
-            <a-input v-model:value="searchFormState.name" placeholder="请输入居住地" allow-clear/>
+            <a-input v-model:value="searchFormState.address" placeholder="请输入居住地" allow-clear/>
           </a-form-item>
         </a-col>
         <a-col :span="6">
           <a-form-item label="车次/航班号">
-            <a-input v-model:value="searchFormState.name" placeholder="请输入车次/航班号" allow-clear/>
+            <a-input v-model:value="searchFormState.travelNo" placeholder="请输入车次/航班号" allow-clear/>
           </a-form-item>
         </a-col>
         <a-col :span="6">
           <a-form-item label="航/车次(班)日期">
-            <a-range-picker v-model:value="searchFormState.warehouseTime" show-time allow-clear/>
+            <a-range-picker v-model:value="searchFormState.travelTime" show-time allow-clear/>
           </a-form-item>
         </a-col>
         <a-col :span="6">
           <a-form-item label="是否携带行李物品">
-            <a-select v-model:value="searchFormState.accountType" placeholder="请选择是否携带行李物品"
+            <a-select v-model:value="searchFormState.baggage" placeholder="请选择是否携带行李物品"
                       :options="isNoOptions" show-search allow-clear optionFilterProp="label"/>
           </a-form-item>
         </a-col>
         <a-col :span="6">
           <a-form-item label="出发港口">
-            <a-select v-model:value="searchFormState.accountType" placeholder="请选择出发港口"
+            <a-select v-model:value="searchFormState.fromPort" placeholder="请选择出发港口"
                       :options="departurePortOptions" show-search allow-clear optionFilterProp="label"/>
           </a-form-item>
         </a-col>
         <a-col :span="6">
           <a-form-item label="到达港口">
-            <a-select v-model:value="searchFormState.accountType" placeholder="请选择到达港口"
+            <a-select v-model:value="searchFormState.toPort" placeholder="请选择到达港口"
                       :options="arrivingPortOptions" show-search allow-clear optionFilterProp="label"/>
           </a-form-item>
         </a-col>
@@ -74,8 +74,20 @@
       :scroll="{ x: 2000 }"
     >
       <template #bodyCell="{ column, record }">
-        <template v-if="column.dataIndex === 'sex'">
-          {{ $TOOL.dictTypeData('lvke_sex', record.sex) }}
+        <template v-if="column.dataIndex === 'gender'">
+          {{ $TOOL.dictTypeData('lvke_sex', record.gender) }}
+        </template>
+        <template v-if="column.dataIndex === 'nationality'">
+          {{ $TOOL.dictTypeData('lvke_city', record.nationality) }}
+        </template>
+        <template v-if="column.dataIndex === 'baggage'">
+          {{ $TOOL.dictTypeData('lvke_isNo', record.baggage) }}
+        </template>
+        <template v-if="column.dataIndex === 'fromPort'">
+          {{ $TOOL.dictTypeData('lvke_departurePort', record.fromPort) }}
+        </template>
+        <template v-if="column.dataIndex === 'toPort'">
+          {{ $TOOL.dictTypeData('lvke_arrivingPort', record.toPort) }}
         </template>
         <template v-if="column.dataIndex === 'action'">
           <a-space>
@@ -92,13 +104,12 @@
 import tool from '@/utils/tool'
 import {cloneDeep} from 'lodash-es'
 import Detail from './detail.vue'
-import demo2Api from '@/api/biz/demo2Api'
-import downloadUtil from "@/utils/downloadUtil";
+import basicApi from '@/api/gsc/basic'
 
 const {proxy} = getCurrentInstance()
 const searchFormState = ref({})
 const searchFormStateReal = ref({}) // 点击搜索后备份的查询参数
-const searchref_detail = ref()
+const searchFormRef = ref()
 const tableRef = ref()
 const filterParam = ref({})
 const ref_detail = ref()
@@ -110,43 +121,43 @@ const columns = [
   },
   {
     title: '性别',
-    dataIndex: 'age',
+    dataIndex: 'gender',
   },
   {
     title: '身份证号',
-    dataIndex: 'sex',
+    dataIndex: 'idNo',
   },
   {
     title: '国籍',
-    dataIndex: 'remark',
+    dataIndex: 'nationality',
   },
   {
     title: '居住地',
-    dataIndex: 'p1',
+    dataIndex: 'address',
   },
   {
     title: '车次/航班号',
-    dataIndex: 'p2',
+    dataIndex: 'travelNo',
   },
   {
     title: '航/车次(班)日期',
-    dataIndex: 'p3',
+    dataIndex: 'travelTime',
   },
   {
     title: '是否携带行李物品',
-    dataIndex: 'p4',
+    dataIndex: 'baggage',
   },
   {
     title: '出发港口',
-    dataIndex: 'p5',
+    dataIndex: 'fromPort',
   },
   {
     title: '到达港口',
-    dataIndex: 'p6',
+    dataIndex: 'toPort',
   },
   {
     title: '座位号',
-    dataIndex: 'p7',
+    dataIndex: 'seatNo',
   },
   {
     title: '操作',
@@ -173,7 +184,12 @@ const options = {
   }
 }
 const loadData = (parameter) => {
-  return demo2Api.demo2Page(Object.assign(parameter, searchFormStateReal.value)).then((data) => {
+  if (searchFormStateReal.value.travelTime?.length > 0) {
+    searchFormStateReal.value.travelTimeStart = proxy.$util.YMDHms(searchFormStateReal.value.travelTime[0])
+    searchFormStateReal.value.travelTimeEnd = proxy.$util.YMDHms(searchFormStateReal.value.travelTime[1])
+    delete searchFormStateReal.value.travelTime
+  }
+  return basicApi.passengerInfoPage(Object.assign(parameter, searchFormStateReal.value)).then((data) => {
     return data
   })
 }
@@ -184,49 +200,11 @@ const onSearch = (parameter) => {
 }
 // 重置
 const reset = () => {
-  searchref_detail.value.resetFields()
+  searchFormRef.value.resetFields()
   onSearch(true)
 }
-// 删除
-const deleteDemo2 = (record) => {
-  let params = [
-    {
-      id: record.id
-    }
-  ]
-  demo2Api.demo2Delete(params).then(() => {
-    tableRef.value.refresh(true)
-  })
-}
-// 批量删除
-const deleteBatchDemo2 = (params) => {
-  demo2Api.demo2Delete(params).then(() => {
-    tableRef.value.clearRefreshSelected()
-  })
-}
-// 批量导出
-const onExport = () => {
-  const params = {
-    ...filterParam.value
-  }
-  if (selectedRowKeys.value.length > 0) {
-    params.ids = selectedRowKeys.value
-  } else {
-    Object.entries(searchFormStateReal.value).forEach(([key, value]) => {
-      console.log(key)
-      if (proxy.$util.isValue(value)) {
-        params[key] = value
-      }
-    })
-  }
-  demo2Api.demo2Export(params).then((res) => {
-    downloadUtil.resultDownload(res)
-    tableRef.value.clearSelected()
-  })
-}
 const sexOptions = tool.dictList('lvke_sex')
-// const cityOptions = tool.dictList('lvke_city')
-const cityOptions = []
+const cityOptions = tool.dictList('lvke_city')
 const isNoOptions = tool.dictList('lvke_isNo')
 const departurePortOptions = tool.dictList('lvke_departurePort')
 const arrivingPortOptions = tool.dictList('lvke_arrivingPort')