| | |
| | | <template>
|
| | | <div>
|
| | | <el-container>
|
| | | <el-header :height="headerHeight">
|
| | | <el-row class="search-title">
|
| | | <el-col :span="18" class="title">
|
| | | <div class="zs-title">附件管理</div>
|
| | | </el-col>
|
| | | <el-col :span="6" class="search">
|
| | | <el-input v-model="empName" class="input-empName" maxlength="10" size="medium" style="width:220px">
|
| | | <el-button slot="append" icon="el-icon-search" @click.native="findEmpAccessory()" />
|
| | | </el-input>
|
| | | <el-button
|
| | | type="danger"
|
| | | size="mini"
|
| | | class="hr-but-all"
|
| | | @click="advancedQueryShowMethods"
|
| | | >高级查询</el-button>
|
| | | </el-col>
|
| | | </el-row>
|
| | | <el-form v-show="advancedQueryShow" ref="queryform" :model="queryform">
|
| | | <el-row>
|
| | | <el-col :span="3">员工编号:
|
| | | <el-input v-model="queryform.empNumb" size="small" maxlength="20" style="width:85px" />
|
| | | </el-col>
|
| | | <el-col :span="3">姓名:
|
| | | <el-input v-model="queryform.empName" size="small" maxlength="10" style="width:110px" />
|
| | | </el-col>
|
| | | <el-col :span="4">身份证号:
|
| | | <el-input v-model="queryform.certificateNumb" size="small" maxlength="18" style="width:140px" />
|
| | | </el-col>
|
| | | <el-col :span="3">护卫点:
|
| | | <el-input v-model="queryform.deptName" size="small" maxlength="20" style="width:100px" />
|
| | | </el-col>
|
| | | <el-col :span="8">入职日期:
|
| | | <el-date-picker
|
| | | v-model="queryform.entryDate"
|
| | | size="small"
|
| | | type="daterange"
|
| | | align="right"
|
| | | unlink-panels
|
| | | range-separator="至"
|
| | | value-format="yyyy-MM-dd"
|
| | | start-placeholder="开始日期"
|
| | | end-placeholder="结束日期"
|
| | | :picker-options="pickerOptions"
|
| | | />
|
| | | </el-col>
|
| | | <el-col :span="3">
|
| | | <el-button size="mini" class="hr-but-all" type="primary" @click="findEmpAccessoryAll()">查询</el-button>
|
| | | <el-button size="mini" class="hr-but" type="danger" @click="resetQueryform()">重置</el-button>
|
| | | </el-col>
|
| | | </el-row>
|
| | | <el-row>
|
| | | <el-col :span="24">
|
| | | <table id="searchTable">
|
| | | <tr>
|
| | | <td class="td">性别</td>
|
| | | <td class="td-group">
|
| | | <el-checkbox-group v-model="queryform.sex" class="fj-checkbox">
|
| | | <el-checkbox label="" @change="selectAllSex">全部</el-checkbox>
|
| | | <el-checkbox label="1">男性</el-checkbox>
|
| | | <el-checkbox label="2">女性</el-checkbox>
|
| | | </el-checkbox-group>
|
| | | </td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td class="td">最高学历</td>
|
| | | <td class="td-group">
|
| | | <el-checkbox-group v-model="queryform.education" class="fj-checkbox">
|
| | | <el-checkbox label="" @change="selectAllEducation">全部</el-checkbox>
|
| | | <el-checkbox label="91">无学历</el-checkbox>
|
| | | <el-checkbox label="81">小学</el-checkbox>
|
| | | <el-checkbox label="71">初中</el-checkbox>
|
| | | <el-checkbox label="61">高中</el-checkbox>
|
| | | <el-checkbox label="42">中技</el-checkbox>
|
| | | <el-checkbox label="41">中专</el-checkbox>
|
| | | <el-checkbox label="31">大学专科</el-checkbox>
|
| | | <el-checkbox label="21">大学本科</el-checkbox>
|
| | | <el-checkbox label="11">硕士</el-checkbox>
|
| | | <el-checkbox label="10">博士</el-checkbox>
|
| | | </el-checkbox-group>
|
| | | </td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td class="td">政治面貌</td>
|
| | | <td class="td-group">
|
| | | <el-checkbox-group v-model="queryform.politics" class="fj-checkbox">
|
| | | <el-checkbox label="" @change="selectAllPolitics">全部</el-checkbox>
|
| | | <el-checkbox label="01">党员</el-checkbox>
|
| | | <el-checkbox label="02">预备</el-checkbox>
|
| | | <el-checkbox label="03">共青</el-checkbox>
|
| | | <el-checkbox label="04">民革</el-checkbox>
|
| | | <el-checkbox label="05">民盟</el-checkbox>
|
| | | <el-checkbox label="06">民建</el-checkbox>
|
| | | <el-checkbox label="07">民进</el-checkbox>
|
| | | <el-checkbox label="08">农工</el-checkbox>
|
| | | <el-checkbox label="09">致公</el-checkbox>
|
| | | <el-checkbox label="10">九三</el-checkbox>
|
| | | <el-checkbox label="11">台盟</el-checkbox>
|
| | | <el-checkbox label="12">民主</el-checkbox>
|
| | | <el-checkbox label="13">群众</el-checkbox>
|
| | | </el-checkbox-group>
|
| | | </td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td class="td">年龄</td>
|
| | | <td class="td-group">
|
| | | <el-checkbox-group v-model="queryform.age" class="fj-checkbox">
|
| | | <el-checkbox label="" @change="selectAllage">全部</el-checkbox>
|
| | | <el-checkbox label="18-29">18-29</el-checkbox>
|
| | | <el-checkbox label="30-39">30-39</el-checkbox>
|
| | | <el-checkbox label="40-49">40-49</el-checkbox>
|
| | | <el-checkbox label="50-59">50-59</el-checkbox>
|
| | | <el-checkbox label="60-69">60-69</el-checkbox>
|
| | | <el-checkbox label="69-999">69及以上</el-checkbox>
|
| | | </el-checkbox-group>
|
| | | </td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td class="td">档案情况</td>
|
| | | <td class="td-group">
|
| | | <el-checkbox-group v-model="queryform.archivesStatus" class="fj-checkbox">
|
| | | <el-checkbox label="" @change="selectAllArchivesStatus">全部</el-checkbox>
|
| | | <el-checkbox label="0">已移交</el-checkbox>
|
| | | <el-checkbox label="1">未移交</el-checkbox>
|
| | | </el-checkbox-group>
|
| | | </td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td class="td">保险类型</td>
|
| | | <td class="td-group">
|
| | | <el-checkbox-group v-model="queryform.insuranceType" class="fj-checkbox">
|
| | | <el-checkbox label="" @change="selectAllInsuranceType">全部</el-checkbox>
|
| | | <el-checkbox label="1">深户(五险一档)</el-checkbox>
|
| | | <el-checkbox label="2">非深户(五险一档)</el-checkbox>
|
| | | <el-checkbox label="3">非深户(五险二档)</el-checkbox>
|
| | | <el-checkbox label="4">非深户(五险三档)</el-checkbox>
|
| | | <el-checkbox label="5">非深户(四险三档)</el-checkbox>
|
| | | </el-checkbox-group>
|
| | | </td>
|
| | | </tr>
|
| | | </table>
|
| | | </el-col>
|
| | | </el-row>
|
| | | </el-form>
|
| | | </el-header>
|
| | | <el-main>
|
| | | <el-row style="margin-bottom: 10px;height: 40px;">
|
| | | <el-col :span="24">
|
| | | <el-button class="hr-but-all" type="danger" @click="dialogFormVisible = true">新建标签</el-button>
|
| | | <el-popconfirm title="是否删除标签?" @onConfirm="deldialogFormVisible = true">
|
| | | <el-button slot="reference" class="hr-but" type="danger">删除标签</el-button>
|
| | | </el-popconfirm>
|
| | | <el-button class="hr-but-all" type="danger" @click="downloaddialogFormVisible = true">下载附件</el-button>
|
| | | <el-dialog
|
| | | title="新建标签"
|
| | | :visible.sync="dialogFormVisible"
|
| | | width="25%"
|
| | | class="add-label"
|
| | | >
|
| | | <el-form ref="labelform" :model="labelform" :rules="rules">
|
| | | <el-form-item
|
| | | label="标签名称:"
|
| | | :label-width="formLabelWidth"
|
| | | prop="labelname"
|
| | | >
|
| | | <el-input v-model="labelform.labelname" autocomplete="off" />
|
| | | </el-form-item>
|
| | | <el-form-item
|
| | | label="标签code:"
|
| | | :label-width="formLabelWidth"
|
| | | prop="labelcode"
|
| | | >
|
| | | <el-input v-model="labelform.labelcode" autocomplete="off" />
|
| | | </el-form-item>
|
| | | <el-form-item label="标签排序:" :label-width="formLabelWidth" prop="sort">
|
| | | <el-input-number
|
| | | v-model="labelform.sort"
|
| | | :min="0"
|
| | | :max="100"
|
| | | label="排序"
|
| | | />
|
| | | </el-form-item></el-form>
|
| | | <div slot="footer" class="dialog-footer">
|
| | | <el-button @click="dialogFormVisible = false">取 消</el-button>
|
| | | <el-button
|
| | | type="primary"
|
| | | @click="addlabel('labelform')"
|
| | | >确 定</el-button>
|
| | | </div>
|
| | | </el-dialog>
|
| | | <el-dialog
|
| | | title="删除标签"
|
| | | :visible.sync="deldialogFormVisible"
|
| | | width="25%"
|
| | | class="add-label"
|
| | | >
|
| | | <el-form ref="dellabelform" :model="labelform" :rules="delrules">
|
| | | <el-form-item
|
| | | label="标签名称:"
|
| | | :label-width="formLabelWidth"
|
| | | prop="labelid"
|
| | | >
|
| | | <el-select v-model="labelform.labelid" placeholder="请选择标签名称">
|
| | | <el-option
|
| | | v-for="item in labelData"
|
| | | :key="item.labelid"
|
| | | :value="item.labelid"
|
| | | :label="item.labelname"
|
| | | />
|
| | | </el-select>
|
| | | </el-form-item>
|
| | | </el-form>
|
| | | <div slot="footer" class="dialog-footer">
|
| | | <el-button @click="deldialogFormVisible = false">取 消</el-button>
|
| | | <el-button
|
| | | type="primary"
|
| | | @click="dellabel('dellabelform')"
|
| | | >确 定</el-button>
|
| | | </div>
|
| | | </el-dialog>
|
| | | <el-dialog
|
| | | title="下载附件"
|
| | | :visible.sync="downloaddialogFormVisible"
|
| | | width="25%"
|
| | | class="add-label"
|
| | | >
|
| | | <el-form ref="dellabelform" :model="labelform" :rules="delrules">
|
| | | <el-form-item
|
| | | label="标签名称:"
|
| | | :label-width="formLabelWidth"
|
| | | prop="labelid"
|
| | | >
|
| | | <el-select v-model="labelform.labelid" placeholder="请选择标签名称">
|
| | | <el-option
|
| | | key="-1"
|
| | | value="-1"
|
| | | label="全部"
|
| | | />
|
| | | <el-option
|
| | | v-for="item in labelData"
|
| | | :key="item.labelid"
|
| | | :value="item.labelid"
|
| | | :label="item.labelname"
|
| | | />
|
| | | </el-select>
|
| | | </el-form-item>
|
| | | </el-form>
|
| | | <div slot="footer" class="dialog-footer">
|
| | | <el-button @click="downloaddialogFormVisible = false">取 消</el-button>
|
| | | <el-button
|
| | | type="primary"
|
| | | @click="downloadlabel('dellabelform')"
|
| | | >确 定</el-button>
|
| | | </div>
|
| | | </el-dialog>
|
| | |
|
| | | </el-col>
|
| | | </el-row>
|
| | | <el-dialog title="附件管理" :visible.sync="dialogShowUploadfj" width="80%" class="fjgl-class" top="10px">
|
| | | <uploadfj v-if="dialogShowUploadfj" :rowitem="rowitem" @cancleChooseUser="cancleChooseUser()" />
|
| | | </el-dialog>
|
| | | <el-table ref="empAccessoryTable" :data="tableData" class="fj-table" style="width: 100%;color: #000;">
|
| | | <el-table-column
|
| | | type="selection"
|
| | | width="55"
|
| | | />
|
| | | <el-table-column label="操作" width="120">
|
| | | <template slot-scope="scope">
|
| | | <el-button
|
| | | type="text"
|
| | | size="small"
|
| | | @click.native.prevent="dialogShow(scope.$index, scope.row)"
|
| | | >
|
| | | 上传
|
| | | </el-button>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column prop="empName" label="姓名" width="100" />
|
| | | <el-table-column prop="certificateNumb" label="身份证号" width="180" />
|
| | | <el-table-column prop="deptName" label="护卫点(部门)" width="180" />
|
| | | <el-table-column prop="jobName" label="岗位" width="100" />
|
| | | <template v-for="(col) in labelData">
|
| | | <el-table-column :key="col.labelid" :prop="col.labelcode" :label="col.labelname">
|
| | | <template slot-scope="scope">
|
| | | <el-link type="primary"> {{ scope.row[col.labelcode] }}</el-link>
|
| | | </template>
|
| | | </el-table-column>
|
| | | </template>
|
| | |
|
| | | </el-table>
|
| | | <pagination
|
| | | v-show="total>0"
|
| | | :total="total"
|
| | | :page.sync="pagination.num"
|
| | | :limit.sync="pagination.size"
|
| | | @pagination="search"
|
| | | />
|
| | | </el-main>
|
| | | </el-container>
|
| | | </div>
|
| | | </template>
|
| | | <script>
|
| | | import Pagination from '@/components/Pagination'
|
| | |
|
| | | export default {
|
| | | components: {
|
| | | Pagination
|
| | | },
|
| | | data() {
|
| | | return {
|
| | | queryCheckAll: {
|
| | | sexcheckAll: false,
|
| | | sexisIndeterminate: true
|
| | | },
|
| | | downloaddialogFormVisible: false,
|
| | | deldialogFormVisible: false,
|
| | | formLabelWidth: '100px',
|
| | | dialogFormVisible: false,
|
| | | labelform: {
|
| | | labelname: '',
|
| | | labelid: '',
|
| | | labelcode: '',
|
| | | empIds: '',
|
| | | sort: 0
|
| | | },
|
| | | rules: {
|
| | | labelname: [
|
| | | { required: true, message: '请输入标签名称', trigger: 'blur' },
|
| | | { min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' }
|
| | | ],
|
| | | labelcode: [
|
| | | { required: true, message: '请输入标签code', trigger: 'blur' },
|
| | | { min: 3, max: 10, message: '长度在 3 到 20 个字符', trigger: 'blur' }
|
| | | ],
|
| | | sort: [{ required: true, message: '请输入排序', type: 'number', trigger: 'blur' }]
|
| | | },
|
| | | delrules: {
|
| | | labelid: [{ required: true, message: '请选择标签', trigger: 'change' }]
|
| | | },
|
| | | dialogShowUploadfj: false,
|
| | | empName: '',
|
| | | queryform: {
|
| | | empNumb: '',
|
| | | empName: '',
|
| | | certificateNumb: '',
|
| | | deptName: '',
|
| | | entryDate: '',
|
| | | sex: [],
|
| | | education: [],
|
| | | politics: [],
|
| | | age: [],
|
| | | archivesStatus: [],
|
| | | insuranceType: []
|
| | | },
|
| | | total: 0, // 总数量
|
| | | pagination: { // 分页参数
|
| | | size: 10,
|
| | | num: 1
|
| | | },
|
| | | headerHeight: '20px',
|
| | | advancedQueryShow: false,
|
| | | dialogTableVisible: false,
|
| | | pickerOptions: {
|
| | | shortcuts: [
|
| | | {
|
| | | text: '最近一周',
|
| | | onClick(picker) {
|
| | | const end = new Date()
|
| | | const start = new Date()
|
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
| | | picker.$emit('pick', [start, end])
|
| | | }
|
| | | },
|
| | | {
|
| | | text: '最近一个月',
|
| | | onClick(picker) {
|
| | | const end = new Date()
|
| | | const start = new Date()
|
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
|
| | | picker.$emit('pick', [start, end])
|
| | | }
|
| | | },
|
| | | {
|
| | | text: '最近三个月',
|
| | | onClick(picker) {
|
| | | const end = new Date()
|
| | | const start = new Date()
|
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
|
| | | picker.$emit('pick', [start, end])
|
| | | }
|
| | | }
|
| | | ]
|
| | | },
|
| | | tableData: [],
|
| | | labelData: [],
|
| | | defaultProps: {
|
| | | children: 'children',
|
| | | label: 'label'
|
| | | },
|
| | | rowitem: {}
|
| | | }
|
| | | },
|
| | | mounted() {
|
| | | this.initLabel()
|
| | | this.fetch()
|
| | | },
|
| | | methods: {
|
| | | handleCheckAllChange(val) {
|
| | | debugger
|
| | | this.queryCheckAll.sexisIndeterminate = false
|
| | | },
|
| | | downloadlabel(formName) {
|
| | | this.$refs[formName].validate(valid => {
|
| | | if (valid) {
|
| | | var selected = this.$refs.empAccessoryTable.selection
|
| | | if (selected.length < 1) {
|
| | | this.$message({
|
| | | message: '请选择数据!',
|
| | | type: 'warning'
|
| | | })
|
| | | return
|
| | | }
|
| | | const empIds = []
|
| | | selected.forEach((j) => {
|
| | | empIds.push(j.empId)
|
| | | })
|
| | | this.labelform.empIds = empIds
|
| | | this.$download('hr/empAccessory/singledownload', { ...this.labelform }, '附件_' + new Date().getTime() + '.zip').then(() => {
|
| | | this.downloaddialogFormVisible = false
|
| | | this.$message({
|
| | | message: this.$t('下载成功'),
|
| | | type: 'success'
|
| | | })
|
| | | })
|
| | | }
|
| | | })
|
| | | },
|
| | | dellabel(formName) {
|
| | | this.$refs[formName].validate(valid => {
|
| | | if (valid) {
|
| | | this.$get('hr/empAccessory/' + this.labelform.labelid).then((r) => {
|
| | | if (r.data.data > 0) {
|
| | | this.$message({
|
| | | message: this.$t('标签内还有' + r.data.data + '个附件,若要删除请先转存附件!'),
|
| | | type: 'warning'
|
| | | })
|
| | | } else {
|
| | | this.$delete('hr/label', { ...this.labelform }).then(() => {
|
| | | this.dialogFormVisible = false
|
| | | this.$message({
|
| | | message: this.$t('tips.deleteSuccess'),
|
| | | type: 'success'
|
| | | })
|
| | | this.deldialogFormVisible = false
|
| | | // 初始加载
|
| | | this.initLabel()
|
| | | this.fetch()
|
| | | })
|
| | | }
|
| | | })
|
| | | }
|
| | | })
|
| | | },
|
| | | addlabel(formName) {
|
| | | this.$refs[formName].validate(valid => {
|
| | | if (valid) {
|
| | | this.$post('hr/label', { ...this.labelform }).then(() => {
|
| | | this.dialogFormVisible = false
|
| | | this.$message({
|
| | | message: this.$t('tips.createSuccess'),
|
| | | type: 'success'
|
| | | })
|
| | | this.labelform.labelname = ''
|
| | | this.labelform.sort = 0
|
| | | this.labelform.labelcode = ''
|
| | | // 初始加载
|
| | | this.initLabel()
|
| | | this.fetch()
|
| | | })
|
| | | }
|
| | | })
|
| | | },
|
| | | dialogShow(index, tableData) {
|
| | | this.rowitem = tableData
|
| | | this.dialogShowUploadfj = true
|
| | | },
|
| | | cancleChooseUser() {
|
| | | this.dialogShowUploadfj = false
|
| | | },
|
| | | skipuploadfj() {
|
| | | this.resolvePath('/uploadfj')
|
| | | },
|
| | | resetQueryform() {
|
| | | this.queryform = {
|
| | | empNumb: '',
|
| | | empName: '',
|
| | | certificateNumb: '',
|
| | | deptName: '',
|
| | | entryDate: '',
|
| | | sex: [],
|
| | | education: [],
|
| | | politics: [],
|
| | | age: [],
|
| | | archivesStatus: [],
|
| | | insuranceType: []
|
| | | }
|
| | | },
|
| | | findEmpAccessoryAll() {
|
| | | this.fetch({
|
| | | ...this.queryform
|
| | | })
|
| | | },
|
| | | findEmpAccessory() {
|
| | | var params = { empName: this.empName }
|
| | | this.fetch({
|
| | | ...params
|
| | | })
|
| | | },
|
| | | // 翻页方法
|
| | | search() {
|
| | | this.fetch({
|
| | | ...this.queryform
|
| | | })
|
| | | },
|
| | | handleNodeClick(data) {
|
| | | console.log(data)
|
| | | },
|
| | | fetch(params = {}) {
|
| | | params.pageSize = this.pagination.size
|
| | | params.pageNum = this.pagination.num
|
| | | this.$get('hr/empAccessory/list', {
|
| | | ...params
|
| | | }).then((r) => {
|
| | | const data = r.data.data
|
| | | this.total = data.total
|
| | | this.tableData = data.rows
|
| | | })
|
| | | },
|
| | | initLabel() {
|
| | | this.$get('hr/label').then((r) => {
|
| | | this.labelData = r.data.data
|
| | | })
|
| | | },
|
| | | advancedQueryShowMethods() {
|
| | | if (this.advancedQueryShow) {
|
| | | this.headerHeight = '70px'
|
| | | this.advancedQueryShow = false
|
| | | } else {
|
| | | this.headerHeight = '330px'
|
| | | this.advancedQueryShow = true
|
| | | }
|
| | | },
|
| | | showEmpInfo() {
|
| | | this.dialogTableVisible = true
|
| | | },
|
| | | selectAllSex(val) {
|
| | | if (val) {
|
| | | this.queryform.sex = ['1', '2']
|
| | | } else {
|
| | | this.queryform.sex = []
|
| | | }
|
| | | },
|
| | | selectAllEducation(val) {
|
| | | if (val) {
|
| | | this.queryform.education = ['91', '81', '71', '61', '42', '41', '31', '21', '11', '10']
|
| | | } else {
|
| | | this.queryform.education = []
|
| | | }
|
| | | },
|
| | | selectAllPolitics(val) {
|
| | | if (val) {
|
| | | this.queryform.politics = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13']
|
| | | } else {
|
| | | this.queryform.politics = []
|
| | | }
|
| | | },
|
| | | selectAllage(val) {
|
| | | if (val) {
|
| | | this.queryform.age = ['18-29', '30-39', '40-49', '50-59', '60-69', '69-999']
|
| | | } else {
|
| | | this.queryform.age = []
|
| | | }
|
| | | },
|
| | | selectAllArchivesStatus(val) {
|
| | | if (val) {
|
| | | this.queryform.archivesStatus = ['0', '1']
|
| | | } else {
|
| | | this.queryform.archivesStatus = []
|
| | | }
|
| | | },
|
| | | selectAllInsuranceType(val) {
|
| | | if (val) {
|
| | | this.queryform.insuranceType = ['1', '2', '3', '4', '5']
|
| | | } else {
|
| | | this.queryform.insuranceType = []
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | </script>
|
| | | <style lang="scss" scoped>
|
| | | .el-main {
|
| | | margin-top: 10px;
|
| | | }
|
| | | .el-input-number {
|
| | | width: 100%;
|
| | | }
|
| | | </style>
|
| | | <style lang="scss">
|
| | | .fj-checkbox{
|
| | | .el-checkbox__input.is-checked .el-checkbox__inner {
|
| | | border-color: #a32c30;;
|
| | | background: #a32c30;;
|
| | | }
|
| | | .el-checkbox__label {
|
| | | color: #000 !important;
|
| | | }
|
| | | }
|
| | | .fjgl-class{
|
| | | height: 90%;
|
| | | overflow: auto;
|
| | | }
|
| | | .add-lable {
|
| | | text-align: initial;
|
| | | }
|
| | | .input-empName .el-input-group__append{
|
| | | padding: 0 15px 0 0;
|
| | | }
|
| | | .fj-table thead {
|
| | | color: #000;
|
| | | }
|
| | | .td {
|
| | | background-color: #dddcdc !important;
|
| | | width: 160px;
|
| | | text-align: center;
|
| | | }
|
| | | .td-group {
|
| | | padding-left: 20px;
|
| | | }
|
| | | .search-title {
|
| | | height: 50px;
|
| | | .search {
|
| | | position: relative;
|
| | | top: 50%;
|
| | | transform: translateY(-50%);
|
| | | }
|
| | | .title {
|
| | | position: relative;
|
| | | top: 40%;
|
| | | transform: translateY(-50%);
|
| | | }
|
| | | .zs-title {
|
| | | border-left: 4px solid #a32c30;
|
| | | padding-left: 10px;
|
| | | font-size: 16px;
|
| | | }
|
| | | }
|
| | |
|
| | | #searchTable {
|
| | | margin-top: 10px;
|
| | | border-collapse: collapse;
|
| | | width: 100%;
|
| | | }
|
| | |
|
| | | #searchTable td,
|
| | | #searchTable th {
|
| | | border: 1px solid #b0b0b0;
|
| | | color: #000;
|
| | | height: 40px;
|
| | | background-color: #fff;
|
| | | }
|
| | |
|
| | | #ygxq table {
|
| | | color: #000;
|
| | | border-collapse: collapse;
|
| | | margin: 0 auto;
|
| | | text-align: center;
|
| | | width: 100%;
|
| | | margin-top: 20px;
|
| | | }
|
| | |
|
| | | #ygxq table td,
|
| | | #ygxq table th {
|
| | | border: 1px solid #eae9e9;
|
| | | color: #666;
|
| | | height: 30px;
|
| | | }
|
| | |
|
| | | #ygxq table thead th {
|
| | | background-color: #fff;
|
| | | width: 100px;
|
| | | }
|
| | |
|
| | | #ygxq table tr:nth-child(odd) {
|
| | | background: #fff;
|
| | | }
|
| | |
|
| | | #ygxq table tr:nth-child(even) {
|
| | | background: #f5fafa;
|
| | | }
|
| | |
|
| | | </style>
|
| | | <template> |
| | | <div style="background-color: #fff;height: 100%;"> |
| | | <el-container> |
| | | <el-header :height="headerHeight"> |
| | | <el-row class="search-title"> |
| | | <el-col :span="16" class="title"> |
| | | <div class="zs-title">附件管理</div> |
| | | </el-col> |
| | | <el-col :span="8" class="search"> |
| | | <el-input v-model="basic" class="input-empName" maxlength="18" size="medium" style="width:220px" /> |
| | | <span class="search-btn" @click="findEmpAccessory">查询</span> |
| | | <span class="sup-search-btn" @click="advancedQueryShowMethods">高级查询</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form v-show="advancedQueryShow" ref="queryform" :model="queryform"> |
| | | <el-row> |
| | | <el-col :span="3">员工编号: |
| | | <el-input v-model="queryform.empNumb" size="small" maxlength="20" style="width:85px" /> |
| | | </el-col> |
| | | <el-col :span="3">姓名: |
| | | <el-input v-model="queryform.empName" size="small" maxlength="10" style="width:110px" /> |
| | | </el-col> |
| | | <el-col :span="4">身份证号: |
| | | <el-input v-model="queryform.certificateNumb" size="small" maxlength="18" style="width:140px" /> |
| | | </el-col> |
| | | <el-col :span="3">护卫点: |
| | | <el-input v-model="queryform.deptName" size="small" maxlength="20" style="width:100px" /> |
| | | </el-col> |
| | | <el-col :span="8">入职日期: |
| | | <el-date-picker |
| | | v-model="queryform.entryDate" |
| | | size="small" |
| | | type="daterange" |
| | | align="right" |
| | | unlink-panels |
| | | range-separator="至" |
| | | value-format="yyyy-MM-dd" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :picker-options="pickerOptions" |
| | | /> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <el-button size="mini" class="hr-but-all" type="primary" @click="findEmpAccessoryAll()">查询</el-button> |
| | | <el-button size="mini" class="hr-but" type="danger" @click="resetQueryform()">重置</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <table id="searchTable" class="searchTable"> |
| | | <tr> |
| | | <td class="td">性别:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.sex" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllSex">全部</el-checkbox> |
| | | <el-checkbox |
| | | v-for="data in sexOptions" |
| | | :key="data.dicItemName" |
| | | :label="data.dicItemCode" |
| | | > |
| | | {{ data.dicItemName }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">最高学历:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.education" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllEducation">全部</el-checkbox> |
| | | <el-checkbox |
| | | v-for="data in educationOptions" |
| | | :key="data.dicItemName" |
| | | :label="data.dicItemCode" |
| | | > |
| | | {{ data.dicItemName }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">政治面貌:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.politics" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllPolitics">全部</el-checkbox> |
| | | <el-checkbox |
| | | v-for="data in statusOptions" |
| | | :key="data.dicItemName" |
| | | :label="data.dicItemCode" |
| | | > |
| | | {{ data.dicItemName }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">年龄:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.age" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllAgeStr">全部</el-checkbox> |
| | | <el-checkbox |
| | | v-for="data in ageStrOptions" |
| | | :key="data.dicItemName" |
| | | :label="data.dicItemCode" |
| | | > |
| | | {{ data.dicItemName }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">档案情况:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.archivesStatus" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllArchivesStatus">全部</el-checkbox> |
| | | <el-checkbox |
| | | v-for="data in archivesStatusOptions" |
| | | :key="data.dicItemName" |
| | | :label="data.dicItemCode" |
| | | > |
| | | {{ data.dicItemName }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">保险类型:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.insuranceType" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllInsuranceType">全部</el-checkbox> |
| | | <el-checkbox |
| | | v-for="data in insuranceTypeOptions" |
| | | :key="data.dicItemName" |
| | | :label="data.dicItemCode" |
| | | > |
| | | {{ data.dicItemName }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">员工状态:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.empStatus" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllEmpStatus">全部</el-checkbox> |
| | | <el-checkbox label="0">在职</el-checkbox> |
| | | <el-checkbox label="1">离职</el-checkbox> |
| | | <el-checkbox label="2">退休</el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">工作证:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.empCardStatus" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllEmpCardStatus">全部</el-checkbox> |
| | | <el-checkbox |
| | | v-for="data in empCardStatusOptions" |
| | | :key="data.dicItemName" |
| | | :label="data.dicItemCode" |
| | | > |
| | | {{ data.dicItemName }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">员工手册:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.handbookStatus" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllHandbookStatus">全部</el-checkbox> |
| | | <el-checkbox |
| | | v-for="data in handbookStatusOptions" |
| | | :key="data.dicItemName" |
| | | :label="data.dicItemCode" |
| | | > |
| | | {{ data.dicItemName }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">员工类型:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.empType" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllEmpType">全部</el-checkbox> |
| | | <el-checkbox |
| | | v-for="data in empTypeOptions" |
| | | :key="data.dicItemName" |
| | | :label="data.dicItemCode" |
| | | > |
| | | {{ data.dicItemName }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">入职类型:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryform.entryType" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllEntryType">全部</el-checkbox> |
| | | <el-checkbox :label="4">新入职</el-checkbox> |
| | | <el-checkbox :label="5">最新入职</el-checkbox> |
| | | <el-checkbox :label="6">返聘入职</el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-header> |
| | | <el-main style="height: 85vh;"> |
| | | <el-row style="margin-bottom: 10px;height: 40px;"> |
| | | <el-col :span="24"> |
| | | <el-button class="hr-but-all" type="danger" @click="dialogFormVisible = true">新建标签</el-button> |
| | | <el-button type="primary" @click="deldialogFormVisible = true">删除标签</el-button> |
| | | <el-button class="hr-but-all" type="danger" @click="downloaddialogFormVisible = true">下载附件</el-button> |
| | | <el-dialog |
| | | title="新建标签" |
| | | :visible.sync="dialogFormVisible" |
| | | width="25%" |
| | | class="add-label" |
| | | > |
| | | <el-form ref="labelform" :model="labelform" :rules="rules"> |
| | | <el-form-item |
| | | label="标签名称:" |
| | | :label-width="formLabelWidth" |
| | | prop="labelname" |
| | | > |
| | | <el-input v-model="labelform.labelname" autocomplete="off" /> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="标签code:" |
| | | :label-width="formLabelWidth" |
| | | prop="labelcode" |
| | | > |
| | | <el-input v-model="labelform.labelcode" autocomplete="off" /> |
| | | </el-form-item> |
| | | <el-form-item label="标签排序:" :label-width="formLabelWidth" prop="sort"> |
| | | <el-input-number |
| | | v-model="labelform.sort" |
| | | :min="0" |
| | | :max="100" |
| | | label="排序" |
| | | /> |
| | | </el-form-item></el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogFormVisible = false">取 消</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="addlabel('labelform')" |
| | | >确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="删除标签" |
| | | :visible.sync="deldialogFormVisible" |
| | | width="25%" |
| | | class="add-label" |
| | | > |
| | | <el-form ref="dellabelform" :model="labelform" :rules="delrules"> |
| | | <el-form-item |
| | | label="标签名称:" |
| | | :label-width="formLabelWidth" |
| | | prop="labelid" |
| | | > |
| | | <el-select v-model="labelform.labelid" placeholder="请选择标签名称"> |
| | | <el-option |
| | | v-for="item in labelData" |
| | | :key="item.labelid" |
| | | :value="item.labelid" |
| | | :label="item.labelname" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="deldialogFormVisible = false">取 消</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="dellabel('dellabelform')" |
| | | >确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="下载附件" |
| | | :visible.sync="downloaddialogFormVisible" |
| | | width="25%" |
| | | class="add-label" |
| | | > |
| | | <el-form ref="dellabelform" :model="labelform" :rules="delrules"> |
| | | <el-form-item |
| | | label="标签名称:" |
| | | :label-width="formLabelWidth" |
| | | prop="labelid" |
| | | > |
| | | <el-select v-model="labelform.labelid" placeholder="请选择标签名称"> |
| | | <el-option |
| | | key="-1" |
| | | value="-1" |
| | | label="全部" |
| | | /> |
| | | <el-option |
| | | v-for="item in labelData" |
| | | :key="item.labelid" |
| | | :value="item.labelid" |
| | | :label="item.labelname" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="downloaddialogFormVisible = false">取 消</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="downloadlabel('dellabelform')" |
| | | >确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | <el-dialog title="附件管理" :visible.sync="dialogShowUploadfj" height="100vh" fullscreen class="fjgl-class" @close="closeDialog()"> |
| | | <uploadfj v-if="dialogShowUploadfj" :rowitem="rowitem" :tableindex="tableindex" /> |
| | | </el-dialog> |
| | | <el-row> |
| | | <el-col :span="21" style="line-height: 50px;"> |
| | | 已为您搜索出<span style="color:red">{{ total }}</span>条符合条件的记录 |
| | | </el-col> |
| | | </el-row> |
| | | <el-table |
| | | ref="empAccessoryTable" |
| | | :data="tableData" |
| | | stripe |
| | | border |
| | | :cell-style="{padding:'4.8px 0','text-align':'center'}" |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | style="width: 100%;color: #000;" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="55" |
| | | /> |
| | | <el-table-column label="操作" width="80"> |
| | | <template slot-scope="scope"> |
| | | <!-- <el-button--> |
| | | <!-- type="text"--> |
| | | <!-- size="small"--> |
| | | <!-- @click.native.prevent="dialogShow(scope.$index, scope.row)"--> |
| | | <!-- >--> |
| | | <!-- 上传--> |
| | | <!-- </el-button>--> |
| | | |
| | | <span |
| | | style="color: #a00515;display: inline-block;width: 50%;cursor: pointer" |
| | | @click="dialogShow(scope.$index, scope.row)" |
| | | >上传</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column show-overflow-tooltip prop="empNumb" label="编号" width="80px" /> |
| | | <el-table-column show-overflow-tooltip prop="deptName" label="护卫点(部门)" width="120px" /> |
| | | <el-table-column show-overflow-tooltip prop="jobName" label="岗位" width="70px" /> |
| | | <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="empName" label="姓名" width="70px" /> |
| | | <template v-for="(col) in labelData"> |
| | | <el-table-column :key="col.labelid" show-overflow-tooltip :prop="col.labelcode" :label="col.labelname"> |
| | | <template slot-scope="scope"> |
| | | <el-link type="primary" @click.native="dialogShow(scope.$index, scope.row, scope.column.property)"> {{ scope.row[col.labelcode] }}</el-link> |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | | </el-table> |
| | | <pagination |
| | | v-show="total>0" |
| | | style="text-align: right;width: 98%;" |
| | | :total="total" |
| | | :page.sync="pagination.num" |
| | | :limit.sync="pagination.size" |
| | | @pagination="search" |
| | | /> |
| | | </el-main> |
| | | </el-container> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import Pagination from '@/components/Pagination' |
| | | import { Loading } from 'element-ui' |
| | | |
| | | export default { |
| | | components: { |
| | | Pagination |
| | | }, |
| | | data() { |
| | | return { |
| | | queryCheckAll: { |
| | | sexcheckAll: false, |
| | | sexisIndeterminate: true |
| | | }, |
| | | downloaddialogFormVisible: false, |
| | | deldialogFormVisible: false, |
| | | formLabelWidth: '100px', |
| | | dialogFormVisible: false, |
| | | labelform: { |
| | | labelname: '', |
| | | labelid: '', |
| | | labelcode: '', |
| | | empIds: '', |
| | | sort: 0 |
| | | }, |
| | | rules: { |
| | | labelname: [ |
| | | { required: true, message: '请输入标签名称', trigger: 'blur' }, |
| | | { min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' } |
| | | ], |
| | | labelcode: [ |
| | | { required: true, message: '请输入标签code', trigger: 'blur' }, |
| | | { min: 3, max: 10, message: '长度在 3 到 20 个字符', trigger: 'blur' } |
| | | ], |
| | | sort: [{ required: true, message: '请输入排序', type: 'number', trigger: 'blur' }] |
| | | }, |
| | | delrules: { |
| | | labelid: [{ required: true, message: '请选择标签', trigger: 'change' }] |
| | | }, |
| | | dialogShowUploadfj: false, |
| | | basic: '', |
| | | queryform: { |
| | | basic: '', |
| | | empNumb: '', |
| | | empName: '', |
| | | certificateNumb: '', |
| | | deptName: '', |
| | | entryDate: '', |
| | | sex: [], |
| | | education: [], |
| | | politics: [], |
| | | age: [], |
| | | archivesStatus: [], |
| | | insuranceType: [], |
| | | empStatus: [], |
| | | empCardStatus: [], |
| | | handbookStatus: [], |
| | | empType: [], |
| | | entryType: [] |
| | | }, |
| | | total: 0, // 总数量 |
| | | pagination: { // 分页参数 |
| | | size: 15, |
| | | num: 1 |
| | | }, |
| | | headerHeight: '20px', |
| | | advancedQueryShow: false, |
| | | dialogTableVisible: false, |
| | | pickerOptions: { |
| | | shortcuts: [ |
| | | { |
| | | text: '最近一周', |
| | | onClick(picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) |
| | | picker.$emit('pick', [start, end]) |
| | | } |
| | | }, |
| | | { |
| | | text: '最近一个月', |
| | | onClick(picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) |
| | | picker.$emit('pick', [start, end]) |
| | | } |
| | | }, |
| | | { |
| | | text: '最近三个月', |
| | | onClick(picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) |
| | | picker.$emit('pick', [start, end]) |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | tableData: [], |
| | | labelData: [], |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'label' |
| | | }, |
| | | tableindex: 0, |
| | | rowitem: {}, |
| | | sexOptions: [], |
| | | insuranceTypeOptions: [], |
| | | educationOptions: [], |
| | | statusOptions: [], |
| | | ageStrOptions: [], |
| | | archivesStatusOptions: [], |
| | | empCardStatusOptions: [], |
| | | handbookStatusOptions: [], |
| | | empTypeOptions: [] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.initLabel() |
| | | this.fetch() |
| | | this.getDicts('empType').then(response => { |
| | | this.empTypeOptions = response.data |
| | | }) |
| | | this.getDicts('empCardStatus').then(response => { |
| | | this.empCardStatusOptions = response.data |
| | | }) |
| | | this.getDicts('handbookStatus').then(response => { |
| | | this.handbookStatusOptions = response.data |
| | | }) |
| | | this.getDicts('sex').then(response => { |
| | | this.sexOptions = response.data |
| | | }) |
| | | this.getDicts('EDUCATION').then(response => { |
| | | this.educationOptions = response.data |
| | | }) |
| | | this.getDicts('PLITICAL').then(response => { |
| | | this.statusOptions = response.data |
| | | }) |
| | | this.getDicts('ageStr').then(response => { |
| | | this.ageStrOptions = response.data |
| | | }) |
| | | this.getDicts('archivesStatus').then(response => { |
| | | this.archivesStatusOptions = response.data |
| | | }) |
| | | this.getDicts('INSURANCETYPE').then(response => { |
| | | this.insuranceTypeOptions = response.data |
| | | }) |
| | | }, |
| | | methods: { |
| | | closeDialog() { |
| | | this.search() |
| | | }, |
| | | handleCheckAllChange(val) { |
| | | this.queryCheckAll.sexisIndeterminate = false |
| | | }, |
| | | downloadlabel(formName) { |
| | | this.$refs[formName].validate(valid => { |
| | | if (valid) { |
| | | var selected = this.$refs.empAccessoryTable.selection |
| | | if (selected.length < 1) { |
| | | this.$message({ |
| | | message: '请选择数据!', |
| | | type: 'warning' |
| | | }) |
| | | return |
| | | } |
| | | const empIds = [] |
| | | selected.forEach((j) => { |
| | | empIds.push(j.empId) |
| | | }) |
| | | this.labelform.empIds = empIds |
| | | const loadingInstance = Loading.service({ fullscreen: true }) |
| | | this.$download('hr/empAccessory/singledownload', { ...this.labelform }, '附件_' + new Date().getTime() + '.zip').then(() => { |
| | | this.downloaddialogFormVisible = false |
| | | loadingInstance.close() |
| | | this.$message({ |
| | | message: this.$t('下载成功'), |
| | | type: 'success' |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | dellabel(formName) { |
| | | this.$refs[formName].validate(valid => { |
| | | if (valid) { |
| | | this.$get('hr/empAccessory/' + this.labelform.labelid).then((r) => { |
| | | if (r.data.data > 0) { |
| | | this.$message({ |
| | | message: this.$t('标签内还有' + r.data.data + '个附件,若要删除请先转存附件!'), |
| | | type: 'warning' |
| | | }) |
| | | } else { |
| | | this.$delete('hr/label', { ...this.labelform }).then(() => { |
| | | this.dialogFormVisible = false |
| | | this.$message({ |
| | | message: this.$t('tips.deleteSuccess'), |
| | | type: 'success' |
| | | }) |
| | | this.deldialogFormVisible = false |
| | | // 初始加载 |
| | | this.initLabel() |
| | | this.fetch() |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | addlabel(formName) { |
| | | this.$refs[formName].validate(valid => { |
| | | if (valid) { |
| | | this.$post('hr/label', { ...this.labelform }).then(() => { |
| | | this.dialogFormVisible = false |
| | | this.$message({ |
| | | message: this.$t('tips.createSuccess'), |
| | | type: 'success' |
| | | }) |
| | | this.labelform.labelname = '' |
| | | this.labelform.sort = 0 |
| | | this.labelform.labelcode = '' |
| | | // 初始加载 |
| | | this.initLabel() |
| | | this.fetch() |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | dialogShow(index, tableData, property) { |
| | | var this_ = this |
| | | this_.rowitem = tableData |
| | | this_.labelData.forEach((j) => { |
| | | if (j.labelcode === property) { |
| | | this_.tableindex = this_.labelData.indexOf(j) |
| | | } |
| | | }) |
| | | |
| | | this.dialogShowUploadfj = true |
| | | }, |
| | | skipuploadfj() { |
| | | this.resolvePath('/uploadfj') |
| | | }, |
| | | resetQueryform() { |
| | | this.basic = '' |
| | | this.queryform = { |
| | | empNumb: '', |
| | | empName: '', |
| | | certificateNumb: '', |
| | | deptName: '', |
| | | entryDate: '', |
| | | sex: [], |
| | | education: [], |
| | | politics: [], |
| | | age: [], |
| | | archivesStatus: [], |
| | | insuranceType: [] |
| | | } |
| | | }, |
| | | findEmpAccessoryAll() { |
| | | this.fetch({ |
| | | ...this.queryform |
| | | }) |
| | | }, |
| | | findEmpAccessory() { |
| | | var params = { basic: this.basic } |
| | | this.fetch({ |
| | | ...params |
| | | }) |
| | | }, |
| | | // 刷新方法 |
| | | search() { |
| | | if (this.basic === '') { |
| | | this.fetch({ |
| | | ...this.queryform |
| | | }) |
| | | } else { |
| | | var params = { basic: this.basic } |
| | | this.fetch({ |
| | | ...params |
| | | }) |
| | | } |
| | | }, |
| | | handleNodeClick(data) { |
| | | console.log(data) |
| | | }, |
| | | fetch(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | this.$get('hr/empAccessory/list', { |
| | | ...params |
| | | }).then((r) => { |
| | | const data = r.data.data |
| | | this.total = data.total |
| | | this.tableData = data.rows |
| | | }) |
| | | }, |
| | | initLabel() { |
| | | this.$get('hr/label').then((r) => { |
| | | this.labelData = r.data.data |
| | | }) |
| | | }, |
| | | advancedQueryShowMethods() { |
| | | if (this.advancedQueryShow) { |
| | | this.headerHeight = '20px' |
| | | this.advancedQueryShow = false |
| | | } else { |
| | | this.headerHeight = 'auto' |
| | | this.advancedQueryShow = true |
| | | } |
| | | }, |
| | | showEmpInfo() { |
| | | this.dialogTableVisible = true |
| | | }, |
| | | selectAllSex(val) { |
| | | if (val) { |
| | | this.queryParams.sex = this.dicListToArr(this.sexOptions) |
| | | } else { |
| | | this.queryParams.sex = [] |
| | | } |
| | | }, |
| | | selectAllEducation(val) { |
| | | if (val) { |
| | | this.queryParams.education = this.dicListToArr(this.educationOptions) |
| | | } else { |
| | | this.queryParams.education = [] |
| | | } |
| | | }, |
| | | selectAllPolitics(val) { |
| | | if (val) { |
| | | this.queryParams.politics = this.dicListToArr(this.statusOptions) |
| | | } else { |
| | | this.queryParams.politics = [] |
| | | } |
| | | }, |
| | | selectAllAgeStr(val) { |
| | | if (val) { |
| | | this.queryParams.ageStr = this.dicListToArr(this.ageStrOptions) |
| | | } else { |
| | | this.queryParams.ageStr = [] |
| | | } |
| | | }, |
| | | selectAllArchivesStatus(val) { |
| | | if (val) { |
| | | this.queryParams.archivesStatus = this.dicListToArr(this.archivesStatusOptions) |
| | | } else { |
| | | this.queryParams.archivesStatus = [] |
| | | } |
| | | }, |
| | | selectAllInsuranceType(val) { |
| | | if (val) { |
| | | this.queryParams.insuranceType = this.dicListToArr(this.insuranceTypeOptions) |
| | | } else { |
| | | this.queryParams.insuranceType = [] |
| | | } |
| | | }, |
| | | selectAllEmpCardStatus(val) { |
| | | if (val) { |
| | | this.queryParams.empCardStatus = this.dicListToArr(this.empCardStatusOptions) |
| | | } else { |
| | | this.queryParams.empCardStatus = [] |
| | | } |
| | | }, |
| | | selectAllHandbookStatus(val) { |
| | | if (val) { |
| | | this.queryParams.handbookStatus = this.dicListToArr(this.handbookStatusOptions) |
| | | } else { |
| | | this.queryParams.handbookStatus = [] |
| | | } |
| | | }, |
| | | selectAllEmpType(val) { |
| | | if (val) { |
| | | this.queryParams.empType = this.dicListToArr(this.empTypeOptions) |
| | | } else { |
| | | this.queryParams.empType = [] |
| | | } |
| | | }, |
| | | selectAllEntryType(val) { |
| | | if (val) { |
| | | this.queryParams.entryType = [4, 5, 6] |
| | | } else { |
| | | this.queryParams.entryType = [] |
| | | } |
| | | }, |
| | | selectAllEmpStatus(val) { |
| | | if (val) { |
| | | this.queryParams.empStatus = ['0', '1', '2', '3'] |
| | | } else { |
| | | this.queryParams.empStatus = [] |
| | | } |
| | | }, |
| | | // dic列表转为数组 |
| | | dicListToArr(dicList) { |
| | | var arr = [] |
| | | for (var i = 0; i < dicList.length; i++) { |
| | | var dic = dicList[i] |
| | | arr.push(dic.dicItemCode) |
| | | } |
| | | return arr |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | |
| | | .el-main { |
| | | margin-top: 10px; |
| | | } |
| | | .el-input-number { |
| | | width: 100%; |
| | | } |
| | | .searchTable { |
| | | margin-top: 10px; |
| | | border-collapse: collapse; |
| | | width: 100%; |
| | | |
| | | tr { |
| | | border-bottom: 1px dashed #d9dadb; |
| | | } |
| | | |
| | | .td { |
| | | width: 90px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .td-group { |
| | | padding-left: 20px; |
| | | } |
| | | } |
| | | |
| | | </style> |
| | | <style lang="scss"> |
| | | .el-image-viewer__btn{ |
| | | color: #a00515; |
| | | } |
| | | .fj-checkbox{ |
| | | .el-checkbox__input.is-checked .el-checkbox__inner { |
| | | border-color: #a32c30;; |
| | | background: #a32c30;; |
| | | } |
| | | .el-checkbox__label { |
| | | color: #000 !important; |
| | | } |
| | | } |
| | | .fjgl-class{ |
| | | overflow: auto; |
| | | .el-dialog__body { |
| | | padding: 0 20px; |
| | | } |
| | | button.el-dialog__headerbtn { |
| | | height: 30px; |
| | | width: 30px; |
| | | background-color: #a00515; |
| | | opacity: 0.8; |
| | | line-height: 30px; |
| | | border-radius: 50%; |
| | | i { |
| | | color: #fff !important; |
| | | } |
| | | &:hover { |
| | | opacity: 0.5; |
| | | } |
| | | } |
| | | } |
| | | .add-lable { |
| | | text-align: initial; |
| | | } |
| | | .input-empName .el-input-group__append{ |
| | | padding: 0 15px 0 0; |
| | | } |
| | | .fj-table thead { |
| | | color: #000; |
| | | } |
| | | .td-group { |
| | | padding-left: 20px; |
| | | } |
| | | .search-title { |
| | | height: 50px; |
| | | .search { |
| | | position: relative; |
| | | top: 50%; |
| | | transform: translateY(-50%); |
| | | } |
| | | .title { |
| | | position: relative; |
| | | top: 40%; |
| | | transform: translateY(-50%); |
| | | } |
| | | .zs-title { |
| | | border-left: 4px solid #a32c30; |
| | | padding-left: 10px; |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | |
| | | #searchTable { |
| | | margin-top: 10px; |
| | | border-collapse: collapse; |
| | | width: 100%; |
| | | } |
| | | |
| | | #searchTable td, |
| | | #searchTable th { |
| | | border: 0; |
| | | color: #000; |
| | | height: 50px; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | #ygxq table { |
| | | color: #000; |
| | | border-collapse: collapse; |
| | | margin: 0 auto; |
| | | text-align: center; |
| | | width: 100%; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | #ygxq table thead th { |
| | | background-color: #fff; |
| | | width: 100px; |
| | | } |
| | | |
| | | #ygxq table tr:nth-child(odd) { |
| | | background: #fff; |
| | | } |
| | | |
| | | #ygxq table tr:nth-child(even) { |
| | | background: #f5fafa; |
| | | } |
| | | |
| | | .search-btn { |
| | | display: inline-block; |
| | | width: 3.64vw; |
| | | height: 3.2vh; |
| | | line-height: 3.2vh; |
| | | text-align: center; |
| | | background-color: #a00515; |
| | | color: #fff; |
| | | margin-left: 1vw; |
| | | box-sizing: border-box; |
| | | cursor: pointer; |
| | | vertical-align: middle; |
| | | } |
| | | |
| | | .sup-search-btn { |
| | | display: inline-block; |
| | | width: 5.2vw; |
| | | height: 3.2vh; |
| | | line-height: 3.2vh; |
| | | text-align: center; |
| | | margin-left: 1vw; |
| | | color: #a00515; |
| | | border: 1px solid #a00515; |
| | | box-sizing: border-box; |
| | | cursor: pointer; |
| | | vertical-align: middle; |
| | | } |
| | | </style> |