作者 小范

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/views/airtransport/flight.vue
#	src/views/airtransport/queryFlight.vue
#	src/views/airtransport/queryRoute.vue
@@ -62,7 +62,7 @@ @@ -62,7 +62,7 @@
62 "http-proxy-middleware": "^0.19.1", 62 "http-proxy-middleware": "^0.19.1",
63 "json-loader": "^0.5.4", 63 "json-loader": "^0.5.4",
64 "mockjs": "^1.0.1-beta3", 64 "mockjs": "^1.0.1-beta3",
65 - "node-sass": "^4.5.0", 65 + "node-sass": "^4.14.1",
66 "opn": "^4.0.2", 66 "opn": "^4.0.2",
67 "optimize-css-assets-webpack-plugin": "^1.3.0", 67 "optimize-css-assets-webpack-plugin": "^1.3.0",
68 "ora": "^1.0.0", 68 "ora": "^1.0.0",
  1 +import request from 'axios'
  2 +import qs from 'qs'
  3 +
  4 +let baseUrl = '/wltp-nmms-custom-reciption-resolver'
  5 +export function postFFM(query) {
  6 + return request({
  7 + method: 'get',
  8 + url: `${baseUrl}/Rmsg/ffm`,
  9 + params: query,
  10 + headers: {
  11 + 'Content-Type': 'application/x-www-form-urlencoded'
  12 + }
  13 + })
  14 +}
  15 +
  16 +export function postFWB(query) {
  17 + return request({
  18 + method: 'get',
  19 + url: `${baseUrl}/Rmsg/fwb`,
  20 + params: query,
  21 + headers: {
  22 + 'Content-Type': 'application/x-www-form-urlencoded'
  23 + }
  24 + })
  25 +}
  26 +
  27 +export function postFHL(query) {
  28 + return request({
  29 + method: 'get',
  30 + url: `${baseUrl}/Rmsg/fhl`,
  31 + params: query,
  32 + headers: {
  33 + 'Content-Type': 'application/x-www-form-urlencoded'
  34 + }
  35 + })
  36 +}
@@ -15,6 +15,7 @@ import 'font-awesome/css/font-awesome.min.css' @@ -15,6 +15,7 @@ import 'font-awesome/css/font-awesome.min.css'
15 15
16 import * as socketApi from './api/socket' 16 import * as socketApi from './api/socket'
17 import '@/styles/index.scss' 17 import '@/styles/index.scss'
  18 +import '@/styles/element-ui.scss'
18 import sys_init from '@/common/init/sys_init' 19 import sys_init from '@/common/init/sys_init'
19 20
20 21
@@ -47,6 +47,9 @@ import ComeCar from './views/staff/come_car.vue' @@ -47,6 +47,9 @@ import ComeCar from './views/staff/come_car.vue'
47 import OnDuty from './views/staff/on_duty.vue' 47 import OnDuty from './views/staff/on_duty.vue'
48 import WaterStationsPatrol from './views/water/water_stations_patrol.vue' 48 import WaterStationsPatrol from './views/water/water_stations_patrol.vue'
49 import Location from './views/empt/Location.vue' 49 import Location from './views/empt/Location.vue'
  50 +import importFFMMsg from './views/airRadioMsg/importFFMMsg.vue'
  51 +import importFHLMsg from './views/airRadioMsg/importFHLMsg.vue'
  52 +import importFWBMsg from './views/airRadioMsg/importFWBMsg.vue'
