<style>
    .aviation .addCompany {width: 440px;}
</style>
<template>
  <div class="flexOne aviation">
       <div class="query-box">
            <ul>
                <li>
                    <span>
                        <em>{{$t('system.query_templateName')}}</em>
                        <el-input placeholder="" v-model="msg.TempName" maxlength="20" @keyup.native.enter="initTableInfo"></el-input>
                    </span>
                </li>
                <li>
                    <span>
                        <em>{{$t('system.query_airCompanyName')}}</em>
                        <el-select filterable  clearable v-model='msg.AirLineId' :placeholder="$t('pub.unlimitedSel')">   
						        <el-option :label="$t('pub.unlimitedSel')" value='0'></el-option>
								<el-option v-for='item in airlineList' 
									:label='item.AlName'
									:value='item.AirLineId'
									:key='item.AirLineId'>
								</el-option>
                        </el-select>
                    </span>

                </li>
                <li>
                   <button class="hollowFixedBtn" @click="resetPageIndex(),initTableInfo()">{{$t('pub.searchBtn')}}</button>
                   <button class="normalBtn" @click="outerVisible=true,dialogTitle='添加航空模板信息'">{{$t('pub.addBtn')}}</button>
                </li>
            </ul>
       </div>
       <table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
			<tr>
				<th>{{$t('system.query_airCompanyName')}}</th>
				<th width="300">{{$t('system.query_templateName')}}</th>
				<th>{{$t('system.table_uniqueMark')}}</th>
				<th>{{$t('system.table_operation')}}</th>
			</tr>
			<tr v-for="item in tableInfo" :key="item.subCode">
                <td>{{item.AirLineName}}</td>
                <td>{{item.TempName}}</td>
                <td>{{item.TempCode}}</td>
                <td>
                    <el-tooltip class="item" effect="dark" content="修改" placement="top-start">
                        <el-button type="primary" @click="updateInfo(item.Id),outerVisible=true,dialogTitle='修改航空模板信息'" icon="el-icon-edit" circle></el-button>
                    </el-tooltip>
                    <el-tooltip class="item" effect="dark" content="删除" placement="top-start">
                        <el-button type="danger" icon="el-icon-delete" @click="isdelete(item.Id)" circle></el-button>
                    </el-tooltip>
                </td>
			</tr>
		</table>
        <el-pagination 
			 background
			 @current-change="handleCurrentChange" 
			 :current-page.sync="currentPage"
			 layout="total,prev, pager, next, jumper"
			 :page-size=msg.pageSize 
			 :total=total>
		</el-pagination>
        <el-dialog custom-class='addCompany' :title="dialogTitle" :visible.sync="outerVisible" center :before-close="closeChangeMachie">
			<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="100px" >
                <el-form-item :label="$t('system.query_airCompanyName')" prop="AirLineId">
                    <el-select v-model="addMsg.AirLineId" filterable :placeholder="$t('pub.pleaseSel')" class="w210">
                        <el-option v-for='item in airlineList'
                                :label='item.AlName'
                                :value='item.AirLineId'
                                :key='item.AirLineId'>
                        </el-option>
                    </el-select>
                </el-form-item>
                <el-form-item :label="$t('system.query_templateName')" prop="TempName">
                   <el-input type="text" v-model="addMsg.TempName" class="w210" maxlength="20"></el-input>
                </el-form-item>
                <el-form-item :label="$t('system.table_uniqueMark')" prop="TempCode">
                   <el-input type="text" v-model="addMsg.TempCode" maxlength="10" class="w210"></el-input>
                </el-form-item>
			</el-form>
                
			<div slot="footer" class="dialog-footer">
				<button class="normalBtn" type="primary" @click="submitForm('addMsg')">{{$t('pub.saveBtn')}}</button> &nbsp;
				<button class="hollowFixedBtn" @click="resetForm('addMsg'),outerVisible = false">{{$t('pub.cancelBtn')}}</button>
			</div>
		</el-dialog>


  </div>
