<template>
	<div class="eContainer">
		<c-page title="柜员配置查询">
			<el-form :model="model" label-width="120px" label-position="right" size="small">
				<div class="eibs-tab">
					<!-- ----------左 ---------->
					<c-col :span="24" class="col-left">
						<c-col :span="8">
							<el-form-item label="机构" style="width: 100%">
								<c-select v-model="form.branchinr" filterable style="width: 100%" placeholder="请选择业务机构">
									<el-option v-for="item in bchtypList" :key="item.branch" :label="item.bchname" :value="item.inr">
									</el-option>
								</c-select>
							</el-form-item>
						</c-col>
						<c-col :span="8">
							<el-form-item label="组别" style="width: 100%">
                    <c-select v-model="form.bizGroup" filterable style="width: 100%" placeholder="请选择业务组别" dbCode="bizgrp">
                    </c-select>
                  </el-form-item>
						</c-col>
            <c-col :span="8">
							<el-form-item label="柜员工号" style="width: 100%">
								<c-select v-model="form.extkey" style="width: 100%" placeholder="请选择柜员" >
                  <el-option v-for="item in usrLst" :key="item.extkey" :value="item.extkey" :label="item.nam + '-' + item.extkey"></el-option>
                </c-select>
							</el-form-item>
						</c-col>
					</c-col>
					<!-- ----------右 ---------->
					<!-- <c-col :span="12" class="col-right">
						<c-col :span="24">
							<el-form-item label="柜员工号" style="width: 100%">
								<c-select v-model="form.extkey" style="width: 100%" placeholder="请选择柜员" >
                  <el-option v-for="item in usrLst" :key="item.extkey" :value="item.extkey" :label="item.nam + '-' + item.extkey"></el-option>
                </c-select>
							</el-form-item>
						</c-col>
					</c-col> -->

					<!-- 操作按钮 -->
					<c-col :span="24">
						<c-col :span="12" style="text-align: left">
							<el-button type="primary" size="small" icon="el-icon-plus" @click="tskusrAdd">新增</el-button>
						</c-col>
						<c-col :span="12" style="text-align: right">
							<el-button size="small" @click="handleReset">重置</el-button>
							<el-button type="primary" icon="el-icon-search" size="small" @click="onSearch">查询
							</el-button>
						</c-col>
					</c-col>

					<c-col :span="24">
            <el-table id='tableRef' size="small"   :data="tskusrData">
              <el-table-column label="柜员工号" prop="extkey" sortable  width="150px">
                <template slot-scope="scope">{{scope.row.extkey}}</template>
              </el-table-column>
              <el-table-column label="柜员姓名" prop="name" sortable  width="150px">
                <template slot-scope="scope">{{scope.row.name}}</template>
              </el-table-column>
               <el-table-column label="业务组别" prop="bizGroup" sortable width="150px"  >
                <template slot-scope="scope">{{getCodelabel(scope.row.bizGroup,"bizGrp")}}</template>
              </el-table-column>
              <el-table-column label="指定复核人员" prop="designatedReviewer" sortable  width="150px" >
                <template slot-scope="scope">{{scope.row.designatedReviewer}}</template>
              </el-table-column>
              <el-table-column label="经办权限" prop="handlePermission" sortable width="150px" show-overflow-tooltip>
                <template slot-scope="scope">{{scope.row.handlePermission}}</template>
              </el-table-column>
              <el-table-column label="复核权限" prop="reviewPermission" sortable width="150px" >
                <template slot-scope="scope">{{scope.row.reviewPermission}}</template>
              </el-table-column>
              <el-table-column label="业务岗位" prop="bizPosition" sortable width="150px" >
                <template slot-scope="scope">{{getCodelabel(scope.row.bizPosition,'bizPst')}}</template>
              </el-table-column>
              <el-table-column label="参与分配标志" prop="participateFlag" sortable width="150px" >
                <template slot-scope="scope">{{flgFormat(scope.row.participateFlag)}}</template>
              </el-table-column>
              <el-table-column label="柜员状态" prop="status" sortable width="150px" >
                <template slot-scope="scope">{{getCodelabel(scope.row.status,'usrSta')}}</template>
              </el-table-column>
              <el-table-column label="上次登录时间" prop="lastLoginTime" sortable width="150px" >
                <template slot-scope="scope">{{scope.row.lastLoginTime}}</template>
              </el-table-column>
              <el-table-column label="已分配任务数" prop="assignedTaskCount" sortable width="150px" >
                <template slot-scope="scope">{{scope.row.assignedTaskCount}}</template>
              </el-table-column>
              <el-table-column label="上次任务提交时间" prop="lastCommitTime" sortable width="150px" >
                <template slot-scope="scope">{{scope.row.lastCommitTime}}</template>
              </el-table-column>
                <el-table-column fixed="right" prop="op" label="操作"  width="240px">
								<template slot-scope="scope">
									<c-button style="margin-left: 5px" size="small" type="text" icon="el-icon-edit" @click="tskusrEdit(scope.row)">修改</c-button>
									<c-button size="small" style="margin-left: 5px" type="text" icon="el-icon-delete" @click="tskusrDelete(scope.row)">删除</c-button>
									<c-button style="margin-left: 5px" size="small" type="text" icon="el-icon-info" @click="tskusrDetail(scope.row)">详情</c-button>
								</template>
							</el-table-column>
              </el-table>
            <el-pagination :current-page.sync="pagenation.pageNo" :page-sizes="[5, 10, 20]" :page-size="pagenation.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="pagenation.total" @size-change="handleSizeChange" @current-change="handleCurrentChange"></el-pagination>	
	
						<!-- <c-paging-table 
						:data="tskusrData" 
						:columns="tskusrColumns" 
						:pageNumber="pagenation.pageNo" 
						:pageSize="pagenation.pageSize" 
						:total="pagenation.total" 
						v-on:queryFunc="queryFunc" 
						:border="true"
						>
							<c-table-column fixed="right" prop="op" label="操作" width="240px">
								<template slot-scope="{ scope }">
									<c-button style="margin-left: 5px" size="small" type="primary" icon="el-icon-edit" @click="tskusrEdit(scope.row)">修改</c-button>
									<c-button size="small" style="margin-left: 5px" icon="el-icon-delete" @click="tskusrDelete(scope.row)">删除</c-button>
								</template>
							</c-table-column>
						</c-paging-table> -->
					</c-col>

					<el-dialog :title="dialogNam[tskusrtyp]" :visible.sync="dialogVisible" :modal-append-to-body="false" :close-on-click-modal="false" center class="dialog">
						<el-form :model="model" :disabled="tskusrtyp == 'info'" ref="modelForm" label-suffix=":" :rules="rules">
							<c-col :span="12" style="padding-right: 20px;">
								<!-- <c-col :span="24">
									<el-form-item label="柜员ID" :label-width="formLabelWidth" prop="inr" :required="tskusrtyp=='add'">
										<c-input v-model="model.inr" autocomplete="off" placeholder="请输入柜员ID" :disabled="tskusrtyp=='edit'"></c-input>
									</el-form-item>
								</c-col> -->
                <c-col :span="24">
									<el-form-item label="柜员工号" :label-width="formLabelWidth" prop="extkey"  :required="tskusrtyp=='add'">
                    <c-select v-model="model.extkey" @change="getNamAndBch" :disabled="tskusrtyp=='edit'" placeholder="请选择柜员">
                      <el-option v-for="item in usrs" :key="item.extkey" :value="item.extkey" :label="item.extkey"></el-option>
                    </c-select>
                  </el-form-item>
								</c-col>
								<c-col :span="24">
									<el-form-item label="业务岗位" :label-width="formLabelWidth" prop="bizPosition">
										<c-select v-model="model.bizPosition" autocomplete="off" placeholder="请输入业务岗位" dbCode="bizpst">
											<!-- <el-option v-for="item in bizPosition" :key="item.value" :label="item.label" :value="item.value"></el-option> -->
										</c-select>
									</el-form-item>
								</c-col>

                 <c-col :span="24">
									<el-form-item label="指定复核人员" :label-width="formLabelWidth" prop="designatedReviewer">
									 <c-select v-model="model.designatedReviewer"  placeholder="请选择复核柜员">
                      <el-option v-for="item in relUsr" :key="item.extkey" :value="item.extkey" :label="item.extkey + '-' + item.name"></el-option>
                    </c-select>
									</el-form-item>
								</c-col>

                <c-col :span="24">
									<el-form-item label="经办任务池" :label-width="formLabelWidth" prop="handlePermissions">
										<c-select v-model="model.handlePermissions" multiple @change="handleUpdate($event)" placeholder="请选择经办权限">
                      		<el-option v-for="item in tskpool" :key="item.poolNumber" :label="item.poolName" :value="item.poolNumber">
                          </el-option>
                    </c-select>
									</el-form-item>
								</c-col>

               
                 <c-col :span="24">
									<el-form-item label="复核任务池" :label-width="formLabelWidth" prop="reviewPermissions">
										<c-select v-model="model.reviewPermissions" multiple @change="handleUpdate($event)"  placeholder="请输入复核权限">
                      <el-option v-for="item in tskpool" :key="item.poolNumber" :label="item.poolName" :value="item.poolNumber">
                      </el-option>
                    </c-select>
									</el-form-item>
								</c-col>

							</c-col>
							<c-col :span="12" style="padding-left: 20px;">
                <c-col :span="24">
									<el-form-item label="柜员姓名" :label-width="formLabelWidth" prop="name" :required="tskusrtyp=='add'">
										<c-input v-model="model.name"  placeholder="请输入柜员姓名" :disabled="true"></c-input>
									</el-form-item>
								</c-col>

								<c-col :span="24">
									<el-form-item label="所属机构" :label-width="formLabelWidth" prop="branchinr" :required="tskusrtyp=='add'">
										<c-select v-model="model.branchinr"  filterable @change="handleChange" autocomplete="off" placeholder="" disabled>
											<el-option v-for="item in bchtypList" :key="item.branch" :label="item.bchname" :value="item.inr"></el-option>
										</c-select>
									</el-form-item>
								</c-col>
								<c-col :span="24">
									<el-form-item label="业务组别" :label-width="formLabelWidth" prop="bizGroup">
                    	<c-select v-model="model.bizGroup" @change="getTskPool" placeholder="请输入业务组别" dbCode="bizgrp">
										  	<!-- <el-option v-for="item in bizGroups" :key="item.value" :label="item.label" :value="item.value"></el-option> -->
										</c-select>
									</el-form-item>
								</c-col>
                <c-col :span="24">
									<el-form-item label="班次" :label-width="formLabelWidth" prop="workRank">
                    	<c-select v-model="model.workRank"  placeholder="请输入班次" >
										  	<el-option v-for="item in workRanks" :key="item.value" :label="item.label" :value="item.value"></el-option>
										</c-select>
									</el-form-item>
								</c-col>
								<c-col :span="24">
									<el-form-item label="是否参与任务分配" :label-width="formLabelWidth" prop="participateFlag">
										<el-radio v-model="model.participateFlag" label="Y">是</el-radio>
										<el-radio v-model="model.participateFlag" label="N">否</el-radio>
									</el-form-item>
								</c-col>
								<c-col :span="12">
								</c-col>
							</c-col>
						</el-form>
						<div slot="footer" class="dialog-footer">
							<el-button type="primary" @click="commitAdd" v-if="tskusrtyp=='add'">提 交</el-button>
							<el-button type="primary" @click="commitEdit" v-if="tskusrtyp=='edit'">提 交</el-button>
							<el-button  type="primary" @click="handleReturn">返回</el-button>
						</div>
					</el-dialog>
				</div>
			</el-form>
		</c-page>
		<!-- <div style="text-align: center">
			<c-button type="primary" @click="goBack">返 回</c-button>
		</div> -->
	</div>
