|  |  | 1 | +<template> | 
|  |  | 2 | +    <div> | 
|  |  | 3 | +        <el-row :gutter="10"> | 
|  |  | 4 | +            <el-col :span="4"> | 
|  |  | 5 | +                <el-input | 
|  |  | 6 | +                        placeholder="航空器注册编号" | 
|  |  | 7 | +                        v-model="query.aircraftNo" | 
|  |  | 8 | +                        size="medium" | 
|  |  | 9 | +                        clearable> | 
|  |  | 10 | +                </el-input> | 
|  |  | 11 | +            </el-col> | 
|  |  | 12 | +            <el-col :span="4"> | 
|  |  | 13 | +                <el-input | 
|  |  | 14 | +                        placeholder="进出境(港)航班号" | 
|  |  | 15 | +                        v-model="query.flightNo" | 
|  |  | 16 | +                        size="medium" | 
|  |  | 17 | +                        clearable> | 
|  |  | 18 | +                </el-input> | 
|  |  | 19 | +            </el-col> | 
|  |  | 20 | +            <el-col :span="8"> | 
|  |  | 21 | +                <div class="block"> | 
|  |  | 22 | +                    <el-date-picker | 
|  |  | 23 | +                            v-model="flightdate" | 
|  |  | 24 | +                            type="daterange" | 
|  |  | 25 | +                            :picker-options="pickerOptions" | 
|  |  | 26 | +                            range-separator="至" | 
|  |  | 27 | +                            start-placeholder="开始日期" | 
|  |  | 28 | +                            end-placeholder="结束日期" | 
|  |  | 29 | +                            value-format="yyyy-MM-dd" | 
|  |  | 30 | +                            size="medium" | 
|  |  | 31 | +                            align="right"> | 
|  |  | 32 | +                    </el-date-picker> | 
|  |  | 33 | +                </div> | 
|  |  | 34 | +            </el-col> | 
|  |  | 35 | +            <el-col :span="2"> | 
|  |  | 36 | +                <el-button size="medium" type="primary" @click="selectList" plain>查询</el-button> | 
|  |  | 37 | +            </el-col> | 
|  |  | 38 | +            <el-col :span="2"> | 
|  |  | 39 | +                <el-button size="medium" type="success" @click="addForm()" plain>新增</el-button> | 
|  |  | 40 | +            </el-col> | 
|  |  | 41 | +        </el-row> | 
|  |  | 42 | +        <el-row :gutter="10"> | 
|  |  | 43 | +            <el-table | 
|  |  | 44 | +                    :data="tableData" | 
|  |  | 45 | +                    style="width: 100%" | 
|  |  | 46 | +                    row-key="uuid" | 
|  |  | 47 | +                    :expand-row-keys="expandedRowKeys" | 
|  |  | 48 | +                    border | 
|  |  | 49 | +                    stripe> | 
|  |  | 50 | +                <el-table-column | 
|  |  | 51 | +                        align="center" | 
|  |  | 52 | +                        fixed="left" | 
|  |  | 53 | +                        label="信息操作" | 
|  |  | 54 | +                        width="80"> | 
|  |  | 55 | +                    <template slot-scope="scope"> | 
|  |  | 56 | +                        <el-button @click="ediForm(scope.row)" type="text" size="small">编辑</el-button> | 
|  |  | 57 | +                    </template> | 
|  |  | 58 | +                </el-table-column> | 
|  |  | 59 | +                <el-table-column type="expand" label="详细信息"> | 
|  |  | 60 | +                    <template v-slot:default="{ row }"> | 
|  |  | 61 | +                        <el-table | 
|  |  | 62 | +                                :data="row.billpersonList" | 
|  |  | 63 | +                                style="width: 70%;margin-left: 75px;margin-top: 10px" | 
|  |  | 64 | +                                row-key="autoId" | 
|  |  | 65 | +                                stripe | 
|  |  | 66 | +                                border | 
|  |  | 67 | +                        > | 
|  |  | 68 | +                            <el-table-column prop="name" label="姓名" /> | 
|  |  | 69 | +                            <el-table-column width="80" prop="gender" label="性别"> | 
|  |  | 70 | +                            <template slot-scope="scope"> | 
|  |  | 71 | +                                {{ scope.row.gender === 'M' ? '男' : '女' }} | 
|  |  | 72 | +                            </template> | 
|  |  | 73 | +                            </el-table-column> | 
|  |  | 74 | +                            <el-table-column width="80" prop="nationality" label="国籍" /> | 
|  |  | 75 | +                            <el-table-column label="职务"> | 
|  |  | 76 | +                                <template slot-scope="scope"> | 
|  |  | 77 | +                                    {{ { | 
|  |  | 78 | +                                    '1': '航线机长', | 
|  |  | 79 | +                                    '2': '副驾驶', | 
|  |  | 80 | +                                    '3': '乘务长', | 
|  |  | 81 | +                                    '4': '安全员', | 
|  |  | 82 | +                                    '5': '乘务员', | 
|  |  | 83 | +                                    '6': '机械师', | 
|  |  | 84 | +                                    '7': '随行人员', | 
|  |  | 85 | +                                    '8': '工程师', | 
|  |  | 86 | +                                    '9': '装载员', | 
|  |  | 87 | +                                    '10': '押运员', | 
|  |  | 88 | +                                    '11': '其它随机人员' | 
|  |  | 89 | +                                    }[scope.row.gareer] || scope.row.gareer }} | 
|  |  | 90 | +                                </template> | 
|  |  | 91 | +                            </el-table-column> | 
|  |  | 92 | +                            <el-table-column prop="certType" :formatter="formatType" label="证件类型" /> | 
|  |  | 93 | +                            <el-table-column prop="ceterNo" label="证件号" /> | 
|  |  | 94 | +                        </el-table> | 
|  |  | 95 | +                    </template> | 
|  |  | 96 | +                </el-table-column> | 
|  |  | 97 | +                <el-table-column | 
|  |  | 98 | +                        prop="messageid" | 
|  |  | 99 | +                        label="编号" | 
|  |  | 100 | +                        width="320"> | 
|  |  | 101 | +                </el-table-column> | 
|  |  | 102 | + | 
|  |  | 103 | +                <el-table-column | 
|  |  | 104 | +                        prop="aircraftNo" | 
|  |  | 105 | +                        label="航空器注册编号" | 
|  |  | 106 | +                        width="100"> | 
|  |  | 107 | +                </el-table-column> | 
|  |  | 108 | +                <el-table-column | 
|  |  | 109 | +                        prop="arrivalno" | 
|  |  | 110 | +                        label="海关关区" | 
|  |  | 111 | +                        width="100"> | 
|  |  | 112 | +                </el-table-column> | 
|  |  | 113 | +                <el-table-column | 
|  |  | 114 | +                        prop="flightNo" | 
|  |  | 115 | +                        label="进境(港)航班号" | 
|  |  | 116 | +                        width="120"> | 
|  |  | 117 | +                </el-table-column> | 
|  |  | 118 | +                <el-table-column | 
|  |  | 119 | +                        prop="flightDate" | 
|  |  | 120 | +                        label="航班日期" | 
|  |  | 121 | +                        width="100"> | 
|  |  | 122 | +                </el-table-column> | 
|  |  | 123 | +                <el-table-column | 
|  |  | 124 | +                        label="进出类型" | 
|  |  | 125 | +                        width="100"> | 
|  |  | 126 | +                    <template slot-scope="scope"> | 
|  |  | 127 | +                        {{ scope.row.accessFlag === 'D' ? '出港' : '进港' }} | 
|  |  | 128 | +                    </template> | 
|  |  | 129 | +                </el-table-column> | 
|  |  | 130 | +                <el-table-column | 
|  |  | 131 | +                        prop="arrivaldatetime" | 
|  |  | 132 | +                        label="出入(境)时间" | 
|  |  | 133 | +                        width="140"> | 
|  |  | 134 | +                </el-table-column> | 
|  |  | 135 | +                <el-table-column | 
|  |  | 136 | +                        prop="statusMsg" | 
|  |  | 137 | +                        label="海关状态" | 
|  |  | 138 | +                        width="120"> | 
|  |  | 139 | +                </el-table-column> | 
|  |  | 140 | +                <el-table-column | 
|  |  | 141 | +                        fixed="right" | 
|  |  | 142 | +                        label="操作" | 
|  |  | 143 | +                        width="200"> | 
|  |  | 144 | +                    <template slot-scope="scope"> | 
|  |  | 145 | +                        <el-button @click="returnlist(scope.row)" type="text" size="small">查看</el-button> | 
|  |  | 146 | +                        <el-button @click="sendstying(scope.row,2)" type="text" size="small">申报</el-button> | 
|  |  | 147 | +                        <el-button @click="sendstying(scope.row,5)" type="text" size="small">修改</el-button> | 
|  |  | 148 | +                        <el-button @click="sendstying(scope.row,3)" type="text" size="small">删除</el-button> | 
|  |  | 149 | +                    </template> | 
|  |  | 150 | +                </el-table-column> | 
|  |  | 151 | +            </el-table> | 
|  |  | 152 | +        </el-row> | 
|  |  | 153 | +        <el-row :gutter="10"> | 
|  |  | 154 | +            <div class="block"> | 
|  |  | 155 | +                <el-pagination | 
|  |  | 156 | +                        @size-change="handleSizeChange" | 
|  |  | 157 | +                        @current-change="handleCurrentChange" | 
|  |  | 158 | +                        :current-page="query.pageNum" | 
|  |  | 159 | +                        :page-sizes="[100, 200, 300, 400]" | 
|  |  | 160 | +                        :page-size="query.pageSize" | 
|  |  | 161 | +                        layout="total, sizes, prev, pager, next, jumper" | 
|  |  | 162 | +                        :total="total"> | 
|  |  | 163 | +                </el-pagination> | 
|  |  | 164 | +            </div> | 
|  |  | 165 | +        </el-row> | 
|  |  | 166 | +        <el-row :gutter="10"> | 
|  |  | 167 | +            <el-dialog | 
|  |  | 168 | +                    title="回执列表" | 
|  |  | 169 | +                    :visible.sync="returnVisible" | 
|  |  | 170 | +                    width="55%" | 
|  |  | 171 | +                    :before-close="handleClose"> | 
|  |  | 172 | +                <el-table :data="gridData"> | 
|  |  | 173 | +                    <el-table-column property="sendtime" label="操作时间" ></el-table-column> | 
|  |  | 174 | +                    <el-table-column property="createBy" label="操作人" ></el-table-column> | 
|  |  | 175 | +                    <el-table-column property="flightNo" label="航班号"></el-table-column> | 
|  |  | 176 | +                    <el-table-column property="flightDate" label="航班日期" ></el-table-column> | 
|  |  | 177 | +                    <el-table-column property="receiptContent" label="回执内容" ></el-table-column> | 
|  |  | 178 | +                </el-table> | 
|  |  | 179 | +            </el-dialog> | 
|  |  | 180 | +        </el-row> | 
|  |  | 181 | +        <el-row :gutter="10"> | 
|  |  | 182 | +            <el-dialog | 
|  |  | 183 | +                    :title="'单证信息'+textMap[dialogStatus]" | 
|  |  | 184 | +                    :visible.sync="dialogVisible" | 
|  |  | 185 | +                    width="80%" | 
|  |  | 186 | +                    center> | 
|  |  | 187 | +                <el-form :model="form" :rules="rules" ref="form" label-width="130px"> | 
|  |  | 188 | +                    <el-row :gutter="10"> | 
|  |  | 189 | +                        <el-col :span="6"> | 
|  |  | 190 | +                            <el-form-item label="航空注册器编号" prop="aircraftNo"> | 
|  |  | 191 | +                                <el-input v-model="form.aircraftNo"></el-input> | 
|  |  | 192 | +                            </el-form-item> | 
|  |  | 193 | +                        </el-col> | 
|  |  | 194 | +                        <el-col :span="6"> | 
|  |  | 195 | +                            <el-form-item label="航班号" prop="flightNo"> | 
|  |  | 196 | +                                <el-input v-model="form.flightNo"></el-input> | 
|  |  | 197 | +                            </el-form-item> | 
|  |  | 198 | +                        </el-col> | 
|  |  | 199 | +                        <el-col :span="6"> | 
|  |  | 200 | +                            <el-form-item label="航班日期" prop="flightDate" style="width: 100%;"> | 
|  |  | 201 | +                                <div class="block"> | 
|  |  | 202 | +                                    <el-date-picker | 
|  |  | 203 | +                                            v-model="form.flightDate" | 
|  |  | 204 | +                                            type="datetime" | 
|  |  | 205 | +                                            value-format="yyyy-MM-dd" | 
|  |  | 206 | +                                            placeholder="yyyy-MM-dd" | 
|  |  | 207 | +                                            style="width: 100%;"> | 
|  |  | 208 | +                                    </el-date-picker> | 
|  |  | 209 | +                                </div> | 
|  |  | 210 | +                            </el-form-item> | 
|  |  | 211 | +                        </el-col> | 
|  |  | 212 | +                        <el-col :span="6"> | 
|  |  | 213 | +                            <el-form-item label="进出标识" prop="accessFlag"> | 
|  |  | 214 | +                                <el-select v-model="form.accessFlag"> | 
|  |  | 215 | +                                    <el-option label="进港" value="A"></el-option> | 
|  |  | 216 | +                                    <el-option label="出港" value="D"></el-option> | 
|  |  | 217 | +                                </el-select> | 
|  |  | 218 | +                            </el-form-item> | 
|  |  | 219 | +                        </el-col> | 
|  |  | 220 | +                    </el-row> | 
|  |  | 221 | +                    <el-row :gutter="10"> | 
|  |  | 222 | +                        <el-col :span="6"> | 
|  |  | 223 | +                            <el-form-item label="进出港口" prop="arrivalAirport"> | 
|  |  | 224 | +                                <el-select v-model="form.arrivalAirport" | 
|  |  | 225 | +                                           filterable | 
|  |  | 226 | +                                           allow-create | 
|  |  | 227 | +                                           default-first-option | 
|  |  | 228 | +                                           remote | 
|  |  | 229 | +                                           :remote-method="getAirportCode" | 
|  |  | 230 | +                                           :loading="loading" placeholder="请选择"> | 
|  |  | 231 | +                                    <el-option | 
|  |  | 232 | +                                            v-for="item in airportcodes" | 
|  |  | 233 | +                                            :key="item.airportid" | 
|  |  | 234 | +                                            :label="item.airportid" | 
|  |  | 235 | +                                            :value="item.airportid"> | 
|  |  | 236 | +                                        <span style="float: left">{{ item.airportid }}</span> | 
|  |  | 237 | +                                        <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.airportname}}</span> | 
|  |  | 238 | +                                    </el-option> | 
|  |  | 239 | +                                </el-select> | 
|  |  | 240 | +                            </el-form-item> | 
|  |  | 241 | +                        </el-col> | 
|  |  | 242 | +                        <el-col :span="6"> | 
|  |  | 243 | +                            <el-form-item label="海关关区" prop="arrivalno"> | 
|  |  | 244 | +                                <el-select v-model="form.arrivalno" | 
|  |  | 245 | +                                           filterable | 
|  |  | 246 | +                                           allow-create | 
|  |  | 247 | +                                           default-first-option | 
|  |  | 248 | +                                           remote | 
|  |  | 249 | +                                           :remote-method="getCustomCode" | 
|  |  | 250 | +                                           :loading="loading" placeholder="请选择"> | 
|  |  | 251 | +                                    <el-option | 
|  |  | 252 | +                                            v-for="item in customcodes" | 
|  |  | 253 | +                                            :key="item.customcode" | 
|  |  | 254 | +                                            :label="item.customcode" | 
|  |  | 255 | +                                            :value="item.customcode"> | 
|  |  | 256 | +                                        <span style="float: left">{{ item.customcode }}</span> | 
|  |  | 257 | +                                        <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.customname }}</span> | 
|  |  | 258 | +                                    </el-option> | 
|  |  | 259 | +                                </el-select> | 
|  |  | 260 | +                            </el-form-item> | 
|  |  | 261 | +                        </el-col> | 
|  |  | 262 | +                        <el-col :span="6"> | 
|  |  | 263 | +                            <el-form-item label="进出境时间" prop="arrivaldatetime" style="width: 100%;"> | 
|  |  | 264 | +                                    <el-date-picker | 
|  |  | 265 | +                                            v-model="form.arrivaldatetime" | 
|  |  | 266 | +                                            type="datetime" | 
|  |  | 267 | +                                            value-format="yyyy-MM-dd HH:mm:ss" | 
|  |  | 268 | +                                            placeholder="yyyy-MM-dd HH:mm:ss" | 
|  |  | 269 | +                                            style="width: 100%;"> | 
|  |  | 270 | +                                    </el-date-picker> | 
|  |  | 271 | +                            </el-form-item> | 
|  |  | 272 | +                        </el-col> | 
|  |  | 273 | +                        <el-col :span="6"> | 
|  |  | 274 | +                            <el-form-item label="机组人数" prop="aircrewSum"> | 
|  |  | 275 | +                                <el-input v-model="form.aircrewSum"></el-input> | 
|  |  | 276 | +                            </el-form-item> | 
|  |  | 277 | +                        </el-col> | 
|  |  | 278 | +                    </el-row> | 
|  |  | 279 | +                    <el-row :guter="10"> | 
|  |  | 280 | +                        <el-col :span="6"> | 
|  |  | 281 | +                            <el-form-item label="国际旅客人数" prop="interPassengerSum"> | 
|  |  | 282 | +                                <el-input v-model="form.interPassengerSum"></el-input> | 
|  |  | 283 | +                            </el-form-item> | 
|  |  | 284 | +                        </el-col> | 
|  |  | 285 | +                        <el-col :span="6"> | 
|  |  | 286 | +                            <el-form-item label="国际行李件数" prop="interBaggageNum"> | 
|  |  | 287 | +                                <el-input v-model="form.interBaggageNum"></el-input> | 
|  |  | 288 | +                            </el-form-item> | 
|  |  | 289 | +                        </el-col> | 
|  |  | 290 | +                        <el-col :span="6"> | 
|  |  | 291 | +                            <el-form-item label="货邮件数" prop="goodsNum"> | 
|  |  | 292 | +                                <el-input v-model="form.goodsNum"></el-input> | 
|  |  | 293 | +                            </el-form-item> | 
|  |  | 294 | +                        </el-col> | 
|  |  | 295 | +                        <el-col :span="6"> | 
|  |  | 296 | +                            <el-form-item label="货邮重量(千克)" prop="goodsQuantity"> | 
|  |  | 297 | +                                <el-input v-model="form.goodsQuantity"></el-input> | 
|  |  | 298 | +                            </el-form-item> | 
|  |  | 299 | +                        </el-col> | 
|  |  | 300 | +                    </el-row> | 
|  |  | 301 | +                    <el-row :guter="10"> | 
|  |  | 302 | +                        <el-col :span="6"> | 
|  |  | 303 | +                            <el-form-item label="是否有健康异常" prop="remark"> | 
|  |  | 304 | +                                <el-select v-model="form.remark"> | 
|  |  | 305 | +                                    <el-option label="是" value="T"></el-option> | 
|  |  | 306 | +                                    <el-option label="否" value="F"></el-option> | 
|  |  | 307 | +                                </el-select> | 
|  |  | 308 | +                            </el-form-item> | 
|  |  | 309 | +                        </el-col> | 
|  |  | 310 | +                        <el-col :span="6"> | 
|  |  | 311 | +                            <el-form-item label="是否发现病媒生物" prop="remark1"> | 
|  |  | 312 | +                                <el-select v-model="form.remark2"> | 
|  |  | 313 | +                                    <el-option label="是" value="T"></el-option> | 
|  |  | 314 | +                                    <el-option label="否" value="F"></el-option> | 
|  |  | 315 | +                                </el-select> | 
|  |  | 316 | +                            </el-form-item> | 
|  |  | 317 | +                        </el-col> | 
|  |  | 318 | +                        <el-col :span="6"> | 
|  |  | 319 | +                            <el-form-item label="是否发现外来有害生物" prop="remark2"> | 
|  |  | 320 | +                                <el-select v-model="form.remark2"> | 
|  |  | 321 | +                                    <el-option label="是" value="T"></el-option> | 
|  |  | 322 | +                                    <el-option label="否" value="F"></el-option> | 
|  |  | 323 | +                                </el-select> | 
|  |  | 324 | +                            </el-form-item> | 
|  |  | 325 | +                        </el-col> | 
|  |  | 326 | +                        <el-col :span="6"> | 
|  |  | 327 | +                            <el-form-item label="是否有有效灭蚊证明" prop="remark3"> | 
|  |  | 328 | +                                <el-select v-model="form.remark3"> | 
|  |  | 329 | +                                    <el-option label="是" value="T"></el-option> | 
|  |  | 330 | +                                    <el-option label="否" value="F"></el-option> | 
|  |  | 331 | +                                </el-select> | 
|  |  | 332 | +                            </el-form-item> | 
|  |  | 333 | +                        </el-col> | 
|  |  | 334 | +                    </el-row> | 
|  |  | 335 | +                    <el-row :guter="10"> | 
|  |  | 336 | +                        <el-col :span="18"> | 
|  |  | 337 | +                            <el-form-item label="备注"> | 
|  |  | 338 | +                                <el-input v-model="form.meno"></el-input> | 
|  |  | 339 | +                            </el-form-item> | 
|  |  | 340 | +                        </el-col> | 
|  |  | 341 | +                        <el-col :span="6"> | 
|  |  | 342 | +                            <el-form-item label=""> | 
|  |  | 343 | +                                <el-button @click="dialogVisible=false">取消</el-button> | 
|  |  | 344 | +                                <el-button type="primary" @click="dialogStatus==='create'?createData('form'):updateData('form')">暂存</el-button> | 
|  |  | 345 | +                            </el-form-item> | 
|  |  | 346 | +                        </el-col> | 
|  |  | 347 | +                    </el-row> | 
|  |  | 348 | +                </el-form> | 
|  |  | 349 | +                <el-divider content-position="left"><span style="color: #1d8ce0">机组人员信息</span> | 
|  |  | 350 | +                    <el-divider direction="vertical"></el-divider> | 
|  |  | 351 | +                        <el-button type="primary" @click="addBillperson">新增机组人员</el-button> | 
|  |  | 352 | +                    <el-divider direction="vertical"></el-divider></el-divider> | 
|  |  | 353 | + | 
|  |  | 354 | +                    <el-table | 
|  |  | 355 | +                            :data="tableChldren" | 
|  |  | 356 | +                            style="width: 80%;margin-left: 75px;margin-top: 10px" | 
|  |  | 357 | +                            row-key="autoId" | 
|  |  | 358 | +                            stripe | 
|  |  | 359 | +                            border> | 
|  |  | 360 | +                        <el-table-column prop="name" label="姓名" /> | 
|  |  | 361 | +                        <el-table-column width="80" prop="gender" label="性别"> | 
|  |  | 362 | +                            <template slot-scope="scope"> | 
|  |  | 363 | +                                {{ scope.row.gender === 'M' ? '男' : '女' }} | 
|  |  | 364 | +                            </template> | 
|  |  | 365 | +                        </el-table-column> | 
|  |  | 366 | +                        <el-table-column width="80" prop="nationality" label="国籍" /> | 
|  |  | 367 | +                        <el-table-column label="职务"> | 
|  |  | 368 | +                            <template slot-scope="scope"> | 
|  |  | 369 | +                                {{ { | 
|  |  | 370 | +                                '1': '航线机长', | 
|  |  | 371 | +                                '2': '副驾驶', | 
|  |  | 372 | +                                '3': '乘务长', | 
|  |  | 373 | +                                '4': '安全员', | 
|  |  | 374 | +                                '5': '乘务员', | 
|  |  | 375 | +                                '6': '机械师', | 
|  |  | 376 | +                                '7': '随行人员', | 
|  |  | 377 | +                                '8': '工程师', | 
|  |  | 378 | +                                '9': '装载员', | 
|  |  | 379 | +                                '10': '押运员', | 
|  |  | 380 | +                                '11': '其它随机人员' | 
|  |  | 381 | +                                }[scope.row.gareer] || scope.row.gareer }} | 
|  |  | 382 | +                            </template> | 
|  |  | 383 | +                        </el-table-column> | 
|  |  | 384 | +                        <el-table-column prop="certType" :formatter="formatType" label="证件类型" /> | 
|  |  | 385 | +                        <el-table-column prop="ceterNo" label="证件号" /> | 
|  |  | 386 | +                        <el-table-column | 
|  |  | 387 | +                                fixed="right" | 
|  |  | 388 | +                                label="操作" | 
|  |  | 389 | +                                width="50"> | 
|  |  | 390 | +                            <template slot-scope="scope"> | 
|  |  | 391 | +                                <el-button @click.native.prevent="deleteRow(scope.$index, tableChldren)" type="text" size="small">删除</el-button> | 
|  |  | 392 | +                            </template> | 
|  |  | 393 | +                        </el-table-column> | 
|  |  | 394 | +                    </el-table> | 
|  |  | 395 | +            </el-dialog> | 
|  |  | 396 | +            <el-dialog title="机组人员添加" :visible.sync="dialogFormVisible" width="70%" | 
|  |  | 397 | +                       center> | 
|  |  | 398 | +                <el-form :model="billperson" :rules="rules" ref="billperson" label-width="100px"> | 
|  |  | 399 | +                    <el-row :gutter="10"> | 
|  |  | 400 | +                        <el-col :span="6"> | 
|  |  | 401 | +                            <el-form-item label="姓名" prop="name"> | 
|  |  | 402 | +                                <el-input v-model="billperson.name"></el-input> | 
|  |  | 403 | +                            </el-form-item> | 
|  |  | 404 | +                        </el-col> | 
|  |  | 405 | +                        <el-col :span="6"> | 
|  |  | 406 | +                            <el-form-item label="性别" prop="gender"> | 
|  |  | 407 | +                                <el-select v-model="billperson.gender"> | 
|  |  | 408 | +                                    <el-option label="男" value="M"></el-option> | 
|  |  | 409 | +                                    <el-option label="女" value="F"></el-option> | 
|  |  | 410 | +                                </el-select> | 
|  |  | 411 | +                            </el-form-item> | 
|  |  | 412 | +                        </el-col> | 
|  |  | 413 | +                        <el-col :span="6"> | 
|  |  | 414 | +                            <el-form-item label="国籍" prop="nationality"> | 
|  |  | 415 | +                                <el-select v-model="billperson.nationality" | 
|  |  | 416 | +                                           filterable | 
|  |  | 417 | +                                           @click.native="getCountry" | 
|  |  | 418 | +                                           @change="selectChange" | 
|  |  | 419 | +                                           default-first-option | 
|  |  | 420 | +                                           :loading="loading" placeholder="请选择" | 
|  |  | 421 | +                                           style="text-transform:uppercase"> | 
|  |  | 422 | +                                    <el-option | 
|  |  | 423 | +                                            v-for="item in countryOptions" | 
|  |  | 424 | +                                            :key="item.countryid" | 
|  |  | 425 | +                                            :label="item.countryid+'-'+item.countrydescchn" | 
|  |  | 426 | +                                            :value="item.countryid"> | 
|  |  | 427 | +                                        <span style="float: left">{{ item.countryid }}</span> | 
|  |  | 428 | +                                        <span style="float: right; color: #8492a6; font-size: 13px">{{ item.countrydescchn }}</span> | 
|  |  | 429 | +                                    </el-option> | 
|  |  | 430 | +                                </el-select> | 
|  |  | 431 | +                            </el-form-item> | 
|  |  | 432 | +                        </el-col> | 
|  |  | 433 | +                        <el-col :span="6"> | 
|  |  | 434 | +                            <el-form-item label="职务" prop="gareer"> | 
|  |  | 435 | +                                <el-select v-model="billperson.gareer" placeholder="请选择"> | 
|  |  | 436 | +                                    <el-option label="1-航线机长" value="1"></el-option> | 
|  |  | 437 | +                                    <el-option label="2-副驾驶" value="2"></el-option> | 
|  |  | 438 | +                                    <el-option label="3-乘务长" value="3"></el-option> | 
|  |  | 439 | +                                    <el-option label="4-安全员" value="4"></el-option> | 
|  |  | 440 | +                                    <el-option label="5-乘务员" value="5"></el-option> | 
|  |  | 441 | +                                    <el-option label="6-机械师" value="6"></el-option> | 
|  |  | 442 | +                                    <el-option label="7-随行人员" value="7"></el-option> | 
|  |  | 443 | +                                    <el-option label="8-工程师" value="8"></el-option> | 
|  |  | 444 | +                                    <el-option label="9-装载员" value="9"></el-option> | 
|  |  | 445 | +                                    <el-option label="10-押运员" value="10"></el-option> | 
|  |  | 446 | +                                    <el-option label="11-其它随机人员" value="11"></el-option> | 
|  |  | 447 | +                                </el-select> | 
|  |  | 448 | +                            </el-form-item> | 
|  |  | 449 | +                        </el-col> | 
|  |  | 450 | +                        <el-col :span="6"> | 
|  |  | 451 | +                            <el-form-item label="证件类型" prop="certType"> | 
|  |  | 452 | +                                <el-select v-model="billperson.certType" | 
|  |  | 453 | +                                           filterable | 
|  |  | 454 | +                                           @click.native="getCreden" | 
|  |  | 455 | +                                           :loading="loading" placeholder="请选择"> | 
|  |  | 456 | +                                    <el-option | 
|  |  | 457 | +                                            v-for="item in certOptions" | 
|  |  | 458 | +                                            :key="item.serialno" | 
|  |  | 459 | +                                            :label="item.serialno+'-'+item.credenname" | 
|  |  | 460 | +                                            :value="item.serialno"> | 
|  |  | 461 | +                                        <span style="float: left">{{ item.serialno }}</span> | 
|  |  | 462 | +                                        <span style="float: right; color: #8492a6; font-size: 13px">{{ item.credenname }}</span> | 
|  |  | 463 | +                                    </el-option> | 
|  |  | 464 | +                                </el-select> | 
|  |  | 465 | +                            </el-form-item> | 
|  |  | 466 | +                        </el-col> | 
|  |  | 467 | +                        <el-col :span="6"> | 
|  |  | 468 | +                            <el-form-item label="证件号码" prop="ceterNo"> | 
|  |  | 469 | +                                <el-input v-model="billperson.ceterNo" placeholder="请输入"></el-input> | 
|  |  | 470 | +                            </el-form-item> | 
|  |  | 471 | +                        </el-col> | 
|  |  | 472 | +                        <el-col :span="6"> | 
|  |  | 473 | +                            <el-form-item label="备注" prop="meno"> | 
|  |  | 474 | +                                <el-input v-model="billperson.meno" placeholder="请输入"></el-input> | 
|  |  | 475 | +                            </el-form-item> | 
|  |  | 476 | +                        </el-col> | 
|  |  | 477 | +                        <el-col :span="6"> | 
|  |  | 478 | +                            <el-form-item> | 
|  |  | 479 | +                                <el-button type="primary" @click="addRow('billperson')">添加</el-button> | 
|  |  | 480 | +                            </el-form-item> | 
|  |  | 481 | +                        </el-col> | 
|  |  | 482 | +                    </el-row> | 
|  |  | 483 | + | 
|  |  | 484 | +                </el-form> | 
|  |  | 485 | +            </el-dialog> | 
|  |  | 486 | +        </el-row> | 
|  |  | 487 | +    </div> | 
|  |  | 488 | +</template> | 
|  |  | 489 | +<script> | 
|  |  | 490 | +    import { | 
|  |  | 491 | +        insertSelectiveBill, | 
|  |  | 492 | +        selectBillLists, | 
|  |  | 493 | +        selectByairportcode, | 
|  |  | 494 | +        selectBycustomcode, | 
|  |  | 495 | +        selectReturnMsgList, sendBillSdeclare, updateByPrimaryKeySelectiveBill | 
|  |  | 496 | +    } from "../../api/transport/transport2.0"; | 
|  |  | 497 | +    import {selectCountry, selectCreden} from "../../api/transport"; | 
|  |  | 498 | + | 
|  |  | 499 | +    export default{ | 
|  |  | 500 | +        data(){ | 
|  |  | 501 | +            return{ | 
|  |  | 502 | +                certOptions:[], | 
|  |  | 503 | +                countryOptions:[], | 
|  |  | 504 | +                countryid:'', | 
|  |  | 505 | +                dialogFormVisible:false, | 
|  |  | 506 | +                tableChldren:[], | 
|  |  | 507 | +                dialogVisible: false, | 
|  |  | 508 | +                dialogStatus:'', | 
|  |  | 509 | +                textMap:{ | 
|  |  | 510 | +                    update: '编辑', | 
|  |  | 511 | +                    create: '新增' | 
|  |  | 512 | +                }, | 
|  |  | 513 | +                tableData:[], | 
|  |  | 514 | +                expandedRowKeys: [], | 
|  |  | 515 | +                query:{ | 
|  |  | 516 | +                    aircraftNo:'', | 
|  |  | 517 | +                    flightNo:'', | 
|  |  | 518 | +                    starttime:'', | 
|  |  | 519 | +                    endtime:'', | 
|  |  | 520 | +                    pageNum:0, | 
|  |  | 521 | +                    pageSize:10, | 
|  |  | 522 | +                }, | 
|  |  | 523 | +                form: { | 
|  |  | 524 | +                    uuid: '', | 
|  |  | 525 | +                    aircraftNo: '', | 
|  |  | 526 | +                    flightNo: '', | 
|  |  | 527 | +                    flightDate: '', // Use JavaScript Date object | 
|  |  | 528 | +                    accessFlag: 'A', | 
|  |  | 529 | +                    departureAirport: '', | 
|  |  | 530 | +                    departuredatetime: '', // Use JavaScript Date object | 
|  |  | 531 | +                    departureno: '', | 
|  |  | 532 | +                    arrivalAirport: '', | 
|  |  | 533 | +                    arrivaldatetime: '', // Use JavaScript Date object | 
|  |  | 534 | +                    arrivalno: '', | 
|  |  | 535 | +                    aircrewSum: 0, | 
|  |  | 536 | +                    interPassengerSum: 0, | 
|  |  | 537 | +                    localePassengerSum: 0, | 
|  |  | 538 | +                    interBaggageNum: 0, | 
|  |  | 539 | +                    localeBaggageNum: 0, | 
|  |  | 540 | +                    goodsNum: 0, | 
|  |  | 541 | +                    goodsQuantity: 0, | 
|  |  | 542 | +                    cargoBillNum: 0, | 
|  |  | 543 | +                    passengerPage: 0, | 
|  |  | 544 | +                    aircrewBillNum: 0, | 
|  |  | 545 | +                    aircrewCargoBillNum: 0, | 
|  |  | 546 | +                    arrivalPosition: '', | 
|  |  | 547 | +                    bussinessType: '', | 
|  |  | 548 | +                    messageid: '', | 
|  |  | 549 | +                    status: '', | 
|  |  | 550 | +                    statusMsg: '', | 
|  |  | 551 | +                    meno: '', | 
|  |  | 552 | +                    createTime: '', // Use JavaScript Date object | 
|  |  | 553 | +                    createBy: '', | 
|  |  | 554 | +                    updateTime: '', // Use JavaScript Date object | 
|  |  | 555 | +                    updateBy: '', | 
|  |  | 556 | +                    isDelete: '', | 
|  |  | 557 | +                    remark: 'F', | 
|  |  | 558 | +                    remark1: 'F', | 
|  |  | 559 | +                    remark2: 'F', | 
|  |  | 560 | +                    remark3: 'F', | 
|  |  | 561 | +                    billpersonList: [] // Array of objects that represent the AIR_BILLPERSON model | 
|  |  | 562 | +                }, | 
|  |  | 563 | +                billperson: { | 
|  |  | 564 | +                    autoId: '', | 
|  |  | 565 | +                    name: '', | 
|  |  | 566 | +                    gender: '', | 
|  |  | 567 | +                    gareer: '', // Note: This might be a typo in the original Java class. It should probably be "career". | 
|  |  | 568 | +                    nationality: '', | 
|  |  | 569 | +                    certType: '', | 
|  |  | 570 | +                    ceterNo: '', // Note: This might also be a typo. It should probably be "centerNo" or "certNo". | 
|  |  | 571 | +                    createTime: '', // Use JavaScript Date object | 
|  |  | 572 | +                    createBy: '', | 
|  |  | 573 | +                    updateTime: '', // Use JavaScript Date object | 
|  |  | 574 | +                    updateBy: '', | 
|  |  | 575 | +                    meno: '', | 
|  |  | 576 | +                    isDelete: '0', | 
|  |  | 577 | +                    billsId: '' | 
|  |  | 578 | +                }, | 
|  |  | 579 | +                flightdate:['2021-11-17', '2024-12-24'], | 
|  |  | 580 | +                pickerOptions: { | 
|  |  | 581 | +                    shortcuts: [{ | 
|  |  | 582 | +                        text: '最近一周', | 
|  |  | 583 | +                        onClick(picker) { | 
|  |  | 584 | +                            const end = new Date(); | 
|  |  | 585 | +                            const start = new Date(); | 
|  |  | 586 | +                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); | 
|  |  | 587 | +                            picker.$emit('pick', [start, end]); | 
|  |  | 588 | +                        } | 
|  |  | 589 | +                    }, { | 
|  |  | 590 | +                        text: '最近一个月', | 
|  |  | 591 | +                        onClick(picker) { | 
|  |  | 592 | +                            const end = new Date(); | 
|  |  | 593 | +                            const start = new Date(); | 
|  |  | 594 | +                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); | 
|  |  | 595 | +                            picker.$emit('pick', [start, end]); | 
|  |  | 596 | +                        } | 
|  |  | 597 | +                    }, { | 
|  |  | 598 | +                        text: '最近三个月', | 
|  |  | 599 | +                        onClick(picker) { | 
|  |  | 600 | +                            const end = new Date(); | 
|  |  | 601 | +                            const start = new Date(); | 
|  |  | 602 | +                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); | 
|  |  | 603 | +                            picker.$emit('pick', [start, end]); | 
|  |  | 604 | +                        } | 
|  |  | 605 | +                    }] | 
|  |  | 606 | +                }, | 
|  |  | 607 | +                total:0, | 
|  |  | 608 | +                returnVisible:false, | 
|  |  | 609 | +                gridData:[], | 
|  |  | 610 | +                customcodes:[], | 
|  |  | 611 | +                airportcodes:[], | 
|  |  | 612 | +                loading:false, | 
|  |  | 613 | +                rules: { | 
|  |  | 614 | +                    aircraftNo: [ | 
|  |  | 615 | +                        { required: true, message: '航空注册器编号不可为空', trigger: 'blur' } | 
|  |  | 616 | +                    ], | 
|  |  | 617 | +                    flightNo: [ | 
|  |  | 618 | +                        { required: true, message: '航班号不可为空', trigger: 'blur' } | 
|  |  | 619 | +                    ], | 
|  |  | 620 | +                    flightDate: [ | 
|  |  | 621 | +                        { required: true, message: '航班日期不可为空', trigger: 'blur' } | 
|  |  | 622 | +                    ], | 
|  |  | 623 | +                    arrivalAirport: [ | 
|  |  | 624 | +                        { required: true, message: '进出港口不可为空', trigger: 'blur' } | 
|  |  | 625 | +                    ], | 
|  |  | 626 | +                    arrivalno: [ | 
|  |  | 627 | +                        { required: true, message: '海关关区不可为空', trigger: 'blur' } | 
|  |  | 628 | +                    ], | 
|  |  | 629 | +                    arrivaldatetime: [ | 
|  |  | 630 | +                        { required: true, message: '进出境时间不可为空', trigger: 'blur' } | 
|  |  | 631 | +                    ], | 
|  |  | 632 | +                    aircrewSum: [ | 
|  |  | 633 | +                        { required: true, message: '机组人数不可为空', trigger: 'blur' } | 
|  |  | 634 | +                    ], | 
|  |  | 635 | +                    interPassengerSum: [ | 
|  |  | 636 | +                        { required: true, message: '国际旅客不可为空', trigger: 'blur' } | 
|  |  | 637 | +                    ], | 
|  |  | 638 | +                    interBaggageNum: [ | 
|  |  | 639 | +                        { required: true, message: '国际行李件数不可为空', trigger: 'blur' } | 
|  |  | 640 | +                    ], | 
|  |  | 641 | +                    name: [ | 
|  |  | 642 | +                        { required: true, message: '机组人员姓名不可为空', trigger: 'blur' } | 
|  |  | 643 | +                    ], | 
|  |  | 644 | +                    nationality: [ | 
|  |  | 645 | +                        { required: true, message: '机组人员国籍不可为空', trigger: 'blur' } | 
|  |  | 646 | +                    ], | 
|  |  | 647 | +                    gender: [ | 
|  |  | 648 | +                        { required: true, message: '机组人员性别不可为空', trigger: 'blur' } | 
|  |  | 649 | +                    ], | 
|  |  | 650 | +                    gareer: [ | 
|  |  | 651 | +                        { required: true, message: '机组人员职务不可为空', trigger: 'blur' } | 
|  |  | 652 | +                    ], | 
|  |  | 653 | +                    certType: [ | 
|  |  | 654 | +                        { required: true, message: '机组人员类型不可为空', trigger: 'blur' } | 
|  |  | 655 | +                    ], | 
|  |  | 656 | +                    ceterNo: [ | 
|  |  | 657 | +                        { required: true, message: '机组人员证件号不可为空', trigger: 'blur' } | 
|  |  | 658 | +                    ], | 
|  |  | 659 | +                }, | 
|  |  | 660 | +            } | 
|  |  | 661 | +        }, | 
|  |  | 662 | +        methods:{ | 
|  |  | 663 | +            addBillperson(){ | 
|  |  | 664 | +                this.dialogFormVisible = true; | 
|  |  | 665 | +            }, | 
|  |  | 666 | +            addRow(formName) { | 
|  |  | 667 | +                this.$refs[formName].validate((valid) => { | 
|  |  | 668 | +                    if (valid) { | 
|  |  | 669 | +                        const newMember = { | 
|  |  | 670 | +                            autoId: this.tableChldren.length > 0 ? this.tableChldren[this.tableChldren.length - 1].autoId + 1 : 1, | 
|  |  | 671 | +                            name: this.billperson.name, | 
|  |  | 672 | +                            gender: this.billperson.gender, | 
|  |  | 673 | +                            nationality: this.billperson.nationality, | 
|  |  | 674 | +                            gareer: this.billperson.gareer, | 
|  |  | 675 | +                            certType: this.billperson.certType, | 
|  |  | 676 | +                            ceterNo: this.billperson.ceterNo, | 
|  |  | 677 | +                            meno:this.billperson.meno, | 
|  |  | 678 | +                            createTime: '', // Use JavaScript Date object | 
|  |  | 679 | +                            createBy: '', | 
|  |  | 680 | +                            updateTime: '', // Use JavaScript Date object | 
|  |  | 681 | +                            updateBy: '', | 
|  |  | 682 | +                            isDelete: '0', | 
|  |  | 683 | +                            billsId: '' | 
|  |  | 684 | +                        }; | 
|  |  | 685 | +                        this.tableChldren.push(newMember); | 
|  |  | 686 | +                        this.resetForm(); | 
|  |  | 687 | +                        this.dialogFormVisible = false; | 
|  |  | 688 | +                    } else { | 
|  |  | 689 | +                        return false; | 
|  |  | 690 | +                    } | 
|  |  | 691 | +                }); | 
|  |  | 692 | +            }, | 
|  |  | 693 | +            resetForm() { | 
|  |  | 694 | +                this.billperson.name = ''; | 
|  |  | 695 | +                this.billperson.gender = ''; | 
|  |  | 696 | +                this.billperson.nationality = ''; | 
|  |  | 697 | +                this.billperson.gareer = ''; | 
|  |  | 698 | +                this.billperson.certType = ''; | 
|  |  | 699 | +                this.billperson.ceterNo = ''; | 
|  |  | 700 | +            }, | 
|  |  | 701 | +            deleteRow(index, rows) { | 
|  |  | 702 | +                rows.splice(index, 1); | 
|  |  | 703 | +            }, | 
|  |  | 704 | +            //暂存新增 | 
|  |  | 705 | +            createData(formName){ | 
|  |  | 706 | +                this.$refs[formName].validate((valid) => { | 
|  |  | 707 | +                    if (valid) { | 
|  |  | 708 | +                        this.form.departuredatetime=this.form.arrivaldatetime; | 
|  |  | 709 | +                        this.form.departureAirport=this.form.arrivalAirport; | 
|  |  | 710 | +                        insertSelectiveBill(this.form).then(res =>{ | 
|  |  | 711 | +                            let response=res.data; | 
|  |  | 712 | +                            if(response.code=='200'){ | 
|  |  | 713 | +                                this.dialogVisible=false; | 
|  |  | 714 | +                                this.$message.success(response.msg); | 
|  |  | 715 | +                                this.getList(); | 
|  |  | 716 | +                            }else{ | 
|  |  | 717 | +                                this.$message.error(response.msg) | 
|  |  | 718 | +                            } | 
|  |  | 719 | +                        }); | 
|  |  | 720 | +                    } else { | 
|  |  | 721 | +                        return false; | 
|  |  | 722 | +                    } | 
|  |  | 723 | +                }); | 
|  |  | 724 | +            }, | 
|  |  | 725 | +            //暂存更新 | 
|  |  | 726 | +            updateData(formName){ | 
|  |  | 727 | +                this.$refs[formName].validate((valid) => { | 
|  |  | 728 | +                    if (valid) { | 
|  |  | 729 | +                        this.form.departuredatetime=this.form.arrivaldatetime; | 
|  |  | 730 | +                        this.form.departureAirport=this.form.arrivalAirport; | 
|  |  | 731 | +                        updateByPrimaryKeySelectiveBill(this.form).then(res =>{ | 
|  |  | 732 | +                            let response=res.data; | 
|  |  | 733 | +                            if(response.code=='200'){ | 
|  |  | 734 | +                                this.dialogVisible=false; | 
|  |  | 735 | +                                Object.assign(this.$data, this.$options.data()); | 
|  |  | 736 | +                                this.$message.success(response.msg); | 
|  |  | 737 | +                                this.getList(); | 
|  |  | 738 | +                            }else{ | 
|  |  | 739 | +                                this.$message.error(response.msg) | 
|  |  | 740 | +                            } | 
|  |  | 741 | +                        }); | 
|  |  | 742 | +                    } else { | 
|  |  | 743 | +                        return false; | 
|  |  | 744 | +                    } | 
|  |  | 745 | +                }); | 
|  |  | 746 | +            }, | 
|  |  | 747 | +            selectList(){ | 
|  |  | 748 | +                if(this.flightdate !== null && this.flightdate !== ""){ | 
|  |  | 749 | +                    this.query.starttime = this.flightdate[0]; | 
|  |  | 750 | +                    this.query.endtime = this.flightdate[1]; | 
|  |  | 751 | +                }else{ | 
|  |  | 752 | +                    return this.$message.error('请选取时间区间') | 
|  |  | 753 | +                } | 
|  |  | 754 | +                selectBillLists(this.query).then((response) => { | 
|  |  | 755 | +                    const res = response.data | 
|  |  | 756 | +                    if (res.code !== '200') { | 
|  |  | 757 | +                        this.loading = false; | 
|  |  | 758 | +                        return this.$message.error('获取消息收发记录,失败!') | 
|  |  | 759 | +                    } | 
|  |  | 760 | +                    // 获取列表数据 | 
|  |  | 761 | +                    this.tableData = res.data.list | 
|  |  | 762 | +                    //this.expandedRowKeys = this.tableData.map(item => item.uuid); | 
|  |  | 763 | +                    // 获取列表的总记录数 | 
|  |  | 764 | +                    this.total = res.data.total | 
|  |  | 765 | +                    this.loading = false; | 
|  |  | 766 | +                    this.$message.success('获取消息收发记录,成功!'); | 
|  |  | 767 | +                }).catch(error => { | 
|  |  | 768 | +                    // 关闭加载 | 
|  |  | 769 | +                    this.$message.error(error.toString()) | 
|  |  | 770 | +                }) | 
|  |  | 771 | +            }, | 
|  |  | 772 | +            addForm(){ | 
|  |  | 773 | +                this.dialogVisible=true; | 
|  |  | 774 | +                this.dialogStatus='create'; | 
|  |  | 775 | +                this.form={ | 
|  |  | 776 | +                    uuid: '', | 
|  |  | 777 | +                    aircraftNo: '', | 
|  |  | 778 | +                    flightNo: '', | 
|  |  | 779 | +                    flightDate: '', // Use JavaScript Date object | 
|  |  | 780 | +                    accessFlag: 'A', | 
|  |  | 781 | +                    departureAirport: '', | 
|  |  | 782 | +                    departuredatetime: '', // Use JavaScript Date object | 
|  |  | 783 | +                    departureno: '', | 
|  |  | 784 | +                    arrivalAirport: '', | 
|  |  | 785 | +                    arrivaldatetime: '', // Use JavaScript Date object | 
|  |  | 786 | +                    arrivalno: '', | 
|  |  | 787 | +                    aircrewSum: 0, | 
|  |  | 788 | +                    interPassengerSum: 0, | 
|  |  | 789 | +                    localePassengerSum: 0, | 
|  |  | 790 | +                    interBaggageNum: 0, | 
|  |  | 791 | +                    localeBaggageNum: 0, | 
|  |  | 792 | +                    goodsNum: 0, | 
|  |  | 793 | +                    goodsQuantity: 0, | 
|  |  | 794 | +                    cargoBillNum: 0, | 
|  |  | 795 | +                    passengerPage: 0, | 
|  |  | 796 | +                    aircrewBillNum: 0, | 
|  |  | 797 | +                    aircrewCargoBillNum: 0, | 
|  |  | 798 | +                    arrivalPosition: '', | 
|  |  | 799 | +                    bussinessType: '', | 
|  |  | 800 | +                    messageid: '', | 
|  |  | 801 | +                    status: '', | 
|  |  | 802 | +                    statusMsg: '', | 
|  |  | 803 | +                    meno: '', | 
|  |  | 804 | +                    createTime: '', // Use JavaScript Date object | 
|  |  | 805 | +                    createBy: '', | 
|  |  | 806 | +                    updateTime: '', // Use JavaScript Date object | 
|  |  | 807 | +                    updateBy: '', | 
|  |  | 808 | +                    isDelete: '', | 
|  |  | 809 | +                    remark: 'F', | 
|  |  | 810 | +                    remark1: 'F', | 
|  |  | 811 | +                    remark2: 'F', | 
|  |  | 812 | +                    remark3: 'F', | 
|  |  | 813 | +                    billpersonList: [] // Array of objects that represent the AIR_BILLPERSON model | 
|  |  | 814 | +                }; | 
|  |  | 815 | +                this.tableChldren=this.form.billpersonList; | 
|  |  | 816 | +            }, | 
|  |  | 817 | +            ediForm(row){ | 
|  |  | 818 | +                this.dialogVisible=true; | 
|  |  | 819 | +                this.dialogStatus='update'; | 
|  |  | 820 | +                this.form=row; | 
|  |  | 821 | +                this.tableChldren=row.billpersonList; | 
|  |  | 822 | +            }, | 
|  |  | 823 | +            sendstying(row,FunctionCode){ | 
|  |  | 824 | +                const params = { | 
|  |  | 825 | +                    row: row, | 
|  |  | 826 | +                    FunctionCode: FunctionCode | 
|  |  | 827 | +                }; | 
|  |  | 828 | +                sendBillSdeclare(params).then(res =>{ | 
|  |  | 829 | +                    let response=res.data; | 
|  |  | 830 | +                    if(response.code=='200'){ | 
|  |  | 831 | +                        this.selectList(); | 
|  |  | 832 | +                        this.$message.success(response.msg) | 
|  |  | 833 | +                    }else{ | 
|  |  | 834 | +                        this.$message.error(response.msg) | 
|  |  | 835 | +                    } | 
|  |  | 836 | +                }); | 
|  |  | 837 | +            }, | 
|  |  | 838 | +            formatType: function(row,column){ | 
|  |  | 839 | +                return row.certType=='06'?'一次有效台湾居民来往大陆通行证':row.certType=='11'?'外交护照':row.certType=='12'?'公务护照' | 
|  |  | 840 | +                    :row.certType=='13'?'因公普通护照':row.certType=='14'?'普通护照':row.certType=='15'?'中华人民共和国旅行证' | 
|  |  | 841 | +                        :row.certType=='16'?'五年有效台湾居民往来大陆通行证':row.certType=='17'?'海员证':row.certType=='20'?'中华人民共和国出入境通行证' | 
|  |  | 842 | +                            :row.certType=='21'?'前往港澳通行证(16页,多次有效)':row.certType=='22'?'前往港澳通行证(8页,一次有效)' | 
|  |  | 843 | +                                :row.certType=='23'?'前往港澳通行证':row.certType=='24'?'港澳同胞回乡证或港澳居民来往内地通行证' | 
|  |  | 844 | +                                    :row.certType=='25'?'大陆居民来往台湾通行证':row.certType=='30'?'外国人出入境通行证':row.certType=='38'?'中华人民共和国回国证明' | 
|  |  | 845 | +                                        :row.certType=='70'?'香港特别行政区护照':row.certType=='71'?'澳门特别行政区护照' | 
|  |  | 846 | +                                            :row.certType=='72'?'因公往来香港澳门特别行政区通行证(官员)' | 
|  |  | 847 | +                                                :row.certType=='73'?'因公往来香港澳门特别行政区通行证(普通)':row.certType=='74'?'中华人民共和国居民身份证':row.certType=='75'?'其他证件' | 
|  |  | 848 | +                                                    :row.certType=='98'?'其他因私证件(包括联合国通行证等)' | 
|  |  | 849 | +                                                        :row.certType=='99'?'其他因私证件(包括难民证等)':''; | 
|  |  | 850 | +            }, | 
|  |  | 851 | +            handleSizeChange(val) { | 
|  |  | 852 | +                this.query.pageSize=val; | 
|  |  | 853 | +                this.selectList(); | 
|  |  | 854 | +            }, | 
|  |  | 855 | +            handleCurrentChange(val) { | 
|  |  | 856 | +                this.query.pageNum=val; | 
|  |  | 857 | +                this.selectList(); | 
|  |  | 858 | +            }, | 
|  |  | 859 | +            //查询回执列表 | 
|  |  | 860 | +            returnlist(row){ | 
|  |  | 861 | +                this.gridData=[]; | 
|  |  | 862 | +                let params={messageid:row.messageid}; | 
|  |  | 863 | +                selectReturnMsgList(params).then(res=>{ | 
|  |  | 864 | +                    let response=res.data.data; | 
|  |  | 865 | +                    this.gridData=response; | 
|  |  | 866 | +                }); | 
|  |  | 867 | +                this.returnVisible=true; | 
|  |  | 868 | +            }, | 
|  |  | 869 | +            handleClose() { | 
|  |  | 870 | +                this.returnVisible=false; | 
|  |  | 871 | +            }, | 
|  |  | 872 | +            //获取关区代码 | 
|  |  | 873 | +            getCustomCode:function(query){ | 
|  |  | 874 | +                this.customcodes=[]; | 
|  |  | 875 | +                let params={customcode:query}; | 
|  |  | 876 | +                this.loading = true; | 
|  |  | 877 | +                selectBycustomcode(params).then(res =>{ | 
|  |  | 878 | +                    if (res !== '') { | 
|  |  | 879 | +                        setTimeout(() => { | 
|  |  | 880 | +                            this.loading = false; | 
|  |  | 881 | +                            this.customcodes=res.data.data; | 
|  |  | 882 | +                        }, 200); | 
|  |  | 883 | +                    } else { | 
|  |  | 884 | +                        this.customcodes = []; | 
|  |  | 885 | +                    } | 
|  |  | 886 | + | 
|  |  | 887 | +                }); | 
|  |  | 888 | +            }, | 
|  |  | 889 | +            //获取机场代码 | 
|  |  | 890 | +            getAirportCode:function(query){ | 
|  |  | 891 | +                this.airportcodes=[]; | 
|  |  | 892 | +                let params={airportid:query}; | 
|  |  | 893 | +                this.loading = true; | 
|  |  | 894 | +                selectByairportcode(params).then(res =>{ | 
|  |  | 895 | +                    if (res !== '') { | 
|  |  | 896 | +                        setTimeout(() => { | 
|  |  | 897 | +                            this.loading = false; | 
|  |  | 898 | +                            this.airportcodes=res.data.data; | 
|  |  | 899 | +                        }, 200); | 
|  |  | 900 | +                    } else { | 
|  |  | 901 | +                        this.airportcodes = []; | 
|  |  | 902 | +                    } | 
|  |  | 903 | + | 
|  |  | 904 | +                }); | 
|  |  | 905 | +            }, | 
|  |  | 906 | +            /*获取国籍*/ | 
|  |  | 907 | +            getCountry:function(query){ | 
|  |  | 908 | +                this.countryOptions=[]; | 
|  |  | 909 | +                let params={countryid:query}; | 
|  |  | 910 | +                this.loading = true; | 
|  |  | 911 | +                selectCountry(params).then(res =>{ | 
|  |  | 912 | +                    if (res!=null) { | 
|  |  | 913 | +                        console.log(res.data.data) | 
|  |  | 914 | +                        setTimeout(() => { | 
|  |  | 915 | +                            this.loading = false; | 
|  |  | 916 | +                            this.countryOptions=res.data.data; | 
|  |  | 917 | +                        }, 200); | 
|  |  | 918 | +                    } else { | 
|  |  | 919 | +                        this.countryOptions = []; | 
|  |  | 920 | +                    } | 
|  |  | 921 | + | 
|  |  | 922 | +                }); | 
|  |  | 923 | +            }, | 
|  |  | 924 | +            selectChange:function(val){ | 
|  |  | 925 | +                console.log(val) | 
|  |  | 926 | +                this.$emit('tellFarther',val); | 
|  |  | 927 | +            }, | 
|  |  | 928 | +            /*获取证件*/ | 
|  |  | 929 | +            getCreden:function(query){ | 
|  |  | 930 | +                this.certOptions=[]; | 
|  |  | 931 | +                let params={serialno:query}; | 
|  |  | 932 | +                this.loading = true; | 
|  |  | 933 | +                selectCreden(params).then(res =>{ | 
|  |  | 934 | +                    if (res!=null) { | 
|  |  | 935 | +                        console.log(res.data.data) | 
|  |  | 936 | +                        setTimeout(() => { | 
|  |  | 937 | +                            this.loading = false; | 
|  |  | 938 | +                            this.certOptions=res.data.data; | 
|  |  | 939 | +                        }, 200); | 
|  |  | 940 | +                    } else { | 
|  |  | 941 | +                        this.certOptions = []; | 
|  |  | 942 | +                    } | 
|  |  | 943 | + | 
|  |  | 944 | +                }); | 
|  |  | 945 | +            }, | 
|  |  | 946 | +        }, | 
|  |  | 947 | +        mounted() { | 
|  |  | 948 | +            this.expandedRowKeys = this.tableData.map(item => item.uuid); | 
|  |  | 949 | +        } | 
|  |  | 950 | +    } | 
|  |  | 951 | +</script> |