作者 zhangFan

新增和修改页面

@@ -85,7 +85,7 @@ @@ -85,7 +85,7 @@
85 }, 85 },
86 "adler-32": { 86 "adler-32": {
87 "version": "1.2.0", 87 "version": "1.2.0",
88 - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", 88 + "resolved": "https://registry.npm.taobao.org/adler-32/download/adler-32-1.2.0.tgz",
89 "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", 89 "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=",
90 "requires": { 90 "requires": {
91 "exit-on-epipe": "~1.0.1", 91 "exit-on-epipe": "~1.0.1",
@@ -613,8 +613,8 @@ @@ -613,8 +613,8 @@
613 }, 613 },
614 "async-validator": { 614 "async-validator": {
615 "version": "1.8.5", 615 "version": "1.8.5",
616 - "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz",  
617 - "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", 616 + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz",
  617 + "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=",
618 "requires": { 618 "requires": {
619 "babel-runtime": "6.x" 619 "babel-runtime": "6.x"
620 } 620 }
@@ -896,8 +896,8 @@ @@ -896,8 +896,8 @@
896 }, 896 },
897 "babel-helper-vue-jsx-merge-props": { 897 "babel-helper-vue-jsx-merge-props": {
898 "version": "2.0.3", 898 "version": "2.0.3",
899 - "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",  
900 - "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" 899 + "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
  900 + "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY="
901 }, 901 },
902 "babel-helpers": { 902 "babel-helpers": {
903 "version": "6.24.1", 903 "version": "6.24.1",
@@ -2325,7 +2325,7 @@ @@ -2325,7 +2325,7 @@
2325 }, 2325 },
2326 "codepage": { 2326 "codepage": {
2327 "version": "1.14.0", 2327 "version": "1.14.0",
2328 - "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz", 2328 + "resolved": "https://registry.npm.taobao.org/codepage/download/codepage-1.14.0.tgz",
2329 "integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=", 2329 "integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=",
2330 "requires": { 2330 "requires": {
2331 "commander": "~2.14.1", 2331 "commander": "~2.14.1",
@@ -2961,8 +2961,8 @@ @@ -2961,8 +2961,8 @@
2961 }, 2961 },
2962 "deepmerge": { 2962 "deepmerge": {
2963 "version": "1.5.2", 2963 "version": "1.5.2",
2964 - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",  
2965 - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" 2964 + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz?cache=0&sync_timestamp=1570547201087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.5.2.tgz",
  2965 + "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M="
2966 }, 2966 },
2967 "define-property": { 2967 "define-property": {
2968 "version": "2.0.2", 2968 "version": "2.0.2",
@@ -3227,13 +3227,15 @@ @@ -3227,13 +3227,15 @@
3227 "dev": true 3227 "dev": true
3228 }, 3228 },
3229 "element-ui": { 3229 "element-ui": {
3230 - "version": "1.4.13",  
3231 - "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-1.4.13.tgz",  
3232 - "integrity": "sha512-EGdw/qC2RUmCDzAy3X06LL+jDWmrMezMndviE5CnUDi2XcZz/uZUVVj6bJ6piY+Flw7HNO+Ed81LXrdZ2v+nXA==", 3230 + "version": "2.12.0",
  3231 + "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.12.0.tgz",
  3232 + "integrity": "sha1-qJO8Ea5Pfbt+nVQWBvI+ZD8THuQ=",
3233 "requires": { 3233 "requires": {
3234 "async-validator": "~1.8.1", 3234 "async-validator": "~1.8.1",
3235 "babel-helper-vue-jsx-merge-props": "^2.0.0", 3235 "babel-helper-vue-jsx-merge-props": "^2.0.0",
3236 "deepmerge": "^1.2.0", 3236 "deepmerge": "^1.2.0",
  3237 + "normalize-wheel": "^1.0.1",
  3238 + "resize-observer-polyfill": "^1.5.0",
3237 "throttle-debounce": "^1.0.1" 3239 "throttle-debounce": "^1.0.1"
3238 } 3240 }
3239 }, 3241 },
@@ -6294,6 +6296,11 @@ @@ -6294,6 +6296,11 @@
6294 "sort-keys": "^1.0.0" 6296 "sort-keys": "^1.0.0"
6295 } 6297 }
6296 }, 6298 },
  6299 + "normalize-wheel": {
  6300 + "version": "1.0.1",
  6301 + "resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
  6302 + "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
  6303 + },
6297 "npm": { 6304 "npm": {
6298 "version": "6.10.3", 6305 "version": "6.10.3",
6299 "resolved": "https://registry.npmjs.org/npm/-/npm-6.10.3.tgz", 6306 "resolved": "https://registry.npmjs.org/npm/-/npm-6.10.3.tgz",
@@ -10525,7 +10532,7 @@ @@ -10525,7 +10532,7 @@
10525 }, 10532 },
10526 "raw-loader": { 10533 "raw-loader": {
10527 "version": "0.5.1", 10534 "version": "0.5.1",
10528 - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", 10535 + "resolved": "https://registry.npm.taobao.org/raw-loader/download/raw-loader-0.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fraw-loader%2Fdownload%2Fraw-loader-0.5.1.tgz",
10529 "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=" 10536 "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao="
10530 }, 10537 },
10531 "read-pkg": { 10538 "read-pkg": {
@@ -11118,6 +11125,11 @@ @@ -11118,6 +11125,11 @@
11118 "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", 11125 "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
11119 "dev": true 11126 "dev": true
11120 }, 11127 },
  11128 + "resize-observer-polyfill": {
  11129 + "version": "1.5.1",
  11130 + "resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresize-observer-polyfill%2Fdownload%2Fresize-observer-polyfill-1.5.1.tgz",
  11131 + "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
  11132 + },
