|  | @@ -0,0 +1,1151 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <a-modal footer="" :width="1000" :dialogStyle="dialogStyle" title="员工信息详情" :visible="visible"  @cancel="handleCancel" cancelText="关闭">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <template slot="title">
 | 
	
		
			
				|  |  | +      <div style="width: 100%;">
 | 
	
		
			
				|  |  | +        <span>员工信息详情</span>
 | 
	
		
			
				|  |  | +        <span style="display:inline-block;width:calc(100% - 51px);padding-right:10px;text-align: right">
 | 
	
		
			
				|  |  | +          <a-button @click="toggleScreen" icon="appstore" style="height:20px;width:20px;border:0px"></a-button>
 | 
	
		
			
				|  |  | +        </span>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <a-spin :spinning="confirmLoading">
 | 
	
		
			
				|  |  | +      <a-form :form="form" style="overflow-y: auto;height: 650px;">
 | 
	
		
			
				|  |  | +        <a-row>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input disabled maxLength="10"  v-decorator="[ 'realname']" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="英文名" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input disabled maxLength="10"  v-decorator="[ 'egName']" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input disabled maxLength="30"  v-decorator="[ 'email']" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +        </a-row>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <a-row>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="证件类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-select disabled v-model="sfzType" >
 | 
	
		
			
				|  |  | +                <a-select-option value="0">中国身份证</a-select-option>
 | 
	
		
			
				|  |  | +                <a-select-option value="1">其他</a-select-option>
 | 
	
		
			
				|  |  | +              </a-select>
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="身份证" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input disabled maxLength="20"  v-decorator="[ 'sfzCode']" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +            </a-col>
 | 
	
		
			
				|  |  | +            <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +              <a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +                <a-select disabled v-decorator="[ 'sex']" 
 | 
	
		
			
				|  |  | +                  :getPopupContainer="(target) => target.parentNode">
 | 
	
		
			
				|  |  | +                  <a-select-option :value="1">男</a-select-option>
 | 
	
		
			
				|  |  | +                  <a-select-option :value="2">女</a-select-option>
 | 
	
		
			
				|  |  | +                </a-select>
 | 
	
		
			
				|  |  | +              </a-form-item>
 | 
	
		
			
				|  |  | +            </a-col>
 | 
	
		
			
				|  |  | +        </a-row>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <a-row>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +          <a-form-item label="生日" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +            <a-date-picker disabled style="width: 100%" 
 | 
	
		
			
				|  |  | +              v-decorator="['birthday', {initialValue:!model.birthday?null:moment(model.birthday,dateFormat)}]"
 | 
	
		
			
				|  |  | +              :getCalendarContainer="node => node.parentNode" />
 | 
	
		
			
				|  |  | +          </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +            <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +                <a-form-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +                  <a-input disabled maxLength="20"  v-decorator="[ 'phone']" />
 | 
	
		
			
				|  |  | +                </a-form-item>
 | 
	
		
			
				|  |  | +            </a-col>
 | 
	
		
			
				|  |  | +            <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +              <a-form-item label="公积金" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +                  <a-input disabled maxLength="20"   v-decorator="['syFund']" />
 | 
	
		
			
				|  |  | +                </a-form-item>
 | 
	
		
			
				|  |  | +              </a-col>
 | 
	
		
			
				|  |  | +        </a-row>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <a-row>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="银行卡" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input disabled maxLength="20"   v-decorator="['bankCard']" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="开户行" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input disabled maxLength="30"  v-decorator="['bankAddr', {}]" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="部门" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled">
 | 
	
		
			
				|  |  | +              <a-input-search disabled  v-model="checkedDepartNameString" readOnly @search="onSearch">
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  | +              </a-input-search>
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +        </a-row>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <a-row>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="工资一" :labelCol="labelCol" :wrapperCol="wrapperCol" >
 | 
	
		
			
				|  |  | +              <a-input-number disabled min="0" max="999999" id="inputNumber"  style="width: 210px;" v-decorator="['wagesOne']" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="工资二" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input-number disabled min="0" max="999999"  style="width: 210px;" v-decorator="['wagesTwo', {}]" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +         
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input-search disabled  v-model="zwName" readOnly @search="zw()">
 | 
	
		
			
				|  |  | +              </a-input-search>
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +        </a-row>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <a-row>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="人员类别" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-select disabled v-decorator="[ 'category', {initialValue:101}]" 
 | 
	
		
			
				|  |  | +                :getPopupContainer="(target) => target.parentNode" @change="handleChangeStatus">
 | 
	
		
			
				|  |  | +                <a-select-option :value="101">正式工</a-select-option>
 | 
	
		
			
				|  |  | +                <a-select-option :value="103">实习生</a-select-option>
 | 
	
		
			
				|  |  | +                <a-select-option :value="104">劳务工</a-select-option>
 | 
	
		
			
				|  |  | +                <a-select-option :value="105">劳务外包5+2</a-select-option>
 | 
	
		
			
				|  |  | +                <a-select-option :value="106">劳务外包6+1</a-select-option>
 | 
	
		
			
				|  |  | +                <a-select-option :value="102">顾问</a-select-option>
 | 
	
		
			
				|  |  | +              </a-select>
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="缴交基数" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input-number  min="0" max="10" disabled controls="false" style="width: 210px;"  v-decorator="['wagesBase', {}]" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="入职日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-date-picker disabled style="width: 100%" 
 | 
	
		
			
				|  |  | +                v-decorator="['entryDate', {initialValue:!model.entryDate?moment(new Date(),dateFormat):moment(model.entryDate,dateFormat)}]"
 | 
	
		
			
				|  |  | +                :getCalendarContainer="node => node.parentNode" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +        </a-row>
 | 
	
		
			
				|  |  | +        <a-row>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input disabled maxLength="10"  v-decorator="[ 'urgentName',{}]" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="电话" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input disabled maxLength="20"  v-decorator="[ 'urgentPhone', {}]" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="身份类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-radio-group disabled v-model="identity" @change="identityChange">
 | 
	
		
			
				|  |  | +                <a-radio value="1">普通员工</a-radio>
 | 
	
		
			
				|  |  | +                <a-radio value="2">上级</a-radio>
 | 
	
		
			
				|  |  | +              </a-radio-group>
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +        </a-row>
 | 
	
		
			
				|  |  | +        <a-row>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="家庭住址" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-input disabled maxLength="50"  v-decorator="[ 'addr', {}]" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +         <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +           <a-form-item label="雇佣状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +             <a-select disabled v-decorator="[ 'employmentStatus', {initialValue:10}]" 
 | 
	
		
			
				|  |  | +               :getPopupContainer="(target) => target.parentNode" >
 | 
	
		
			
				|  |  | +               <a-select-option :value="10">在职</a-select-option>
 | 
	
		
			
				|  |  | +               <a-select-option :value="20">离退</a-select-option>
 | 
	
		
			
				|  |  | +               <a-select-option :value="30">离职</a-select-option>
 | 
	
		
			
				|  |  | +             </a-select>
 | 
	
		
			
				|  |  | +           </a-form-item>
 | 
	
		
			
				|  |  | +         </a-col>
 | 
	
		
			
				|  |  | +            <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="是否打卡" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-select disabled v-decorator="[ 'isAttendance', {initialValue:'0'}]" >
 | 
	
		
			
				|  |  | +                <a-select-option value="0">是</a-select-option>
 | 
	
		
			
				|  |  | +                <a-select-option value="1">否</a-select-option>
 | 
	
		
			
				|  |  | +              </a-select>
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +        </a-row>
 | 
	
		
			
				|  |  | +        <a-row>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +              <a-textarea disabled maxLength="255"  v-decorator="[ 'remarks', {}]" />
 | 
	
		
			
				|  |  | +            </a-form-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +         <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +          <a-form-item label="附件上传" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +            <a-button icon="search" @click="uploads()" style="width: 210px;">查看</a-button>
 | 
	
		
			
				|  |  | +          </a-form-item>
 | 
	
		
			
				|  |  | +         </a-col>
 | 
	
		
			
				|  |  | +        <a-col :lg="8">
 | 
	
		
			
				|  |  | +          <a-form-item label="同步信息" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +            <j-dict-select-tag disabled v-decorator="['infoSy', {initialValue:3}]"  :type="'radio'"
 | 
	
		
			
				|  |  | +              :triggerChange="true" dictCode="info_sy" />
 | 
	
		
			
				|  |  | +          </a-form-item>
 | 
	
		
			
				|  |  | +        </a-col>
 | 
	
		
			
				|  |  | +        </a-row>
 | 
	
		
			
				|  |  | +           
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +        <a-row>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="8">
 | 
	
		
			
				|  |  | +            <a-form-model-item label="头像" :labelCol="labelCol" :wrapperCol="wrapperCol">
 | 
	
		
			
				|  |  | +               <j-image-upload disabled  class="avatar-uploader" text="上传" v-model="model.avatar" ></j-image-upload>
 | 
	
		
			
				|  |  | +             </a-form-model-item>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +          <a-col :md="6" :sm="8" :lg="16">
 | 
	
		
			
				|  |  | +            <a-table rowKey="id" bordered :data-source="dataSources" :columns="columnst"  :pagination="ipaginations" @change="handleTableChanges"
 | 
	
		
			
				|  |  | +           
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  | +              
 | 
	
		
			
				|  |  | +            </a-table>
 | 
	
		
			
				|  |  | +          </a-col>
 | 
	
		
			
				|  |  | +        </a-row>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      </a-form>
 | 
	
		
			
				|  |  | +    </a-spin>
 | 
	
		
			
				|  |  | +    <depart-window ref="departWindow" @ok="modalFormOk"></depart-window>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <a-modal title="附件" :visible="visiblet" @ok="saveUpload()" @cancel="handleCancelts()" footer="">
 | 
	
		
			
				|  |  | +      <a-upload disabled action="http://58.34.141.138:8085/jeecg-boot/sys/common/upload" list-type="picture" :file-list="fileLists"
 | 
	
		
			
				|  |  | +        @change="t" method="post" @download="handleDownload" :showUploadList="{
 | 
	
		
			
				|  |  | +              showRemoveIcon: false,
 | 
	
		
			
				|  |  | +              showDownloadIcon: true
 | 
	
		
			
				|  |  | +            }"
 | 
	
		
			
				|  |  | +            :remove="handleRemove"
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +      </a-upload>
 | 
	
		
			
				|  |  | +    </a-modal>
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +  </a-modal>
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +  import pick from 'lodash.pick'
 | 
	
		
			
				|  |  | +  import moment from 'moment'
 | 
	
		
			
				|  |  | +  import Vue from 'vue'
 | 
	
		
			
				|  |  | +  // 引入搜索部门弹出框的组件
 | 
	
		
			
				|  |  | +  import departWindow from './DepartWindow'
 | 
	
		
			
				|  |  | +  import JSelectPosition from '@/components/jeecgbiz/JSelectPosition'
 | 
	
		
			
				|  |  | +  import {
 | 
	
		
			
				|  |  | +    ACCESS_TOKEN
 | 
	
		
			
				|  |  | +  } from "@/store/mutation-types"
 | 
	
		
			
				|  |  | +  import {
 | 
	
		
			
				|  |  | +    getAction,
 | 
	
		
			
				|  |  | +    httpAction,
 | 
	
		
			
				|  |  | +    deleteAction
 | 
	
		
			
				|  |  | +  } from '@/api/manage'
 | 
	
		
			
				|  |  | +  import {
 | 
	
		
			
				|  |  | +    addUser,
 | 
	
		
			
				|  |  | +    editUser,
 | 
	
		
			
				|  |  | +    queryUserRole,
 | 
	
		
			
				|  |  | +    queryall
 | 
	
		
			
				|  |  | +  } from '@/api/api'
 | 
	
		
			
				|  |  | +  import {
 | 
	
		
			
				|  |  | +    disabledAuthFilter
 | 
	
		
			
				|  |  | +  } from "@/utils/authFilter"
 | 
	
		
			
				|  |  | +  import {
 | 
	
		
			
				|  |  | +    duplicateCheck
 | 
	
		
			
				|  |  | +  } from '@/api/api'
 | 
	
		
			
				|  |  | +  import JImageUpload from '../../../components/jeecg/JImageUpload'
 | 
	
		
			
				|  |  | +  import py from '../../../mixins/vue-py.js'
 | 
	
		
			
				|  |  | +  export default {
 | 
	
		
			
				|  |  | +    name: "UserModal",
 | 
	
		
			
				|  |  | +    components: {
 | 
	
		
			
				|  |  | +      JImageUpload,
 | 
	
		
			
				|  |  | +      departWindow,
 | 
	
		
			
				|  |  | +      JSelectPosition
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    data() {
 | 
	
		
			
				|  |  | +      return {
 | 
	
		
			
				|  |  | +        selectedRowKeys:[],
 | 
	
		
			
				|  |  | +        selectionRows:[],
 | 
	
		
			
				|  |  | +        departDisabled: false, //是否是我的部门调用该页面
 | 
	
		
			
				|  |  | +        roleDisabled: false, //是否是角色维护调用该页面
 | 
	
		
			
				|  |  | +        modalWidth: 800,
 | 
	
		
			
				|  |  | +        drawerWidth: 700,
 | 
	
		
			
				|  |  | +        titles: "新增员工",
 | 
	
		
			
				|  |  | +        visibles:false,
 | 
	
		
			
				|  |  | +        personType:false,
 | 
	
		
			
				|  |  | +        dataSources:[],
 | 
	
		
			
				|  |  | +        modaltoggleFlag: true,
 | 
	
		
			
				|  |  | +        sfzCode: "",
 | 
	
		
			
				|  |  | +        bankCard: "",
 | 
	
		
			
				|  |  | +        bankAddr: "",
 | 
	
		
			
				|  |  | +        syFund: "",
 | 
	
		
			
				|  |  | +        visiblet: false,
 | 
	
		
			
				|  |  | +        phone: "",
 | 
	
		
			
				|  |  | +        isSalary: "0",
 | 
	
		
			
				|  |  | +        email: "",
 | 
	
		
			
				|  |  | +        isAttendance: "0",
 | 
	
		
			
				|  |  | +        zwName:"",
 | 
	
		
			
				|  |  | +        zwCode:"",
 | 
	
		
			
				|  |  | +        sfzType: "0",
 | 
	
		
			
				|  |  | +        ipaginations:{
 | 
	
		
			
				|  |  | +          current: 1,
 | 
	
		
			
				|  |  | +          pageSize: 10,
 | 
	
		
			
				|  |  | +          pageSizeOptions: ['10', '20', '30'],
 | 
	
		
			
				|  |  | +          showTotal: (total, range) => {
 | 
	
		
			
				|  |  | +            return range[0] + "-" + range[1] + " 共" + total + "条"
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          showQuickJumper: true,
 | 
	
		
			
				|  |  | +          showSizeChanger: true,
 | 
	
		
			
				|  |  | +          total: 0
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        fileLists: [],
 | 
	
		
			
				|  |  | +        confirmDirty: false,
 | 
	
		
			
				|  |  | +        files: [],
 | 
	
		
			
				|  |  | +        selectedDepartKeys: [], //保存用户选择部门id
 | 
	
		
			
				|  |  | +        checkedDepartKeys: [],
 | 
	
		
			
				|  |  | +        checkedDepartNames: [], // 保存部门的名称 =>title
 | 
	
		
			
				|  |  | +        checkedDepartNameString: "", // 保存部门的名称 =>title
 | 
	
		
			
				|  |  | +        resultDepartOptions: [],
 | 
	
		
			
				|  |  | +        userId: "", //保存用户id
 | 
	
		
			
				|  |  | +        disableSubmit: false,
 | 
	
		
			
				|  |  | +        userDepartModel: {
 | 
	
		
			
				|  |  | +          userId: '',
 | 
	
		
			
				|  |  | +          departIdList: []
 | 
	
		
			
				|  |  | +        }, // 保存SysUserDepart的用户部门中间表数据需要的对象
 | 
	
		
			
				|  |  | +        dateFormat: "YYYY-MM-DD",
 | 
	
		
			
				|  |  | +        validatorRules: {
 | 
	
		
			
				|  |  | +          phone: {
 | 
	
		
			
				|  |  | +            rules: [{
 | 
	
		
			
				|  |  | +              required: true,
 | 
	
		
			
				|  |  | +              message: '请输入手机号!'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              validator: this.validatePhone
 | 
	
		
			
				|  |  | +            }]
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          email: {
 | 
	
		
			
				|  |  | +            rules: [{
 | 
	
		
			
				|  |  | +              required: true,
 | 
	
		
			
				|  |  | +              message: '请输入邮箱'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              validator: this.validateEmail
 | 
	
		
			
				|  |  | +            }]
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          realname: {
 | 
	
		
			
				|  |  | +            rules: [{
 | 
	
		
			
				|  |  | +              required: true,
 | 
	
		
			
				|  |  | +              message: '请输入姓名'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              validator: this.validateRealname
 | 
	
		
			
				|  |  | +            }]
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          egName: {
 | 
	
		
			
				|  |  | +            rules: [{
 | 
	
		
			
				|  |  | +              required: true,
 | 
	
		
			
				|  |  | +              message: '请输入英文名'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              validator: this.validateEgname
 | 
	
		
			
				|  |  | +            }]
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          sfzCode: {
 | 
	
		
			
				|  |  | +            rules: [{
 | 
	
		
			
				|  |  | +              required: true,
 | 
	
		
			
				|  |  | +              message: '请输入身份证号'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              validator: this.validateSfzCode
 | 
	
		
			
				|  |  | +            }]
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          sex: {
 | 
	
		
			
				|  |  | +            rules: [{
 | 
	
		
			
				|  |  | +              required: true,
 | 
	
		
			
				|  |  | +              message: '请选择性别'
 | 
	
		
			
				|  |  | +            }]
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          bankCard: {
 | 
	
		
			
				|  |  | +            rules: [{
 | 
	
		
			
				|  |  | +              required: true,
 | 
	
		
			
				|  |  | +              message: '请输入银行账号'
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            {validator: this.validatebankCard}
 | 
	
		
			
				|  |  | +            ]
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          syFund: {
 | 
	
		
			
				|  |  | +            rules: [{
 | 
	
		
			
				|  |  | +              required: true,
 | 
	
		
			
				|  |  | +              message: '请输入公积金账号'
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            {validator: this.validatesyFund}
 | 
	
		
			
				|  |  | +            ]
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          wagesOne: {
 | 
	
		
			
				|  |  | +            rules: [{
 | 
	
		
			
				|  |  | +              required: true,
 | 
	
		
			
				|  |  | +              message: '请输入基本工资'
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +           
 | 
	
		
			
				|  |  | +            ]
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        columnst:[{
 | 
	
		
			
				|  |  | +          title: '员工姓名',
 | 
	
		
			
				|  |  | +          dataIndex: 'realname',
 | 
	
		
			
				|  |  | +        },{
 | 
	
		
			
				|  |  | +          title: '类型',
 | 
	
		
			
				|  |  | +          dataIndex: 'type',
 | 
	
		
			
				|  |  | +          customRender:function(t,r,index){
 | 
	
		
			
				|  |  | +            var name="奖";
 | 
	
		
			
				|  |  | +            if(t=="1"||t==1){
 | 
	
		
			
				|  |  | +              name="惩";
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return name;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        },{
 | 
	
		
			
				|  |  | +          title: '备注',
 | 
	
		
			
				|  |  | +          dataIndex: 'demo',
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +             title: '日期',
 | 
	
		
			
				|  |  | +             align:"center",
 | 
	
		
			
				|  |  | +             dataIndex: 'date',
 | 
	
		
			
				|  |  | +             customRender:function(t,r,index){
 | 
	
		
			
				|  |  | +               return moment(t).format('YYYY-MM-DD');
 | 
	
		
			
				|  |  | +             }
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        departIdShow: false,
 | 
	
		
			
				|  |  | +        departIds: [], //负责部门id
 | 
	
		
			
				|  |  | +        title: "操作",
 | 
	
		
			
				|  |  | +        visible: false,
 | 
	
		
			
				|  |  | +        dialogStyle:{
 | 
	
		
			
				|  |  | +          top:"15px"
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        model: {},
 | 
	
		
			
				|  |  | +        roleList: [],
 | 
	
		
			
				|  |  | +        selectedRole: [],
 | 
	
		
			
				|  |  | +        realname: "",
 | 
	
		
			
				|  |  | +        egName: "",
 | 
	
		
			
				|  |  | +        labelCol: {
 | 
	
		
			
				|  |  | +          xs: {
 | 
	
		
			
				|  |  | +            span: 24
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          sm: {
 | 
	
		
			
				|  |  | +            span: 5
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        wrapperCol: {
 | 
	
		
			
				|  |  | +          xs: {
 | 
	
		
			
				|  |  | +            span: 24
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          sm: {
 | 
	
		
			
				|  |  | +            span: 16
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        uploadLoading: false,
 | 
	
		
			
				|  |  | +        confirmLoading: false,
 | 
	
		
			
				|  |  | +        headers: {},
 | 
	
		
			
				|  |  | +        form: this.$form.createForm(this),
 | 
	
		
			
				|  |  | +        picUrl: "",
 | 
	
		
			
				|  |  | +        url: {
 | 
	
		
			
				|  |  | +          fileUpload: window._CONFIG['domianURL'] + "/sys/common/upload",
 | 
	
		
			
				|  |  | +          userWithDepart: "/sys/user/userDepartList", // 引入为指定用户查看部门信息需要的url
 | 
	
		
			
				|  |  | +          userId: "/sys/user/generateUserId", // 引入生成添加用户情况下的url
 | 
	
		
			
				|  |  | +          syncUserByUserName: "/act/process/extActProcess/doSyncUserByUserName", //同步用户到工作流
 | 
	
		
			
				|  |  | +          queryTenantList: '/sys/tenant/queryList',
 | 
	
		
			
				|  |  | +          xzupload: '/sys/common/static',
 | 
	
		
			
				|  |  | +          sysFile: '/sysFile/sysFile/queryByUserId',
 | 
	
		
			
				|  |  | +          delSysFile:'/sysFile/sysFile/deleteById',
 | 
	
		
			
				|  |  | +          post:'/sys/position/listByDept',
 | 
	
		
			
				|  |  | +          Prize:'/userPrize/userPrize/list'
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        identity: "1",
 | 
	
		
			
				|  |  | +        fileList: [],
 | 
	
		
			
				|  |  | +        tenantList: [],
 | 
	
		
			
				|  |  | +        currentTenant: []
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    created() {
 | 
	
		
			
				|  |  | +      const token = Vue.ls.get(ACCESS_TOKEN);
 | 
	
		
			
				|  |  | +      this.headers = {
 | 
	
		
			
				|  |  | +        "X-Access-Token": token
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.initTenantList()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    computed: {
 | 
	
		
			
				|  |  | +      uploadAction: function() {
 | 
	
		
			
				|  |  | +        return this.url.fileUpload;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    methods: {
 | 
	
		
			
				|  |  | +      zwOk(){
 | 
	
		
			
				|  |  | +        if(this.selectionRows!=null&&this.selectionRows.length>0){
 | 
	
		
			
				|  |  | +        this.zwName=this.selectionRows[0].name;
 | 
	
		
			
				|  |  | +        this.zwCode=this.selectionRows[0].code;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.visibles=false;
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      onSelectChanges(selectedRowKeys, selectionRows) {
 | 
	
		
			
				|  |  | +        this.selectedRowKeys = selectedRowKeys;
 | 
	
		
			
				|  |  | +        this.selectionRows=selectionRows;
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +     handleTableChanges(pagination, filters, sorter) {
 | 
	
		
			
				|  |  | +       //分页、排序、筛选变化时触发
 | 
	
		
			
				|  |  | +       //TODO 筛选
 | 
	
		
			
				|  |  | +       if (Object.keys(sorter).length > 0) {
 | 
	
		
			
				|  |  | +         this.isorter.column = sorter.field;
 | 
	
		
			
				|  |  | +         this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
 | 
	
		
			
				|  |  | +       }
 | 
	
		
			
				|  |  | +       this.ipaginations = pagination;
 | 
	
		
			
				|  |  | +       this.queryzw();
 | 
	
		
			
				|  |  | +     },
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      queryPrize(){
 | 
	
		
			
				|  |  | +        getAction(this.url.Prize, {
 | 
	
		
			
				|  |  | +          pageNo:this.ipaginations.current,
 | 
	
		
			
				|  |  | +          pageSize: this.ipaginations.pageSize,
 | 
	
		
			
				|  |  | +          userId:this.userId
 | 
	
		
			
				|  |  | +        }).then((res) => {
 | 
	
		
			
				|  |  | +          if (res.success) {
 | 
	
		
			
				|  |  | +           this.dataSources = res.result.records||res.result;
 | 
	
		
			
				|  |  | +           if(res.result.total)
 | 
	
		
			
				|  |  | +           {
 | 
	
		
			
				|  |  | +             this.ipaginations.total = res.result.total;
 | 
	
		
			
				|  |  | +           }else{
 | 
	
		
			
				|  |  | +             this.ipaginationstotal = 0;
 | 
	
		
			
				|  |  | +           }
 | 
	
		
			
				|  |  | +          } 
 | 
	
		
			
				|  |  | +        }).finally(() => {
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +      handleRemove(file){
 | 
	
		
			
				|  |  | +        if(this.userId!=null&&this.userId!=""){
 | 
	
		
			
				|  |  | +        deleteAction(this.url.delSysFile, {userid:this.userId,name:file.name}).then((res) => {
 | 
	
		
			
				|  |  | +          if (res.success) {
 | 
	
		
			
				|  |  | +          } 
 | 
	
		
			
				|  |  | +        }).finally(() => {
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      handleCancelts() {
 | 
	
		
			
				|  |  | +       // this.fileList = [];
 | 
	
		
			
				|  |  | +        this.visiblet = false;
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      // 文件下载
 | 
	
		
			
				|  |  | +      handleDownload(file) {
 | 
	
		
			
				|  |  | +        window.location.href = "http://58.34.141.138:8085/jeecg-boot/sys/common/static/" + file.response.message;
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      t(info) {
 | 
	
		
			
				|  |  | +        // this.files = [];
 | 
	
		
			
				|  |  | +        // let {
 | 
	
		
			
				|  |  | +        //   fileList
 | 
	
		
			
				|  |  | +        // } = info
 | 
	
		
			
				|  |  | +        // const status = info.file.status
 | 
	
		
			
				|  |  | +        // if (status !== 'uploading') {}
 | 
	
		
			
				|  |  | +        // if (status === 'done') {
 | 
	
		
			
				|  |  | +        //   var list = fileList.fileList;
 | 
	
		
			
				|  |  | +        //   for (var i = 0; i < list.length; i++) {
 | 
	
		
			
				|  |  | +        //     this.files.push(list[i].response.message);
 | 
	
		
			
				|  |  | +        //   }
 | 
	
		
			
				|  |  | +        // }
 | 
	
		
			
				|  |  | +        this.fileLists = info.fileList //重点
 | 
	
		
			
				|  |  | +        //console.log(info)
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      saveUpload() {
 | 
	
		
			
				|  |  | +        this.visiblet = false;
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      uploads() {
 | 
	
		
			
				|  |  | +        this.visiblet = true;
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      isDisabledAuth(code) {
 | 
	
		
			
				|  |  | +        return disabledAuthFilter(code);
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      getBirth(idCard) {
 | 
	
		
			
				|  |  | +        var birthday = "";
 | 
	
		
			
				|  |  | +        if (idCard != null && idCard != "") {
 | 
	
		
			
				|  |  | +          if (idCard.length == 15) {
 | 
	
		
			
				|  |  | +            birthday = "19" + idCard.slice(6, 12);
 | 
	
		
			
				|  |  | +          } else if (idCard.length == 18) {
 | 
	
		
			
				|  |  | +            birthday = idCard.slice(6, 14);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          //通过正则表达式来指定输出格式为:1990-01-01
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (birthday != "" && birthday != null) {
 | 
	
		
			
				|  |  | +          this.form.setFieldsValue({
 | 
	
		
			
				|  |  | +            birthday: birthday.replace(/(.{4})(.{2})/, "$1-$2-")
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          if (parseInt(idCard.slice(-2, -1)) % 2 == 1) {
 | 
	
		
			
				|  |  | +            this.form.setFieldsValue({
 | 
	
		
			
				|  |  | +              sex: 1
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            this.form.setFieldsValue({
 | 
	
		
			
				|  |  | +              sex: 2
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      handleChangeStatus(e){
 | 
	
		
			
				|  |  | +        if(e==101){
 | 
	
		
			
				|  |  | +          this.personType=false;
 | 
	
		
			
				|  |  | +        }else{
 | 
	
		
			
				|  |  | +          this.personType=true;
 | 
	
		
			
				|  |  | +          this.form.setFieldsValue({
 | 
	
		
			
				|  |  | +            wagesBase: null
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      queryFiles(e) {
 | 
	
		
			
				|  |  | +        getAction(this.url.sysFile, {
 | 
	
		
			
				|  |  | +          userid: e
 | 
	
		
			
				|  |  | +        }).then(res => {
 | 
	
		
			
				|  |  | +          if (res.success) {
 | 
	
		
			
				|  |  | +            if (res.result.length > 0) {
 | 
	
		
			
				|  |  | +              this.fileLists = [];
 | 
	
		
			
				|  |  | +              for (var i = 0; i < res.result.length; i++) {
 | 
	
		
			
				|  |  | +                const rs = {
 | 
	
		
			
				|  |  | +                  message: res.result[i].txtName
 | 
	
		
			
				|  |  | +                };
 | 
	
		
			
				|  |  | +                const fileInfo = {
 | 
	
		
			
				|  |  | +                  uid: res.result[i].id,
 | 
	
		
			
				|  |  | +                  name: res.result[i].txtName,
 | 
	
		
			
				|  |  | +                  status: "done",
 | 
	
		
			
				|  |  | +                  response: rs,
 | 
	
		
			
				|  |  | +                  url: "http://58.34.141.138:8085/jeecg-boot/" + res.result[i].txtName,
 | 
	
		
			
				|  |  | +                };
 | 
	
		
			
				|  |  | +                this.fileLists.push(fileInfo)
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      initTenantList() {
 | 
	
		
			
				|  |  | +        getAction(this.url.queryTenantList).then(res => {
 | 
	
		
			
				|  |  | +          if (res.success) {
 | 
	
		
			
				|  |  | +            this.tenantList = res.result
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      //窗口最大化切换
 | 
	
		
			
				|  |  | +      toggleScreen() {
 | 
	
		
			
				|  |  | +        if (this.modaltoggleFlag) {
 | 
	
		
			
				|  |  | +          this.modalWidth = window.innerWidth;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.modalWidth = 800;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.modaltoggleFlag = !this.modaltoggleFlag;
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      initialRoleList() {
 | 
	
		
			
				|  |  | +        queryall().then((res) => {
 | 
	
		
			
				|  |  | +          if (res.success) {
 | 
	
		
			
				|  |  | +            this.roleList = res.result;
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            console.log(res.message);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      loadUserRoles(userid) {
 | 
	
		
			
				|  |  | +        queryUserRole({
 | 
	
		
			
				|  |  | +          userid: userid
 | 
	
		
			
				|  |  | +        }).then((res) => {
 | 
	
		
			
				|  |  | +          if (res.success) {
 | 
	
		
			
				|  |  | +            this.selectedRole = res.result;
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            console.log(res.message);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      refresh() {
 | 
	
		
			
				|  |  | +        this.selectedDepartKeys = [];
 | 
	
		
			
				|  |  | +        this.checkedDepartKeys = [];
 | 
	
		
			
				|  |  | +        this.checkedDepartNames = [];
 | 
	
		
			
				|  |  | +        this.checkedDepartNameString = "";
 | 
	
		
			
				|  |  | +        this.userId = ""
 | 
	
		
			
				|  |  | +        this.resultDepartOptions = [];
 | 
	
		
			
				|  |  | +        this.departId = [];
 | 
	
		
			
				|  |  | +        this.departIdShow = false;
 | 
	
		
			
				|  |  | +        this.currentTenant = []
 | 
	
		
			
				|  |  | +        this.sfzCode = "";
 | 
	
		
			
				|  |  | +        this.realname = "";
 | 
	
		
			
				|  |  | +        this.egName = "";
 | 
	
		
			
				|  |  | +        this.syFund = "";
 | 
	
		
			
				|  |  | +        this.isAttendance = 0;
 | 
	
		
			
				|  |  | +        this.isSalary = 0;
 | 
	
		
			
				|  |  | +        this.bankAddr = "";
 | 
	
		
			
				|  |  | +        this.bankCard = "";
 | 
	
		
			
				|  |  | +        this.phone = "";
 | 
	
		
			
				|  |  | +        this.email = "";
 | 
	
		
			
				|  |  | +        this.zwCode="";
 | 
	
		
			
				|  |  | +        this.zwName="";
 | 
	
		
			
				|  |  | +        this.selectedRowKeys=[];
 | 
	
		
			
				|  |  | +        this.selectionRows=[];
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      add() {
 | 
	
		
			
				|  |  | +        this.picUrl = "";
 | 
	
		
			
				|  |  | +        this.refresh();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        this.edit({
 | 
	
		
			
				|  |  | +          activitiSync: '1'
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      edit(record) {
 | 
	
		
			
				|  |  | +        this.realname = record.realname;
 | 
	
		
			
				|  |  | +        this.egName = record.egName;
 | 
	
		
			
				|  |  | +        this.resetScreenSize(); // 调用此方法,根据屏幕宽度自适应调整抽屉的宽度
 | 
	
		
			
				|  |  | +        let that = this;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //that.initialRoleList();
 | 
	
		
			
				|  |  | +        that.checkedDepartNameString = "";
 | 
	
		
			
				|  |  | +        that.form.resetFields();
 | 
	
		
			
				|  |  | +        if (record.hasOwnProperty("id")) {
 | 
	
		
			
				|  |  | +          that.loadUserRoles(record.id);
 | 
	
		
			
				|  |  | +          setTimeout(() => {
 | 
	
		
			
				|  |  | +            this.fileList = record.avatar;
 | 
	
		
			
				|  |  | +          }, 5)
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (record.sfzType != null && record.sfzType != "") {
 | 
	
		
			
				|  |  | +          this.sfzType = record.sfzType;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        that.visible = true;
 | 
	
		
			
				|  |  | +        that.model = Object.assign({}, record);
 | 
	
		
			
				|  |  | +        this.zwCode=record.post;
 | 
	
		
			
				|  |  | +        this.zwName=record.post_dictText;
 | 
	
		
			
				|  |  | +        that.$nextTick(() => {
 | 
	
		
			
				|  |  | +          that.form.setFieldsValue(pick(this.model, 'sex', 'email', 'phone', 'urgentName', 'urgentPhone',
 | 
	
		
			
				|  |  | +            'bankAddr', 'bankCard', 'realname', 'egName', 'sfzCode','isAttendance','remarks','addr',
 | 
	
		
			
				|  |  | +            'infoSy', 'syFund', 'category', 'employmentStatus', 'wagesOne', 'wagesTwo', 'security','wagesBase'))
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        //身份为上级显示负责部门,否则不显示
 | 
	
		
			
				|  |  | +        if (this.model.userIdentity == "2") {
 | 
	
		
			
				|  |  | +          this.identity = "2";
 | 
	
		
			
				|  |  | +          this.departIdShow = true;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.identity = "1";
 | 
	
		
			
				|  |  | +          this.departIdShow = false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +       
 | 
	
		
			
				|  |  | +        //update-begin-author:taoyan date:2020710 for:多租户配置
 | 
	
		
			
				|  |  | +        if (!record.relTenantIds || record.relTenantIds.length == 0) {
 | 
	
		
			
				|  |  | +          this.currentTenant = []
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.currentTenant = record.relTenantIds.split(',').map(Number);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (record.id != null && record.id != "") {
 | 
	
		
			
				|  |  | +          this.userId = record.id;
 | 
	
		
			
				|  |  | +          this.queryFiles(record.id)
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        // 调用查询用户对应的部门信息的方法
 | 
	
		
			
				|  |  | +        that.checkedDepartKeys = [];
 | 
	
		
			
				|  |  | +        that.loadCheckedDeparts();
 | 
	
		
			
				|  |  | +        if (this.userId != null && this.userId != "") {
 | 
	
		
			
				|  |  | +          this.queryFiles(this.userId)
 | 
	
		
			
				|  |  | +          this.queryPrize();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      //
 | 
	
		
			
				|  |  | +      loadCheckedDeparts() {
 | 
	
		
			
				|  |  | +        var id= this.userId
 | 
	
		
			
				|  |  | +        let that = this;
 | 
	
		
			
				|  |  | +        if (!that.userId) {
 | 
	
		
			
				|  |  | +          return
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        getAction(that.url.userWithDepart, {
 | 
	
		
			
				|  |  | +          userId: that.userId
 | 
	
		
			
				|  |  | +        }).then((res) => {
 | 
	
		
			
				|  |  | +          that.checkedDepartNames = [];
 | 
	
		
			
				|  |  | +          if (res.success) {
 | 
	
		
			
				|  |  | +            var depart = [];
 | 
	
		
			
				|  |  | +            var departId = [];
 | 
	
		
			
				|  |  | +            for (let i = 0; i < res.result.length; i++) {
 | 
	
		
			
				|  |  | +              that.checkedDepartNames.push(res.result[i].title);
 | 
	
		
			
				|  |  | +              this.checkedDepartNameString = this.checkedDepartNames.join(",");
 | 
	
		
			
				|  |  | +              that.checkedDepartKeys.push(res.result[i].key);
 | 
	
		
			
				|  |  | +              //新增负责部门选择下拉框
 | 
	
		
			
				|  |  | +              depart.push({
 | 
	
		
			
				|  |  | +                key: res.result[i].key,
 | 
	
		
			
				|  |  | +                title: res.result[i].title
 | 
	
		
			
				|  |  | +              })
 | 
	
		
			
				|  |  | +              departId.push(res.result[i].key)
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            that.resultDepartOptions = depart;
 | 
	
		
			
				|  |  | +            //判断部门id是否存在,不存在择直接默认当前所在部门
 | 
	
		
			
				|  |  | +            if (this.model.departIds) {
 | 
	
		
			
				|  |  | +              this.departIds = this.model.departIds.split(",");
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              this.departIds = departId;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            that.userDepartModel.departIdList = that.checkedDepartKeys
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            console.log(res.message);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      close() {
 | 
	
		
			
				|  |  | +        this.$emit('close');
 | 
	
		
			
				|  |  | +        this.visible = false;
 | 
	
		
			
				|  |  | +        this.disableSubmit = false;
 | 
	
		
			
				|  |  | +        this.selectedRole = [];
 | 
	
		
			
				|  |  | +        this.userDepartModel = {
 | 
	
		
			
				|  |  | +          userId: '',
 | 
	
		
			
				|  |  | +          departIdList: []
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +        this.checkedDepartNames = [];
 | 
	
		
			
				|  |  | +        this.checkedDepartNameString = '';
 | 
	
		
			
				|  |  | +        this.checkedDepartKeys = [];
 | 
	
		
			
				|  |  | +        this.selectedDepartKeys = [];
 | 
	
		
			
				|  |  | +        this.resultDepartOptions = [];
 | 
	
		
			
				|  |  | +        this.departIds = [];
 | 
	
		
			
				|  |  | +        this.departIdShow = false;
 | 
	
		
			
				|  |  | +        this.fileLists=[];
 | 
	
		
			
				|  |  | +        this.identity = "1";
 | 
	
		
			
				|  |  | +        this.bankAddr = "";
 | 
	
		
			
				|  |  | +        this.bankCard = "";
 | 
	
		
			
				|  |  | +        this.syFund = "";
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      moment,
 | 
	
		
			
				|  |  | +      handleSubmit() {
 | 
	
		
			
				|  |  | +        if (this.userDepartModel.departIdList.join(",") == "" || this.userDepartModel.departIdList.join(",") == null) {
 | 
	
		
			
				|  |  | +          this.$message.warning('请选择部门!');
 | 
	
		
			
				|  |  | +          return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        const that = this;
 | 
	
		
			
				|  |  | +        // 触发表单验证
 | 
	
		
			
				|  |  | +        this.form.validateFields((err, values) => {
 | 
	
		
			
				|  |  | +          if (!err) {
 | 
	
		
			
				|  |  | +            that.confirmLoading = true;
 | 
	
		
			
				|  |  | +            if (!values.birthday) {
 | 
	
		
			
				|  |  | +              values.birthday = '';
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              values.birthday = values.birthday;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            let formData = Object.assign(this.model, values);
 | 
	
		
			
				|  |  | +            // if (that.fileList != '') {
 | 
	
		
			
				|  |  | +            //   formData.avatar = that.fileList;
 | 
	
		
			
				|  |  | +            // } else {
 | 
	
		
			
				|  |  | +            //   formData.avatar = null;
 | 
	
		
			
				|  |  | +            // }
 | 
	
		
			
				|  |  | +            formData.sfzType = this.sfzType;
 | 
	
		
			
				|  |  | +            var a = this.fileLists;
 | 
	
		
			
				|  |  | +            var txt = [];
 | 
	
		
			
				|  |  | +            console.log(this.fileLists)
 | 
	
		
			
				|  |  | +            if (this.fileLists != null && this.fileLists.length > 0) {
 | 
	
		
			
				|  |  | +              for (var i = 0; i < this.fileLists.length; i++) {
 | 
	
		
			
				|  |  | +                txt.push(this.fileLists[i].response.message)
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              formData.txt = txt.join(",");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            formData.post=this.zwCode;
 | 
	
		
			
				|  |  | +            //formData.selectedroles = this.selectedRole.length>0?this.selectedRole.join(","):'';
 | 
	
		
			
				|  |  | +            formData.selecteddeparts = this.userDepartModel.departIdList.length > 0 ? this.userDepartModel
 | 
	
		
			
				|  |  | +              .departIdList.join(",") : '';
 | 
	
		
			
				|  |  | +            formData.userIdentity = this.identity;
 | 
	
		
			
				|  |  | +            formData.departIds = this.userDepartModel.departIdList.join(",");
 | 
	
		
			
				|  |  | +            //如果是上级择传入departIds,否则为空
 | 
	
		
			
				|  |  | +            if (this.identity === "2") {
 | 
	
		
			
				|  |  | +              formData.departIds = this.departIds.join(",");
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              formData.departIds = "";
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            // that.addDepartsToUser(that,formData); // 调用根据当前用户添加部门信息的方法
 | 
	
		
			
				|  |  | +            let obj;
 | 
	
		
			
				|  |  | +            if (!this.model.id) {
 | 
	
		
			
				|  |  | +              formData.id = this.userId;
 | 
	
		
			
				|  |  | +              obj = addUser(formData);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              obj = editUser(formData);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            obj.then((res) => {
 | 
	
		
			
				|  |  | +              if (res.success) {
 | 
	
		
			
				|  |  | +                that.$message.success(res.message);
 | 
	
		
			
				|  |  | +                that.$emit('ok');
 | 
	
		
			
				|  |  | +              } else {
 | 
	
		
			
				|  |  | +                that.$message.warning(res.message);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            }).finally(() => {
 | 
	
		
			
				|  |  | +              that.confirmLoading = false;
 | 
	
		
			
				|  |  | +              that.checkedDepartNames = [];
 | 
	
		
			
				|  |  | +              that.userDepartModel.departIdList = {
 | 
	
		
			
				|  |  | +                userId: '',
 | 
	
		
			
				|  |  | +                departIdList: []
 | 
	
		
			
				|  |  | +              };
 | 
	
		
			
				|  |  | +              that.close();
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            console.log("1")
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      handleCancel() {
 | 
	
		
			
				|  |  | +        this.close()
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      validateRealname(rule, value, callback) {
 | 
	
		
			
				|  |  | +        if (!value) {
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.realname = value;
 | 
	
		
			
				|  |  | +          if (this.egName != null && this.egName != "") {
 | 
	
		
			
				|  |  | +            var emil = "@gksports.com.cn";
 | 
	
		
			
				|  |  | +            var name = py.chineseToPinYin(value.substr(0, 1))
 | 
	
		
			
				|  |  | +            this.form.setFieldsValue({
 | 
	
		
			
				|  |  | +              email: this.egName + "." + name + emil
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      validateSfzCode(rule, value, callback) {
 | 
	
		
			
				|  |  | +        if (!value) {
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          if (this.sfzType == "0") {
 | 
	
		
			
				|  |  | +            if (value.length==15&&RegExp(/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/).test(value)) {
 | 
	
		
			
				|  |  | +              this.getBirth(value)
 | 
	
		
			
				|  |  | +            }else if(value.length==18&&RegExp(/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/).test(value)){
 | 
	
		
			
				|  |  | +              this.getBirth(value)
 | 
	
		
			
				|  |  | +            }else{
 | 
	
		
			
				|  |  | +              callback("请输入正确格式的身份证号码!");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      validateEgname(rule, value, callback) {
 | 
	
		
			
				|  |  | +        if (!value) {
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.egName = value;
 | 
	
		
			
				|  |  | +          if (this.realname != null && this.realname != "") {
 | 
	
		
			
				|  |  | +            var emil = "@gksports.com.cn";
 | 
	
		
			
				|  |  | +            var name = py.chineseToPinYin(this.realname.substr(0, 1))
 | 
	
		
			
				|  |  | +            this.form.setFieldsValue({
 | 
	
		
			
				|  |  | +              email: value + "." + name + emil
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      validatesyFund(rule, value, callback) {
 | 
	
		
			
				|  |  | +        if (!value) {
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          if(value.length!=9&&value.length!=12){
 | 
	
		
			
				|  |  | +           callback('请输入正确格式的公积金账号');
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      validatePhone(rule, value, callback) {
 | 
	
		
			
				|  |  | +        if (!value) {
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          //update-begin--Author:kangxiaolin  Date:20190826 for:[05] 手机号不支持199号码段--------------------
 | 
	
		
			
				|  |  | +          if (new RegExp(/^1[3|4|5|7|8|9][0-9]\d{8}$/).test(value)) {
 | 
	
		
			
				|  |  | +            //update-end--Author:kangxiaolin  Date:20190826 for:[05] 手机号不支持199号码段--------------------
 | 
	
		
			
				|  |  | +            var params = {
 | 
	
		
			
				|  |  | +              tableName: 'sys_user',
 | 
	
		
			
				|  |  | +              fieldName: 'phone',
 | 
	
		
			
				|  |  | +              fieldVal: value,
 | 
	
		
			
				|  |  | +              dataId: this.userId
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +            duplicateCheck(params).then((res) => {
 | 
	
		
			
				|  |  | +              if (res.success) {
 | 
	
		
			
				|  |  | +                callback()
 | 
	
		
			
				|  |  | +              } else {
 | 
	
		
			
				|  |  | +                callback("手机号已存在!")
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            callback("请输入正确格式的手机号码!");
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      validatebankCard(rule, value, callback) {
 | 
	
		
			
				|  |  | +        if (!value) {
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          if(value.length!=19&&value.length!=17&&value.length!=16){
 | 
	
		
			
				|  |  | +           callback('请输入正确格式的银行卡账号');
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      validateEmail(rule, value, callback) {
 | 
	
		
			
				|  |  | +        if (!value) {
 | 
	
		
			
				|  |  | +          callback()
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          if (new RegExp(
 | 
	
		
			
				|  |  | +              /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
 | 
	
		
			
				|  |  | +            ).test(value)) {
 | 
	
		
			
				|  |  | +            var params = {
 | 
	
		
			
				|  |  | +              tableName: 'sys_user',
 | 
	
		
			
				|  |  | +              fieldName: 'email',
 | 
	
		
			
				|  |  | +              fieldVal: value,
 | 
	
		
			
				|  |  | +              dataId: this.userId
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +            duplicateCheck(params).then((res) => {
 | 
	
		
			
				|  |  | +              if (res.success) {
 | 
	
		
			
				|  |  | +                callback()
 | 
	
		
			
				|  |  | +              } else {
 | 
	
		
			
				|  |  | +                callback("邮箱已存在!")
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            callback("请输入正确格式的邮箱!")
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      handleConfirmBlur(e) {
 | 
	
		
			
				|  |  | +        const value = e.target.value;
 | 
	
		
			
				|  |  | +        this.confirmDirty = this.confirmDirty || !!value
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      normFile(e) {
 | 
	
		
			
				|  |  | +        console.log('Upload event:', e);
 | 
	
		
			
				|  |  | +        if (Array.isArray(e)) {
 | 
	
		
			
				|  |  | +          return e
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return e && e.fileList
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      beforeUpload: function(file) {
 | 
	
		
			
				|  |  | +        var fileType = file.type;
 | 
	
		
			
				|  |  | +        if (fileType.indexOf('image') < 0) {
 | 
	
		
			
				|  |  | +          this.$message.warning('请上传图片');
 | 
	
		
			
				|  |  | +          return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        //TODO 验证文件大小
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      handleChange(info) {
 | 
	
		
			
				|  |  | +        this.picUrl = "";
 | 
	
		
			
				|  |  | +        if (info.file.status === 'uploading') {
 | 
	
		
			
				|  |  | +          this.uploadLoading = true;
 | 
	
		
			
				|  |  | +          return
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (info.file.status === 'done') {
 | 
	
		
			
				|  |  | +          var response = info.file.response;
 | 
	
		
			
				|  |  | +          this.uploadLoading = false;
 | 
	
		
			
				|  |  | +          console.log(response);
 | 
	
		
			
				|  |  | +          if (response.success) {
 | 
	
		
			
				|  |  | +            this.model.avatar = response.message;
 | 
	
		
			
				|  |  | +            this.picUrl = "Has no pic url yet";
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            this.$message.warning(response.message);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      // 搜索用户对应的部门API
 | 
	
		
			
				|  |  | +      onSearch() {
 | 
	
		
			
				|  |  | +        console.log(this.$refs.departWindow)
 | 
	
		
			
				|  |  | +        this.$refs.departWindow.add(this.checkedDepartKeys, this.userId);
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      // 获取用户对应部门弹出框提交给返回的数据
 | 
	
		
			
				|  |  | +      modalFormOk(formData) {
 | 
	
		
			
				|  |  | +        this.checkedDepartNames = [];
 | 
	
		
			
				|  |  | +        this.selectedDepartKeys = [];
 | 
	
		
			
				|  |  | +        this.checkedDepartNameString = '';
 | 
	
		
			
				|  |  | +        this.userId = formData.userId;
 | 
	
		
			
				|  |  | +        this.userDepartModel.userId = formData.userId;
 | 
	
		
			
				|  |  | +        this.departIds = [];
 | 
	
		
			
				|  |  | +        this.resultDepartOptions = [];
 | 
	
		
			
				|  |  | +        var depart = [];
 | 
	
		
			
				|  |  | +        for (let i = 0; i < formData.departIdList.length; i++) {
 | 
	
		
			
				|  |  | +          this.selectedDepartKeys.push(formData.departIdList[i].key);
 | 
	
		
			
				|  |  | +          this.checkedDepartNames.push(formData.departIdList[i].title);
 | 
	
		
			
				|  |  | +          this.checkedDepartNameString = this.checkedDepartNames.join(",");
 | 
	
		
			
				|  |  | +          //新增部门选择,如果上面部门选择后不为空直接付给负责部门
 | 
	
		
			
				|  |  | +          depart.push({
 | 
	
		
			
				|  |  | +            key: formData.departIdList[i].key,
 | 
	
		
			
				|  |  | +            title: formData.departIdList[i].title
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +          this.departIds.push(formData.departIdList[i].key)
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.resultDepartOptions = depart;
 | 
	
		
			
				|  |  | +        this.userDepartModel.departIdList = this.selectedDepartKeys;
 | 
	
		
			
				|  |  | +        this.checkedDepartKeys = this.selectedDepartKeys //更新当前的选择keys
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      // 根据屏幕变化,设置抽屉尺寸
 | 
	
		
			
				|  |  | +      resetScreenSize() {
 | 
	
		
			
				|  |  | +        let screenWidth = document.body.clientWidth;
 | 
	
		
			
				|  |  | +        if (screenWidth < 500) {
 | 
	
		
			
				|  |  | +          this.drawerWidth = screenWidth;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.drawerWidth = 700;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      identityChange(e) {
 | 
	
		
			
				|  |  | +        if (e.target.value === "1") {
 | 
	
		
			
				|  |  | +          this.departIdShow = false;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.departIdShow = true;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style scoped>
 | 
	
		
			
				|  |  | +  .avatar-uploader>.ant-upload {
 | 
	
		
			
				|  |  | +    width: 104px;
 | 
	
		
			
				|  |  | +    height: 104px;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .ant-upload-select-picture-card i {
 | 
	
		
			
				|  |  | +    font-size: 49px;
 | 
	
		
			
				|  |  | +    color: #999;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .ant-upload-select-picture-card .ant-upload-text {
 | 
	
		
			
				|  |  | +    margin-top: 8px;
 | 
	
		
			
				|  |  | +    color: #666;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .ant-table-tbody .ant-table-row td {
 | 
	
		
			
				|  |  | +    padding-top: 10px;
 | 
	
		
			
				|  |  | +    padding-bottom: 10px;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .drawer-bootom-button {
 | 
	
		
			
				|  |  | +    position: absolute;
 | 
	
		
			
				|  |  | +    bottom: -8px;
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +    border-top: 1px solid #e8e8e8;
 | 
	
		
			
				|  |  | +    padding: 10px 16px;
 | 
	
		
			
				|  |  | +    text-align: right;
 | 
	
		
			
				|  |  | +    left: 0;
 | 
	
		
			
				|  |  | +    background: #fff;
 | 
	
		
			
				|  |  | +    border-radius: 0 0 2px 2px;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +</style>
 |