50 53
51 //运输工具 通用业务申报 54 //运输工具 通用业务申报
52 import Route from './views/airtransport/route.vue' 55 import Route from './views/airtransport/route.vue'
@@ -172,6 +175,17 @@ let routes = [ @@ -172,6 +175,17 @@ let routes = [
172 ] 175 ]
173 }, 176 },
174 { 177 {
  178 + path: '/radioMsgImport',
  179 + component: Home,
  180 + name: '航空报文导入',
  181 + iconCls:'el-icon-goods',
  182 + children:[
  183 + {path:'/ffmRadioMsgImport',component:importFFMMsg,name:'FFM报文导入'},
  184 + {path:'/fhlRadioMsgImport',component:importFHLMsg,name:'FHL报文导入'},
  185 + {path:'/fwbRadioMsgImport',component:importFWBMsg,name:'FWB报文导入'}
  186 + ]
  187 + },
  188 + {
175 path: '/airtransport', 189 path: '/airtransport',
176 component: Home, 190 component: Home,
177 name: '通用业务申报', 191 name: '通用业务申报',
@@ -83,3 +83,7 @@ @@ -83,3 +83,7 @@
83 display: block 83 display: block
84 } 84 }
85 } 85 }
  86 +
  87 +.el-col {
  88 + margin-right: 0px;
  89 +}
  1 +<template>
  2 + <div class="app-container">
  3 + <div class="filter-container">
  4 + <el-button class="filter-item" type="primary" icon="el-icon-search" @click="handleAdd">导入</el-button>
  5 + <el-input
  6 + type="textarea"
  7 + :rows="40"
  8 + placeholder="请输入内容"
  9 + v-model="ffmtext">
  10 + </el-input>
  11 + </div>
  12 + </div>
  13 +</template>
  14 +
  15 +<script>
  16 + import {postFFM} from "@/api/nmms/importMsg";
  17 +
  18 + export default {
  19 + name: 'ImportMessage',
  20 + data() {
  21 + return {
  22 + ffmtext: ''
  23 + }
  24 + },
  25 + methods: {
  26 + handleAdd: function () {
  27 + let para = {
  28 + ffmmsg: this.ffmtext
  29 + }
  30 + postFFM(para).
  31 + then(res => {
  32 + let result = res.data
  33 + if (result==1){
  34 + this.$message({
  35 + message: '导入成功',
  36 + type: 'success',
  37 + duration: 5 * 1000
  38 + })
  39 + }
  40 + })
  41 + }
  42 + }
  43 + }
  44 +</script>
  45 +
  46 +<style>
  47 +</style>
  1 +<template>
  2 + <div class="app-container">
  3 + <div class="filter-container">
  4 + <el-button class="filter-item" type="primary" icon="el-icon-search" @click="handleAdd">导入</el-button>
  5 + <el-input
  6 + type="textarea"
  7 + :rows="40"
  8 + placeholder="请输入内容"
  9 + v-model="ffmtext">
  10 + </el-input>
  11 + </div>
  12 + </div>
  13 +</template>
  14 +
  15 +<script>
  16 + import {postFHL} from "@/api/nmms/importMsg";
  17 +
  18 + export default {
  19 + name: 'ImportMessage',
  20 + data() {
  21 + return {
  22 + ffmtext: ''
  23 + }
  24 + },
  25 + methods: {
  26 + handleAdd: function () {
  27 + let para = {
  28 + ffmmsg: this.ffmtext
  29 + }
  30 + postFHL(para).
  31 + then(res => {
  32 + let result = res.data
  33 + if (result==1){
  34 + this.$message({
  35 + message: '导入成功',
  36 + type: 'success',
  37 + duration: 5 * 1000
  38 + })
  39 + }
  40 + })
  41 + }
  42 + }
  43 + }
  44 +</script>
  45 +
  46 +<style>
  47 +</style>
  1 +<template>
  2 + <div class="app-container">
  3 + <div class="filter-container">
  4 + <el-button class="filter-item" type="primary" icon="el-icon-search" @click="handleAdd">导入</el-button>
  5 + <el-input
  6 + type="textarea"
  7 + :rows="40"
  8 + placeholder="请输入内容"
  9 + v-model="ffmtext">
  10 + </el-input>
  11 + </div>
  12 + </div>
  13 +</template>
  14 +
  15 +<script>
  16 + import {postFWB} from "@/api/nmms/importMsg";
  17 +
  18 + export default {
  19 + name: 'ImportMessage',
  20 + data() {
  21 + return {
  22 + ffmtext: ''
  23 + }
  24 + },
  25 + methods: {
  26 + handleAdd: function () {
  27 + let para = {
  28 + ffmmsg: this.ffmtext
  29 + }
  30 + postFWB(para).
  31 + then(res => {
  32 + let result = res.data
  33 + if (result==1){
  34 + this.$message({
  35 + message: '导入成功',
  36 + type: 'success',
  37 + duration: 5 * 1000
  38 + })
  39 + }
  40 + })
  41 + }
  42 + }
  43 + }
  44 +</script>
  45 +
  46 +<style>
  47 +</style>
