<template>
	<div class="eibs-tab">
		<!-- <c-list-search @form-reset="handleReset" @form-search="handleSearch">
			<template v-slot="searchSlot"> -->
        <div class="m-table-search">
				<el-row>
					<c-col :span="24">
						<c-col :span="8">
							<el-form-item label="业务编号" prop="trncorco.ownref" style="width: 100%">
								<c-input v-model="model.trncorco.ownref" clearable maxlength="16" placeholder="请输入业务编号"></c-input>
							</el-form-item>
						</c-col>
              <c-col :span="8">
                <el-form-item label="业务类型" prop="trncorco.dflg" style="width: 100%">
                  <c-select  multiple  v-model="model.trncorco.dflg" :filterKey ="filRolcon" @change="bustypChange" style="width: 100%" placeholder="请选择业务类型" :clearable="true" dbCode="TRADE" uil="CN">
                  </c-select>
                </el-form-item>
<!--							<el-form-item label="业务类型" prop="trncorco.dflg" style="width: 100%">
                <c-select v-model="model.trncorco.dflg" dbCode="TRADE"  uil="CN" @change="bustypChange" style="width: 100%" placeholder="请选择业务类型" clearable>
								</c-select>
							</el-form-item>-->
						</c-col>
						<c-col :span="8">
              	<el-form-item label="交易名称" prop="atp.cod" style="width: 100%">
								<c-col :span="24">
									<c-col :span="22">
                    <c-select v-model="model.atp.cod" filterable v-if ="inifrmList.dataflg1" style="width: 100%" placeholder="请选择交易代码" clearable>
                      <el-option v-for="item in inifrmList.data1" :key="item.mancod" :label="item.mancodName" :value="item.mancod">
                      </el-option>
                    </c-select>
                   <c-select v-model="model.atp.cod" filterable style="width: 100%" v-if ="inifrmList.dataflg2" placeholder="请选择交易代码" clearable>
                       <el-option v-for="item in inifrmList.data2"  :key="item.cod" :label="item.cod.replace('1','')+'-'+item.codName"  :value="item.cod">
                    </el-option>
                  </c-select>
										<!-- <c-input v-model="model.atp.cod" maxlength="6" clear style="width: 95%" placeholder="请输入交易代码" @keyup.enter.native="onSeainf"></c-input> -->
									</c-col>
									<c-col :span="2">
                     <el-tooltip  placement="top">
                        <div slot="content" >
                            选{{'\u00a0\u00a0\u00a0'}}中:启用交易大类交易码;<br/>不选中:启用交易子类交易码。
                        </div>
                        <c-checkbox size="small" style="width:100%;margin-left:0" true-label="01" false-label="02" v-model="model.codeLev" @change="changeCode">
                        </c-checkbox>
                     </el-tooltip>
										<!-- <c-button size="small" style="width:100%;margin-left:0" type="primary" @click="onSeainf" icon="el-icon-search"></c-button> -->
									</c-col>
								</c-col>
							</el-form-item>
						</c-col>
					</c-col>
				</el-row>
				<!-- 可控展示区 -->
				<el-row >
					<c-col :span="24" v-show="searchToggle">
            	<c-col :span="8">
              	<el-form-item label="创建时间" style="width: 100%" prop="trncorco.inidatfro">
								<c-col :span="11">
									<c-date-picker type="date" v-model="model.trncorco.inidatfro" style="width: 100%" placeholder="请选择创建时间">
									</c-date-picker>
								</c-col>
								<c-col :span="2" style="text-align: center">
									<label style="display: inline-block; width: 100%">-</label>
								</c-col>
								<c-col :span="11">
									<c-date-picker type="date" v-model="model.trncorco.inidattil" style="width: 100%" placeholder="请选择创建时间">
									</c-date-picker>
								</c-col>
							</el-form-item>
						</c-col>
						<c-col :span="8">
							<el-form-item label="业务机构" prop="bchcon" style="width: 100%">
								<c-select v-model="model.bchcon" @change="bchChange" style="width: 100%" placeholder="请选择业务机构" clearable>
									<el-option v-for="item in bchtypList" :key="item.branch" :label="item.bchname" :value="item.branch">
									</el-option>
								</c-select>
							</el-form-item>
						</c-col>
						<c-col :span="8">
							<el-form-item label="经办柜员" prop="usrcon" style="width: 100%">
								<c-select v-model="model.usrcon" style="width: 100%" placeholder="请选择经办柜员" clearable>
									<el-option v-for="item in userList" :key="item.extkey" :label="item.extkey+'-'+item.nam" :value="item.extkey">
									</el-option>
								</c-select>
							</el-form-item>
						</c-col>
					</c-col>
						<c-col :span="8" v-show="searchToggle" v-if="roleTypeName==='单证中心'">
              	<el-form-item label="业务处理模式">
                   <el-radio-group v-model="model.tranTypeStr" @change="changeTrantype">
                   <el-radio  label="">全部</el-radio>
                    <el-radio  label="01">收单行业务</el-radio>
                    <el-radio  label="02">非收单行业务</el-radio>
                    </el-radio-group>
                </el-form-item>
              <!-- <el-form-item label="业务处理模式" prop="tranType">
                <el-checkbox-group @change="handleCheckedStaChange" v-model="model.tranType">
                  <el-checkbox :key="sta.value" :label="sta.value" class="el-checkbox-width" v-for="sta in tranTypeCode">{{sta.label}}
                  </el-checkbox>
                </el-checkbox-group>
            </el-form-item> -->
						</c-col>
          	<c-col :span="8" v-show="searchToggle">
							<el-form-item label="业务状态" prop="relflg" style="width: 100%" >
								<c-select  collapse-tags multiple  v-model="model.relflg" style="width: 100%" placeholder="请选择交易状态" clearable>
									<el-option v-for="item in relflgCodes" :key="item.value" :label="item.label" :value="item.value">
									</el-option>
								</c-select>
							</el-form-item>
								</c-col>
          <c-col :span="8" v-show="searchToggle">
            <el-form-item label="业务金额"  style="width: 100%">
              <c-col :span="11">
                <c-input type="number" maxlength="16" placeholder="请输入最小金额" clearable v-model="model.minamt"></c-input>
              </c-col>
              <c-col :span="2" style="text-align: center">
                <label style="display: inline-block; width: 100%">-</label>
              </c-col>
              <c-col :span="11">
                <c-input type="number" maxlength="16" placeholder="请输入最大金额" clearable v-model="model.maxamt"></c-input>
              </c-col>
            </el-form-item>
          </c-col>
                 <c-col :span="24">
                    <span style="float: right">
                          <el-button size="small" @click="handleReset">重置</el-button>
                          <el-button v-if="isSearchCenter" type="primary"  size="small"  :loading="searchLoading" @click="handleSearchOwn()">Search Own
                          </el-button>
                          <el-button v-if="isSearchCenter" type="primary"  size="small" :loading="searchLoadingAll" @click="handleSearchAll()">Search All
                          </el-button>
                          <el-button v-if="!isSearchCenter" type="primary" icon="el-icon-search" size="small"  @click="handleSearch">查询
                          </el-button>
                          <el-button type="text" @click="handleToggleSearch">
                            {{searchToggle? $t('buttons.收起') : $t('buttons.展开') }}
                            <i :class="searchToggle? 'el-icon-arrow-up': 'el-icon-arrow-down'"></i>
                          </el-button>
                  </span>
            </c-col>
				</el-row>
        </div>
			<!-- </template>
		</c-list-search> -->
     <el-row style="margin-top: 2px;margin-bottom: 2px;">
      <el-col :span="24" >
          <c-button class="medium_bcs" style="margin-left:0;" size="medium" type="primary" @click="exportExcel">导出Excel</c-button>

        <c-button :disabled="isRebackDisable" v-if="isJinBCp" @click="reBackMethod" class="medium_bcs" size="medium"
                  style="margin-left: 20" type="primary">批量退回
        </c-button>
      </el-col>
    </el-row>
		<!-- table表格 -->
		<el-row>
			<c-col :span="24">
				<el-table :data="stmData.data" @row-dblclick="dbQueClickRow" border :columns="stmData.columns" size="small" height="calc(100vh - 360px)" style="width:100%" @sort-change="sortChange" @selection-change="handleSelectionChange">
          <el-table-column :selectable="selectableFn" type="selection" min-width="55" v-if="isJinBCp" >
          </el-table-column>
          <el-table-column  sortable="custom"  v-for="(item, key) in stmData.columns" :show-overflow-tooltip="item.prop!=='ownref'"  v-if="item.show" :key="key" :label="item.label" :min-width="item.width" :prop="item.prop">
                <template slot-scope="scope">
                <span v-if="item.prop==='reloriamt'">
                    {{ moneyFormat(scope.row.reloriamt, scope.row.reloricur) }}
              </span>
              <span v-else-if="item.prop==='inifrm'">
								    {{ tranInifrm(scope.row.inifrm) }}
							</span>
              <span v-else-if="item.prop==='iniusr'">
                    {{ tranName(scope.row.iniusr,scope.row.iniusrName) }}
              </span>
              <span v-else-if="item.prop==='usr'">
                    {{ tranName(scope.row.usr,scope.row.usrName) }}
              </span>
              <span v-else-if="item.prop==='relusr3'">
                    {{ tranName(scope.row.relusr3,scope.row.relusrName) }}
              </span>
                  <span v-else-if="item.prop==='ownref'">
								{{ scope.row.hxyewubh?`${scope.row.ownref}\n${scope.row.hxyewubh}`:scope.row.ownref }}
							</span>
              <span v-else>
                    {{ scope.row[item.prop] }}
              </span>
            </template>
          </el-table-column>
					<el-table-column fixed="right" prop="op" label="操作" width="250px">
						<template slot-scope="scope">
               <c-button size="small" type="text" v-if="isAllowReturn(scope.row)" @click="onReturnOne(scope.$index,scope.row)">退回</c-button>
              <c-button size="small" type="text" v-if="isUpdateYspVisible(scope.row)" @click="updateYspSta(scope.row)">更新状态</c-button>
							<c-button :disabled="isDetailDisable(scope.row)"   size="small" type="text" @click="onWaitDetail(scope.$index,scope.row)">详情</c-button>
							<c-button :disabled="isDisplayDisable(scope.row)" style="margin-left: 5px;" size="small" type="text" @click="onHandle(scope.$index,scope.row)">快照</c-button>
							<c-button	size="small" type="text"	@click="onNodeStatus(scope.$index, scope.row)">交易节点</c-button>
            </template>
					</el-table-column>
				</el-table>
				<el-pagination :current-page.sync="pagination.pageIndex" :page-sizes="[10, 20, 50, 100, 500]" :page-size="pagination.pageSize"
				  layout="total, sizes, prev, pager, next, jumper" :total="pagination.total" @size-change="handleSizeChange" @current-change="handleCurrentChange"></el-pagination>
			</c-col>
		</el-row>
		<!-- 弹窗 -->
		<el-dialog v-dialogDrag width="50%" :title="dialogTitle" v-if="dialogTableVisible" :visible.sync="dialogTableVisible">
			<div v-if="!loadingFlag && tableList.length === 0">暂无数据</div>
			<div v-else>
				<el-table id='tableRef' size="small" v-loading="loadingFlag" :data="tableList" @row-dblclick="dbClickRow" :before-close="beforeClose">
					<el-table-column v-for="(item,key) 
					in tableColumn" :key="key" :prop="item.prop" :width="item.width" :label="item.label">
					</el-table-column>
				</el-table>
			</div>
		</el-dialog>
    		<!--交易节点状态 弹窗 -->
		<nodeStatusDialog ref="nodeStatus" :activities="activities" :nextNode="nextNode"/>
	</div>