11121 "resolve": { 11133 "resolve": {
11122 "version": "1.12.0", 11134 "version": "1.12.0",
11123 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", 11135 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
@@ -12034,8 +12046,8 @@ @@ -12034,8 +12046,8 @@
12034 }, 12046 },
12035 "throttle-debounce": { 12047 "throttle-debounce": {
12036 "version": "1.1.0", 12048 "version": "1.1.0",
12037 - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz",  
12038 - "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==" 12049 + "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz",
  12050 + "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0="
12039 }, 12051 },
12040 "through": { 12052 "through": {
12041 "version": "2.3.8", 12053 "version": "2.3.8",
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 "dependencies": { 12 "dependencies": {
13 "axios": "^0.19.0", 13 "axios": "^0.19.0",
14 "echarts": "^3.3.2", 14 "echarts": "^3.3.2",
15 - "element-ui": "^1.2.8", 15 + "element-ui": "^2.12.0",
16 "eslint": "^5.14.1", 16 "eslint": "^5.14.1",
17 "file-saver": "^2.0.2", 17 "file-saver": "^2.0.2",
18 "font-awesome": "^4.7.0", 18 "font-awesome": "^4.7.0",
  1 +import http from './http.js'
  2 +let baseUrl = 'nmms-server/nmms/country'
  3 +
  4 +
  5 +export const getCountry = params => { return http.get(`${baseUrl}/getCountryCode`, params); };
  6 +
  7 +export const getByCountryCodeForName = params => { return http.post(`${baseUrl}/getByCountryCodeForName`,params)};
  8 +
  9 +export const getByCountryCode = params => { return http.post(`${baseUrl}/getByCountryCode`,params)};
@@ -23,6 +23,16 @@ export default { @@ -23,6 +23,16 @@ export default {
23 } 23 }
24 }); 24 });
25 }, 25 },
  26 + getUrlEnclode(url, params) {
  27 + return axios({
  28 + method: 'GET',
  29 + url: url,
  30 + data: qs.stringify(params),
  31 + headers: {
  32 + 'Content-Type': 'application/x-www-form-urlencoded',
  33 + }
  34 + });
  35 + },