</template>

<script>
import Utils from "~/utils";
import Api from "~/service/Api";
import commonFunctions from "~/mixin/commonFunctions.js";

export default {
  name: "StaticsTskusr",
  mixins: [commonFunctions],
  components: {},
  data() {
    return {
      usrs:[],
      usrLst:[],
      model: {
        inr: "",
        extkey: "",
        name: "",
        branchinr: "",
        workRank:"",
        bizGroup: "",
        bizPosition: "",
        participateFlag: "",
        designatedReviewer: "",
        handlePermissions: [],
        reviewPermissions: [],
        branchName: "",
      },
      dbCodes:{
        bizGrp:[],
        bizPst:[],
        usrSta:[]
      },
      tskpool:[],
			form: {
				branchinr: "",
				bizGroup: "",
				extkey: "",
			},
			pagenation: {
        pageNo: 1,
        pageSize:5,
        total: 0
      },
      tskusrData: [],
      tskusrColumns: [
        { label: "柜员工号", prop: "extkey", width: "120px" },
        { label: "柜员姓名", prop: "name", width: "120px" },
        { label: "机构名称", prop: "branchName", width: "100px" },
        { label: "业务组别", prop: "bizGroup", width: "120px" },
        { label: "指定复核人员", prop: "designatedReviewer", width: "120px" },
        { label: "经办权限", prop: "handlePermission", width: "120px" },
        { label: "复核权限", prop: "reviewPermission", width: "120px" },
        { label: "业务岗位", prop: "bizPosition", width: "120px" },
        { label: "参与分配标志", prop: "participateFlag", width: "150px" },
        { label: "柜员状态", prop: "status", width: "120px" },
        { label: "上次登录时间", prop: "lastLoginTime", width: "150px" },
        { label: "已分配任务数", prop: "assignedTaskCount", width: "150px" },
        { label: "上次任务提交时间", prop: "lastCommitTime", width: "150px" }
      ],
      tskusrtyp: "",
      formLabelWidth: "100px",
      dialogNam: {
        add: "柜员配置新增",
        edit: "柜员配置修改",
        info:"柜员配置详情"
      },
      dialogVisible: false,
       workRanks: [
        { label: "早班", value: "MS" },
        { label: "晚班", value: "NS" },
      ],
      bizPosition: [
        { label: "经办", value: "handler" },
        { label: "复核", value: "reviewer" },
        { label: "主管", value: "supervisor" }
      ],
       bizGroups: [
        { label: "进口组", value: "IM" },
        { label: "出口组", value: "EX" },
        { label: "汇款组", value: "CP" }
      ],
      bchtypList: [],
      relUsr:[],
      rules: {
        inr: [
					{
						validator: (rule, value, callback)=>{
							if(this.tskusrtyp=='add'&&!value){
								callback(new Error('必输项'));
							}else{
								callback();
							}
						},trigger:['blur','change']
					},
          { max: 16, message: "最大长度16个字符", trigger: "blur" }
        ],
        extkey: [
          {
						validator: (rule, value, callback)=>{
							if(this.tskusrtyp=='add'&&!value){
								callback(new Error('必输项'));
							}else{
								callback();
							}
						},trigger:['blur','change']
					},
          { max: 20, message: "最大长度20个字符", trigger: "blur" }
        ],
        name: [
          {
						validator: (rule, value, callback)=>{
							if(this.tskusrtyp=='add'&&!value){
								callback(new Error('必输项'));
							}else{
								callback();
							}
						},trigger:['blur','change']
					},
          { max: 20, message: "最大长度20个字符", trigger: "blur" }
        ],
        branchinr: [
          {
						validator: (rule, value, callback)=>{
							if(this.tskusrtyp=='add'&&!value){
								callback(new Error('必输项'));
							}else{
								callback();
							}
						},trigger:['blur','change']
					},
          { max: 16, message: "最大长度16个字符", trigger: "blur" }
        ],
        bizGroup: [
          {
            required: true,
            message: "必输项",
            type: "string",
            trigger: "blur"
          },
          { max: 20, message: "最大长度20个字符", trigger: "blur" }
        ],
        bizPosition: [
          {
            required: true,
            message: "必输项",
            type: "string",
            trigger: "blur"
          },
          { max: 20, message: "最大长度20个字符", trigger: "blur" }
        ],
        participateFlag: [
          { required: true, message: "必输项", trigger: "blur" },
          { max: 20, message: "最大长度20个字符", trigger: "blur" }
        ]
      }
    };
  },
  activated() {
    const { update } = this.$route.params;
    if (update) {
      this.onSearch();
    }
  },
  mounted() {
    this.getBranchList();
    this.getUsrListByBch();
    this.getReviewer('reviewer');
    this.getdbCode("bizgrp","","bizGrp");
    this.getdbCode("bizpst","","bizPst");
    this.getdbCode("usrsta","","usrSta");
    this.onSearch();
    
  },
  methods: {
    async queryExtkey (extkey) {
          let res = await Api.post("/public/taskdist/user/queryUser", { extkey: extkey });
          if (res.respCode == SUCCESS) {
            this.model.inr=res.data.inr;
            this.$set(this.model,'name',res.data.name);
          } else {
            this.$notify.error("输入工号不存在,请重新输入!");
          }
      },
      
      getNamAndBch(val){
         var obj={}
        obj= this.usrs.find(function(i){
          return i.extkey ===val
        });
        this.model.name = obj.nam
        this.model.branchinr = obj.bchinr
        this.model.inr = obj.inr
        console.log("obj:",obj)
      },
    handleChange (val) {
        var obj={}
        obj= this.bchtypList.find(function(i){
          return i.inr ===val
        });
        this.model.branchName=obj.bchname;
      },
       //页码修改回调
   handleSizeChange(val) {
     console.log('handleSizeChange:',val)
      this.queryFunc(1,val);
    },
    handleCurrentChange(val) {
     console.log('handleCurrentChange:',val)
      this.queryFunc(val,this.pagenation.pageSize);
		},
       //格式化列表显示
     flgFormat(flg){
			if(flg == 'Y'){
				return '参与';
			}else{
				return '不参与';
			}
			
		},
    // 查询
    async onSearch() {
			const loading = this.loading();
			let params = {
				branchinr: this.form.branchinr || null,
				bizGroup: this.form.bizGroup || null,
				extkey: this.form.extkey || null,
				pageNo: this.pagenation.pageNo || null,
				pageSize: this.pagenation.pageSize || null,
			}
      const res = await Api.post(
        "/public/taskdist/user/list",
        params
      );
      if (res.respCode == SUCCESS) {
				this.tskusrData = res.data.records;
				this.pagenation.pageNo = res.data.pageNo;
				this.pagenation.pageSize = res.data.pageSize;
				this.pagenation.total = res.data.total;

      }
      loading.close();
    },
    //获取码表
    async getdbCode(codeType, uil, codeNam) {
    let params = {
      codeType: codeType,
      uil: uil ? uil : 'EN'
    }
    let rtnmsg = await Api.post("/manager/dic/listDicInfo", params)
    if (rtnmsg.respCode === SUCCESS) {
      let curList = rtnmsg.data.map(item => ({
        value: item.codeValue,
        label: item.codeName
      }));
      this.dbCodes[codeNam] = curList
    }
  },
  //表格码表格式化
    getCodelabel(value,codenam) {
          const codeobj = this.dbCodes[codenam].find(obj => obj.value === value)
          return codeobj ? codeobj.label : value;
    },
		//回调
		queryFunc(currentPage,size){
			this.pagenation.pageNo = currentPage;
			this.pagenation.pageSize = size;
			this.onSearch()
		},
    // 重置
    handleReset() {
      this.form.branchinr = "";
      this.form.bizGroup = "";
      this.form.extkey = "";
    },
    //新增
    tskusrAdd() {
			this.model = {};
      this.tskpool = []
      this.dialogVisible = true;
      this.tskusrtyp = "add";
      this.getUsrList();
    },
    //弹出新增界面初始化柜员列表
    async getUsrList(){
     let rtnmsg = await Api.post('/public/taskdist/user/getUsrList');
     if(rtnmsg.respCode == SUCCESS){
      this.usrs = rtnmsg.data
     }
    },
    //获取经办权限任务池编号
    async getTskPool(){
      	let params = {
				branchinr: this.model.branchinr || null,
				grp: this.model.bizGroup || null,
			}
      let rtnmsg = await Api.post('/public/taskdist/pool/config/getTskpool',params);
      if(rtnmsg.respCode == SUCCESS){
        this.tskpool = rtnmsg.data
     }
        this.model.handlePermissions = []
        this.model.reviewPermissions = []
    },
     //查询条件初始化柜员列表
    async getUsrListByBch(){
      let params ={
        branch:JSON.parse(window.sessionStorage.currentOrg).departmentNumber
      }
     let rtnmsg = await Api.post('/public/taskdist/user/getUsrByBch',params);
     if(rtnmsg.respCode == SUCCESS){
      this.usrLst = rtnmsg.data
     }
    },
    async getEidtTskPool(row){
      	let params = {
				branchinr: row.branchinr || null,
				grp: row.bizGroup || null,
			}
      let rtnmsg = await Api.post('/public/taskdist/pool/config/getTskpool',params);
      if(rtnmsg.respCode == SUCCESS){
        this.tskpool = rtnmsg.data
     }
    },
    handleUpdate(e) {
      this.$forceUpdate();
    },
    // 修改
    tskusrEdit(row) {
      this.dialogVisible = true;
      this.tskusrtyp = "edit";
       this.model.inr = row.inr,
        this.model.extkey = row.extkey,
        this.model.name = row.name,
        this.model.branchinr = row.branchinr,
        this.model.workRank = row.workRank,
        this.model.bizGroup = row.bizGroup,
        this.model.bizPosition = row.bizPosition,
        this.model.participateFlag = row.participateFlag,
        this.model.designatedReviewer = row.designatedReviewer,
        this.model.branchName = row.branchName,
        this.model.status = row.status,
     this.model.handlePermissions = row.handlePermission.trim() ? row.handlePermission.split('-') : [];
     this.model.reviewPermissions = row.reviewPermission.trim() ? row.reviewPermission.split('-') : [];
    this.getEidtTskPool(row)
     
    },
     // 详情
    tskusrDetail(row) {
      this.dialogVisible = true;
      this.tskusrtyp = "info";
       this.model.inr = row.inr,
        this.model.extkey = row.extkey,
        this.model.name = row.name,
        this.model.branchinr = row.branchinr,
        this.model.workRank = row.workRank,
        this.model.bizGroup = row.bizGroup,
        this.model.bizPosition = row.bizPosition,
        this.model.participateFlag = row.participateFlag,
        this.model.designatedReviewer = row.designatedReviewer,
        this.model.branchName = row.branchName,
        this.model.status = row.status,
     this.model.handlePermissions = row.handlePermission.trim() ? row.handlePermission.split('-') : [];
     this.model.reviewPermissions = row.reviewPermission.trim() ? row.reviewPermission.split('-') : [];
     this.getEidtTskPool(row)
    },
    // 删除
    tskusrDelete(row) {
			console.log(row,'row')
      this.$confirm("是否确认删除?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(async () => {
          try {
            const res = await Api.post(
              "/public/taskdist/user/delete",
              { extkey: row.extkey }
            );
            if (res.respCode == SUCCESS) {
							this.$notify.success("删除成功!");
							this.onSearch();
						} else {
							this.$notify.error("删除失败!");
						}
          } catch (error) {
            console.log(error);
          }
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消删除"
          });
        });
    },
    // 取消
    handleReturn() {
      this.dialogVisible = false;
    },
    // 返回任务分配器页面
    goBack() {
      this.$router.history.push({
        path: "/business/tsk"
      });
    },
     //获取复核人员
   async getReviewer(position){
      let params = {
        bizPosition: position,
      }
     const res = await Api.post("/public/taskdist/user/getReviewer",params);
      if (res.respCode == SUCCESS) {
        this.relUsr = res.data
      }
    },
    // 新增表单提交
    commitAdd() {
      this.$refs.modelForm.validate(async (valid) => {
        if (valid) {
					try {
						const params = {
							...this.model
						};
						const res = await Api.post(
							"/public/taskdist/user/create",
							params
						);
						this.$notify.success("添加成功!");
						this.dialogVisible = false;
						this.onSearch();
					} catch (error) {
						console.log(error);
					}
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
    // 修改表单提交
    commitEdit() {
      this.$refs.modelForm.validate(async (valid) => {
        if (valid) {
					try {
						const params = {
							...this.model
						};
						const res = await Api.post(
							"/public/taskdist/user/update",
							params
						);
						this.$notify.success("修改成功!");
						this.dialogVisible = false;
						this.onSearch();
					} catch (error) {
						console.log(error);
					}
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
    // 机构ID
    async getBranchList() {
      const loading = this.loading();
      let res = await Api.post("/public/taskdist/config/getBranchList");
      if (res.respCode == SUCCESS) {
        this.bchtypList = res.data;
      }
      loading.close();
		},
  },
 
};
</script>

<style lang="less" scoped>
.dialog /deep/ .el-dialog {
  height: calc(100% - 230px);
}
</style>