|
@@ -0,0 +1,1648 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <el-main ref="elMain" style="padding: 0px">
|
|
|
|
|
+ <Split :gutterSize="2" style="height: calc(100vh - 120px)">
|
|
|
|
|
+ <!-- 左侧树Start -->
|
|
|
|
|
+ <SplitArea :size="leftSplitWidth" :minSize="240">
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <!-- <el-checkbox v-model="containsSubDeptChecked"
|
|
|
|
|
+ >包含下级机构</el-checkbox
|
|
|
|
|
+ > -->
|
|
|
|
|
+
|
|
|
|
|
+ <kt-button
|
|
|
|
|
+ style="background-color: #ffc000; border: #ffc000"
|
|
|
|
|
+ icon="fa fa-plus"
|
|
|
|
|
+ label="添加人员"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ perms="sys:team:add"
|
|
|
|
|
+ @click="handleAddButton"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-divider></el-divider>
|
|
|
|
|
+ <!-- 左侧树形结构 -->
|
|
|
|
|
+ <el-tree
|
|
|
|
|
+ :data="leftTree"
|
|
|
|
|
+ :props="{ children: 'children', label: 'name' }"
|
|
|
|
|
+ node-key="id"
|
|
|
|
|
+ :default-expanded-keys="['9']"
|
|
|
|
|
+ @node-click="onZTreeClick"
|
|
|
|
|
+ ></el-tree>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </SplitArea>
|
|
|
|
|
+ <!-- 左侧树End -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 右侧列表页面Start -->
|
|
|
|
|
+ <SplitArea :size="rightSplitWidth">
|
|
|
|
|
+ <!-- 筛选区域Start -->
|
|
|
|
|
+ <el-row class="queryFrom">
|
|
|
|
|
+ <el-form ref="queryFormRef" :model="pageData" label-width="80px">
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="工号">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ clearable
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ placeholder="工号"
|
|
|
|
|
+ v-model="pageData.userId"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="姓名">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ clearable
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ placeholder="姓名"
|
|
|
|
|
+ v-model="pageData.name"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="手机号">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ clearable
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ placeholder="手机号"
|
|
|
|
|
+ v-model="pageData.mobile"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="状态">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ v-model="pageData.status"
|
|
|
|
|
+ placeholder="请选择"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="val in user_statusoptions"
|
|
|
|
|
+ :label="val.label"
|
|
|
|
|
+ :value="val.value"
|
|
|
|
|
+ :key="val.id"
|
|
|
|
|
+ ></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="领导人">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ style="width: 215px"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ filterable
|
|
|
|
|
+ v-model="pageData.leaderId"
|
|
|
|
|
+ placeholder="请选择"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in searchLeaderOptions"
|
|
|
|
|
+ :key="item.id"
|
|
|
|
|
+ :label="item.name"
|
|
|
|
|
+ :value="item.name"
|
|
|
|
|
+ >
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="4">
|
|
|
|
|
+ <el-form-item label="">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ @click="queryStaffInfo"
|
|
|
|
|
+ >查询</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ <kt-common-table
|
|
|
|
|
+ permsEdit="sys:team:edit"
|
|
|
|
|
+ :data="pageResult"
|
|
|
|
|
+ :operationWidth="250"
|
|
|
|
|
+ :columns="columns"
|
|
|
|
|
+ editButtonName="编辑"
|
|
|
|
|
+ :showBatchDelete="false"
|
|
|
|
|
+ @findPage="findPage"
|
|
|
|
|
+ @handleEdit="handleTableEdit"
|
|
|
|
|
+ :button7Name="'离司'"
|
|
|
|
|
+ :button7Status="'在职'"
|
|
|
|
|
+ @handleButton7="handleButton7"
|
|
|
|
|
+ :button9Name="'离司恢复'"
|
|
|
|
|
+ :button9Status="'离司'"
|
|
|
|
|
+ @handleButton9="handleRest"
|
|
|
|
|
+ :buttonDropdown="dropdownOption"
|
|
|
|
|
+ >
|
|
|
|
|
+ </kt-common-table>
|
|
|
|
|
+ </SplitArea>
|
|
|
|
|
+ <!-- 右侧列表页面End -->
|
|
|
|
|
+ </Split>
|
|
|
|
|
+ </el-main>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 新增修改界面 -->
|
|
|
|
|
+
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ :title="dialogTitle"
|
|
|
|
|
+ width="60%"
|
|
|
|
|
+ top="5vh"
|
|
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
|
|
+ :before-close="handleDialogBefore"
|
|
|
|
|
+ :show-close="false"
|
|
|
|
|
+ @close="closeDialog"
|
|
|
|
|
+ v-dialogDrag
|
|
|
|
|
+ class="people-style"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-tabs
|
|
|
|
|
+ v-model="activeName"
|
|
|
|
|
+ :before-leave="beforeTabLeave"
|
|
|
|
|
+ class="tab-style"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-tab-pane label="基本信息" name="1">
|
|
|
|
|
+ <el-form
|
|
|
|
|
+ :model="formData"
|
|
|
|
|
+ :rules="formDataRules"
|
|
|
|
|
+ ref="formData"
|
|
|
|
|
+ :inline="true"
|
|
|
|
|
+ @keyup.enter.native="nextStep()"
|
|
|
|
|
+ label-width="110px"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ label-position="top"
|
|
|
|
|
+ class="personnelInformation"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="机构名称">
|
|
|
|
|
+ <el-cascader
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ :options="leftTree"
|
|
|
|
|
+ v-model="formData.pdeptId"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ disabled
|
|
|
|
|
+ :show-all-levels="false"
|
|
|
|
|
+ :props="{
|
|
|
|
|
+ value: 'id',
|
|
|
|
|
+ label: 'name',
|
|
|
|
|
+ checkStrictly: true,
|
|
|
|
|
+ }"
|
|
|
|
|
+ @change="handleChange"
|
|
|
|
|
+ >
|
|
|
|
|
+ </el-cascader> </el-form-item
|
|
|
|
|
+ ></el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="机构部门" prop="deptId">
|
|
|
|
|
+ <el-cascader
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ :options="leftTree"
|
|
|
|
|
+ v-model="formData.deptId"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ disabled
|
|
|
|
|
+ :show-all-levels="false"
|
|
|
|
|
+ :props="{
|
|
|
|
|
+ value: 'id',
|
|
|
|
|
+ label: 'name',
|
|
|
|
|
+ checkStrictly: true,
|
|
|
|
|
+ }"
|
|
|
|
|
+ @change="handleChange"
|
|
|
|
|
+ >
|
|
|
|
|
+ </el-cascader> </el-form-item
|
|
|
|
|
+ ></el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="岗位" prop="positionId">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ v-model="formData.positionId"
|
|
|
|
|
+ placeholder="请选择"
|
|
|
|
|
+ popper-class="select-prop"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="val in postOption"
|
|
|
|
|
+ :label="val.postName"
|
|
|
|
|
+ :value="val.postId"
|
|
|
|
|
+ :key="val.postId"
|
|
|
|
|
+ ></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="工号" prop="id">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="formData.id"
|
|
|
|
|
+ disabled
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="姓名" prop="name">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="formData.name"
|
|
|
|
|
+ placeholder="请输入本人姓名"
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="手机号" prop="mobile">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="formData.mobile"
|
|
|
|
|
+ placeholder="请输入本人手机号"
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="入司时间">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ v-model="formDataDetail.entryTime"
|
|
|
|
|
+ type="date"
|
|
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
|
|
+ placeholder="选择日期"
|
|
|
|
|
+ popper-class="select-prop"
|
|
|
|
|
+ >
|
|
|
|
|
+ </el-date-picker>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="状态" prop="status">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ disabled
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ @change="statusChange"
|
|
|
|
|
+ v-model="formData.status"
|
|
|
|
|
+ placeholder="请选择"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="val in user_statusoptions"
|
|
|
|
|
+ :label="val.label"
|
|
|
|
|
+ :value="val.value"
|
|
|
|
|
+ :key="val.id"
|
|
|
|
|
+ ></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="角色" prop="roleId">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ v-model="formData.roleId"
|
|
|
|
|
+ placeholder="请选择"
|
|
|
|
|
+ disabled
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="val in roles"
|
|
|
|
|
+ :label="val.name"
|
|
|
|
|
+ :value="val.id + ''"
|
|
|
|
|
+ :key="val.id"
|
|
|
|
|
+ ></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="管理人" prop="leaderId">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ filterable
|
|
|
|
|
+ v-model="formData.leaderId"
|
|
|
|
|
+ placeholder="请选择"
|
|
|
|
|
+ popper-class="select-prop"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="val in leaderOptions"
|
|
|
|
|
+ :label="val.name"
|
|
|
|
|
+ :value="val.id"
|
|
|
|
|
+ :key="val.id"
|
|
|
|
|
+ ></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="管理人工号" prop="leaderName">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="formData.leaderId"
|
|
|
|
|
+ disabled
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ label="代理人资格证号"
|
|
|
|
|
+ prop="agentQualificationCode"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ v-model="formDataDetail.agentQualificationCode"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <div class="footerHandle" style="text-align: right">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ style="border: 1px solid #d42426; color: #d42426"
|
|
|
|
|
+ class="closeBtn"
|
|
|
|
|
+ @click="closeDialog"
|
|
|
|
|
+ >取消</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-button size="small" type="primary" @click="nextStep"
|
|
|
|
|
+ >下一步</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
+ <el-tab-pane label="详细信息" name="2">
|
|
|
|
|
+ <userDetail
|
|
|
|
|
+ :formData="formData"
|
|
|
|
|
+ :formDataDetail="formDataDetail"
|
|
|
|
|
+ ref="formDataDetails"
|
|
|
|
|
+ @statusChange="statusChange"
|
|
|
|
|
+ @valids="valids"
|
|
|
|
|
+ :showThirdParty="true"
|
|
|
|
|
+ ></userDetail>
|
|
|
|
|
+ <div class="footerHandle" style="text-align: right">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ style="border: 1px solid #d42426; color: #d42426"
|
|
|
|
|
+ class="closeBtn"
|
|
|
|
|
+ @click="closeDialog"
|
|
|
|
|
+ >取消</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ <!-- <el-button size="small" type="primary" @click="activeName = '1'"
|
|
|
|
|
+ >上一步</el-button
|
|
|
|
|
+ > -->
|
|
|
|
|
+ <el-button size="small" type="primary" @click="activeName = '3'"
|
|
|
|
|
+ >下一步</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- <div style="text-align: right">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ style="background-color: #EAEDF1; border: 1px solid #EAEDF1; color: #2D4D89;"
|
|
|
|
|
+ @click="closeDialog"
|
|
|
|
|
+ >取消</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-button size="small" type="primary" @click="activeName = '1'"
|
|
|
|
|
+ >上一步</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-button size="small" type="primary" @click="submitForm"
|
|
|
|
|
+ >提交</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ </div> -->
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
+ <el-tab-pane label="影像资料" name="3">
|
|
|
|
|
+ <el-form
|
|
|
|
|
+ :model="formDataDetail"
|
|
|
|
|
+ ref="formDataDetail"
|
|
|
|
|
+ :inline="true"
|
|
|
|
|
+ label-width="130px"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ class="peopleImage"
|
|
|
|
|
+ >
|
|
|
|
|
+ <peopleImage
|
|
|
|
|
+ :dataForm="dataForm"
|
|
|
|
|
+ :imagesIdList="imagesIdList"
|
|
|
|
|
+ :dialogVisible="dialogVisible"
|
|
|
|
|
+ ></peopleImage>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <div class="footerHandle" style="text-align: right">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ style="border: 1px solid #d42426; color: #d42426"
|
|
|
|
|
+ class="closeBtn"
|
|
|
|
|
+ @click="closeDialog"
|
|
|
|
|
+ >取消</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ <!-- <el-button size="small" type="primary" @click="activeName = '2'"
|
|
|
|
|
+ >上一步</el-button
|
|
|
|
|
+ > -->
|
|
|
|
|
+ <el-button size="small" type="primary" @click="submitForm"
|
|
|
|
|
+ >提交</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
+ </el-tabs>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ title="离司"
|
|
|
|
|
+ width="40%"
|
|
|
|
|
+ :visible.sync="showOut"
|
|
|
|
|
+ @close="closeDialogOut"
|
|
|
|
|
+ class="dialogOut people-style"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <el-form class="personnelInformation">
|
|
|
|
|
+ <el-form-item label="离职时间" prop="logoutTime">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ v-model="logoutTime"
|
|
|
|
|
+ type="date"
|
|
|
|
|
+ placeholder="选择日期"
|
|
|
|
|
+ ></el-date-picker>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="离职表:" style="width: 50%">
|
|
|
|
|
+ <el-upload
|
|
|
|
|
+ class="avatar-uploader"
|
|
|
|
|
+ action=""
|
|
|
|
|
+ name="LZ_01"
|
|
|
|
|
+ :show-file-list="false"
|
|
|
|
|
+ :http-request="httpRequest"
|
|
|
|
|
+ :before-upload="beforeAvatarUpload"
|
|
|
|
|
+ >
|
|
|
|
|
+ <!-- <img v-if="logoutImg" :src="logoutImg" class="avatar" />
|
|
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i> -->
|
|
|
|
|
+ <img v-if="logoutImg" :src="logoutImg" class="avatar" />
|
|
|
|
|
+ <div v-else class="upload-icon">
|
|
|
|
|
+ <img src="@/assets/image/people/camera.svg" alt="" />
|
|
|
|
|
+ <div class="el-upload__text">上传资料</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <span class="slot" v-show="logoutImg">
|
|
|
|
|
+ <i
|
|
|
|
|
+ class="preview"
|
|
|
|
|
+ @click.stop="handlePictureCardPreview(logoutImg)"
|
|
|
|
|
+ ></i>
|
|
|
|
|
+ <img
|
|
|
|
|
+ class="close"
|
|
|
|
|
+ src="@/assets/image/people/close.png"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ @click.stop="handlePictureCardDelete('LZ_01')"
|
|
|
|
|
+ />
|
|
|
|
|
+ <div class="bottomHandle">
|
|
|
|
|
+ <img
|
|
|
|
|
+ class="reset"
|
|
|
|
|
+ src="@/assets/image/people/reset.png"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
|
|
+ <span class="title">点击重新上传</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </el-upload>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="footerHandle" style="text-align: right">
|
|
|
|
|
+ <el-button type="primary" @click="handleSubOut">确定</el-button>
|
|
|
|
|
+ <el-button @click="closeDialogOut">取消</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+ <personnelHistory ref="personnelHistory"></personnelHistory>
|
|
|
|
|
+ <el-image-viewer
|
|
|
|
|
+ v-if="showViewer"
|
|
|
|
|
+ :on-close="closeViewer"
|
|
|
|
|
+ :z-index="9999"
|
|
|
|
|
+ :url-list="[ProViewImg]"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+</template>
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
|
|
|
|
|
+import tree from "@/components/ztree.vue"; // 机构树组件
|
|
|
|
|
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
|
|
|
|
|
+import peopleImage from "@/components/PeopleImage/index.vue"; //影像组件
|
|
|
|
|
+import { validateSfz } from "../../../utils/validate.js";
|
|
|
|
|
+import userDetail from "@/components/UserDetail/index.vue"; // 详情信息
|
|
|
|
|
+import personnelHistory from "@/components/PersonnelHistory/index.vue"; //人员修改历史
|
|
|
|
|
+import mixa from "../mixin";
|
|
|
|
|
+const mixin = new mixa({
|
|
|
|
|
+ treeTypeNum: 1, //树分类过滤参数
|
|
|
|
|
+});
|
|
|
|
|
+export default {
|
|
|
|
|
+ components: {
|
|
|
|
|
+ KtButton,
|
|
|
|
|
+ tree,
|
|
|
|
|
+ KtCommonTable,
|
|
|
|
|
+ userDetail,
|
|
|
|
|
+ peopleImage,
|
|
|
|
|
+ personnelHistory,
|
|
|
|
|
+ "el-image-viewer": () =>
|
|
|
|
|
+ import("element-ui/packages/image/src/image-viewer"),
|
|
|
|
|
+ },
|
|
|
|
|
+ mixins: [mixin],
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ deptId: "99",
|
|
|
|
|
+ logoutTime: "", // 离司 离职时间
|
|
|
|
|
+ logoutImg: "", // 离司 图片
|
|
|
|
|
+ logoutImgId: "",
|
|
|
|
|
+ lineId: "",
|
|
|
|
|
+ leaderOptions: [],
|
|
|
|
|
+ searchLeaderOptions: {},
|
|
|
|
|
+ activeName: "1",
|
|
|
|
|
+ isShow: true,
|
|
|
|
|
+ pageData: {
|
|
|
|
|
+ pageNum: 1,
|
|
|
|
|
+ pageSize: 20,
|
|
|
|
|
+ deptId: JSON.parse(localStorage.getItem("user_data")).deptId,
|
|
|
|
|
+ userId: "",
|
|
|
|
|
+ realName: "",
|
|
|
|
|
+ mobile: "",
|
|
|
|
|
+ },
|
|
|
|
|
+ formData: {
|
|
|
|
|
+ roleId: "4",
|
|
|
|
|
+ },
|
|
|
|
|
+ formDataRules: {
|
|
|
|
|
+ deptId: [{ required: true, message: "请选择机构", trigger: "change" }],
|
|
|
|
|
+ mobile: [
|
|
|
|
|
+ { required: true, message: "请输入手机号", trigger: "blur" },
|
|
|
|
|
+ { min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
|
|
|
|
|
+ {
|
|
|
|
|
+ pattern:
|
|
|
|
|
+ /^1(3[0-9]|4[0-9]|5[0-9]|6[2-9]|7[0-9]|8[0-9]|9[0-9])\d{8}$/,
|
|
|
|
|
+ message: "请输入正确的手机号",
|
|
|
|
|
+ trigger: "blur",
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ name: [{ required: true, message: "请填写名称", trigger: "blur" }],
|
|
|
|
|
+ // password: [{ required: true, message: "请填写密码", trigger: "blur" }],
|
|
|
|
|
+ status: [{ required: true, message: "请选择状态", trigger: "change" }],
|
|
|
|
|
+ // roleId: [{ required: true, message: "请填写角色", trigger: "blur" }],
|
|
|
|
|
+ // identity: [
|
|
|
|
|
+ // { required: true, message: "请填写身份证号" },
|
|
|
|
|
+ // { validator: validateSfz },
|
|
|
|
|
+ // ],
|
|
|
|
|
+ },
|
|
|
|
|
+ formDataDetail: {},
|
|
|
|
|
+ formDataRulesDetail: {},
|
|
|
|
|
+ filterObject: {},
|
|
|
|
|
+ peopleid: "",
|
|
|
|
|
+ peopledeptid: "",
|
|
|
|
|
+ recommenderList: [],
|
|
|
|
|
+ teamleadername: "",
|
|
|
|
|
+ teamleaderid: "",
|
|
|
|
|
+ // 右侧列表查询数据Start
|
|
|
|
|
+ queryFrom: {},
|
|
|
|
|
+ pageResult: {},
|
|
|
|
|
+ columns: [
|
|
|
|
|
+ // 数据列
|
|
|
|
|
+ { prop: "deptId", label: "部门编码", minWidth: 80, sortable: false },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: "pdeptName",
|
|
|
|
|
+ label: "机构名称",
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ sortable: false,
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ { prop: "deptName", label: "部门名称", minWidth: 80, sortable: false },
|
|
|
|
|
+
|
|
|
|
|
+ { prop: "userId", label: "工号", minWidth: 80, sortable: false },
|
|
|
|
|
+ { prop: "name", label: "姓名", minWidth: 120, sortable: false },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: "sex",
|
|
|
|
|
+ label: "性别",
|
|
|
|
|
+ minWidth: 80,
|
|
|
|
|
+ sortable: false,
|
|
|
|
|
+ isSex: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ { prop: "mobile", label: "联系电话", minWidth: 100, sortable: false },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: "roleId",
|
|
|
|
|
+ label: "角色",
|
|
|
|
|
+ minWidth: 80,
|
|
|
|
|
+ sortable: false,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: "managementSource",
|
|
|
|
|
+ label: "来源",
|
|
|
|
|
+ minWidth: 80,
|
|
|
|
|
+ formatter: this.managementSourceFormatter,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: "submitTime",
|
|
|
|
|
+ label: "提交时间",
|
|
|
|
|
+ type: "text",
|
|
|
|
|
+ minWidth: 100,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: "approveTime",
|
|
|
|
|
+ label: "审核时间",
|
|
|
|
|
+ type: "text",
|
|
|
|
|
+ minWidth: 100,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: "approveBy",
|
|
|
|
|
+ label: "审核人",
|
|
|
|
|
+ type: "text",
|
|
|
|
|
+ minWidth: 100,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: "status",
|
|
|
|
|
+ label: "状态",
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ sortable: false,
|
|
|
|
|
+ isStatus: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ dialogTitle: "",
|
|
|
|
|
+ dialogVisible: false, // 新增编辑界面是否显示
|
|
|
|
|
+ departmentList: [], // 选中公司的所有部门的集合
|
|
|
|
|
+ deptInfo: {}, //选中机构的基本信息
|
|
|
|
|
+ option: [], //机构列表
|
|
|
|
|
+ dialogPassword: false, //密码是否明文
|
|
|
|
|
+ showOut: false,
|
|
|
|
|
+ //影像资料
|
|
|
|
|
+ dataForm: {
|
|
|
|
|
+ SFZ_01: "",
|
|
|
|
|
+ SFZ_02: "",
|
|
|
|
|
+ Z6Z_00: "",
|
|
|
|
|
+ LD_00: "",
|
|
|
|
|
+ YP_00: "",
|
|
|
|
|
+ DX_00: "",
|
|
|
|
|
+ LZ_01: "",
|
|
|
|
|
+ },
|
|
|
|
|
+ //影像上传列表
|
|
|
|
|
+ imagesIdList: [],
|
|
|
|
|
+ pdeptId: null,
|
|
|
|
|
+ dropdownOption: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "人员轨迹",
|
|
|
|
|
+ click: (row) => this.checkHistory(row),
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ showViewer: false,
|
|
|
|
|
+ ProViewImg: null,
|
|
|
|
|
+ leftTree: [],
|
|
|
|
|
+ };
|
|
|
|
|
+ },
|
|
|
|
|
+ created() {
|
|
|
|
|
+ this.$api.role.findAll().then((res) => {
|
|
|
|
|
+ this.roles = res.data;
|
|
|
|
|
+ });
|
|
|
|
|
+ this.searchLeaderFun();
|
|
|
|
|
+ this.getDictItems("user_status");
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ // 离司恢复
|
|
|
|
|
+ handleRest(data) {
|
|
|
|
|
+ this.$confirm("是否恢复", "提示", {
|
|
|
|
|
+ confirmButtonText: "确定",
|
|
|
|
|
+ cancelButtonText: "取消",
|
|
|
|
|
+ type: "warning",
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ this.$api.user
|
|
|
|
|
+ .separationReinstatement(data.row.userId)
|
|
|
|
|
+ .then((res) => {
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: "success",
|
|
|
|
|
+ message: res.msg,
|
|
|
|
|
+ });
|
|
|
|
|
+ this.findPage();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(() => {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: "info",
|
|
|
|
|
+ message: "已取消",
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ //上传影像
|
|
|
|
|
+ httpRequest(options) {
|
|
|
|
|
+ let file = options.file;
|
|
|
|
|
+ let filename = options.filename;
|
|
|
|
|
+ let reader = new FileReader();
|
|
|
|
|
+ if (file) {
|
|
|
|
|
+ reader.readAsDataURL(file);
|
|
|
|
|
+ }
|
|
|
|
|
+ reader.onload = () => {
|
|
|
|
|
+ let base64Str = reader.result;
|
|
|
|
|
+ this.logoutImg = base64Str;
|
|
|
|
|
+ };
|
|
|
|
|
+ const params = new FormData(); // 声明formData数据类型
|
|
|
|
|
+ params.append("multipartFile", file);
|
|
|
|
|
+ params.append("type", "personnel");
|
|
|
|
|
+ this.$api.letter.uploadFile(params).then((res) => {
|
|
|
|
|
+ if (res.code == "200") {
|
|
|
|
|
+ this.logoutImgId = res.data.id;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ // 上传图片的方法Start
|
|
|
|
|
+ beforeAvatarUpload(file) {
|
|
|
|
|
+ const isJPG = file.type === "image/jpeg" || file.type === "image/png";
|
|
|
|
|
+ const isLt2M = file.size / 1024 / 1024 < 2;
|
|
|
|
|
+ if (!isJPG) {
|
|
|
|
|
+ this.$message.error("上传图片只能是 JPG 或者 PNG 格式!");
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!isLt2M) {
|
|
|
|
|
+ this.$message.error("上传图片大小不能超过 2MB!");
|
|
|
|
|
+ }
|
|
|
|
|
+ return isJPG && isLt2M;
|
|
|
|
|
+ },
|
|
|
|
|
+ handleSubOut() {
|
|
|
|
|
+ if (this.logoutTime == "") {
|
|
|
|
|
+ this.$message.error("请选择时间");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (this.logoutImgId == "") {
|
|
|
|
|
+ this.$message.error("请上传离职表");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ let subData = {
|
|
|
|
|
+ esmUserImageVo: [
|
|
|
|
|
+ {
|
|
|
|
|
+ imageId: this.logoutImgId,
|
|
|
|
|
+ type: "LZ_01",
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ sysUser: { id: this.lineId, logoutTime: this.logoutTime },
|
|
|
|
|
+ sysUserInfo: {},
|
|
|
|
|
+ };
|
|
|
|
|
+ this.$api.user.departApply(subData).then((res) => {
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
|
+ this.$message.success(res.msg);
|
|
|
|
|
+ this.findPage();
|
|
|
|
|
+ this.closeDialogOut();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ closeDialogOut() {
|
|
|
|
|
+ this.showOut = false;
|
|
|
|
|
+ },
|
|
|
|
|
+ handleButton7(data) {
|
|
|
|
|
+ this.lineId = data.row.userId;
|
|
|
|
|
+ this.showOut = true;
|
|
|
|
|
+ },
|
|
|
|
|
+ searchLeaderFun() {
|
|
|
|
|
+ this.$api.user.findHxUserList().then((res) => {
|
|
|
|
|
+ this.leaderOptions = res.data;
|
|
|
|
|
+ });
|
|
|
|
|
+ this.$api.user
|
|
|
|
|
+ .findBackListByDeptId({ deptId: this.deptId })
|
|
|
|
|
+ .then((res) => {
|
|
|
|
|
+ this.searchLeaderOptions = res.data;
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ managementSourceFormatter(row) {
|
|
|
|
|
+
|
|
|
|
|
+ // const managementSource = row.managementSource == "2" ? "个代" : "渠道";
|
|
|
|
|
+ // return managementSource;
|
|
|
|
|
+ switch (row.managementSource) {
|
|
|
|
|
+ case '1':
|
|
|
|
|
+ return (this.managementSource = "渠道");
|
|
|
|
|
+ break;
|
|
|
|
|
+ case '2':
|
|
|
|
|
+ return (this.managementSource = "个代");
|
|
|
|
|
+ break;
|
|
|
|
|
+ case '3':
|
|
|
|
|
+ return (this.managementSource = "电销");
|
|
|
|
|
+ break;
|
|
|
|
|
+ case '4':
|
|
|
|
|
+ return (this.managementSource = "保司");
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ this.managementSource = "";
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ //状态改变时
|
|
|
|
|
+ statusChange(e) {
|
|
|
|
|
+ if (e == 0) {
|
|
|
|
|
+ this.$set(this.formDataRules, "logoutTime", [
|
|
|
|
|
+ { required: true, message: "请选择日期", trigger: "change" },
|
|
|
|
|
+ ]);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.formDataRules.logoutTime = undefined;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ // 查询Start
|
|
|
|
|
+ queryStaffInfo() {
|
|
|
|
|
+ this.pageData.pageNum = 1;
|
|
|
|
|
+ this.findPage();
|
|
|
|
|
+ },
|
|
|
|
|
+ sexFormatter(row) {
|
|
|
|
|
+ // return this.sexoptions[row.sex]
|
|
|
|
|
+ // return row.sex+'1'
|
|
|
|
|
+ // console.log(val,1)
|
|
|
|
|
+ },
|
|
|
|
|
+ onZTreeClick: function (evt, treeId, treeNode) {
|
|
|
|
|
+ // 点击事件
|
|
|
|
|
+ this.currentTreeNode = evt;
|
|
|
|
|
+ this.deptId = this.currentTreeNode.id;
|
|
|
|
|
+ this.pdeptId = this.currentTreeNode.parentId;
|
|
|
|
|
+ this.pageData.pageNum = 1;
|
|
|
|
|
+ this.findPage();
|
|
|
|
|
+ this.searchLeaderFun();
|
|
|
|
|
+ // this.formData.deptId = [];
|
|
|
|
|
+ // this.platform(treeId);
|
|
|
|
|
+ },
|
|
|
|
|
+ //联级选择器触发事件
|
|
|
|
|
+ handleChange(val) {
|
|
|
|
|
+ if (val && val.length !== 0) {
|
|
|
|
|
+ this.formData.leaderId = "";
|
|
|
|
|
+ this.formData.deptId = val.at(-1);
|
|
|
|
|
+ // console.log( this.formData.deptId,val,222222222);
|
|
|
|
|
+ this.$api.user
|
|
|
|
|
+ .findListByDeptId({ deptId: this.formData.deptId })
|
|
|
|
|
+ .then((res) => {
|
|
|
|
|
+ this.leaderOptions = res.data;
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ isShowFun() {
|
|
|
|
|
+ this.isShow = !this.isShow;
|
|
|
|
|
+ },
|
|
|
|
|
+ identityChange(iden) {
|
|
|
|
|
+ let sex = null;
|
|
|
|
|
+ let birth = null;
|
|
|
|
|
+ let myDate = new Date();
|
|
|
|
|
+ let month = myDate.getMonth() + 1;
|
|
|
|
|
+ let day = myDate.getDate();
|
|
|
|
|
+ sex = iden.substring(16, 17);
|
|
|
|
|
+ birth =
|
|
|
|
|
+ iden.substring(6, 10) +
|
|
|
|
|
+ "-" +
|
|
|
|
|
+ iden.substring(10, 12) +
|
|
|
|
|
+ "-" +
|
|
|
|
|
+ iden.substring(12, 14);
|
|
|
|
|
+ let age = 0;
|
|
|
|
|
+ if (
|
|
|
|
|
+ iden.substring(10, 12) < month ||
|
|
|
|
|
+ (iden.substring(10, 12) == month && iden.substring(12, 14) <= day)
|
|
|
|
|
+ )
|
|
|
|
|
+ age++;
|
|
|
|
|
+ if (sex % 2 === 0) sex = "女";
|
|
|
|
|
+ else sex = "男";
|
|
|
|
|
+ this.formDataDetail.birthday = birth;
|
|
|
|
|
+ this.formDataDetail.sex = this.sexoptions.find(
|
|
|
|
|
+ (val) => sex == val.label
|
|
|
|
|
+ ).value;
|
|
|
|
|
+ },
|
|
|
|
|
+ // 右侧列表的方法Start
|
|
|
|
|
+ findPage(data) {
|
|
|
|
|
+ // 获取分页数据
|
|
|
|
|
+ if (data && data.pageRequest) {
|
|
|
|
|
+ this.pageData.pageNum = data.pageRequest.pageNum;
|
|
|
|
|
+ this.pageData.pageSize = data.pageRequest.pageSize;
|
|
|
|
|
+ }
|
|
|
|
|
+ let dto = {
|
|
|
|
|
+ deptId: this.deptId,
|
|
|
|
|
+ mobile: this.pageData.mobile,
|
|
|
|
|
+ name: this.pageData.name,
|
|
|
|
|
+ userId: this.pageData.userId,
|
|
|
|
|
+ status: this.pageData.status,
|
|
|
|
|
+ leaderName: this.pageData.leaderId,
|
|
|
|
|
+ roleId: "4",
|
|
|
|
|
+ agentFlag: "4",
|
|
|
|
|
+ };
|
|
|
|
|
+ this.$api.user
|
|
|
|
|
+ .findUserList({
|
|
|
|
|
+ dto,
|
|
|
|
|
+ pageNum: this.pageData.pageNum,
|
|
|
|
|
+ pageSize: this.pageData.pageSize,
|
|
|
|
|
+ })
|
|
|
|
|
+ .then((res) => {
|
|
|
|
|
+
|
|
|
|
|
+ res.data.records.forEach((val) => {
|
|
|
|
|
+ if (val.sex && val.sex !== "" && val.sex !== null) {
|
|
|
|
|
+ val.sex = this.sexoptions.find(
|
|
|
|
|
+ (ele) => ele.value == val.sex
|
|
|
|
|
+ ).label;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (val.status && val.status !== "" && val.status !== null) {
|
|
|
|
|
+ val.status = this.user_statusoptions.find(
|
|
|
|
|
+ (ele) => ele.value == val.status
|
|
|
|
|
+ ).label;
|
|
|
|
|
+ }
|
|
|
|
|
+ val.roleId = val.roleName;
|
|
|
|
|
+ });
|
|
|
|
|
+ this.pageResult = {
|
|
|
|
|
+ content: res.data.records,
|
|
|
|
|
+ pageNum: res.data.current,
|
|
|
|
|
+ pageSize: res.data.size,
|
|
|
|
|
+ totalPages: res.data.pages,
|
|
|
|
|
+ totalSize: res.data.total,
|
|
|
|
|
+ };
|
|
|
|
|
+ this.pageData.pageNum = res.data.current;
|
|
|
|
|
+ this.pageData.pageSize = res.data.size;
|
|
|
|
|
+ this.pageData.totalSize = res.data.total;
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ beforeTabLeave() {
|
|
|
|
|
+ // let p = new Promise((resolve, reject) => {
|
|
|
|
|
+ // this.$refs.formData.validate(async (valid) => {
|
|
|
|
|
+ // valid ? resolve() : reject();
|
|
|
|
|
+ // if (valid !== resolve()) {
|
|
|
|
|
+ // // this.$message.error("请完善基本信息!");
|
|
|
|
|
+ // }
|
|
|
|
|
+ // });
|
|
|
|
|
+ // });
|
|
|
|
|
+ // return p;
|
|
|
|
|
+ },
|
|
|
|
|
+ // 下一步
|
|
|
|
|
+ nextStep() {
|
|
|
|
|
+ this.$refs.formData.validate((valid) => {
|
|
|
|
|
+ if (valid) {
|
|
|
|
|
+ this.activeName = "2";
|
|
|
|
|
+ // this.formData.deptIdCom= this.formData.deptId
|
|
|
|
|
+ // this.formData.deptId = this.formData.deptId.at(-1);
|
|
|
|
|
+ // if (this.formData.referrerId) {
|
|
|
|
|
+ // this.formData.referrerName = this.recommenderOptions.find(val => this.formData.referrerId == val.id).name
|
|
|
|
|
+ // }
|
|
|
|
|
+ // this.$api.user.saveOrUpdate(this.formData).then((res) => {
|
|
|
|
|
+ // if (res.code == 200) {
|
|
|
|
|
+ // this.activeName='2'
|
|
|
|
|
+ // this.basicInformation=res.data
|
|
|
|
|
+ // } else {
|
|
|
|
|
+ // this.$message({
|
|
|
|
|
+ // message: `操作失败,请重新添加,(${res.msg})`,
|
|
|
|
|
+ // type: "error",
|
|
|
|
|
+ // });
|
|
|
|
|
+ // }
|
|
|
|
|
+ // });
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ async handleTableEdit(params) {
|
|
|
|
|
+ this.dataForm = {
|
|
|
|
|
+ SFZ_01: "",
|
|
|
|
|
+ SFZ_02: "",
|
|
|
|
|
+ Z6Z_00: "",
|
|
|
|
|
+ LD_00: "",
|
|
|
|
|
+ YP_00: "",
|
|
|
|
|
+ DX_00: "",
|
|
|
|
|
+ LZ_01: "",
|
|
|
|
|
+ };
|
|
|
|
|
+ this.imagesIdList = [];
|
|
|
|
|
+
|
|
|
|
|
+ this.activeName = "1";
|
|
|
|
|
+ let res = await this.$api.user.getUserDatail(params.row.userId);
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
|
+ // this.$api.user
|
|
|
|
|
+ // // .findListByDeptId({ deptId: res.data.sysUser.deptId, id: params.row.userId })
|
|
|
|
|
+ // .findBackUserList1({ agentFlag: 0 })
|
|
|
|
|
+ // .then((res) => {
|
|
|
|
|
+ // this.leaderOptions = res.data;
|
|
|
|
|
+ // });
|
|
|
|
|
+ res.data.sysUser.status += "";
|
|
|
|
|
+ this.formData = res.data.sysUser;
|
|
|
|
|
+
|
|
|
|
|
+ if (this.formData.status == 0) {
|
|
|
|
|
+ this.$set(this.formDataRules, "logoutTime", [
|
|
|
|
|
+ { required: true, message: "请选择日期", trigger: "change" },
|
|
|
|
|
+ ]);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.formDataRules.logoutTime = undefined;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (res.data.esmUserImageVo.length > 0) {
|
|
|
|
|
+ this.imagesIdList = res.data.esmUserImageVo.map((item) => {
|
|
|
|
|
+ item.path = process.env.BASE_URL + item.path;
|
|
|
|
|
+ this.dataForm[item.type] = item.path;
|
|
|
|
|
+ return {
|
|
|
|
|
+ imageId: item.imageId,
|
|
|
|
|
+ type: item.type,
|
|
|
|
|
+ };
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ this.formDataDetail = res.data.sysUserInfo ? res.data.sysUserInfo : {};
|
|
|
|
|
+ this.dialogTitle = "编辑保司人员";
|
|
|
|
|
+ this.dialogVisible = true;
|
|
|
|
|
+ this.dialogPassword = false;
|
|
|
|
|
+ this.formData.referrerId = "";
|
|
|
|
|
+ this.formData.referrerName = "";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg);
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ // 删除单个人员
|
|
|
|
|
+ handleTableDeleteFlag(data) {
|
|
|
|
|
+ this.$confirm("确认删除?")
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ this.$api.user.getDeleteBatch([data.row.userId]).then((res) => {
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ message: "删除成功",
|
|
|
|
|
+ type: "success",
|
|
|
|
|
+ });
|
|
|
|
|
+ this.findPage();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(() => {});
|
|
|
|
|
+ },
|
|
|
|
|
+ //添加人员
|
|
|
|
|
+ handleAddButton() {
|
|
|
|
|
+ if (this.currentTreeNode == null) {
|
|
|
|
|
+ this.$message.info("请选择所属公司或部门");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (
|
|
|
|
|
+ this.currentTreeNode.comlevel != null ||
|
|
|
|
|
+ this.currentTreeNode.managementSource != 4
|
|
|
|
|
+ ) {
|
|
|
|
|
+ //保司managementSource为4 渠道为1 后线为空
|
|
|
|
|
+ this.$message.info("请选择第六级机构");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // let deptId=''
|
|
|
|
|
+ // if(this.formData.deptId){
|
|
|
|
|
+ // deptId = this.formData.deptId.at(-1);
|
|
|
|
|
+ // }
|
|
|
|
|
+ this.formData = {
|
|
|
|
|
+ roleId: "4",
|
|
|
|
|
+ status: "2",
|
|
|
|
|
+ deptId: this.deptId,
|
|
|
|
|
+ pdeptId: this.pdeptId,
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ this.formDataDetail = {};
|
|
|
|
|
+ this.activeName = "1";
|
|
|
|
|
+ this.dialogTitle = "新增保司人员";
|
|
|
|
|
+ this.dialogVisible = true;
|
|
|
|
|
+ this.dialogPassword = true;
|
|
|
|
|
+ // this.$api.user.findListByDeptId({ deptId: this.deptId }).then((res) => {
|
|
|
|
|
+ // this.leaderOptions = res.data.map((val) => {
|
|
|
|
|
+ // return {
|
|
|
|
|
+ // userId: val.id,
|
|
|
|
|
+ // name: val.name,
|
|
|
|
|
+ // };
|
|
|
|
|
+ // });
|
|
|
|
|
+ // });
|
|
|
|
|
+ },
|
|
|
|
|
+ // 新增或修改的弹出框Start
|
|
|
|
|
+ getDictItems(typeName) {
|
|
|
|
|
+ //--数据字典--
|
|
|
|
|
+ this.$api.dict
|
|
|
|
|
+ .findByLableName(typeName)
|
|
|
|
|
+ .then((response) => {
|
|
|
|
|
+ this[typeName + "options"] = response.data; // 把获取到的数据赋给this.data
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch((error) => {
|
|
|
|
|
+ this[typeName + "options"] = [];
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ handleDialogBefore(done) {
|
|
|
|
|
+ // 退出对话框之前确认提示
|
|
|
|
|
+ var that = this;
|
|
|
|
|
+ this.$confirm("确认关闭?")
|
|
|
|
|
+ .then((_) => {
|
|
|
|
|
+ done();
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch((_) => {});
|
|
|
|
|
+ },
|
|
|
|
|
+ closeDialog() {
|
|
|
|
|
+ // 清空数据
|
|
|
|
|
+ this.deptInfo = {};
|
|
|
|
|
+ // this.$refs["formData"].resetFields();
|
|
|
|
|
+ // for (let key in this.formData) {
|
|
|
|
|
+ // this.formData[key] = "";
|
|
|
|
|
+ // }
|
|
|
|
|
+ // this.formData={
|
|
|
|
|
+ // roleId:'21',
|
|
|
|
|
+ // id:'',
|
|
|
|
|
+ // mobile:'',
|
|
|
|
|
+ // email:'',
|
|
|
|
|
+ // name:'',
|
|
|
|
|
+ // password:'',
|
|
|
|
|
+ // sex:'',
|
|
|
|
|
+ // status:''
|
|
|
|
|
+ // }
|
|
|
|
|
+ this.dialogVisible = false;
|
|
|
|
|
+ },
|
|
|
|
|
+ valids(data) {
|
|
|
|
|
+ this.detailValid = data;
|
|
|
|
|
+ },
|
|
|
|
|
+ // 提交
|
|
|
|
|
+ submitForm() {
|
|
|
|
|
+ this.$refs.formDataDetails.submit();
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.$refs.formData.validate((valid) => {
|
|
|
|
|
+ if (valid && this.detailValid) {
|
|
|
|
|
+ this.$confirm("确认提交吗?", "提示", {}).then(() => {
|
|
|
|
|
+ // if(!this.basicInformation.id && this.dialogTitle =="新增代理人"){
|
|
|
|
|
+ // this.$message({
|
|
|
|
|
+ // message: '请先填写基本信息!!!',
|
|
|
|
|
+ // type: 'warning'
|
|
|
|
|
+ // });
|
|
|
|
|
+ // return false
|
|
|
|
|
+ // }
|
|
|
|
|
+ if (this.formData.positionId) {
|
|
|
|
|
+ this.formData.positionName = this.postOption.find(
|
|
|
|
|
+ (val) => val.postId == this.formData.positionId
|
|
|
|
|
+ ).postName;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (this.formData.leaderId) {
|
|
|
|
|
+ this.formData.leaderName = this.leaderOptions.find(
|
|
|
|
|
+ (val) => val.id == this.formData.leaderId
|
|
|
|
|
+ ).name;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (this.dialogTitle == "新增保司人员") {
|
|
|
|
|
+ this.$api.user
|
|
|
|
|
+ .saveUserInfo({
|
|
|
|
|
+ esmUserImageVo: this.imagesIdList,
|
|
|
|
|
+ sysUser: this.formData,
|
|
|
|
|
+ sysUserInfo: this.formDataDetail,
|
|
|
|
|
+ })
|
|
|
|
|
+ .then((res) => {
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ message: "保存成功",
|
|
|
|
|
+ type: "success",
|
|
|
|
|
+ });
|
|
|
|
|
+ this.dialogVisible = false;
|
|
|
|
|
+ this.$refs["formData"].resetFields();
|
|
|
|
|
+ this.$refs["formDataDetail"].resetFields();
|
|
|
|
|
+ this.findPage();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ message: `保存失败,请重新添加,(${res.msg})`,
|
|
|
|
|
+ type: "error",
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$api.user
|
|
|
|
|
+ .updateUserInfo(this.formData.id, {
|
|
|
|
|
+ esmUserImageVo: this.imagesIdList,
|
|
|
|
|
+ sysUser: this.formData,
|
|
|
|
|
+ sysUserInfo: this.formDataDetail,
|
|
|
|
|
+ })
|
|
|
|
|
+ .then((res) => {
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ message: "编辑成功",
|
|
|
|
|
+ type: "success",
|
|
|
|
|
+ });
|
|
|
|
|
+ this.dialogVisible = false;
|
|
|
|
|
+ this.$refs["formData"].resetFields();
|
|
|
|
|
+ this.$refs["formDataDetail"].resetFields();
|
|
|
|
|
+ this.findPage();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ message: `编辑失败,请重新添加,(${res.msg})`,
|
|
|
|
|
+ type: "error",
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error("请填写全部信息");
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }, 200);
|
|
|
|
|
+ },
|
|
|
|
|
+ //查看人员修改记录
|
|
|
|
|
+ async checkHistory(row) {
|
|
|
|
|
+ let userId = row.userId;
|
|
|
|
|
+ this.$refs.personnelHistory.getHistory(userId);
|
|
|
|
|
+ },
|
|
|
|
|
+ handlePictureCardDelete() {
|
|
|
|
|
+ this.logoutImg = null;
|
|
|
|
|
+ },
|
|
|
|
|
+ //预览图片
|
|
|
|
|
+ handlePictureCardPreview(img) {
|
|
|
|
|
+ if (!img) {
|
|
|
|
|
+ this.$message.error("暂无照片");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.ProViewImg = img;
|
|
|
|
|
+ this.showViewer = true;
|
|
|
|
|
+ },
|
|
|
|
|
+ // 关闭查看器
|
|
|
|
|
+ closeViewer() {
|
|
|
|
|
+ this.showViewer = false;
|
|
|
|
|
+ },
|
|
|
|
|
+ getLeftTree() {
|
|
|
|
|
+ this.$api.dept.findTree().then((res) => {
|
|
|
|
|
+ // console.log(treeTypeNum);
|
|
|
|
|
+ this.treeDataRecursion(res.data, 4);
|
|
|
|
|
+ this.leftTree = res.data;
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ //树过滤五级机构递归
|
|
|
|
|
+ treeDataRecursion(data, num, one) {
|
|
|
|
|
+ data = data || this.leftTree;
|
|
|
|
|
+ one = one || 0;
|
|
|
|
|
+ one++;
|
|
|
|
|
+ for (let i = 0; i < data.length; i++) {
|
|
|
|
|
+ if (data[i].comlevel == 5 && data[i].managementSource != num) {
|
|
|
|
|
+ data.splice(i, 1);
|
|
|
|
|
+ i = i - 1;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.treeDataRecursion(data[i].children, num, one);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ mounted() {
|
|
|
|
|
+ this.getLeftTree();
|
|
|
|
|
+ },
|
|
|
|
|
+};
|
|
|
|
|
+</script>
|
|
|
|
|
+
|
|
|
|
|
+<style scoped>
|
|
|
|
|
+.el-divider--horizontal {
|
|
|
|
|
+ margin: 4px 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* 顶部查询条件样式Start */
|
|
|
|
|
+.queryFrom .el-row {
|
|
|
|
|
+ margin: 10px 0px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.queryFrom .el-form-item {
|
|
|
|
|
+ margin-bottom: 0px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.queryFrom .queryButton .el-form-item__content {
|
|
|
|
|
+ margin-left: 0px !important;
|
|
|
|
|
+}
|
|
|
|
|
+.disc {
|
|
|
|
|
+ -webkit-text-security: disc;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+}
|
|
|
|
|
+.none {
|
|
|
|
|
+ -webkit-text-security: none;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+}
|
|
|
|
|
+.icon {
|
|
|
|
|
+ color: #ccc;
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ right: 0;
|
|
|
|
|
+ top: 10px;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.avatar-uploader .el-upload {
|
|
|
|
|
+ border: 1px dashed #d9d9d9;
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+}
|
|
|
|
|
+.avatar-uploader .el-upload:hover {
|
|
|
|
|
+ border-color: #409eff;
|
|
|
|
|
+}
|
|
|
|
|
+.avatar-uploader-icon {
|
|
|
|
|
+ font-size: 28px;
|
|
|
|
|
+ color: #8c939d;
|
|
|
|
|
+ width: 100px;
|
|
|
|
|
+ height: 100px;
|
|
|
|
|
+ line-height: 100px;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ border: 1px dashed #d9d9d9;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.avatar {
|
|
|
|
|
+ border: 1px dashed #d9d9d9;
|
|
|
|
|
+ padding: 5px;
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ width: 100px;
|
|
|
|
|
+ height: 100px;
|
|
|
|
|
+ display: block;
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|
|
|
|
|
+
|
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
|
+>>> .el-tabs__item:hover {
|
|
|
|
|
+ // color: #2d4d89;
|
|
|
|
|
+}
|
|
|
|
|
+>>> .el-tabs__item.is-active {
|
|
|
|
|
+ color: #fff;
|
|
|
|
|
+ // background: #2d4d89;
|
|
|
|
|
+ transition: all ease 0.5s;
|
|
|
|
|
+}
|
|
|
|
|
+>>> .el-tabs__active-bar {
|
|
|
|
|
+ // background-color: #2d4d89;
|
|
|
|
|
+}
|
|
|
|
|
+>>> .el-tabs__item.is-top:nth-child(2) {
|
|
|
|
|
+ padding-left: 20px !important;
|
|
|
|
|
+}
|
|
|
|
|
+>>> .el-tabs--top .el-tabs__item.is-top:last-child {
|
|
|
|
|
+ padding-right: 20px !important;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.el-tabs {
|
|
|
|
|
+ >>> .el-input__inner:focus,
|
|
|
|
|
+ >>> .el-select .el-input.is-focus .el-input__inner {
|
|
|
|
|
+ // border-color: #2d4d89;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-button--primary,
|
|
|
|
|
+ .el-button--primary:focus {
|
|
|
|
|
+ background-color: #d42426;
|
|
|
|
|
+ border-color: #d42426;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+.select-prop {
|
|
|
|
|
+ .el-select-dropdown__item.selected,
|
|
|
|
|
+ .el-date-table td.available:hover {
|
|
|
|
|
+ color: #d42426;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-date-table td.current:not(.disabled) span {
|
|
|
|
|
+ background-color: #d42426;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|
|
|
|
|
+
|
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
|
+.people-style {
|
|
|
|
|
+ // max-height: 500px;
|
|
|
|
|
+ .footerHandle {
|
|
|
|
|
+ // border-radius: 6px;
|
|
|
|
|
+ border-top: 1px solid #f2f2f2;
|
|
|
|
|
+ margin-top: 0 !important;
|
|
|
|
|
+ .el-button {
|
|
|
|
|
+ width: 90px;
|
|
|
|
|
+ height: 36px;
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ margin-left: 24px;
|
|
|
|
|
+ font-weight: 310;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .peopleImage {
|
|
|
|
|
+ padding: 0 !important;
|
|
|
|
|
+ margin: 0 0 0 6px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ .closeBtn {
|
|
|
|
|
+ background: #fff !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-col {
|
|
|
|
|
+ width: calc(33.3333% - 20px);
|
|
|
|
|
+ margin-right: 20px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .personnelInformation {
|
|
|
|
|
+ padding: 0 !important;
|
|
|
|
|
+ margin: 0 0 0 20px !important;
|
|
|
|
|
+ max-height: 470px;
|
|
|
|
|
+ .el-form-item {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ margin-bottom: 20px;
|
|
|
|
|
+ margin-right: 0px;
|
|
|
|
|
+ >>> .el-form-item__label {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ line-height: 16px;
|
|
|
|
|
+ color: #262626;
|
|
|
|
|
+ padding-bottom: 10px;
|
|
|
|
|
+ }
|
|
|
|
|
+ >>> .el-input__inner {
|
|
|
|
|
+ padding-left: 10px !important;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
|
|
+ border: 1px solid #eee;
|
|
|
|
|
+ &::placeholder {
|
|
|
|
|
+ color: #999999;
|
|
|
|
|
+ font-weight: 300;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ >>> .el-textarea__inner {
|
|
|
|
|
+ padding: 10px;
|
|
|
|
|
+ border: 1px solid #eeeeee;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
|
|
+ &::placeholder {
|
|
|
|
|
+ color: #999999;
|
|
|
|
|
+ font-weight: 300;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ >>> .el-input.is-disabled {
|
|
|
|
|
+ .el-input__inner {
|
|
|
|
|
+ background: #fff;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ >>> .el-form-item__error {
|
|
|
|
|
+ padding-top: 0;
|
|
|
|
|
+ margin-top: 8px;
|
|
|
|
|
+ font-size: 12px;
|
|
|
|
|
+ color: #d42426;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ /deep/ .el-date-editor {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ .el-input__prefix {
|
|
|
|
|
+ // color: #D42426;
|
|
|
|
|
+ // position: absolute;
|
|
|
|
|
+ // right: 5px;
|
|
|
|
|
+ // left: auto;
|
|
|
|
|
+ // display: none;
|
|
|
|
|
+ background-image: url("~@/assets/image/people/rili.svg"); /* 替换为你的新图标路径 */
|
|
|
|
|
+ background-size: cover; /* 覆盖整个元素 */
|
|
|
|
|
+ background-repeat: no-repeat; /* 不重复背景图片 */
|
|
|
|
|
+ height: 15px; /* 根据实际情况调整高度 */
|
|
|
|
|
+ width: 17px; /* 根据实际情况调整宽度 */
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ right: 10px;
|
|
|
|
|
+ top: 9px;
|
|
|
|
|
+ left: auto;
|
|
|
|
|
+ .el-icon-date::before {
|
|
|
|
|
+ content: "";
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-input__suffix {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ right: 25px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ /deep/ .el-dialog {
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ .el-dialog__header {
|
|
|
|
|
+ height: 50px;
|
|
|
|
|
+ line-height: 50px;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ border-top-left-radius: 6px;
|
|
|
|
|
+ border-top-right-radius: 6px;
|
|
|
|
|
+ .el-dialog__title {
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-dialog__body {
|
|
|
|
|
+ background: #fff;
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ /deep/ .el-tabs {
|
|
|
|
|
+ .el-tabs__header {
|
|
|
|
|
+ padding: 20px 0;
|
|
|
|
|
+ margin-bottom: 0;
|
|
|
|
|
+ .el-tabs__nav {
|
|
|
|
|
+ background: #f7f7f7;
|
|
|
|
|
+ padding: 0 4px;
|
|
|
|
|
+ height: 44px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-tabs__item {
|
|
|
|
|
+ width: 120px;
|
|
|
|
|
+ height: 36px;
|
|
|
|
|
+ line-height: 36px;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ background: #f7f7f7;
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ font-weight: 310;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-tabs__item.is-active {
|
|
|
|
|
+ background: #d42426;
|
|
|
|
|
+ color: #fff;
|
|
|
|
|
+ border-radius: 2px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-tabs__active-bar {
|
|
|
|
|
+ display: none;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-tabs__nav {
|
|
|
|
|
+ left: 50%;
|
|
|
|
|
+ transform: translateX(-50%) !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-tabs__content {
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+.dialogOut {
|
|
|
|
|
+ .el-form {
|
|
|
|
|
+ padding-top: 10px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-form-item {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ >>> .el-form-item__label {
|
|
|
|
|
+ padding-bottom: 0 !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ >>> .el-date-editor {
|
|
|
|
|
+ .el-input__prefix {
|
|
|
|
|
+ top: 12px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .footerHandle {
|
|
|
|
|
+ padding: 8px 20px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .upload-icon {
|
|
|
|
|
+ width: 208px;
|
|
|
|
|
+ height: 130px;
|
|
|
|
|
+ background: #f9f9f9;
|
|
|
|
|
+ border: 1px solid #eee;
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-upload__text {
|
|
|
|
|
+ line-height: 20px;
|
|
|
|
|
+ margin-top: 7px;
|
|
|
|
|
+ color: #999;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-upload--picture-card:hover,
|
|
|
|
|
+ .el-upload:focus {
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ }
|
|
|
|
|
+ .upload-icon:hover {
|
|
|
|
|
+ /* border: 1px dashed #2D4D89; */
|
|
|
|
|
+ border-color: #d42426;
|
|
|
|
|
+ /* color: #D42426; */
|
|
|
|
|
+ transition: all ease 1s;
|
|
|
|
|
+ }
|
|
|
|
|
+ .avatar {
|
|
|
|
|
+ border: 1px solid #eee;
|
|
|
|
|
+ padding: 0px;
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ width: 207px;
|
|
|
|
|
+ height: 130px;
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ object-fit: cover;
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ }
|
|
|
|
|
+ /* 上传图片样式End */
|
|
|
|
|
+ .slot {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ width: 208px;
|
|
|
|
|
+ height: 130px;
|
|
|
|
|
+ left: 2px;
|
|
|
|
|
+ top: 2px;
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ cursor: default;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ color: #fff;
|
|
|
|
|
+ opacity: 1;
|
|
|
|
|
+ font-size: 20px;
|
|
|
|
|
+ /* background-color: rgba(0, 0, 0, 0.5); */
|
|
|
|
|
+ transition: opacity 0.3s;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .close {
|
|
|
|
|
+ width: 12px;
|
|
|
|
|
+ height: 12px;
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: -1px;
|
|
|
|
|
+ right: 0;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ }
|
|
|
|
|
+ .preview {
|
|
|
|
|
+ width: 208px;
|
|
|
|
|
+ height: calc(130px - 24px);
|
|
|
|
|
+ }
|
|
|
|
|
+ .bottomHandle {
|
|
|
|
|
+ width: 208px;
|
|
|
|
|
+ height: 24px;
|
|
|
|
|
+ line-height: 20px;
|
|
|
|
|
+ background: url("~@/assets/image/people/bottomFrame.png") no-repeat;
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ bottom: 0;
|
|
|
|
|
+ left: -1px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ }
|
|
|
|
|
+ .reset {
|
|
|
|
|
+ width: 10px;
|
|
|
|
|
+ height: 10px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .bottomHandle > .title {
|
|
|
|
|
+ font-size: 12px;
|
|
|
|
|
+ color: #fff;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ .slot > i {
|
|
|
|
|
+ /* margin: 10px; */
|
|
|
|
|
+ /* color: #fff; */
|
|
|
|
|
+ /* font-size: 25px; */
|
|
|
|
|
+ /* font-weight: bold; */
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .slot:hover {
|
|
|
|
|
+ opacity: 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ .title {
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ padding-bottom: 10px;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|