@@ -225,19 +225,6 @@ @@ -225,19 +225,6 @@
225 label="备注"> 225 label="备注">
226 </el-table-column> 226 </el-table-column>
227 </el-table> 227 </el-table>
228 - <el-row>  
229 - <div class="block">  
230 - <el-pagination  
231 - @size-change="handleSizeChange"  
232 - @current-change="handleCurrentChange"  
233 - :current-page="currentPage"  
234 - :page-sizes="[10, 20, 30, 40]"  
235 - :page-size="pageSize"  
236 - layout="total, sizes, prev, pager, next, jumper"  
237 - :total="total">  
238 - </el-pagination>  
239 - </div>  
240 - </el-row>  
241 </el-dialog> 228 </el-dialog>
242 </el-row> 229 </el-row>
243 <el-row> 230 <el-row>
@@ -396,9 +383,7 @@ @@ -396,9 +383,7 @@
396 ], 383 ],
397 dialogTableVisible:false, 384 dialogTableVisible:false,
398 centerDialogVisible:false, 385 centerDialogVisible:false,
399 - currentPage: 1,  
400 - pageSize:10,  
401 - total:0, 386 + currentPage4:4,
402 msg:undefined, 387 msg:undefined,
403 tableData: [], 388 tableData: [],
404 tableloading:true, 389 tableloading:true,
@@ -407,7 +392,7 @@ @@ -407,7 +392,7 @@
407 methods:{ 392 methods:{
408 //航线信息查询 393 //航线信息查询
409 selectAirline(){ 394 selectAirline(){
410 - let params={currentPage:this.currentPage,pageSize:this.pageSize,aircraftNo:this.flight.aircraftNo}; 395 + let params={currentPage:this.currentPage,pageSize:this.pageSize,createBy:this.airLine.createBy};
411 this.dialogTableVisible=true; 396 this.dialogTableVisible=true;
412 this.tableloading=true; 397 this.tableloading=true;
413 selectRoute(params).then(res=>{ 398 selectRoute(params).then(res=>{
@@ -426,7 +411,7 @@ @@ -426,7 +411,7 @@
426 if(response.code=='200'){ 411 if(response.code=='200'){
427 this.centerDialogVisible=true; 412 this.centerDialogVisible=true;
428 this.msg=response.msg; 413 this.msg=response.msg;
429 - this.$router.push({path:'/queryFlights',query:{flightNo:JSON.stringify(this.flight.flightNo),flightDate:JSON.stringify(this.flight.flightDate)}}); 414 + this.$router.push({path:'/queryFlights',query:{flightNo:this.flight.flightNo,aircraftNo:this.flight.aircraftNo}});
430 this.centerDialogVisible=false; 415 this.centerDialogVisible=false;
431 }else{ 416 }else{
432 this.centerDialogVisible=true; 417 this.centerDialogVisible=true;
@@ -441,11 +426,10 @@ @@ -441,11 +426,10 @@
441 }, 426 },
442 //分页方法 427 //分页方法
443 handleSizeChange(val) { 428 handleSizeChange(val) {
444 - this.pageSize=val; 429 + console.log(`每页 ${val} 条`);
445 }, 430 },
446 handleCurrentChange(val) { 431 handleCurrentChange(val) {
447 - this.currentPage=val;  
448 - this.submitForm(); 432 + console.log(`当前页: ${val}`);
449 }, 433 },
450 //航线信息查询选择功能 434 //航线信息查询选择功能
451 handleEdit(index,row){ 435 handleEdit(index,row){
@@ -462,37 +446,14 @@ @@ -462,37 +446,14 @@
462 }, 446 },
463 //加载默认值 447 //加载默认值
464 defaultData(){ 448 defaultData(){
465 - if(this.$route.query!=null){  
466 - this.flight.uuid=JSON.parse(this.$route.query.uuid);  
467 - this.flight.airwayCode=JSON.parse(this.$route.query.airwayCode);  
468 - this.flight.airwayNameEn=JSON.parse(this.$route.query.airwayNameEn);  
469 - this.flight.airwayNameCn=JSON.parse(this.$route.query.airwayNameCn);  
470 - this.flight.transportAgentCode=JSON.parse(this.$route.query.transportAgentCode);  
471 - this.flight.groundAgentCode=JSON.parse(this.$route.query.groundAgentCode);  
472 - this.flight.flightNo=JSON.parse(this.$route.query.flightNo);  
473 - this.flight.shareFlightNo=JSON.parse(this.$route.query.shareFlightNo);  
474 - this.flight.linesType=JSON.parse(this.$route.query.linesType);  
475 - this.flight.std=fecha.parse(JSON.parse(this.$route.query.std),'HHmmss');  
476 - this.flight.sta=fecha.parse(JSON.parse(this.$route.query.sta),'HHmmss');  
477 - this.flight.effStartdate=JSON.parse(this.$route.query.effStartdate);  
478 - this.flight.effEnddate=JSON.parse(this.$route.query.effEnddate);  
479 - this.flight.flightType=JSON.parse(this.$route.query.flightType);  
480 - this.flight.cancelFlag=JSON.parse(this.$route.query.cancelFlag);  
481 - this.flight.departurePort=JSON.parse(this.$route.query.departurePort);  
482 - this.flight.arrivalPort=JSON.parse(this.$route.query.arrivalPort);  
483 - this.flight.departureCustomNo=JSON.parse(this.$route.query.departureCustomNo);  
484 - this.flight.arrivalCustomNo=JSON.parse(this.$route.query.arrivalCustomNo);  
485 - this.flight.plan=JSON.parse(this.$route.query.plan);  
486 - this.flight.remark=JSON.parse(this.$route.query.remark);  
487 - this.flight.createTime=JSON.parse(this.$route.query.createTime);  
488 - this.flight.createBy=JSON.parse(this.$route.query.createBy);  
489 - this.flight.updateTime=JSON.parse(this.$route.query.updateTime);  
490 - this.flight.updateBy=JSON.parse(this.$route.query.updateBy);  
491 - this.flight.isDelete=JSON.parse(this.$route.query.isDelete);  
492 - this.flight.serialno=JSON.parse(this.$route.query.serialno);  
493 - this.flight.status=JSON.parse(this.$route.query.status);  
494 - this.flight.statusMsg=JSON.parse(this.$route.query.statusMsg);  
495 - this.flight.messageid=JSON.parse(this.$route.query.messageid); 449 + if(this.$route.query.uuid!=null){
  450 + let ob=Object.assign(this.flight,this.$route.query);
  451 + if(ob.std!=null && ob.std!=undefined && ob.std!=""){
  452 + this.flight.std=fecha.parse(ob.std,'HHmmss');
  453 + }
  454 + if(ob.sta!=null && ob.sta!=undefined &&ob.sta!=""){
  455 + this.flight.sta=fecha.parse(ob.sta,'HHmmss');
  456 + }
496 } 457 }
497 458
498 }, 459 },
@@ -6,26 +6,26 @@ @@ -6,26 +6,26 @@
6 <div class="grid-content content">航班查询</div> 6 <div class="grid-content content">航班查询</div>
7 </el-col> 7 </el-col>
8 </el-row> 8 </el-row>
9 - <!-- 搜索区域--> 9 + <!--搜索区域-->
10 <el-row> 10 <el-row>
11 <el-form :label-position="labelPosition" :model="queryFlight" :rules="rules" ref="queryFlight" 11 <el-form :label-position="labelPosition" :model="queryFlight" :rules="rules" ref="queryFlight"
12 label-width="130px" class="demo-ruleForm"> 12 label-width="130px" class="demo-ruleForm">
13 - <el-col :span="8" >  
14 - <el-form-item label="航班号:" prop="aircraftNo" label-width="80px">  
15 - <el-input v-model="queryFlight.aircraftNo" style="width:190px"></el-input> 13 + <el-col :span="6">
  14 + <el-form-item label="航空公司代码:" prop="aircraftNo" label-width="110px">
  15 + <el-input v-model="queryFlight.aircraftNo"></el-input>
16 </el-form-item> 16 </el-form-item>
17 </el-col> 17 </el-col>
18 - <el-col :span="8">  
19 - <el-form-item label="航空公司代码:" prop="flightNo" label-width="110px">  
20 - <el-input v-model="queryFlight.flightNo" style="width:190px"></el-input> 18 + <el-col :span="6">
  19 + <el-form-item label="航班号:" prop="flightNo" label-width="70px">
  20 + <el-input v-model="queryFlight.flightNo"></el-input>
21 </el-form-item> 21 </el-form-item>
22 </el-col> 22 </el-col>
23 - <el-col :span="6" >  
24 - <el-button type="primary" @click="submitForm()">查询</el-button> 23 + <el-col :span="3">
  24 + <el-button type="primary" @click="submitForm('queryFlight')">查询</el-button>
25 </el-col> 25 </el-col>
26 </el-form> 26 </el-form>
27 </el-row> 27 </el-row>
28 - <!-- 表单区域--> 28 + <!--表单区域-->
29 <el-row> 29 <el-row>
30 <el-table 30 <el-table
31 :data="tableData" 31 :data="tableData"
@@ -77,20 +77,18 @@ @@ -77,20 +77,18 @@
77 </el-table-column> 77 </el-table-column>
78 <el-table-column 78 <el-table-column
79 prop="statusMsg" 79 prop="statusMsg"
80 - label="海关回执"> 80 + label="海关回执"
  81 + width="180">
81 </el-table-column> 82 </el-table-column>
82 <el-table-column 83 <el-table-column
83 fixed="right" 84 fixed="right"
84 - prop=""  
85 label="报文操作" 85 label="报文操作"
86 - width="150"> 86 + width="200">
87 <template slot-scope="scope"> 87 <template slot-scope="scope">
88 <el-button 88 <el-button
89 size="mini" 89 size="mini"
90 type="success" 90 type="success"
91 @click="handleEdit(scope.$index, scope.row)">查看</el-button> 91 @click="handleEdit(scope.$index, scope.row)">查看</el-button>
92 - </template>  
93 - <template slot-scope="scope">  
94 <el-button 92 <el-button
95 size="mini" 93 size="mini"
96 type="danger" 94 type="danger"
@@ -131,7 +129,6 @@ @@ -131,7 +129,6 @@
131 .row-bg{ 129 .row-bg{
132 background-color: white; 130 background-color: white;
133 } 131 }
134 -  
135 </style> 132 </style>
136 <script> 133 <script>
137 import {editFlight, selectFlight} from "../../api/transport"; 134 import {editFlight, selectFlight} from "../../api/transport";
@@ -162,6 +159,7 @@ @@ -162,6 +159,7 @@
162 }, 159 },
163 handleCurrentChange(val) { 160 handleCurrentChange(val) {
164 this.currentPage=val; 161 this.currentPage=val;
  162 + this.submitForm();
165 }, 163 },
166 //获取航班列表 164 //获取航班列表
167 submitForm(){ 165 submitForm(){
@@ -176,23 +174,11 @@ @@ -176,23 +174,11 @@
176 }, 174 },
177 //编辑航班查询功能 175 //编辑航班查询功能
178 handleEdit(index,row){ 176 handleEdit(index,row){
179 - this.$router.push({path:'/flights',query:{uuid:JSON.stringify(row.uuid),airwayCode:JSON.stringify(row.airwayCode)  
180 - ,airwayNameEn:JSON.stringify(row.airwayNameEn), airwayNameCn:JSON.stringify(row.airwayNameCn),  
181 - transportAgentCode:JSON.stringify(row.transportAgentCode),groundAgentCode:JSON.stringify(row.groundAgentCode),  
182 - flightNo:JSON.stringify(row.flightNo),shareFlightNo:JSON.stringify(row.shareFlightNo),linesType:JSON.stringify(row.linesType),  
183 - std:JSON.stringify(row.std), sta:JSON.stringify(row.sta),effStartdate:JSON.stringify(row.effStartdate),  
184 - effEnddate:JSON.stringify(row.effEnddate),plan:JSON.stringify(row.plan), remark:JSON.stringify(row.remark),  
185 - createTime:JSON.stringify(row.createTime),createBy:JSON.stringify(row.createBy),updateTime:JSON.stringify(row.updateTime),  
186 - updateBy:JSON.stringify(row.updateBy),isDelete:JSON.stringify(row.isDelete),flightType:JSON.stringify(row.flightType), cancelFlag:JSON.stringify(row.cancelFlag),  
187 - departurePort:JSON.stringify(row.departurePort),arrivalPort:JSON.stringify(row.arrivalPort),departureCustomNo:JSON.stringify(row.departureCustomNo),  
188 - arrivalCustomNo:JSON.stringify(row.arrivalCustomNo),serialno:JSON.stringify(row.serialno),status:JSON.stringify(row.status),  
189 - statusMsg:JSON.stringify(row.statusMsg),messageid:JSON.stringify(row.messageid)  
190 - }}) 177 + this.$router.push({path:'/flights',query:row})
191 }, 178 },
192 //获取默认值 179 //获取默认值
193 defaultData(){ 180 defaultData(){
194 - this.flightNo = JSON.parse(this.$route.query.flightNo);  
195 - this.aircraftNo = JSON.parse(this.$route.query.aircraftNo); 181 + Object.assign(this.queryFlight, this.$route.query);
196 }, 182 },
197 //列表删除功能 183 //列表删除功能
198 handleDel(index,row){ 184 handleDel(index,row){
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 <el-row> 9 <el-row>
10 <el-form :model="queryRoute" ref="serialNo" label-width="130px" > 10 <el-form :model="queryRoute" ref="serialNo" label-width="130px" >
11 <el-col :span="6"> 11 <el-col :span="6">
12 - <el-form-item label="航线序号" prop="serialNo" label-width="130px"> 12 + <el-form-item label="航线序号" prop="serialNo" label-width="80px">
13 <el-input v-model="queryRoute.serialNo" placeholder="请输入"></el-input> 13 <el-input v-model="queryRoute.serialNo" placeholder="请输入"></el-input>
14 </el-form-item> 14 </el-form-item>
15 </el-col> 15 </el-col>
@@ -27,7 +27,8 @@ @@ -27,7 +27,8 @@
27 style="width:100%;margin-bottom: 10px"> 27 style="width:100%;margin-bottom: 10px">
28 <el-table-column 28 <el-table-column
29 fixed="left" 29 fixed="left"
30 - label="操作"> 30 + label="操作"
  31 + width="100">
31 <template slot-scope="scope"> 32 <template slot-scope="scope">
32 <el-button 33 <el-button
33 size="mini" 34 size="mini"
@@ -37,53 +38,59 @@ @@ -37,53 +38,59 @@
37 </el-table-column> 38 </el-table-column>
38 <el-table-column 39 <el-table-column
39 prop="serialNo" 40 prop="serialNo"
40 - label="航线序号"> 41 + label="航线序号"
  42 + width="80">
41 </el-table-column> 43 </el-table-column>
42 <el-table-column 44 <el-table-column
43 prop="departurePort" 45 prop="departurePort"
44 - label="出发港"> 46 + label="出发港"
  47 + width="80">
45 </el-table-column> 48 </el-table-column>
46 <el-table-column 49 <el-table-column
47 prop="departureCustomNo" 50 prop="departureCustomNo"
48 label="出发港关区代码" 51 label="出发港关区代码"
49 - width="120"> 52 + width="150">
50 </el-table-column> 53 </el-table-column>
51 <el-table-column 54 <el-table-column
52 prop="arrivalPort" 55 prop="arrivalPort"
53 - label="目的港"> 56 + label="目的港"
  57 + width="80">
54 </el-table-column> 58 </el-table-column>
55 <el-table-column 59 <el-table-column
56 prop="arrivalCustomNo" 60 prop="arrivalCustomNo"
57 label="目的港关区代码" 61 label="目的港关区代码"
58 - width="120"> 62 + width="150">
59 </el-table-column> 63 </el-table-column>
60 <el-table-column 64 <el-table-column
61 prop="std" 65 prop="std"
62 - label="长期离港时间"> 66 + label="长期离港时间"
  67 + width="150">
63 </el-table-column> 68 </el-table-column>
64 <el-table-column 69 <el-table-column
65 prop="sta" 70 prop="sta"
66 - label="长期抵港时间"> 71 + label="长期抵港时间"
  72 + width="150">
67 </el-table-column> 73 </el-table-column>
68 <el-table-column 74 <el-table-column
69 prop="effStartdate" 75 prop="effStartdate"
70 label="有效期起始时间" 76 label="有效期起始时间"
71 - width="120"> 77 + width="150">
72 </el-table-column> 78 </el-table-column>
73 <el-table-column 79 <el-table-column
74 prop="effEnddate" 80 prop="effEnddate"
75 label="有效期结束时间" 81 label="有效期结束时间"
76 - width="120"> 82 + width="150">
77 </el-table-column> 83 </el-table-column>
78 <el-table-column 84 <el-table-column
79 prop="plan" 85 prop="plan"
80 - label="每周执行情况"> 86 + label="每周执行情况"
  87 + width="150">
81 </el-table-column> 88 </el-table-column>
82 <el-table-column 89 <el-table-column
83 - fixed="right" 90 +
84 prop="remark" 91 prop="remark"
85 label="报文操作" 92 label="报文操作"
86 - width="200"> 93 + width="250">
87 <template slot-scope="scope"> 94 <template slot-scope="scope">
88 <el-button 95 <el-button
89 size="mini" 96 size="mini"
@@ -174,7 +181,7 @@ @@ -174,7 +181,7 @@
174 }, 181 },
175 //获取默认值 182 //获取默认值
176 defaultData(){ 183 defaultData(){
177 - let ob=Object.assign(this.queryRoute, this.$route.query); 184 + Object.assign(this.queryRoute, this.$route.query);
178 }, 185 },
179 //列表删除功能 186 //列表删除功能
180 handleDelete(index,row){ 187 handleDelete(index,row){
@@ -52,7 +52,7 @@ @@ -52,7 +52,7 @@
52 52
53 <!--编辑界面--> 53 <!--编辑界面-->
54 <el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false"> 54 <el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
55 - <el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm"> 55 + <el-form :model="editForm" label-width="100px" :rules="editFormRules" ref="editForm">
56 <el-form-item label="ID"> 56 <el-form-item label="ID">
57 <span>{{editForm.permissionId}}</span> 57 <span>{{editForm.permissionId}}</span>
58 </el-form-item> 58 </el-form-item>
@@ -81,8 +81,7 @@ @@ -81,8 +81,7 @@
81 inactive-color="#ff4949" 81 inactive-color="#ff4949"
82 active-text="是" 82 active-text="是"
83 inactive-text="否" 83 inactive-text="否"
84 - active-value="1"  
85 - inactive-value="0"> 84 + >
86 </el-switch> 85 </el-switch>
87 </el-form-item> 86 </el-form-item>
88 </el-form> 87 </el-form>
@@ -94,25 +93,46 @@ @@ -94,25 +93,46 @@
94 93
95 <!--新增界面--> 94 <!--新增界面-->
96 <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false"> 95 <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
97 - <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm"> 96 + <el-form :model="addForm" label-width="100px" :rules="addFormRules" ref="addForm">
  97 + <el-row>
  98 + <el-col :span="12">
98 <el-form-item label="权限名称" prop="name"> 99 <el-form-item label="权限名称" prop="name">
99 <el-input v-model="addForm.name" auto-complete="off" placeholder="请输入权限名称:例如:用户新增权限"></el-input> 100 <el-input v-model="addForm.name" auto-complete="off" placeholder="请输入权限名称:例如:用户新增权限"></el-input>
100 </el-form-item> 101 </el-form-item>
  102 + </el-col>
  103 + <el-col :span="12">
101 <el-form-item label="权限描述" prop="description"> 104 <el-form-item label="权限描述" prop="description">
102 <el-input v-model="addForm.description" auto-complete="off" placeholder="请输入权限描述:例如:用户管理员"></el-input> 105 <el-input v-model="addForm.description" auto-complete="off" placeholder="请输入权限描述:例如:用户管理员"></el-input>
103 </el-form-item> 106 </el-form-item>
  107 + </el-col>
  108 + </el-row>
  109 +
104 <el-form-item label="权限总路径" prop="path"> 110 <el-form-item label="权限总路径" prop="path">
105 <el-input v-model="addForm.path" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input> 111 <el-input v-model="addForm.path" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
106 </el-form-item> 112 </el-form-item>
107 <el-form-item label="权限路径" prop="url"> 113 <el-form-item label="权限路径" prop="url">
108 <el-input v-model="addForm.url" auto-complete="off" placeholder="请输入权限描述:例如:/user/update"></el-input> 114 <el-input v-model="addForm.url" auto-complete="off" placeholder="请输入权限描述:例如:/user/update"></el-input>
109 </el-form-item> 115 </el-form-item>
  116 + <el-row>
  117 + <el-col :span="8">
110 <el-form-item label="权限排序" prop="permissionOrder"> 118 <el-form-item label="权限排序" prop="permissionOrder">
111 <el-input v-model="addForm.permissionOrder" auto-complete="off" placeholder="请输入权限排序:例如:123"></el-input> 119 <el-input v-model="addForm.permissionOrder" auto-complete="off" placeholder="请输入权限排序:例如:123"></el-input>
112 </el-form-item> 120 </el-form-item>
113 - <el-form-item label="父目录ID" prop="parentId">  
114 - <el-input v-model="addForm.parentId" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input> 121 + </el-col>
  122 +
  123 + </el-row>
  124 + <el-row>
  125 + <el-col :span="24">
  126 + <el-form-item label="设置权限上级" prop="parentId">
  127 + <el-input v-model="addForm.parentId" auto-complete="off" placeholder="请输入或者选择适配权限"></el-input>
  128 + <div style ="float:left">
  129 + <el-button type="text" @click="drawer = true">设置权限上级</el-button>
  130 + </div>
115 </el-form-item> 131 </el-form-item>
  132 + </el-col>
  133 + </el-row>
  134 +
  135 +
116 <el-form-item label="ismenu" prop="ismenu"> 136 <el-form-item label="ismenu" prop="ismenu">
117 <el-switch 137 <el-switch
118 v-model="addForm.ismenu" 138 v-model="addForm.ismenu"
@@ -130,6 +150,24 @@ @@ -130,6 +150,24 @@
130 <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button> 150 <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
131 </div> 151 </div>
132 </el-dialog> 152 </el-dialog>
  153 +
  154 + <el-drawer
  155 + title="设置权限上级"
  156 + :visible.sync="drawer"
  157 + append-to-body
  158 + withHeader>
  159 + <el-button type="primary" @click.native="treeMerge(false)">合并节点</el-button>
  160 + <el-button type="primary" @click.native="treeMerge(true)">展开节点</el-button>
  161 + <span style="color:#E6A23C">不设置为顶级权限</span>
  162 + <el-tree :data="tableList" :props="treeDefaultProps"
  163 + @check="clickDeal"
  164 + :default-expand-all = "treeExpand"
  165 + show-checkbox
  166 + highlight-current
  167 + check-strictly
  168 + node-key="permissionId" ref="tree">
  169 + </el-tree>
  170 + </el-drawer>
133 </section> 171 </section>
134 </template> 172 </template>
135 173
@@ -147,7 +185,7 @@ @@ -147,7 +185,7 @@
147 tableList: [], 185 tableList: [],
148 total: 0, 186 total: 0,
149 pageNum: 1, 187 pageNum: 1,
150 - pageSize: 100, 188 + pageSize: 500,
151 listLoading: false, 189 listLoading: false,
152 sels: [],//列表选中列 190 sels: [],//列表选中列
153 //编辑界面是否显示 191 //编辑界面是否显示
@@ -166,11 +204,19 @@ @@ -166,11 +204,19 @@
166 url: '', 204 url: '',
167 path: '', 205 path: '',
168 parentId: '', 206 parentId: '',
169 - ismenu: '',  
170 - permissionOrder:'' 207 + ismenu: true,
  208 + permissionOrder:'',
  209 + chidren: [],
  210 + component: '',
  211 + method: ''
171 }, 212 },
172 - 213 + treeDefaultProps: {
  214 + children: 'children',
  215 + label: 'name',
  216 + },
  217 + treeExpand: true,
173 addFormVisible: false,//新增界面是否显示 218 addFormVisible: false,//新增界面是否显示
  219 + drawer: false,
174 addLoading: false, 220 addLoading: false,
175 addFormRules: { 221 addFormRules: {
176 name: [ 222 name: [
@@ -187,9 +233,6 @@ @@ -187,9 +233,6 @@
187 ], 233 ],
188 permissionOrder: [ 234 permissionOrder: [
189 { required: true, message: '请输入排序字段', trigger: 'blur' } 235 { required: true, message: '请输入排序字段', trigger: 'blur' }
190 - ],  
191 - parentId: [  
192 - { required: true, message: '请输入父类ID', trigger: 'blur' }  
193 ] 236 ]
194 }, 237 },
195 //新增界面数据 238 //新增界面数据
@@ -198,9 +241,9 @@ @@ -198,9 +241,9 @@
198 name: '', 241 name: '',
199 url: '', 242 url: '',
200 path: '', 243 path: '',
201 - parentId: '', 244 + parentId: 0,
202 ismenu: '', 245 ismenu: '',
203 - permissionOrder:'' 246 + permissionOrder:'0'
204 247
205 } 248 }
206 249
@@ -283,14 +326,14 @@ @@ -283,14 +326,14 @@
283 handleAdd: function () { 326 handleAdd: function () {
284 this.addFormVisible = true; 327 this.addFormVisible = true;
285 this.addForm = { 328 this.addForm = {
286 - username: '',  
287 - password: '',  
288 - sex: 1,  
289 - address: '',  
290 - realname: '',  
291 - email: '',  
292 - mobilephone: '',  
293 - age: 1 329 + description: '',
  330 + name: '',
  331 + url: '',
  332 + path: '',
  333 + parentId: 0,
  334 + ismenu: '',
  335 + permissionOrder:'0'
  336 +
294 }; 337 };
295 }, 338 },
296 //编辑 339 //编辑
@@ -366,6 +409,17 @@ @@ -366,6 +409,17 @@
366 }).catch(() => { 409 }).catch(() => {
367 410
368 }); 411 });
  412 + },
  413 + clickDeal: function (currentObj, treeStatus) {
  414 + this.addForm.parentId = currentObj.permissionId;
  415 + this.$refs.tree.setCheckedKeys([currentObj.permissionId]);
  416 + // this.drawer = false;
  417 + },
  418 + treeMerge: function (expand) {
  419 + this.treeExpand = expand;
  420 + for(var i=0;i<this.$refs.tree.store._getAllNodes().length;i++){
  421 + this.$refs.tree.store._getAllNodes()[i].expanded=this.treeExpand;
  422 + }
369 } 423 }
370 }, 424 },
371 mounted() { 425 mounted() {
@@ -375,6 +429,9 @@ @@ -375,6 +429,9 @@
375 429
376 </script> 430 </script>
377 431
378 -<style scoped> 432 +<style rel="stylesheet/scss" lang="scss">
  433 + .el-drawer.rtl {
  434 + overflow: scroll
  435 + }
379 436
380 </style> 437 </style>
@@ -246,7 +246,6 @@ @@ -246,7 +246,6 @@
246 this.listLoading = false; 246 this.listLoading = false;
247 //NProgress.done(); 247 //NProgress.done();
248 }).catch((error) => { 248 }).catch((error) => {
249 -  
250 this.listLoading = false; 249 this.listLoading = false;
251 if(null!= error.response && error.response!==undefined){ 250 if(null!= error.response && error.response!==undefined){
252 let status= error.response.status; 251 let status= error.response.status;
@@ -264,7 +263,7 @@ @@ -264,7 +263,7 @@
264 getPermList() { 263 getPermList() {
265 let para = { 264 let para = {
266 pageNum: 1, 265 pageNum: 1,
267 - pageSize: 700 266 + pageSize: 500
268 }; 267 };
269 NProgress.start(); 268 NProgress.start();
270 permList(para).then((res) => { 269 permList(para).then((res) => {