Commit c6e202a8 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 63e0e4da e73d4be8
<template>
<div>
<el-dialog title="人员选择" :visible.sync="treeDialog">
<div class="treeDialog">
<el-tree class="treeCss" :data="treeData" node-key="id" :props="defaultProps"
@node-click="handleNodeClick"></el-tree>
<div class="treeCss" style="margin-left: 10px;">
<div style="margin-top: 3px;">
{{ cityOptions.length > 0 ? '请选择人员' : '请选择部门' }}
</div>
<!-- <el-checkbox v-show="cityOptions.length > 0" :indeterminate="isIndeterminate"
v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox> -->
<el-checkbox-group v-model="checkedCities">
<el-checkbox v-for="i in cityOptions" :label="i.staffId" :key="i">{{ i.staffName
}}</el-checkbox>
</el-checkbox-group>
</div>
</div>
<div style="text-align: center;margin-top: 10px;">
<el-button size="small" @click="checkedCities = []">重置</el-button>
<el-button size="small" type="primary" @click="subUser">确定</el-button>
</div>
</el-dialog>
</div>
</template>
......@@ -10,6 +30,4 @@ export default {
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
<style lang="less" scoped></style>
\ No newline at end of file
......@@ -85,18 +85,16 @@
@node-click="handleNodeClick"></el-tree>
<div class="treeCss" style="margin-left: 10px;">
<div style="margin-top: 3px;">
{{ cityOptions.length > 0 ? '请选择人员' : '请选择部门' }}
{{ userOptions.length > 0 ? '请选择人员' : '请选择部门' }}
</div>
<!-- <el-checkbox v-show="cityOptions.length > 0" :indeterminate="isIndeterminate"
v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox> -->
<el-checkbox-group v-model="checkedCities">
<el-checkbox v-for="i in cityOptions" :label="i.staffId" :key="i">{{ i.staffName
<el-checkbox-group v-model="checkedUser">
<el-checkbox v-for="i in userOptions" :label="i.staffId" :key="i">{{ i.staffName
}}</el-checkbox>
</el-checkbox-group>
</div>
</div>
<div style="text-align: center;margin-top: 10px;">
<el-button size="small" @click="checkedCities = []">重置</el-button>
<el-button size="small" @click="checkedUser = []">重置</el-button>
<el-button size="small" type="primary" @click="subUser">确定</el-button>
</div>
</el-dialog>
......@@ -175,28 +173,26 @@ export default {
},
treeDialog: 0,
checkAll: false,
cityOptions: [],
checkedCities: [],
isIndeterminate: true
userOptions: [],
checkedUser: [],
}
},
mounted() {
this.getDeptData()
},
methods: {
handleCheckAllChange(val) {
console.log(val)
this.checkedCities = val ? this.cityOptions : [];
this.isIndeterminate = false;
},
subUser() {
console.log(this.checkedCities)
console.log(this.checkedUser)
if (this.checkedUser.length > 0) {
this.treeDialog = 0
} else {
this.$message.warning('请选择人员')
}
},
handleNodeClick(data) {
if (data.personList) {
this.cityOptions = data.personList
// console.log(this.cityOptions)
this.userOptions = data.personList
// console.log(this.userOptions)
}
},
//获取部门数据
......@@ -253,6 +249,10 @@ export default {
return JSON.stringify(FcDesignerOptions)
},
issueFormBtn(formName) {
if (this.checkedUser.length < 1) {
this.$message.warning('请选择人员后发布问卷')
return
}
this.$refs[formName].validate((valid) => {
if (valid) {
console.log(this.issueForm)
......@@ -273,6 +273,7 @@ export default {
})
let sub = {
staffList: this.checkedUser,
id: '',
...this.titleForm,
feedbackTimeStart: this.issueForm.time[0],
......
......@@ -19,17 +19,18 @@
<div class="content">
<div class="cLeft">
<div class="title">
全部数据(220)
<span style="font-weight: 400; font-size: 16px;margin-left: 20px;">已反馈(1)</span>
<span style="font-weight: 400; font-size: 16px;margin-left: 20px;">未反馈(219)</span>
<div>
<span class="cLeftTop" style="margin: 0;" :class="selTitle == 1 ? 'title' : ''"
@click="selTitle = 1">全部数据(220)</span>
<span class="cLeftTop" :class="selTitle == 2 ? 'title' : ''" @click="selTitle = 2">已反馈(1)</span>
<span class="cLeftTop" :class="selTitle == 3 ? 'title' : ''"
@click="selTitle = 3">未反馈(219)</span>
</div>
<el-button class="m15" type="primary" size="small">导出数据</el-button>
<div class="lBox m15">
<div class="treeS">
<el-tree :data="treeData" :props="defaultProps" @node-click="treeSub"></el-tree>
</div>
<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55">
......@@ -124,6 +125,7 @@ export default {
Fopthion: '',
drawerAnswer: false,
feedbackData: {},
selTitle: 1,
tableData: [{
date: '2016-05-02',
name: '王小虎',
......@@ -179,7 +181,8 @@ export default {
defaultProps: {
children: 'children',
label: 'label'
}
},
}
},
mounted() {
......@@ -419,6 +422,12 @@ export default {
box-sizing: border-box;
padding: 20px;
.cLeftTop {
font-size: 16px;
margin-left: 20px;
cursor: pointer;
}
.lBox {
display: flex;
// align-items: center
......
......@@ -7,7 +7,124 @@
:destroy-on-close="true"
size="50%"
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form
ref="form"
class="dra_content"
:model="form"
:rules="rules"
label-width="120px"
>
<div class="box">
<div class="title">异常情况</div>
<div class="content">
<el-row>
<el-col :span="8"
>员工:{{ form.staffName ? form.staffName : "--" }}</el-col
>
<el-col :span="8"
>所属部门:{{ form.deptName ? form.deptName : "--" }}</el-col
>
<el-col :span="8"
>窗口编号:{{ form.windowNum ? form.windowNum : "--" }}</el-col
>
</el-row>
<el-row>
<el-col :span="8"
>考勤组:{{
form.attendanceGroupName ? form.attendanceGroupName : "--"
}}</el-col
>
<el-col :span="8"
>异常时间:{{ form.errorTime ? form.errorTime : "--" }}</el-col
>
<el-col :span="8"
>上下班时间:{{
form.goOffTimeStr ? form.goOffTimeStr : "--"
}}</el-col
>
</el-row>
<el-row>
<el-col :span="10"
>实际打卡时间:{{
form.actualAttendTime ? form.actualAttendTime : "--"
}}</el-col
>
<el-col :span="9"
>异常结果:{{ form.errorTime ? form.errorTime : "--" }}</el-col
>
<el-col :span="5"
>扣分方式:{{ form.subMethod ? form.subMethod : "--" }}</el-col
>
</el-row>
<el-row>
<el-col :span="8"
>扣分时间:{{ form.deductTime ? form.deductTime : "--" }}</el-col
>
<el-col :span="8"
>扣分人员:{{
form.deductPerson ? form.deductPerson : "--"
}}</el-col
>
</el-row>
</div>
</div>
<div class="box">
<div class="title">核查情况</div>
<div class="content">
<el-row>
<el-col :span="8"
>核查结果:{{
form.checkResult ? form.checkResult : "--"
}}</el-col
>
<el-col :span="8"
>绩效规则:{{ form.ruleName ? form.ruleName : "--" }}</el-col
>
<el-col :span="8"
>加分/扣除分值:{{ form.score ? form.score : "--" }}</el-col
>
</el-row>
<el-row>
<el-col :span="8"
>说明:{{ form.checkDesc ? form.checkDesc : "--" }}</el-col
>
<el-col :span="8"
>核查人员:{{
form.checkPerson ? form.checkPerson : "--"
}}</el-col
>
<el-col :span="8"
>核查时间:{{ form.checkTime ? form.checkTime : "--" }}</el-col
>
</el-row>
</div>
</div>
<div class="box">
<div class="title">申诉情况</div>
<div class="content">
<el-row>
<el-col :span="24"
>申诉说明:{{
form.appealDesc ? form.appealDesc : "--"
}}</el-col
>
<el-col :span="24"
>申诉时间:{{ form.appealTime ? form.appealTime : "--" }}</el-col
>
<el-col :span="24"
>申诉附件:{{ form.performAttendAppealFilesList ? form.performAttendAppealFilesList : "--" }}</el-col
>
</el-row>
</div>
</div>
<div class="box"></div>
<form-buttons
@submit="submitForm"
v-if="pageInfo.type != 'view'"
noCancelBtn
/>
</el-form>
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field
label="核查记录Id"
......@@ -270,7 +387,7 @@
v-if="pageInfo.type != 'view'"
noCancelBtn
/>
</el-form>
</el-form> -->
</el-drawer>
</template>
......@@ -442,3 +559,51 @@ export default {
},
};
</script>
<style lang="less" scoped>
.dra_content {
width: 100%;
height: 100%;
padding: 20px;
.box {
width: 100%;
height: auto;
background: inherit;
background-color: rgba(242, 246, 252, 1);
border: none;
border-radius: 8px;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
padding: 15px 0 0 15px;
.title {
color: #1890ff;
font-size: 16px;
padding-left: 10px;
position: relative;
margin-bottom: 30px;
&::after {
content: "";
display: block;
border-left: 3px solid #1890ff;
left: 0;
top: 0;
bottom: 0;
position: absolute;
}
}
.content {
width: 100%;
padding: 10px;
font-family: "微软雅黑", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 14px;
margin-left: 0 auto;
margin-bottom: 30px;
/deep/.el-row {
margin-bottom: 20px;
}
}
}
}
</style>
<template>
<div class="page">
<el-tabs v-model="activeName">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="未处理" name="1">
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable>
......@@ -13,17 +13,8 @@
<div class="content">
<div class="search_box">
<div class="search">
<el-select
v-model="dateValue"
placeholder="请选择"
style="margin: 0 10px;"
>
<el-option
v-for="item in optionsMonths"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model="dateValue" placeholder="请选择" style="margin: 0 10px;">
<el-option v-for="item in optionsMonths" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-button type="primary">搜索</el-button>
......@@ -32,29 +23,17 @@
<div class="data_box">
<div class="top">
<div class="box">
<bar-charts
:title="'申诉次数部门排名TOP20'"
:id="'dept_20'"
:legendName="'申诉次数'"
:styleObj="{ width: '800px', height: '360px' }"
/>
<bar-charts :title="'申诉次数部门排名TOP20'" :id="'dept_20'" :legendName="'申诉次数'"
:styleObj="{ width: '800px', height: '360px' }" />
</div>
<div class="box">
<bar-charts
:title="'申诉次数个人排名TOP20'"
:id="'person_20'"
:legendName="'申诉次数'"
:styleObj="{ width: '800px', height: '360px' }"
/>
<bar-charts :title="'申诉次数个人排名TOP20'" :id="'person_20'" :legendName="'申诉次数'"
:styleObj="{ width: '800px', height: '360px' }" />
</div>
</div>
<div class="down">
<bar-charts
:title="'申诉次数规则排名TOP20'"
:id="'rule_20'"
:legendName="'申诉次数'"
:styleObj="{ width: '1800px', height: '320px' }"
/>
<bar-charts :title="'申诉次数规则排名TOP20'" :id="'rule_20'" :legendName="'申诉次数'"
:styleObj="{ width: '1800px', height: '320px' }" />
</div>
</div>
</div>
......@@ -82,8 +61,25 @@ export default {
BarCharts,
},
mixins: [table],
created() {},
created() {
this.getData();
},
methods: {
handleClick() {
this.getData();
},
getData() {
this.activeName == 1 || this.activeName == 2
? this.$post("/perform/attend/appeal/list", {
processStatus: this.activeName,
}).then((res) => {
console.log(res);
if (res.code == 1) {
this.tableData = res.data;
}
})
: "";
},
renderTable(tableData) {
return (
<el-table stripe data={tableData} class="total-table">
......@@ -124,18 +120,41 @@ export default {
],
config: {
isshowTabPane: false,
search: [],
search: [
{
name: "irregularOtherType",
type: "select",
label: "全部类型",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
fuzzy: false,
},
{
name: "date",
type: "date",
label: "请选择日期",
fuzzy: false,
},
{
name: "staffName",
type: "text",
label: "员工姓名搜索",
fuzzy: false,
},
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "姓名", prop: "staffName" },
{ label: "窗口工号", prop: "workNum" },
{ label: "所属部门", prop: "deptName" },
{ label: "违规类型", prop: "ruleName" },
{ label: "违规类型", prop: "irregularOtherType" },
{ label: "绩效规则", prop: "ruleName" },
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter },
......@@ -177,11 +196,12 @@ export default {
},*/
{
label: "操作",
width: 240,
formatter: (row) => {
return (
<table-buttons
noAdd
noDel
noEdit
row={row}
onEdit={this.toEdit}
onView={this.toView}
......@@ -195,57 +215,66 @@ export default {
activeName: "1",
optionsMonths: [
{
value: "1",
value: "2023-01-00 00:00:00",
label: "1月",
},
{
value: "2",
value: "2023-02-00 00:00:00",
label: "2月",
},
{
value: "3",
value: "2023-03-00 00:00:00",
label: "3月",
},
{
value: "4",
value: "2023-04-00 00:00:00",
label: "4月",
},
{
value: "5",
value: "2023-05-00 00:00:00",
label: "5月",
},
{
value: "6",
value: "2023-06-00 00:00:00",
label: "6月",
},
{
value: "7",
value: "2023-07-00 00:00:00",
label: "7月",
},
{
value: "8",
value: "2023-08-00 00:00:00",
label: "8月",
},
{
value: "9",
value: "2023-09-00 00:00:00",
label: "9月",
},
{
value: "10",
value: "2023-10-00 00:00:00",
label: "10月",
},
{
value: "11",
value: "2023-11-00 00:00:00",
label: "11月",
},
{
value: "12",
value: "2023-12-00 00:00:00",
label: "12月",
},
],
dateValue: "1",
dateValue: '2023-01-00 00:00:00',
};
},
mounted() {
// this.$post('/perform/attend/appeal/stat', { appealTimeStart: this.dateValue }).then(res => {
// console.log(res)
// })
},
methods: {
}
};
</script>
<style lang="less" scoped>
......@@ -253,28 +282,35 @@ export default {
width: 100%;
height: 100%;
overflow: hidden;
/deep/.el-tabs__item {
width: 120px;
font-size: 14px;
text-align: center;
}
.content {
width: 100%;
height: 730px;
overflow: hidden;
.search_box {
width: 100%;
height: auto;
text-align: right;
margin-bottom: 10px;
}
.data_box {
width: 100%;
height: 100%;
.top {
width: 100%;
height: 380px;
display: flex;
justify-content: space-between;
.box {
width: 49%;
height: 100%;
......
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