</template>
<script>
	export default {
		data() {
			return {
            msg:{
                pageIndex:1,
                pageSize:10,
                TempName:'',
                AirLineId:'',
            },
            addMsg:{
                Id:'0',
                TempName:'',
                AirLineId:'',
                TempCode:''
            },  
                total:0,
                currentPage: 1,
                loading:true,
                airlineList:'',
                tableInfo:'',
                outerVisible: false,
                isDeleteNote:true,
                dialogTitle: '',
                deleteID:'',
                rules: {//表单必填验证
                AirLineId: [
                    { required: true, message: '请选择航空公司', trigger: 'change' }
                    //{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
                ],
                TempName: [
                    { required: true, message: '请填写模板名称', trigger: 'blur' }
                ],
                TempCode:[
                    { required: true, message: '请填写唯一标识', trigger: 'blur' }
                ]
          }
			}
		},
		methods: {
           initAirlines(){                             //初始化航空公司下拉
                let msg= {} 
				this.apipost('airline_post_GetList', msg, res => {
						if(res.data.resultCode == 1) {
                            this.airlineList = res.data.data
						} else {
							alert(res.data.message)
						}
                }, err => {})				
            },
            initTableInfo(){        
                if(this.msg.AirLineId==""){
                    this.msg.AirLineId='0';
                }              
                this.loading = true;          
                this.apipost('airlinetemplate_get_GetPageList', this.msg, res => {
                        this.loading = false;
						if(res.data.resultCode == 1) {
                            this.tableInfo = res.data.data.pageData;
                            this.total = res.data.data.count;
						} else {
                            this.innerVisible = true;
                            this.isDeleteNote = true;
                            this.insideDialogTxt = res.data.message;
						}
                }, err => {})		
            },
            handleCurrentChange(val) {
				this.msg.pageIndex = val;
				this.initTableInfo();
            },
            resetPageIndex(){
                this.msg.pageIndex=1;
                this.currentPage = 1
            },
            addFlightmodule(){                  //添加模板信息
                this.apipost('airlinetemplate_post_Set', this.addMsg, res => {
                    if(res.data.resultCode == 1) {
                        this.Success('保存成功');
                        this.outerVisible = false;    
                        this.initAddMsg();  
                        this.initTableInfo();
                    } else {
                        this.Error(res.data.message);
                    }
                }, err => {})	
            },
            updateInfo(ID){               //修改模板信息
                let msg = {
                    ID:ID
                }
                this.apipost('airlinetemplate_get_Get', msg, res => {
                    if(res.data.resultCode == 1) {
                        this.addMsg = res.data.data;
                    }
                }, err => {})	
            },
            isdelete(ID){
                this.deleteID = ID;
                this.$confirm('是否删除?', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
                }).then(() => {
                    this.$message({
                        type: 'success',
                        message: '删除成功!'
                    });
                    this.delInfo();
                }).catch(() => {
                    this.$message({
                        type: 'info',
                        message: '已取消删除'
                    });
                });
            },
            delInfo(){
                let msg = {
                    ID:this.deleteID
                }
                this.apipost('airlinetemplate_post_Remove', msg, res => {
                if(res.data.resultCode == 1) {
                    this.Success('删除成功');
                    this.initTableInfo();
                } else {
                    this.Error(res.data.message);
                }
            }, err => {})	
            },
            submitForm(addMsg) {//提交创建、修改表单
                let that = this;
                that.$refs[addMsg].validate((valid) => {
                    if (valid) {
                        that.addFlightmodule()
                    } else {
                        return false;
                    }
                });
            },
            closeChangeMachie(done){//弹出框关闭初始化弹框内表单
                done();
                this.resetForm('addMsg');
            },
            resetForm(formName) {//弹出框取消 初始化谈框内表单
                this.$refs[formName].resetFields();
                this.initAddMsg();
            },
            initAddMsg(){
                this.addMsg = {
                    Id:'0',
                    TempName:'',
                    AirLineId:'',
                    TempCode:''
                }
            },

        },
        mounted(){
            this.initAirlines();            //初始化航空公司下拉
            this.initTableInfo();           //初始化表格
        }
	}
</script>