</template>

<script>
import event from "../event";
import moment from "moment";
import nodeStatusDialog from "~/page/Business/Quesel/views/nodeStatusDialog";
import Api from '~/service/Api';
export default {
  inject: ["root"],
  props: ["codes", "model"],
  mixins: [event],
  	components: {nodeStatusDialog},
  data() {
    return {
      dbCodes:{
        rolcon:[],
        trade:[],
      },
      filRolcon:[],
      searchModel:"OWN",
      searchToggle:true,
      sortObj:{},
      searchLoadingAll: false,
      searchLoading: false,
      logname:window.sessionStorage.userName,
      inifrmList:{
        dataflg1:true,
        dataflg2:false,
        data1: [],
        data2: []
      },
      batchflg:"N",
      multipleSelection:[],
      multipleSelectionRow: {},
      activities: [],
      nextNode:[],
      dialogTitle: "",
      dialogTableVisible: false,
      loadingFlag: true,
      total: 0,
      currentPage: 1,
      roleTypeName:JSON.parse(window.sessionStorage.curRole).name,
      currentOrg:JSON.parse(window.sessionStorage.currentOrg).departmentNumber,
      accbch:JSON.parse(window.sessionStorage.accbch),
      pageSizes: [5, 10, 20, 30, 40, 50, 100],
      pageSize: 5,
      tableList: [],
      tableColumn: [
        { label: "序号", prop: "index", width: "80px" },
        { label: "交易代码", prop: "cod", width: "200px" },
        { label: "交易名称", prop: "txt", width: "400px" }
      ],
      userList: [],
      bchtypList: [],
      relflgCodes: [],
      busTypeCode: [
            { label: "国内保函", value: "01" },
            { label: "国际保函", value: "02" },
            { label: "海关税款担保保函", value: "03" }
          ],
      tranTypeCode: [
          { label: "收单行业务", value: "01" },
          { label: "非收单业务", value: "02" }
        ],
      stmData: {
        columns: [
          { label: "交易代码", prop: "inifrm", width: "110px"  ,show: true},
          { label: "交易名称", prop: "inifrmNameCn", width: "140px"  ,show: true},
          { label: "业务编号", prop: "ownref", width: "160px"  ,show: true},
          { label: "业务状态", prop: "relflgName", width: "140px"  ,show: true},
          { label: "币种", prop: "reloricur", width: "80px"  ,show: true},
          { label: "金额", prop: "reloriamt", width: "130px"  ,show: true},
          { label: "创建时间", prop: "inidattim", width: "160px" ,show: true},
          { label: "经办柜员", prop: "iniusr", width: "160px",  show:true},
          { label: "总行经办柜员", prop: "relusr3", width: "160px",
              show: window.sessionStorage.accbch && JSON.parse(window.sessionStorage.accbch).bchtyp==='6'?true:false},
          { label: "分配柜员", prop: "usr", width: "160px",
              show: window.sessionStorage.curRole  && (JSON.parse(window.sessionStorage.curRole).id===10255
              ||JSON.parse(window.sessionStorage.curRole).id===10256)?true:false},
          { label: "客户名称", prop: "objnam", width: "210px"  ,show: true},
          { label: "业务机构", prop: "bchname", width: "180px"  ,show: true},
					{ label: "签名要求", prop: "relreqCom", width: "140px"  ,show: true},
          { label: "签名状态", prop: "relresCom", width: "140px"  ,show: true}
        ],
        data: []
      },
      pagination: {
        pageIndex: 1,
        pageSize: 20,
        total: 0
      }
    };
  },
  methods: {
    async initInifrm(){
      let roleId = JSON.parse(window.sessionStorage.curRole).id+"";
      let codeobj = this.dbCodes["rolcon"].find(obj => obj.value === roleId);
      if(codeobj){
        this.filRolcon=codeobj.label.split("|");
      }else{
        await this.getdbCode("trade","","trade");
        this.filRolcon=this.dbCodes["trade"].map((item)=>{
          return item.value;
        });
      }
    },
    async getdbCode(codeType, uil, codeNam) {
      let params = {
        codeType: codeType,
        uil: uil ? uil : 'CN'
      }
      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;
    },
    tranInifrm(inifrm){
      if(inifrm.indexOf("1")>=0){
        return inifrm.replace("1", "");
      }
      return inifrm;
    },
    async updateYspSta(row){
      let params = {
        inr: row.inr
      };
      const res = await Api.post("/public/ysprel/updateSta", params);
      if (res.respCode == SUCCESS) {
        this.$notify({title: '成功', message: res.data.respMsg, type: 'success',
        });
        this.handleSearch();
      }else{
        this.$notify({title: '失败', message: res.data.respMsg, type: 'error',
        });
      }
    },
    dbQueClickRow(row, column, event) {
      this.onHandle(column.rowSpan,row);
    },
    isJinB() {
      return this.isPubJinB();
    },
    handleCheckedStaChange() {
      this.changeTrantype();
      this.searchModel="ALL"
      this.handleSearch();
    },
    changeCode(val) {
      this.model.atp.cod = "";
      this.inifrmList.dataflg1=false;
      this.inifrmList.dataflg2=false;
        if(val==="01"){
          this.inifrmList.dataflg1=true;
          this.getFirstCodeList();
        }else{
            this.inifrmList.dataflg2=true;
          this.getSecondCodeList();
        }
    },
    bustypChange(){
       this.model.atp.cod="";
        if(this.inifrmList.dataflg1){
          this.getFirstCodeList();
        }else {
          this.getSecondCodeList();
        }
    },
    bchChange(){
       this.model.usrcon="";
       this.getUserList();
    },
    tranName(usr,usrName){
        if(usr==='-')
            return '-';
        if(usr && usrName){
          return usr+"-"+usrName;
        }
        return "";
    },
    async getFirstCodeList() {
			this.currentPage = 1;
			this.pageSize = 10000;
			this.total = 0;
			let params = {
				cod: this.model.atp.cod,
        dflg:this.model.trncorco.dflg,
				pageNo: this.currentPage,
				pageSize: this.pageSize
			};
			const res = await Api.post('/public/quesel/getFirstCodeList', params);
			if (res.respCode === SUCCESS) {
				if (res.data && res.data.list) {
					this.inifrmList.data1 = res.data.list;
				}
			}
    },
    isDisplayDisable(row) {
          if(row.objtyp==='SPT' && "-P1-P2-".indexOf(row.relflg)>0){
            return true;
          }
        return false;
      },
    isDetailDisable(row) {
         if(row.objtyp==='SPT' && "-P1-P2-".indexOf(row.relflg)>0){
          return true;
        }
      return false;
    },
    isBranchFuhe() {
      return this.isPubBranchFuhe();
    },
    isUpdateYspVisible(row){
        if (row.inifrm.includes("JST") && this.isBranchFuhe()) {
          return true;
        }
        return false;
    },
    isAllowReturn(row){
      if(this.isJinB()){
        if(row.bchtyp==='6'){
          //收单行上收退回,涉及分行经办 和 总行经办 退回
            if (this.currentOrg!='1000' && row.relflg==='W2'){
              //待分行复核
              return true;
            }
            if (this.currentOrg==='1000' && row.relflg==='W1'){
              //待总行复核
              return true;
            }
        }else{
          //非收单行处理 分行经办
           if (this.currentOrg!=='1000' && "-W1-W2-".indexOf(row.relflg)>0){
              return true;
           }
        }
      }
      return false;
    },
    async getSecondCodeList() {
			this.currentPage = 1;
			this.pageSize = 10000;
			this.total = 0;
			let params = {
        cod: this.model.atp.cod,
        dflg:this.model.trncorco.dflg,
				pageNo: this.currentPage,
				pageSize: this.pageSize
			};
			const res = await Api.post('/public/quesel/getSecondCodeList', params);
			if (res.respCode === SUCCESS) {
				if (res.data && res.data.list) {
					this.inifrmList.data2 = res.data.list;
				}
			}
    },
    changeTrantype(){
          //if(this.model.tranTypeStr==="02"){
          if(this.model.tranType.length===1 && this.model.tranType.indexOf("02")>=0){
              this.relflgCodes=[{ label: "待总行复核", value: "W1" }
                ,{ label: "已退回分行经办", value: "C2" }
                ,{ label: "待分行复核", value: "W2" }
                ,{ label: "分行经办暂存", value: "P2" }
              ];
           }else{
             this.relflgCodes=[{ label: "待总行复核", value: "W1" }
              ,{ label: "总行经办暂存", value: "P1" }
              ,{ label: "已退回总行经办", value: "C1" }
              ,{ label: "押汇中心已分配", value: "G1" }
              ,{ label: "押汇中心待分配", value: "G2" }
              ,{ label: "已退回分行经办", value: "C2" }
              ,{ label: "待分行复核", value: "W2" }
              ,{ label: "分行经办暂存", value: "P2" }
            ];
           }
           this.model.relflg=[];
    },
    getInidatfro() {
      this.model.trncorco.inidatfro = moment(new Date()).format("YYYY-MM-DD") + " 00:00:00";
      this.model.trncorco.inidattil = moment(new Date()).format("YYYY-MM-DD") + " 23:59:59";
    },
     async onNodeStatus(index, row) {
      let roleId=JSON.parse(window.sessionStorage.curRole).id+"";
      let trninr=this.getTrninr(row);
      this.$refs.nodeStatus.nodeStatusVisible = true;
      let params={};
      if(this.currentOrg==="1000" && "-10253-10255-10256-10245-".indexOf(roleId)>0 && row.objtyp==="SPT"){
        params.queinr=row.inr;
      }else{
        params.trninr=trninr;
      }
			let res = await Api.post("/public/quesel/getNodeList", params);
			if (res.respCode == SUCCESS) {
					this.nextNode=res.data.nextNode;
					this.activities = res.data.data.filter((item)=>{
            return item.typ!=="MAN"
          });
      }
		}
  },
  computed:{
    isJinBCp() {
      return this.isPubJinB();
    },
    isRebackDisable() {
      if (this.multipleSelection.length===0) {
        return true;
      }
      return false;
    },
      isSearchCenter() {
        let roleName = JSON.parse(window.sessionStorage.curRole).name;
        let roleId=JSON.parse(window.sessionStorage.curRole).id;
        if ("-单证中心-".indexOf(roleName)>0  || roleName==="押汇中心经办" || roleName==="押汇中心复核"){
                return true;
        }
        if ("-10253-10255-10256-".indexOf(roleId)>0 ){
                return true;
        }

      return false;
    },
  },
  async mounted() {
      let bchtyp="";
      let roleId="";
      if(window.sessionStorage.accbch){
           bchtyp=JSON.parse(window.sessionStorage.accbch).bchtyp;
      }
       if(window.sessionStorage.curRole){
           roleId=JSON.parse(window.sessionStorage.curRole).id+"";
      }
      this.model.codeLev="01";
       if(this.currentOrg==="1000"){
        if(roleId==="10255"){//押汇中心经办
          this.relflgCodes=[{ label: "待总行复核", value: "W1" }
          ,{ label: "总行经办暂存", value: "P1" }
          ,{ label: "已退回总行经办", value: "C1" }
          ,{ label: "押汇中心已分配", value: "G1" }
          ,{ label: "已退回分行经办", value: "C2" }
          ,{ label: "待分行复核", value: "W2" }
          ,{ label: "分行经办暂存", value: "P2" }
          ];
          this.model.relflg=[];
        }else if(roleId==="10253"){//单证中心
           this.changeTrantype();
        }else{//押汇中心复核
           this.relflgCodes=[{ label: "待总行复核", value: "W1" }
            ,{ label: "总行经办暂存", value: "P1" }
            ,{ label: "已退回总行经办", value: "C1" }
            ,{ label: "押汇中心已分配", value: "G1" }
            ,{ label: "押汇中心待分配", value: "G2" }
            ,{ label: "已退回分行经办", value: "C2" }
            ,{ label: "待分行复核", value: "W2" }
            ,{ label: "分行经办暂存", value: "P2" }
           ];
         this.model.relflg=[];
        }
      }else if(bchtyp==='6'){
          this.relflgCodes=[{ label: "待分行复核", value: "W" }
          ,{ label: "分行已复核", value: "A" }
          ,{ label: "总行已经办", value: "B" }
         ];
         this.model.relflg=["W","A","B"];
      }else{
           this.relflgCodes=[{ label: "待分行复核", value: "W2" },{ label: "待总行复核", value: "W1" }];
           this.model.relflg=["W1","W2"];
      }
      await this.getdbCode("rolcon",'CN',"rolcon");
      this.model.assignFlag=["Y"];
      this.getInidatfro();
      this.getBranchList();
      this.getUserList();
      this.getFirstCodeList();
      this.getSecondCodeList();
      this.handleSearch();
      this.initInifrm();
  },
  activated(){
    //if(this.$first === undefined){
    //  this.$first = 1
    //  return
    //}
    //this.handleSearch()
  }, 
};
</script>
<style scoped lang="less">
::v-deep input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance: none;
  margin:0;
}
::v-deep input[type="number"]{
  -moz-appearance: textfield;
}
.el-checkbox-width {
  margin-right: 0px;
  float: left;
  text-align: left !important;
  width: 150px;
}
::v-deep .el-dialog__body {
  height: calc(100% - 54px);
}
 .table-button-item-list {
    padding: 0;
    margin: 0;
  }
  ::v-deep .m-table-search {
  padding-bottom: 0px !important;
  padding-top: 8px !important;
}
  ::v-deep .el-table .el-button--small.el-button--text {
    padding: 0 5px!important;
  }

  .table-button-item-list li {
    list-style: none;
    padding: 5px 0;
    text-align: center;
    color: #606266;
    cursor: pointer;
  }
</style>