26 put(url, params){ 36 put(url, params){
27 return axios({ 37 return axios({
28 method: 'PUT', 38 method: 'PUT',
  1 +import http from './http.js'
  2 +let baseUrl = 'nmms-server/nmms/mt1201'
  3 +
  4 +export const getMt1201ListForParam = params => { return http.get(`${baseUrl}/getMt1201ListForParam`, params); };
  5 +
  6 +export const deleteByIsDelete = params => { return http.del(`${baseUrl}/deleteByIsDelete`,params)};
  7 +
  8 +export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus`, { params: params }); };
  9 +
  10 +export const updateMT1201 = params => { return http.put(`${baseUrl}/updateMT1201`,params)};
  11 +
  12 +export const addMt1201 = params => { return http.post(`${baseUrl}/addMt1201`,params)};
  13 +
  14 +
1 <template> 1 <template>
2 <el-table :data="formatData" :row-style="showRow" v-bind="$attrs"> 2 <el-table :data="formatData" :row-style="showRow" v-bind="$attrs">
3 <el-table-column type="selection" width="50" align="center"></el-table-column> 3 <el-table-column type="selection" width="50" align="center"></el-table-column>
4 - <el-table-column v-if="columns.length===0" width="40" align="center"> 4 + <el-table-column v-if="columns.length===0" width="55" align="center">
5 <template slot-scope="scope"> 5 <template slot-scope="scope">
6 <span v-for="space in scope.row._level" :key="space" class="ms-tree-space"/> 6 <span v-for="space in scope.row._level" :key="space" class="ms-tree-space"/>
7 <span v-if="iconShow(0,scope.row)" class="tree-ctrl" @click="toggleExpanded(scope.$index)"> 7 <span v-if="iconShow(0,scope.row)" class="tree-ctrl" @click="toggleExpanded(scope.$index)">
@@ -2,7 +2,7 @@ import babelpolyfill from 'babel-polyfill' @@ -2,7 +2,7 @@ import babelpolyfill from 'babel-polyfill'
2 import Vue from 'vue' 2 import Vue from 'vue'
3 import App from './App' 3 import App from './App'
4 import ElementUI from 'element-ui' 4 import ElementUI from 'element-ui'
5 -import 'element-ui/lib/theme-default/index.css' 5 +import 'element-ui/lib/theme-chalk/index.css'
6 //import './assets/theme/theme-green/index.css' 6 //import './assets/theme/theme-green/index.css'
7 import VueRouter from 'vue-router' 7 import VueRouter from 'vue-router'
8 import store from './vuex/store' 8 import store from './vuex/store'
@@ -8,7 +8,7 @@ const type = [{ @@ -8,7 +8,7 @@ const type = [{
8 value: 'CN', 8 value: 'CN',
9 label: 'PASSPORT' 9 label: 'PASSPORT'
10 }, { 10 }, {
11 - value: 'CN', 11 + value: 'US',
12 label: 'OC' 12 label: 'OC'
13 }, { 13 }, {
14 value: 'CN', 14 value: 'CN',
  1 +<script src="../../api/log_api.js"></script>
  2 +<template>
  3 + <div class="app-container">
  4 + <div class="filter-container">
  5 + <el-input v-model="listQuery.awba" style="width: 200px;" class="filter-item" placeholder="运单号"/>
  6 + <el-input v-model="listQuery.flightno" style="width: 200px;" class="filter-item" placeholder="航班号"/>
  7 + <el-date-picker v-model="listQuery.flightdate" type="datetime" placeholder="航班日期"
  8 + class="filter-item"></el-date-picker>
  9 +
  10 + <el-select v-model="listQuery.customcode" class="filter-item" placeholder="请选择关区代码">
  11 + <el-option v-for="item in manifestCustoms" :key="item" :label="item" :value="item"></el-option>
  12 + </el-select>
  13 + <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleFilter">{{
  14 + $t('table.search') }}
  15 + </el-button>
  16 + <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-edit"
  17 + @click="handleCreate">{{ $t('table.add') }}
  18 + </el-button>
  19 + <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-message"
  20 + @click="handleCreate">批量发送
  21 + </el-button>
  22 + </div>
  23 + <tree-table :data="orgData" :eval-func="func" :eval-args="args" :expand-all="expandAll" stripe
  24 + style="font-size: 13px" border @selection-change="handleSelectionChange">
  25 + <el-table-column prop="waybillNo" label="主单号" width="130px" align="center">
  26 + <template slot-scope="scope">
  27 + <span>{{ scope.row.awba }}</span>
  28 + </template>
  29 + </el-table-column>
  30 + <el-table-column label="分单号" width="120px" align="center">
  31 + <template slot-scope="scope">
  32 + <span>{{ scope.row.awbh }}</span>
  33 + </template>
  34 + </el-table-column>
  35 + <el-table-column label="航班号" width="90px" align="center">
  36 + <template slot-scope="scope">
  37 + <span>{{ scope.row.carrier +scope.row.flightno }}</span>
  38 + </template>
  39 + </el-table-column>
  40 + <el-table-column label="航班日期" width="120px" align="center" sortable>
  41 + <template slot-scope="scope">
  42 + <span>{{ scope.row.flightdate }}</span>
  43 + </template>
  44 + </el-table-column>
  45 + <el-table-column label="起始站" width="70px" align="center">
  46 + <template slot-scope="scope">
  47 + <span>{{ scope.row.originstation }}</span>
  48 + </template>
  49 + </el-table-column>
  50 + <el-table-column label="目的站" width="70px" align="center">
  51 + <template slot-scope="scope">
  52 + <span>{{ scope.row.destinationstation }}</span>
  53 + </template>
  54 + </el-table-column>
  55 + <el-table-column label="件数" width="70px" align="center">
  56 + <template slot-scope="scope">
  57 + <span>{{ scope.row.piece }}</span>
  58 + </template>
  59 + </el-table-column>
  60 + <el-table-column label="重量" width="70px" align="center">
  61 + <template slot-scope="scope">
  62 + <span>{{ scope.row.weight }}</span>
  63 + </template>
  64 + </el-table-column>
  65 + <!--<el-table-column :label="$t('table.status')" width="90px" sortable>-->
  66 + <!--<template slot-scope="scope">-->
  67 + <!--<el-tag :type="scope.row.status | statusFilter">{{ scope.row.status }}</el-tag>-->
  68 + <!--</template>-->
  69 + <!--</el-table-column>-->
  70 + <el-table-column label="回执内容" width="300px" align="center">
  71 + <template slot-scope="scope">
  72 + <span>{{ scope.row.customText }}</span>
  73 + <!--<div>-->
  74 + <!--<el-progress :percentage="scope.row.customComplate" :status="scope.row.status | statusFilter"/>-->
  75 + <!--</div>-->
  76 + </template>
  77 + </el-table-column>
  78 + <el-table-column :label="$t('table.actions')" align="center">
  79 + <template slot-scope="scope">
  80 + <el-button type="primary" size="mini" @click="handleUpdate(scope.row)">快速编辑</el-button>
  81 + <el-button v-if="scope.row.status!='41301'" size="mini" type="success"
  82 + @click="handleModifyStatus(scope.row,'41301')">{{ $t('table.publish') }}
  83 + </el-button>
  84 + <el-button v-if="scope.row.status!='10002'" size="mini"
  85 + @click="handleModifyStatus(scope.row,'10002')">客服反馈
  86 + </el-button>
  87 + <el-button v-if="scope.row.status=='10002'" size="mini" type="danger"
  88 + @click="handleModifyStatus(scope.row,'deleted')">{{ $t('table.delete') }}
  89 + </el-button>
  90 + <el-switch
  91 + v-model="scope.row.resend"
  92 + @change="handleSwitch(scope.row)"
  93 + active-color="#13ce66"
  94 + inactive-color="#ff4949"
  95 + :key="scope.row.id"
  96 + active-text="可发"
  97 + inactive-text="禁发">
  98 + </el-switch>
  99 + </template>
  100 + </el-table-column>
  101 + </tree-table>
  102 + <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit"
  103 + @pagination="getList"/>
  104 +
  105 + <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
  106 + <el-form ref="formData" :inline="true" :rules="rules" :model="temp" label-width="110px"
  107 + style="font-size: 13px" class="el-dialog-div">
  108 + <div class="tags">
  109 + <el-tag type="info" effect="plain">
  110 + 航班信息
  111 + </el-tag>
  112 + </div>
  113 + <div class="row-bg">
  114 + <el-row>
  115 + <el-col :span="10">
  116 + <el-form-item label="航班号" prop="flightno">
  117 + <div v-if="dialogStatus === 'update'">
  118 + <el-input disabled="" v-model="temp.carrier + temp.flightno"/>
  119 + </div>
  120 + <div v-else>
  121 + <el-input v-model="flightno"/>
  122 + </div>
  123 +
  124 + </el-form-item>
  125 + </el-col>
  126 + <el-col :span="10">
  127 + <el-form-item label="航班日期" prop="flightdate">
  128 + <div v-if="dialogStatus === 'update'">
  129 + <el-date-picker disabled="" :picker-options="pickerOptions"
  130 + v-model="temp.flightdate" align="right"
  131 + type="date" placeholder="请输入航班日期" style="width: 87%"/>
  132 + </div>
  133 + <div v-else>
  134 + <el-date-picker :picker-options="pickerOptions" v-model="temp.flightdate"
  135 + align="right"
  136 + type="date" placeholder="请输入航班日期" style="width: 87%"/>
  137 + </div>
  138 + </el-form-item>
  139 + </el-col>
  140 + </el-row>
  141 + <el-row>
  142 + <el-col :span="10">
  143 + <div v-if="dialogStatus === 'update'">
  144 + <el-form-item label="起始站" prop="originstation">
  145 + <el-input disabled="" v-model="originstation"/>
  146 + </el-form-item>
  147 + </div>
  148 + <div v-else>
  149 + <el-form-item label="起始站" prop="originstation">
  150 + <el-input v-model="originstation"/>
  151 + </el-form-item>
  152 + </div>
  153 + </el-col>
  154 + <el-col :span="10">
  155 + <el-form-item label="目的站" prop="destinationstation">
  156 + <div v-if="dialogStatus === 'update'">
  157 + <el-input disabled="" v-model="destinationstation"/>
  158 + </div>
  159 + <div v-else prop="destinationstation">
  160 + <el-input v-model="destinationstation"/>
  161 + </div>
  162 + </el-form-item>
  163 + </el-col>
  164 + </el-row>
  165 + <el-row>
  166 + <el-col :span="10">
  167 + <el-form-item label="是否分批" prop="splitcode">
  168 + <el-select v-model="temp.splitcode" class="filter-item" placeholder="请选择是否分批"
  169 + style="width: 93%">
  170 + <el-option v-for="item in splitcodes" :key="item" :label="item"
  171 + :value="item"></el-option>
  172 + </el-select>
  173 + </el-form-item>
  174 + </el-col>
  175 + </el-row>
  176 + </div>
  177 +
  178 + <div class="tags">
  179 + <el-tag type="info" effect="plain">
  180 + 航程信息
  181 + </el-tag>
  182 + </div>
  183 + <div class="row-bg">
  184 + <el-row>
  185 + <el-col :span="10">
  186 + <el-form-item label="起始航站" prop="awbinfo.sairportid">
  187 + <el-input v-model="sairportid"/>
  188 + </el-form-item>
  189 + </el-col>
  190 + <el-col :span="10">
  191 + <el-form-item label="目的地" prop="awbinfo.eairportid">
  192 + <el-input v-model="eairportid"/>
  193 + </el-form-item>
  194 + </el-col>
  195 +
  196 + </el-row>
  197 + <el-row>
  198 + <el-col :span="10">
  199 + <el-form-item label="承运人1" prop="awbinfo.by1">
  200 + <el-input v-model="by1"/>
  201 + </el-form-item>
  202 + </el-col>
  203 + <el-col :span="10">
  204 + <el-form-item label="到达航站1" prop="awbinfo.dest1">
  205 + <el-input v-model="dest1"></el-input>
  206 + </el-form-item>
  207 + </el-col>
  208 +
  209 + </el-row>
  210 + <el-row>
  211 + <el-col :span="10">
  212 + <el-form-item label="承运人2">
  213 + <el-input v-model="by2"/>
  214 + </el-form-item>
  215 + </el-col>
  216 + <el-col :span="10">
  217 + <el-form-item label="到达航站2">
  218 + <el-input v-model="dest2"/>
  219 + </el-form-item>
  220 + </el-col>
  221 +
  222 + </el-row>
  223 + <el-row>
  224 + <el-col :span="10">
  225 + <el-form-item label="承运人3">
  226 + <el-input v-model="by3"/>
  227 + </el-form-item>
  228 + </el-col>
  229 + <el-col :span="10">
  230 + <el-form-item label="到达航站3">
  231 + <el-input v-model="dest3"/>
  232 + </el-form-item>
  233 + </el-col>
  234 +
  235 + </el-row>
  236 + </div>
  237 + <div class="tags">
  238 + <el-tag type="info" effect="plain">
  239 + 运单信息
  240 + </el-tag>
  241 + </div>
  242 + <div class="row-bg">
  243 + <el-row>
  244 + <el-col :span="10">
  245 + <div v-if="dialogStatus === 'update'">
  246 + <el-form-item label="主单号">
  247 + <el-input disabled="" v-model="temp.awba"/>
  248 + </el-form-item>
  249 + </div>
  250 + <div v-else>
  251 + <el-form-item label="主单号" prop="awba">
  252 + <el-input v-model="temp.awba"/>
  253 + </el-form-item>
  254 + </div>
  255 + </el-col>
  256 +
  257 + <el-col :span="10">
  258 + <el-form-item label="分单号" >
  259 + <div v-if="dialogStatus === 'update' ">
  260 + <el-input disabled v-model="awbh"/>
  261 + </div>
  262 + <div v-else>
  263 + <el-input v-model="awbh"/>
  264 + </div>
  265 + </el-form-item>
  266 + </el-col>
  267 + </el-row>
  268 +
  269 + <el-row>
  270 + <el-col :span="10">
  271 + <el-form-item label="舱单件数" prop="piece">
  272 + <el-input v-model.number="temp.piece"/>
  273 + </el-form-item>
  274 + </el-col>
  275 + <el-col :span="10">
  276 + <el-form-item label="舱单重量" prop="weight">
  277 + <el-input v-model.number="temp.weight"/>
  278 + </el-form-item>
  279 + </el-col>
  280 + </el-row>
  281 + <el-row>
  282 + <el-col :span="10">
  283 + <el-form-item label="关区代码" prop="customcode">
  284 + <el-select v-model="temp.customcode" class="filter-item" placeholder="请选择关区代码"
  285 + style="width: 93%">
  286 + <el-option v-for="item in manifestCustoms" :key="item" :label="item"
  287 + :value="item"></el-option>
  288 + </el-select>
  289 + </el-form-item>
  290 + </el-col>
  291 + <el-col :span="10">
  292 + <el-form-item label="海关状态" prop="goodsType">
  293 + <el-select v-model="temp.goodsType" class="filter-item" placeholder="请录入货物类型"
  294 + style="width: 93%">
  295 + <el-option v-for="item in customTypes" :key="item" :label="item" :value="item"/>
  296 + </el-select>
  297 + </el-form-item>
  298 + </el-col>
  299 + </el-row>
  300 + <el-row>
  301 + <el-col :span="10">
  302 + <el-form-item label="付费方式" prop="awbinfo.collected">
  303 + <el-select v-model="temp.awbinfo.collected" class="filter-item" placeholder="付费方式"
  304 + style="width: 93%">
  305 + <el-option
  306 + v-for="item in payTypes"
  307 + :key="item.value"
  308 + :label="item.label"
  309 + :value="item.value"/>
  310 + </el-select>
  311 + </el-form-item>
  312 + </el-col>
  313 + <el-col :span="10">
  314 + <el-form-item label="特货代码">
  315 + <el-input v-model="specopeid"/>
  316 + </el-form-item>
  317 + </el-col>
  318 + </el-row>
  319 + <el-row>
  320 + <el-col :span="10">
  321 + <el-form-item label="货物描述" prop="goodsname">
  322 + <el-input v-model="goodsname"/>
  323 + </el-form-item>
  324 + </el-col>
  325 + </el-row>
  326 + </div>
  327 + <div class="tags">
  328 + <el-tag type="info" effect="plain">
  329 + 发货人信息
  330 + </el-tag>
  331 + </div>
  332 + <div class="row-bg">
  333 + <el-row>
  334 + <el-col :span="10">
  335 + <el-form-item label="发货人名称" prop="awbinfo.shprname">
  336 + <el-input v-model="shprname"/>
  337 + </el-form-item>
  338 + </el-col>
  339 + <el-col :span="10">
  340 + <el-form-item label="地址" prop="awbinfo.shpraddress">
  341 + <el-input v-model="shpraddress"/>
  342 + </el-form-item>
  343 + </el-col>
  344 + </el-row>
  345 + <el-row>
  346 + <el-col :span="10">
  347 + <el-form-item label="电话" prop="awbinfo.shprtel">
  348 + <el-input v-model="temp.awbinfo.shprtel"/>
  349 + </el-form-item>
  350 + </el-col>
  351 + <el-col :span="10">
  352 + <el-form-item label="传真">
  353 + <el-input v-model="temp.awbinfo.shprmobiletype"/>
  354 + </el-form-item>
  355 + </el-col>
  356 + </el-row>
  357 + <el-row>
  358 + <el-col :span="10">
  359 + <el-form-item label="国家代码" prop="awbinfo.shprcountyr">
  360 + <el-select
  361 + :remote-method="remoteMethod"
  362 + :loading="loading"
  363 + v-model="shprcountyr"
  364 + filterable
  365 + remote
  366 + placeholder="请选择" style="width: 93%;">
  367 + <el-option
  368 + v-for="item in countryOption"
  369 + :key="item.value"
  370 + :label="item.label"
  371 + :value="item.value">
  372 + <span style="float: left">{{ item.label }}</span>
  373 + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.value }}</span>
  374 + </el-option>
  375 + </el-select>
  376 + </el-form-item>
  377 + </el-col>
  378 + <el-col :span="14">
  379 + <el-col :span="16">
  380 + <el-form-item label="企业代码类型" prop="awbinfo.shpcomidpre">
  381 + <el-select
  382 + v-model="shpcomidpre"
  383 + filterable
  384 + placeholder="请选择企业代码类型">
  385 + <el-option
  386 + v-for="item in shpCompnyTypeOption"
  387 + :key="item.value"
  388 + :label="item.label"
  389 + :value="item.value"/>
  390 + </el-select>
  391 + </el-form-item>
  392 + </el-col>
  393 + <el-col :span="7">
  394 + <el-form-item prop="awbinfo.shpcomidpno">
  395 + <el-input v-model="shpcomidpno" placeholder="企业代码"/>
  396 + </el-form-item>
  397 + </el-col>
  398 + </el-col>
  399 + </el-row>
  400 + </div>
  401 + <div class="tags">
  402 + <el-tag type="info" effect="plain">
  403 + 收货人信息
  404 + </el-tag>
  405 + </div>
  406 +
  407 + <div class="row-bg">
  408 + <el-row>
  409 + <el-col :span="10">
  410 + <el-form-item label="收货人名称" prop="awbinfo.cnsnname">
  411 + <el-input v-model="cnsnname"/>
  412 + </el-form-item>
  413 + </el-col>
  414 + <el-col :span="10">
  415 + <el-form-item label="地址" prop="awbinfo.cnsnaddress">
  416 + <el-input v-model="cnsnaddress"/>
  417 + </el-form-item>
  418 + </el-col>
  419 + </el-row>
  420 + <el-row>
  421 + <el-col :span="10">
  422 + <el-form-item label="电话" prop="awbinfo.cnsntel">
  423 + <el-input v-model="temp.awbinfo.cnsntel"/>
  424 + </el-form-item>
  425 + </el-col>
  426 + <el-col :span="10">
  427 + <el-form-item label="传真">
  428 + <el-input v-model="temp.awbinfo.cnsrmobiletype"/>
  429 + </el-form-item>
  430 + </el-col>
  431 + </el-row>
  432 + <el-row>
  433 + <el-col :span="10">
  434 + <el-form-item label="国家代码" prop="awbinfo.cnscountyr">
  435 + <el-select
  436 + :remote-method="remoteMethod"
  437 + :loading="loading"
  438 + v-model="cnscountyr"
  439 + filterable
  440 + remote
  441 + placeholder="请选择" style="width: 93%;">
  442 + <el-option
  443 + v-for="item in countryOption"
  444 + :key="item.value"
  445 + :label="item.label"
  446 + :value="item.value">
  447 + <span style="float: left">{{ item.label }}</span>
  448 + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.value }}</span>
  449 + </el-option>
  450 + </el-select>
  451 + </el-form-item>
  452 + </el-col>
  453 + <el-col :span="14">
  454 + <el-col :span="16">
  455 + <el-form-item label="企业代码类型" prop="awbinfo.csgcustomerid">
  456 + <el-select
  457 + v-model="cnscomidpre"
  458 + filterable
  459 + placeholder="请选择企业代码类型">
  460 + <el-option
  461 + v-for="item in shpCompnyTypeOption"
  462 + :key="item.value"
  463 + :label="item.label"
  464 + :value="item.value"/>
  465 + </el-select>
  466 + </el-form-item>
  467 + </el-col>
  468 + <el-col :span="7">
  469 + <el-form-item prop="awbinfo.cnscomidno">
  470 + <el-input v-model="cnscomidno" placeholder="企业代码"/>
  471 + </el-form-item>
  472 + </el-col>
  473 + </el-col>
  474 + </el-row>
  475 + <el-row>
  476 + <el-col :span="10">
  477 + <el-form-item label="具体收货人名称" prop="awbinfo.cnsrctcname">
  478 + <el-input v-model="cnsrctcname"/>
  479 + </el-form-item>
  480 + </el-col>
  481 + <el-col :span="10">
  482 + <el-form-item label="具体收货人电话" prop="awbinfo.cnsrctctel">
  483 + <el-input v-model="temp.awbinfo.cnsrctctel"/>
  484 + </el-form-item>
  485 + </el-col>
  486 + </el-row>
  487 + </div>
  488 + </el-form>
  489 +
  490 + <div slot="footer" class="dialog-footer">
  491 + <el-button @click="dialogFormVisible = false">{{ $t('table.cancel') }}</el-button>
  492 + <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">{{
  493 + $t('table.confirm') }}
  494 + </el-button>
  495 + </div>
  496 + </el-dialog>
  497 + </div>
  498 +</template>
  499 +
  500 +<script>
  501 + import treeTable from '@/components/TreeTable'
  502 + import treeToArray from '@/utils/customEval'
  503 + import Pagination from '@/components/Pagination'
  504 + import waves from '@/directive/waves' // Waves directive
  505 + import country from '@/utils/country.js'
  506 +
  507 + import dangerGoods from '@/utils/dangerGoods.js'
  508 + import goodsPackage from '@/utils/goodsPackage.js'
  509 + import {getCountry, getByCountryCode, getByCountryCodeForName} from "@/api/country";
  510 +
  511 + import {addMt1201, updateMT1201, updateStatus, deleteByIsDelete, getMt1201ListForParam} from '@/api/orgManifest'
  512 + import {Message} from "element-ui";
  513 +
  514 +
  515 + treeTable.expandAll = {
  516 + type: Boolean,
  517 + default: false
  518 + }
  519 +
  520 + export default {
  521 + name: 'OrgManifest',
  522 + components: {treeTable, Pagination},
  523 + directives: {waves},
  524 + filters: {
  525 + statusFilter(status) {
  526 + const statusMap = {
  527 + 10003: '',
  528 + 41301: 'success',
  529 + 10002: 'info',
  530 + 10000: 'danger',
  531 + 45103: 'warning',
  532 + wrong: 'exception'
  533 + }
  534 + return statusMap[status]
  535 + },
  536 + typeFilter(type) {
  537 + return calendarTypeKeyValue[type]
  538 + }
  539 + },
  540 + data() {
  541 + return {
  542 + func: treeToArray,
  543 + expandAll: true,
  544 + total: 0,
  545 + loading: false,
  546 + listLoading: true,
  547 + downloadLoading: false,
  548 + multipleSelection: [],
  549 + dialogFormVisible: false,
  550 + dialogStatus: '',
  551 + country: country,
  552 + countryOption: [],
  553 + shpCompnyTypeOption: [],
  554 + dangerGoods: dangerGoods,
  555 + goodsPackage: goodsPackage,
  556 + textMap: {
  557 + update: '编辑',
  558 + create: '添加'
  559 + },
  560 + listQuery: {
  561 + pageSize: 1,
  562 + limitSize: 20,
  563 + awba: undefined,
  564 + flightno: undefined,
  565 + flightdate: undefined,
  566 + customcode: undefined
  567 + },
  568 + temp: {
  569 + awba: undefined,
  570 + awbh: undefined,
  571 + customcode: undefined,
  572 + carrier: undefined,
  573 + flightno: undefined,
  574 + flightdate: undefined,
  575 + originstation: undefined,
  576 + destinationstation: undefined,
  577 + piece: undefined,
  578 + weight: undefined,
  579 + goodsname: undefined,
  580 + splitcode: undefined,
  581 + uldType: undefined,
  582 + uldNo: undefined,
  583 + status: undefined,
  584 + awbinfo: {
  585 + specopeid: undefined,
  586 + shprname: undefined,
  587 + shprmobiletype: undefined,
  588 + shprtel: undefined,
  589 + shpraddress: undefined,
  590 + shprcountyr: undefined,
  591 + shpcomidpre:undefined,
  592 + shpcomidpno: undefined,
  593 + cnsnname: undefined,
  594 + cnsrmobiletype: undefined,
  595 + cnsntel: undefined,
  596 + cnsnaddress: undefined,
  597 + cnscountyr: undefined,
  598 + cnscomidpre: undefined,
  599 + cnscomidno: undefined,
  600 + cnsrctcname: undefined,
  601 + cnsrctctel: undefined,
  602 + cargonm: undefined,
  603 + sairportid: undefined,
  604 + dest1city: undefined,
  605 + by1: undefined,
  606 + dest1: undefined,
  607 + by2: undefined,
  608 + dest2: undefined,
  609 + by3: undefined,
  610 + dest3: undefined,
  611 + eairportid: undefined,
  612 + csgcustomerid: undefined,
  613 + collected: '0'
  614 + }
  615 + },
  616 + manifestCustoms: ['4604', '4620', '4613'],
  617 + customTypes: ['普通货物', '国际转运货物', '国内转关', '空箱', '快件'],
  618 + payTypes: [{label: '预付', value: '0'}, {label: '到付', value: '1'}],
  619 + splitcodes: ['是', '否'],
  620 + orgData: [],
  621 + countryList: [],
  622 + countryResultList: [],
  623 + shpCompnyList: [],
  624 + pickerOptions: {
  625 + shortcuts: [
  626 + {
  627 + text: '今天',
  628 + onClick(picker) {
  629 + picker.$emit('pick', new Date())
  630 + }
  631 + },
  632 + {
  633 + text: '昨天',
  634 + onClick(picker) {
  635 + const date = new Date()
  636 + date.setTime(date.getTime() - 3600 * 1000 * 24)
  637 + picker.$emit('pick', date)
  638 + }
  639 + },
  640 + {
  641 + text: '明天',
  642 + onClick(picker) {
  643 + const date = new Date()
  644 + date.setTime(date.getTime() + 3600 * 1000 * 24)
  645 + picker.$emit('pick', date)
  646 + }
  647 + },
  648 + {
  649 + text: '一周前',
  650 + onClick(picker) {
  651 + const date = new Date()
  652 + date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
  653 + picker.$emit('pick', date)
  654 + }
  655 + }
  656 + ]
  657 + },
  658 + args: [null, null, 'timeLine'],
  659 + selectCountry: {
  660 + countryNameCn: undefined,
  661 + countryCode: undefined
  662 + },
  663 + rules: {
  664 + weight: [{type: 'number', required: true, message: '重量必须为数字', trigger: 'change'}],
  665 + piece: [{type: 'number', required: true, message: '件数必须为数字', trigger: 'change'}],
  666 + destinationstation: [{required: true, message: '运单目的地必须输入', trigger: 'change'}],
  667 + originstation: [{required: true, message: '运单起始站必须数据', trigger: 'change'}],
  668 + flightdate: [{required: true, message: '航班日期必须输入', trigger: 'change'}],
  669 + flightno: [{required: true, message: '航班号必须输入', trigger: 'change'}],
  670 + customcode: [{required: true, message: '关区代码必须选择', trigger: 'change'}],
  671 + awba: [{required: true, message: '运单号必须输入', trigger: 'change'}],
  672 + 'awbinfo.collected': [{required: true, message: '付款方式必选', trigger: 'change'}],
  673 + goodsname: [{required: true, message: '货物描述不能为空', trigger: 'change'}],
  674 + 'awbinfo.sairportid': [{required: true, message: '起始航站不能为空', trigger: 'change'}],
  675 + 'awbinfo.by1': [{required: true, message: '承运人不能为空', trigger: 'change'}],
  676 + 'awbinfo.dest1': [{required: true, message: '到达航站不能为空', trigger: 'change'}],
  677 + 'awbinfo.shprname': [{required: true, message: '发货人不能为空', trigger: 'change'}],
  678 + 'awbinfo.shprtel': [{required: true, message: '发货电话不能为空', trigger: 'change'}],
  679 + 'awbinfo.shpraddress': [{required: true, message: '发货地址不能为空', trigger: 'change'}],
  680 + 'awbinfo.shprcountyr': [{required: true, message: '国家代码不能为空', trigger: 'change'}],
  681 + 'awbinfo.shpcomidpre': [{required: true, message: '企业代码类型不能为空', trigger: 'change'}],
  682 + 'awbinfo.shpcomidpno': [{required: true, message: '企业代码不能为空', trigger: 'change'}],
  683 + 'awbinfo.cnsnname': [{required: true, message: '收货人不能为空', trigger: 'change'}],
  684 + 'awbinfo.cnsntel': [{required: true, message: '收货电话不能为空', trigger: 'change'}],
  685 + 'awbinfo.cnsnaddress': [{required: true, message: '收获地址不能为空', trigger: 'change'}],
  686 + 'awbinfo.cnscountyr': [{required: true, message: '国家代码不能为空', trigger: 'change'}],
  687 + 'awbinfo.cnscomidpre': [{required: true, message: '企业代码类型不能为空', trigger: 'change'}],
  688 + 'awbinfo.cnscomidno': [{required: true, message: '企业代码不能为空', trigger: 'change'}],
  689 + }
  690 + }
  691 + },
  692 + created() {
  693 + this.getList()
  694 + this.getCountryList()
  695 + },
  696 + mounted() {
  697 + // 延迟加载,否则会出错
  698 + setTimeout(() => {
  699 + this.countryResultList = this.countryList.map(item => {
  700 + return {value: item.countryCode, label: item.countryNameCn}
  701 + })
  702 +
  703 + }, 1000)
  704 + },
  705 + computed:{
  706 + awbh: {
  707 + get: function (){
  708 + return this.temp.awbh
  709 + },
  710 + set: function (val){
  711 + this.temp.awbh = val.toUpperCase()
  712 + }
  713 + },
  714 + flightno: {
  715 + get: function (){
  716 + return this.temp.flightno
  717 + },
  718 + set: function (val){
  719 + this.temp.flightno = val.toUpperCase()
  720 + }
  721 + },
  722 + originstation: {
  723 + get: function (){
  724 + return this.temp.originstation
  725 + },
  726 + set: function (val){
  727 + this.temp.originstation = val.toUpperCase()
  728 + }
  729 + },
  730 + destinationstation: {
  731 + get: function (){
  732 + return this.temp.destinationstation
  733 + },
  734 + set: function (val){
  735 + this.temp.destinationstation = val.toUpperCase()
  736 + }
  737 + },
  738 + goodsname: {
  739 + get: function (){
  740 + return this.temp.goodsname
  741 + },
  742 + set: function (val){
  743 + this.temp.goodsname = val.toUpperCase()
  744 + }
  745 + },
  746 + specopeid: {
  747 + get: function (){
  748 + return this.temp.awbinfo.specopeid
  749 + },
  750 + set: function (val){
  751 + this.temp.awbinfo.specopeid = val.toUpperCase()
  752 + }
  753 + },
  754 + shprname: {
  755 + get: function (){
  756 + return this.temp.awbinfo.shprname
  757 + },
  758 + set: function (val){
  759 + this.temp.awbinfo.shprname = val.toUpperCase()
  760 + }
  761 + },
  762 + shpraddress: {
  763 + get: function (){
  764 + return this.temp.awbinfo.shpraddress
  765 + },
  766 + set: function (val){
  767 + this.temp.awbinfo.shpraddress = val.toUpperCase()
  768 + }
  769 + },
  770 + shprcountyr: {
  771 + get: function (){
  772 + return this.temp.awbinfo.shprcountyr
  773 + },
  774 + set: function (val){
  775 + this.temp.awbinfo.shprcountyr = val.toUpperCase()
  776 + }
  777 + },
  778 + shpcomidpre: {
  779 + get: function (){
  780 + return this.temp.awbinfo.shpcomidpre
  781 + },
  782 + set: function (val){
  783 + this.temp.awbinfo.shpcomidpre = val.toUpperCase()
  784 + }
  785 + },
  786 + shpcomidpno: {
  787 + get: function (){
  788 + return this.temp.awbinfo.shpcomidpno
  789 + },
  790 + set: function (val){
  791 + this.temp.awbinfo.shpcomidpno = val.toUpperCase()
  792 + }
  793 + },
  794 + cnsnname: {
  795 + get: function (){
  796 + return this.temp.awbinfo.cnsnname
  797 + },
  798 + set: function (val){
  799 + this.temp.awbinfo.cnsnname = val.toUpperCase()
  800 + }
  801 + },
  802 + cnsnaddress: {
  803 + get: function (){
  804 + return this.temp.awbinfo.cnsnaddress
  805 + },
  806 + set: function (val){
  807 + this.temp.awbinfo.cnsnaddress = val.toUpperCase()
  808 + }
  809 + },
  810 + cnscountyr: {
  811 + get: function (){
  812 + return this.temp.awbinfo.cnscountyr
  813 + },
  814 + set: function (val){
  815 + this.temp.awbinfo.cnscountyr = val.toUpperCase()
  816 + }
  817 + },
  818 + cnscomidno: {
  819 + get: function (){
  820 + return this.temp.awbinfo.cnscomidno
  821 + },
  822 + set: function (val){
  823 + this.temp.awbinfo.cnscomidno = val.toUpperCase()
  824 + }
  825 + },
  826 + cnsrctcname: {
  827 + get: function (){
  828 + return this.temp.awbinfo.cnsrctcname
  829 + },
  830 + set: function (val){
  831 + this.temp.awbinfo.cnsrctcname = val.toUpperCase()
  832 + }
  833 + },
  834 + sairportid: {
  835 + get: function (){
  836 + return this.temp.awbinfo.sairportid
  837 + },
  838 + set: function (val){
  839 + this.temp.awbinfo.sairportid = val.toUpperCase()
  840 + }
  841 + },
  842 + by1: {
  843 + get: function (){
  844 + return this.temp.awbinfo.by1
  845 + },
  846 + set: function (val){
  847 + this.temp.awbinfo.by1 = val.toUpperCase()
  848 + }
  849 + },
  850 + dest1: {
  851 + get: function (){
  852 + return this.temp.awbinfo.dest1
  853 + },
  854 + set: function (val){
  855 + this.temp.awbinfo.dest1 = val.toUpperCase()
  856 + }
  857 + },
  858 + by2: {
  859 + get: function (){
  860 + return this.temp.awbinfo.by2
  861 + },
  862 + set: function (val){
  863 + this.temp.awbinfo.by2= val.toUpperCase()
  864 + }
  865 + },
  866 + dest2: {
  867 + get: function (){
  868 + return this.temp.awbinfo.dest2
  869 + },
  870 + set: function (val){
  871 + this.temp.awbinfo.dest2= val.toUpperCase()
  872 + }
  873 + },
  874 + by3: {
  875 + get: function (){
  876 + return this.temp.awbinfo.by3
  877 + },
  878 + set: function (val){
  879 + this.temp.awbinfo.by3= val.toUpperCase()
  880 + }
  881 + },
  882 + dest3: {
  883 + get: function (){
  884 + return this.temp.awbinfo.dest3
  885 + },
  886 + set: function (val){
  887 + this.temp.awbinfo.dest3= val.toUpperCase()
  888 + }
  889 + },
  890 + eairportid: {
  891 + get: function (){
  892 + return this.temp.awbinfo.eairportid
  893 + },
  894 + set: function (val){
  895 + this.temp.awbinfo.eairportid= val.toUpperCase()
  896 + }
  897 + },
  898 + cnscomidpre: {
  899 + get: function (){
  900 + return this.temp.awbinfo.cnscomidpre
  901 + },
  902 + set: function (val){
  903 + this.temp.awbinfo.cnscomidpre= val.toUpperCase()
  904 + }
  905 + }
  906 + },
  907 + watch: {
  908 + 'temp.awbinfo.cnscountyr': function (newValue, oldValue) {
  909 + if (newValue != null && newValue!='') {
  910 + this.selectCountry.countryCode = newValue
  911 + getByCountryCode(this.selectCountry).then(res => {
  912 + this.temp.awbinfo.cnscomidno = res.data.dataList[0].enterpriseCode
  913 + })
  914 + }
  915 + },
  916 + 'temp.awbinfo.shprcountyr': function (newValue, oldValue) {
  917 + if (newValue != null && newValue!='') {
  918 + this.selectCountry.countryCode = newValue
  919 + getByCountryCode(this.selectCountry).then(res => {
  920 + this.temp.awbinfo.shpcomidpno = res.data.dataList[0].enterpriseCode
  921 + })
  922 + }
  923 + }
  924 + },
  925 + methods: {
  926 + getList() {
  927 + getMt1201ListForParam(this.listQuery).then(res => {
  928 + this.total = res.data.count
  929 + this.orgData = res.data.dataList
  930 + setTimeout(() => {
  931 + this.listLoading = false
  932 + }, 1.5 * 1000)
  933 + })
  934 + },
  935 + getCountryList() {
  936 + getCountry().then(res => {
  937 + this.countryList = res.data.dataList
  938 + })
  939 + },
  940 + message(row) {
  941 + this.$message.info(row.event)
  942 + },
  943 + sortChange(data) {
  944 + const {prop, order} = data
  945 + if (prop === 'id') {
  946 + this.sortByID(order)
  947 + }
  948 + },
  949 + sortByID(order) {
  950 + if (order === 'ascending') {
  951 + this.listQuery.sort = '+id'
  952 + } else {
  953 + this.listQuery.sort = '-id'
  954 + }
  955 + this.handleFilter()
  956 + },
  957 + handleDownload() {
  958 +
  959 + },
  960 + handleFilter() {
  961 + this.getList()
  962 + },
  963 + handleUpdate(row) {
  964 + this.temp = Object.assign({}, row) // copy obj
  965 + this.dialogStatus = 'update'
  966 + this.dialogFormVisible = true
  967 + this.$nextTick(() => {
  968 + this.$refs.formData.clearValidate()
  969 + })
  970 + },
  971 + handleModifyStatus(row, status) {
  972 + this.$message({
  973 + message: '操作成功',
  974 + type: 'success'
  975 + })
  976 + row.status = status
  977 + },
  978 +
  979 + handleSelectionChange(val) {
  980 + this.multipleSelection = val
  981 + },
  982 + resetTemp() {
  983 + this.temp = {
  984 + awba: undefined,
  985 + awbh: undefined,
  986 + customcode: undefined,
  987 + customcode: undefined,
  988 + carrier: undefined,
  989 + flightno: undefined,
  990 + flightdate: undefined,
  991 + originstation: undefined,
  992 + destinationstation: undefined,
  993 + piece: undefined,
  994 + weight: undefined,
  995 + goodsname: undefined,
  996 + splitcode: undefined,
  997 + awbinfo: {
  998 + specopeid: undefined,
  999 + shprname: undefined,
  1000 + shprmobiletype: undefined,
  1001 + shprtel: undefined,
  1002 + shpraddress: undefined,
  1003 + shprcountyr: undefined,
  1004 + shpcomidpre:undefined,
  1005 + shpcomidpno: undefined,
  1006 + cnsnname: undefined,
  1007 + cnsrmobiletype: undefined,
  1008 + cnsntel: undefined,
  1009 + cnsnaddress: undefined,
  1010 + cnscountyr: undefined,
  1011 + cnscomidpre: undefined,
  1012 + cnscomidno: undefined,
  1013 + cnsrctcname: undefined,
  1014 + cnsrctctel: undefined,
  1015 + cargonm: undefined,
  1016 + sairportid: undefined,
  1017 + dest1city: undefined,
  1018 + by1: undefined,
  1019 + dest1: undefined,
  1020 + by2: undefined,
  1021 + dest2: undefined,
  1022 + by3: undefined,
  1023 + dest3: undefined,
  1024 + eairportid: undefined,
  1025 + csgcustomerid: undefined,
  1026 + collected: '0'
  1027 + }
  1028 + }
  1029 + },
  1030 + handleCreate() {
  1031 + this.resetTemp()
  1032 + this.dialogStatus = 'create'
  1033 + this.dialogFormVisible = true
  1034 + this.$nextTick(() => {
  1035 + this.$refs.formData.clearValidate()
  1036 + })
  1037 + },
  1038 + remoteMethod(query) {
  1039 + if (query !== '') {
  1040 + this.loading = true
  1041 + setTimeout(() => {
  1042 + this.loading = false
  1043 + this.countryOption = this.countryResultList.filter(item => {
  1044 + return item.value.toUpperCase()
  1045 + .indexOf(query.toUpperCase()) > -1
  1046 + })
  1047 + }, 200)
  1048 + if (query.length > 1) {
  1049 + this.selectCountry.countryNameCn = query
  1050 + getByCountryCodeForName(this.selectCountry).then(res => {
  1051 + this.shpCompnyList = res.data.dataList
  1052 + this.shpCompnyTypeOption = this.shpCompnyList.map(item => {
  1053 + return {value: item.enterpriseCode, label: item.enterpriseCode}
  1054 + })
  1055 + })
  1056 + }
  1057 +
  1058 + } else {
  1059 + this.countryOption = []
  1060 + }
  1061 +
  1062 +
  1063 + },
  1064 + handleSwitch(row) {
  1065 + console.log(row)
  1066 + },
  1067 +
  1068 + createData() {
  1069 + this.$refs.formData.validate(valid =>{
  1070 + if(valid){
  1071 + addMt1201(this.temp).then(res => {
  1072 + if(res.data.count>0){
  1073 + this.dialogFormVisible = false
  1074 + this.getList()
  1075 + Message.success(res.data.respMessage)
  1076 + }else {
  1077 + Message.success("数据异常清稍后重试")
  1078 + }
  1079 + })
  1080 +
  1081 + }
  1082 + })
  1083 + },
  1084 + updateData() {
  1085 + console.log(this.temp)
  1086 + this.$refs.formData.validate(valid => {
  1087 + if (valid) {
  1088 + updateMT1201(this.temp).then(res => {
  1089 + Message.success(res.data.respMessage)
  1090 + })
  1091 + }
  1092 + })
  1093 + }
  1094 + }
  1095 + }
  1096 +</script>
  1097 +<style scoped>
  1098 +
  1099 +
  1100 + .bg-purple {
  1101 + background: #d3dce6;
  1102 + }
  1103 +
  1104 + .el-row {
  1105 + margin-bottom: 0px;
  1106 + }
  1107 +
  1108 + .el-dialog .el-dialog--samll {
  1109 + width: 60%;
  1110 + }
  1111 +
  1112 + .row-bg {
  1113 + padding: 10px 0;
  1114 + background-color: #f9fafc;
  1115 + }
  1116 +
  1117 + .el-progress.is-warning .el-progress-bar__inner {
  1118 + background-color: #E6A23C
  1119 + }
  1120 +
  1121 + .remark textarea {
  1122 + width: 575px;
  1123 + }
  1124 +
  1125 + .el-dialog-div {
  1126 + height: 60vh;
  1127 + overflow: auto;
  1128 + }
  1129 +
  1130 + .tags {
  1131 + margin-top: 10px;
  1132 + margin-bottom: 10px;
  1133 + }
  1134 +</style>
  1135 +