Commit 50aeb7a2 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 683e1db7 a451bdac
......@@ -45,7 +45,9 @@
>异常时间:{{ form.errorTime ? form.errorTime : "--" }}</el-col
>
<el-col :span="12"
>异常结果:{{ form.errorTime ? form.errorTime : "--" }}</el-col
>异常结果:{{
form.errorResult ? form.errorResult : "--"
}}</el-col
>
</el-row>
<el-row>
......@@ -97,15 +99,26 @@
<div class="content">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-form-item label="核查结果:">
<el-form-item label="核查结果:" v-if="form.subAddType == 1">
<p v-if="form.view == '查看'">
{{
form.checkResult == 1
? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio
v-for="(val, i) in dict.checkResultAdd"
:key="i"
:label="val"
>{{ val }}</el-radio
>
</el-radio-group>
</el-form-item>
<el-form-item label="核查结果:" v-else>
<p v-if="form.view == '查看'">
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
......@@ -113,7 +126,7 @@
v-else
>
<el-radio
v-for="(val, i) in dict.checkResult"
v-for="(val, i) in dict.checkResultSub"
:key="i"
:label="val"
>{{ val }}</el-radio
......@@ -121,7 +134,7 @@
</el-radio-group>
</el-form-item>
</el-row>
<div v-if="form.checkResult == '加分或扣分'">
<div v-if="form.checkResult == '核查扣分' || '核查加分'">
<el-row>
<el-form-item
:label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
......
......@@ -112,15 +112,26 @@
<div class="content">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-form-item label="核查结果:">
<el-form-item label="核查结果:" v-if="form.subAddType == 1">
<p v-if="form.view == '查看'">
{{
form.checkResult == 1
? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio
v-for="(val, i) in dict.checkResultAdd"
:key="i"
:label="val"
>{{ val }}</el-radio
>
</el-radio-group>
</el-form-item>
<el-form-item label="核查结果:" v-else>
<p v-if="form.view == '查看'">
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
......@@ -128,7 +139,7 @@
v-else
>
<el-radio
v-for="(val, i) in dict.checkResult"
v-for="(val, i) in dict.checkResultSub"
:key="i"
:label="val"
>{{ val }}</el-radio
......@@ -136,7 +147,7 @@
</el-radio-group>
</el-form-item>
</el-row>
<div v-if="form.checkResult == '加分或扣分'">
<div v-if="form.checkResult == '核查扣分' || '核查加分'">
<el-row>
<el-form-item
:label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
......
......@@ -89,15 +89,26 @@
<div class="content">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-form-item label="核查结果:">
<el-form-item label="核查结果:" v-if="form.subAddType == 1">
<p v-if="form.view == '查看'">
{{
form.checkResult == 1
? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio
v-for="(val, i) in dict.checkResultAdd"
:key="i"
:label="val"
>{{ val }}</el-radio
>
</el-radio-group>
</el-form-item>
<el-form-item label="核查结果:" v-else>
<p v-if="form.view == '查看'">
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
......@@ -105,7 +116,7 @@
v-else
>
<el-radio
v-for="(val, i) in dict.checkResult"
v-for="(val, i) in dict.checkResultSub"
:key="i"
:label="val"
>{{ val }}</el-radio
......@@ -113,7 +124,7 @@
</el-radio-group>
</el-form-item>
</el-row>
<div v-if="form.checkResult == '加分或扣分'">
<div v-if="form.checkResult == '核查扣分' || '核查加分'">
<el-row>
<el-form-item
:label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
......
......@@ -91,15 +91,9 @@
<div class="content">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-form-item label="核查结果:">
<el-form-item label="核查结果:" v-if="form.subAddType == 1">
<p v-if="form.view == '查看'">
{{
form.checkResult == 1
? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
......@@ -107,7 +101,24 @@
v-else
>
<el-radio
v-for="(val, i) in dict.checkResult"
v-for="(val, i) in dict.checkResultAdd"
:key="i"
:label="val"
>{{ val }}</el-radio
>
</el-radio-group>
</el-form-item>
<el-form-item label="核查结果:" v-else>
<p v-if="form.view == '查看'">
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio
v-for="(val, i) in dict.checkResultSub"
:key="i"
:label="val"
>{{ val }}</el-radio
......@@ -115,7 +126,7 @@
</el-radio-group>
</el-form-item>
</el-row>
<div v-if="form.checkResult == '加分或扣分'">
<div v-if="form.checkResult == '核查扣分' || '核查加分'">
<el-row>
<el-form-item
:label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
......
......@@ -87,15 +87,9 @@
<div class="content">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-form-item label="核查结果:">
<el-form-item label="核查结果:" v-if="form.subAddType == 1">
<p v-if="form.view == '查看'">
{{
form.checkResult == 1
? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
......@@ -103,7 +97,24 @@
v-else
>
<el-radio
v-for="(val, i) in dict.checkResult"
v-for="(val, i) in dict.checkResultAdd"
:key="i"
:label="val"
>{{ val }}</el-radio
>
</el-radio-group>
</el-form-item>
<el-form-item label="核查结果:" v-else>
<p v-if="form.view == '查看'">
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio
v-for="(val, i) in dict.checkResultSub"
:key="i"
:label="val"
>{{ val }}</el-radio
......@@ -111,7 +122,7 @@
</el-radio-group>
</el-form-item>
</el-row>
<div v-if="form.checkResult == '加分或扣分'">
<div v-if="form.checkResult == '核查扣分' || '核查加分'">
<el-row>
<el-form-item
:label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
......
......@@ -92,15 +92,9 @@
<div class="content">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-form-item label="核查结果:">
<el-form-item label="核查结果:" v-if="form.subAddType == 1">
<p v-if="form.view == '查看'">
{{
form.checkResult == 1
? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
......@@ -108,7 +102,24 @@
v-else
>
<el-radio
v-for="(val, i) in dict.checkResult"
v-for="(val, i) in dict.checkResultAdd"
:key="i"
:label="val"
>{{ val }}</el-radio
>
</el-radio-group>
</el-form-item>
<el-form-item label="核查结果:" v-else>
<p v-if="form.view == '查看'">
{{ form.checkResult }}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio
v-for="(val, i) in dict.checkResultSub"
:key="i"
:label="val"
>{{ val }}</el-radio
......@@ -116,7 +127,7 @@
</el-radio-group>
</el-form-item>
</el-row>
<div v-if="form.checkResult == '加分或扣分'">
<div v-if="form.checkResult == '核查扣分' || '核查加分'">
<el-row>
<el-form-item
:label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
......
......@@ -109,9 +109,9 @@ export default {
? this.$post("/perform/attend/appeal/list", {
processStatus: this.activeName,
}).then((res) => {
console.log(res);
if (res.code == 1) {
this.tableData = res.data;
this.dict = res.dict;
}
})
: this.getChartsData();
......
<template>
<div class="page">
<div style="margin:10px 0">
<tab-pane :thirdList="thirdList" :activeName="activeName" @handleClick="handleClick"></tab-pane>
<tab-pane
:thirdList="thirdList"
:activeName="activeName"
@handleClick="handleClick"
></tab-pane>
</div>
<div class="totalNum flex" v-if="tableData.staff">
<div class="item">在职员工 <span class="num">{{tableData.staff.inWorkStaff}}</span></div>
<div class="item">
在职员工 <span class="num">{{ tableData.staff.inWorkStaff }}</span>
</div>
<div class="item flex">
<div>全职 <span class="num">{{tableData.staff.fullStaff}}</span></div>
<div>实习 <span class="num">{{tableData.staff.pricateStaff}}</span></div>
<div>兼职 <span class="num">{{tableData.staff.concurrentlyStaff}}</span></div>
<div>
全职 <span class="num">{{ tableData.staff.fullStaff }}</span>
</div>
<div>
实习 <span class="num">{{ tableData.staff.pricateStaff }}</span>
</div>
<div>
兼职 <span class="num">{{ tableData.staff.concurrentlyStaff }}</span>
</div>
</div>
<div class="item flex">
<div>试用 <span class="num">{{tableData.staff.onTrialStaff}}</span></div>
<div>正式 <span class="num">{{tableData.staff.formalStaff}}</span></div>
<div>待离职 <span class="num">{{tableData.staff.resignationStaff}}</span></div>
<div>
试用 <span class="num">{{ tableData.staff.onTrialStaff }}</span>
</div>
<div>
正式 <span class="num">{{ tableData.staff.formalStaff }}</span>
</div>
<div>
待离职 <span class="num">{{ tableData.staff.resignationStaff }}</span>
</div>
</div>
</div>
<el-row :gutter="20">
<el-col :span="6" :xs="12" class="mytree">
<div class="titles">选择部门</div>
<!-- default-expand-all -->
<el-scrollbar style="height: 100%">
<el-scrollbar style="height:630px;overflow-y: auto;">
<el-tree
size="mini"
ref="siteTree"
......@@ -36,16 +54,24 @@
@node-click="handleNodeClick"
>
</el-tree>
</el-scrollbar>
</el-col>
<el-col :span="18" :xs="12">
<el-row>
<LayoutTable notDel :data="tableData" :config="tableConfig">
<el-button type="primary" @click="doExport" :disabled="isExport"
size="mini" slot="table-head-left2">导出</el-button>
<el-dropdown class="moreControll" slot="table-head-left2" style="margin-left:20px">
<el-button
type="primary"
@click="doExport"
:disabled="isExport"
size="mini"
slot="table-head-left2"
>导出</el-button
>
<el-dropdown
class="moreControll"
slot="table-head-left2"
style="margin-left:20px"
>
<el-button type="primary" size="mini">
更多操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
......@@ -54,20 +80,26 @@
<el-button type="text">同步数据</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button type="text" @click="handleImport">导入花名册</el-button>
<el-button type="text" @click="handleImport"
>导入花名册</el-button
>
</el-dropdown-item>
<el-dropdown-item>
<el-button type="text" @click="lookDetailHis">历史花名册</el-button>
<el-button type="text" @click="lookDetailHis"
>历史花名册</el-button
>
</el-dropdown-item>
<el-dropdown-item>
<el-button type="text" @click="SelectEXport">自定义列表字段</el-button>
<el-button type="text" @click="SelectEXport"
>自定义列表字段</el-button
>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<span class="freshTime" slot="table-head-left2">
<i class="el-icon-refresh"></i>
<span>上次同步时间:{{tableData.staff.refreshDate}}</span>
<span>上次同步时间:{{ tableData.staff.refreshDate }}</span>
</span>
</LayoutTable>
</el-row>
......@@ -98,10 +130,11 @@
<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
<el-checkbox
v-model="upload.updateSupport"
/>是否更新已经存在的数据
<el-link type="primary" style="font-size: 14px" @click="downloadTemplate"
<el-checkbox v-model="upload.updateSupport" />是否更新已经存在的数据
<el-link
type="primary"
style="font-size: 14px"
@click="downloadTemplate"
>下载模板</el-link
>
</div>
......@@ -116,10 +149,7 @@
</el-dialog>
<!-- 花名册记录查看 -->
<el-drawer
title="历史花名册"
:visible.sync="drawerhistory"
direction="rtl">
<el-drawer title="历史花名册" :visible.sync="drawerhistory" direction="rtl">
<div class="hisList">
<div class="list mt10" v-for="item in 10" :key="item">
<div class="flex flex-align-center flex-pack-justify">
......@@ -135,9 +165,15 @@
<!-- 表格设置 -->
<el-dialog :visible.sync="isdialog" title="自定义列表字段设置">
<div class="tipsword">请选择表格展示字段,导出的表格中的内容选中的字段将保持一致。</div>
<div class="tipsword">
请选择表格展示字段,导出的表格中的内容选中的字段将保持一致。
</div>
<el-checkbox-group v-model="checkList">
<el-checkbox v-for="(item,index) in setcolum" :key="index" :label="item.label">
<el-checkbox
v-for="(item, index) in setcolum"
:key="index"
:label="item.label"
>
</el-checkbox>
</el-checkbox-group>
<div class="mt20" style="text-align:right">
......@@ -151,41 +187,43 @@
</template>
<script>
import {timestampToTime} from '@/assets/utils/dateFormat.js'
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
import tree from "@/assets/mixins/tree";
import TabPane from "@/components/tabPane.vue"
export default {
import { timestampToTime } from "@/assets/utils/dateFormat.js";
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
import tree from "@/assets/mixins/tree";
import TabPane from "@/components/tabPane.vue";
export default {
name: "StaffList",
components: {
drawerShow,
TabPane,
},
mixins: [table,tree],
mixins: [table, tree],
created() {
this.$post("/dept/treeselect", {}).then(({ data }) => {
this.areaData = data.result
})
this.areaData = data.result;
});
},
methods: {
// 自定义字段
SelectEXport(){
this.setcolum = this.config.columns.filter(item => item.label&&item.prop)
this.isdialog = true
SelectEXport() {
this.setcolum = this.config.columns.filter(
(item) => item.label && item.prop
);
this.isdialog = true;
},
/** 导入 */
handleImport() {
this.upload.title = "员工导入";
this.upload.open = true;
},
handleClick(key){
console.log(key)
this.$store.commit('setThirdPath',key)
handleClick(key) {
console.log(key);
this.$store.commit("setThirdPath", key);
this.$router.push({
path:key
})
path: key,
});
},
/** 重写新增方法 */
toAdd(row) {
......@@ -202,11 +240,11 @@
// this.personData = row
// this.isshowHome = true
this.$router.push({
path:'/staff/view',
query:{
id:row.id
}
})
path: "/staff/view",
query: {
id: row.id,
},
});
},
handleNodeClick(node) {
......@@ -214,23 +252,29 @@
this.query = { deptId: node.id };
this.getData();
},
doExport(){
doExport() {
this.isExport = true;
let params = {}
for(let value of this.config.search){
if(this.query[value.name]){
params[value.name] = this.query[value.name]
let params = {};
for (let value of this.config.search) {
if (this.query[value.name]) {
params[value.name] = this.query[value.name];
}
}
if(this.selection.length>0){
params['idList'] = this.selection
if (this.selection.length > 0) {
params["idList"] = this.selection;
}
this.$download("/staff/exportExcel", {
...params
}, { type: "excel" }).then(() => this.isExport = false).catch(error => {
this.$download(
"/staff/exportExcel",
{
...params,
},
{ type: "excel" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
})
});
},
/** 下载模板操作 */
downloadTemplate() {
......@@ -240,27 +284,30 @@
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
})
});
},
// 导出花名册
lookDetailHis(){
console.log('1111')
this.drawerhistory = true
lookDetailHis() {
console.log("1111");
this.drawerhistory = true;
},
/** 提交上传文件 */
submitFileForm() {
this.$refs.upload.submit();
},
afterRender(data){
this.tableData.staff.refreshDate = timestampToTime(this.tableData.staff.refreshDate,6)
}
afterRender(data) {
this.tableData.staff.refreshDate = timestampToTime(
this.tableData.staff.refreshDate,
6
);
},
},
data() {
return {
// 用户导入参数
upload: {
headers:{
Authorization:window.sessionStorage.getItem('token') || ''
headers: {
Authorization: window.sessionStorage.getItem("token") || "",
},
// 是否显示弹出层(员工关怀信息导入)
open: false,
......@@ -271,7 +318,7 @@
// 是否更新已经存在的数据
updateSupport: 0,
// 上传的地址
url: process.env.VUE_APP_API_BASE_URL+"/staff/importData",
url: process.env.VUE_APP_API_BASE_URL + "/staff/importData",
},
config: {
search: [
......@@ -279,61 +326,74 @@
name: "name",
type: "text",
label: "员工姓名",
fuzzy: false
fuzzy: false,
},
{
name:'phoneNumber',
type:'text',
label:'手机号',
fuzzy:false
}
name: "phoneNumber",
type: "text",
label: "手机号",
fuzzy: false,
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "name"},
{label: "工号", prop: "workNum"},
{label: "部门", prop: "deptName"},
{label: "职位", prop: "positionName",formatter:this.formatters},
{label: "员工类型", prop: "staffType",formatter: this.formatterType},
{label: "员工状态", prop: "status",formatter: this.formatter},
{label: "是否在政务中心", prop: "source",formatter: this.formatterSource},//未对
{label: "手机号", prop: "phoneNumber",formatter:this.formatters},
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "员工姓名", prop: "name" },
{ label: "工号", prop: "workNum" },
{ label: "部门", prop: "deptName" },
{ label: "职位", prop: "positionName", formatter: this.formatters },
{
label: "员工类型",
prop: "staffType",
formatter: this.formatterType,
},
{ label: "员工状态", prop: "status", formatter: this.formatter },
{
label: "是否在政务中心",
prop: "source",
formatter: this.formatterSource,
}, //未对
{ label: "手机号", prop: "phoneNumber", formatter: this.formatters },
{
label: "操作",
width: 240,
formatter: row => {
formatter: (row) => {
return (
<table-buttons noAdd noDel noEdit row={row} onView={this.toView} />
)
}
}
],
isshowTabPane:false
<table-buttons
noAdd
noDel
noEdit
row={row}
onView={this.toView}
/>
);
},
isshowHome:false,
personData:[],
isExport:false,
staffInfo:{},
drawerhistory:false,
checkList:[],
setcolum:[],
isdialog:false
}
},
computed:{
thirdList(){
if(!this.$store.state.CurrentThirdArr) return []
return this.$store.state.CurrentThirdArr
],
isshowTabPane: false,
},
activeName(){
return this.$store.state.ThirdPath
}
}
isshowHome: false,
personData: [],
isExport: false,
staffInfo: {},
drawerhistory: false,
checkList: [],
setcolum: [],
isdialog: false,
};
},
computed: {
thirdList() {
if (!this.$store.state.CurrentThirdArr) return [];
return this.$store.state.CurrentThirdArr;
},
activeName() {
return this.$store.state.ThirdPath;
},
},
};
</script>
<style>
.el-card__body {
padding: 10px;
......@@ -347,47 +407,47 @@
</style>
<style lang="scss" scoped>
.page{
.page {
min-width: 1400px;
}
.hisList{
.hisList {
padding: 15px;
.list{
.list {
background-color: rgba(64, 158, 255, 0.1);
font-size: 14px;
border-radius: 10px;
padding: 10px;
.times{
.times {
font-size: 12px;
color: #999;
}
}
}
.totalNum{
background: rgba(64, 158, 255,0.2);
.totalNum {
background: rgba(64, 158, 255, 0.2);
padding: 15px;
border-left: 4px solid rgb(20, 134, 248);
color: rgb(100, 100, 100);
.item{
.item {
padding: 0 10px;
border-right: 1px solid gray;
}
.item:last-child{
.item:last-child {
border: none;
}
.num{
color: #409EFF;
.num {
color: #409eff;
margin-left: 10px;
margin-right: 20px;
}
}
.controllList{
.controllList {
margin-top: 20px;
.moreControll{
.moreControll {
margin-left: 20px;
}
}
.freshTime{
.freshTime {
color: #999;
margin-left: 20px;
}
......@@ -472,17 +532,17 @@
width: 24px;
}
}
.titles{
color: #409EFF;
.titles {
color: #409eff;
font-size: 16px;
display: flex;
align-items: center;
}
.titles::before{
content: '';
width:6px;
.titles::before {
content: "";
width: 6px;
height: 16px;
background-color: #409EFF;
background-color: #409eff;
display: inline-block;
margin-right: 10px;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment