Commit a8721582 authored by 姬鋆屾's avatar 姬鋆屾

parent bfbd457c
...@@ -64,7 +64,7 @@ export default { ...@@ -64,7 +64,7 @@ export default {
url = "/perform/perpose/save"; url = "/perform/perpose/save";
} else if (url == "/perform/rules/attend/save") { } else if (url == "/perform/rules/attend/save") {
url = "/perform/rules/category/save"; url = "/perform/rules/category/save";
} else if ((url == "/perform/staff/conf/save")) { } else if (url == "/perform/staff/conf/save") {
sessionStorage.getItem("type") == 1 sessionStorage.getItem("type") == 1
? (url = "/perform/dept/conf/save") ? (url = "/perform/dept/conf/save")
: sessionStorage.getItem("type") == 2 : sessionStorage.getItem("type") == 2
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
clearable="true" clearable="true"
@change="item.change" @change="item.change"
@clear="item.clear" @clear="item.clear"
:placeholder="item.label?item.label:'请选择'" :placeholder="item.label ? item.label : '请选择'"
v-if="item.type === 'select'" v-if="item.type === 'select'"
> >
<el-option <el-option
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
v-if="item.type === 'date' && !item.valueFormat" v-if="item.type === 'date' && !item.valueFormat"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
:placeholder="item.label?item.label:'选择日期'" :placeholder="item.label ? item.label : '选择日期'"
> >
</el-date-picker> </el-date-picker>
...@@ -120,7 +120,7 @@ ...@@ -120,7 +120,7 @@
v-if="item.type === 'date' && item.valueFormat" v-if="item.type === 'date' && item.valueFormat"
type="date" type="date"
:value-format="item.valueFormat" :value-format="item.valueFormat"
:placeholder="item.label?item.label:'选择日期'" :placeholder="item.label ? item.label : '选择日期'"
> >
</el-date-picker> </el-date-picker>
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
v-if="item.type === 'month' && !item.valueFormat" v-if="item.type === 'month' && !item.valueFormat"
type="month" type="month"
value-format="yyyy-MM" value-format="yyyy-MM"
:placeholder="item.label?item.label:'选择月份'" :placeholder="item.label ? item.label : '选择月份'"
> >
</el-date-picker> </el-date-picker>
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
v-if="item.type === 'month' && item.valueFormat" v-if="item.type === 'month' && item.valueFormat"
type="month" type="month"
:value-format="item.valueFormat" :value-format="item.valueFormat"
:placeholder="item.label?item.label:'选择月份'" :placeholder="item.label ? item.label : '选择月份'"
> >
</el-date-picker> </el-date-picker>
...@@ -259,7 +259,6 @@ export default { ...@@ -259,7 +259,6 @@ export default {
}, },
cleanForm() { cleanForm() {
this.clean(); this.clean();
this.onSubmit();
}, },
// 清空表单值 // 清空表单值
clean() { clean() {
...@@ -268,34 +267,35 @@ export default { ...@@ -268,34 +267,35 @@ export default {
if (item.name === "groupList") { if (item.name === "groupList") {
newData[item.name] = []; newData[item.name] = [];
} else { } else {
newData[item.name] = item.multiple ? [] : undefined; newData[item.name] = item.multiple ? [] : "";
} }
}); });
this.form = Object.assign({}, this.form, newData); this.form = Object.assign({}, this.form, newData);
this.onSubmit();
}, },
onSubmit() { onSubmit() {
let { path, query } = this.$route; let { path, query } = this.$route;
if(this.form.attendanceDateStart && this.form.attendanceDateEnd){ if (this.form.attendanceDateStart && this.form.attendanceDateEnd) {
let startValue = Date.parse(this.form.attendanceDateStart) let startValue = Date.parse(this.form.attendanceDateStart);
let endValue = Date.parse(this.form.attendanceDateEnd) let endValue = Date.parse(this.form.attendanceDateEnd);
if(startValue>endValue){ if (startValue > endValue) {
this.$message.error('查询-结束的日期需大于开始日期') this.$message.error("查询-结束的日期需大于开始日期");
this.form.attendanceDateEnd = '' this.form.attendanceDateEnd = "";
return false return false;
} }
} }
if(this.form.startTime && this.form.endTime){ if (this.form.startTime && this.form.endTime) {
let startValue = Date.parse(this.form.startTime) let startValue = Date.parse(this.form.startTime);
let endValue = Date.parse(this.form.endTime) let endValue = Date.parse(this.form.endTime);
if(startValue>endValue){ if (startValue > endValue) {
this.$message.error('查询-结束的日期需大于开始日期') this.$message.error("查询-结束的日期需大于开始日期");
this.form.endTime = '' this.form.endTime = "";
return false return false;
} }
} }
let params = JSON.parse(JSON.stringify(this.form)) //不更改原始数据 let params = JSON.parse(JSON.stringify(this.form)); //不更改原始数据
// console.log(this.form,'form参数') // console.log(this.form,'form参数')
let data = this.decode(params); let data = this.decode(params);
// Object.assign({}, query, data) // Object.assign({}, query, data)
...@@ -303,9 +303,9 @@ export default { ...@@ -303,9 +303,9 @@ export default {
path: path, path: path,
query: { query: {
...query, ...query,
...data ...data,
}, },
}) });
}, },
// 解析url字符串,去除query字段 // 解析url字符串,去除query字段
encode(data, formTemp) { encode(data, formTemp) {
...@@ -352,17 +352,17 @@ export default { ...@@ -352,17 +352,17 @@ export default {
val.length > 0 val.length > 0
) { ) {
//支持模糊查询,收尾增加百分号 //支持模糊查询,收尾增加百分号
val = val.trim() val = val.trim();
if(val.charAt(0)!='%'){ if (val.charAt(0) != "%") {
val = "%" + val val = "%" + val;
} }
if(val.charAt(val.length-1)!='%'){ if (val.charAt(val.length - 1) != "%") {
val =val + "%"; val = val + "%";
} }
} }
}) });
newData[item] = this.decodeVal(val); newData[item] = this.decodeVal(val);
}) });
return newData; return newData;
}, },
decodeVal(val) { decodeVal(val) {
...@@ -389,8 +389,8 @@ export default { ...@@ -389,8 +389,8 @@ export default {
// groupList: [], // groupList: [],
}, },
remoteOptions: {}, remoteOptions: {},
} };
} },
}; };
</script> </script>
...@@ -424,4 +424,3 @@ export default { ...@@ -424,4 +424,3 @@ export default {
} }
} }
</style> </style>
<template> <template>
<div class="page"> <div class="page">
<div style="margin:10px 0"> <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">
<div class="item flex">
<div>
需要打卡人数
<span class="num">{{ tableData.attendanceStatus.needAttNum }}</span>
</div> </div>
<div class="totalNum flex"> <div>
<div class="item flex"> 未出勤 <span class="num">{{ tableData.attendanceStatus.noAtt }}</span>
<div>需要打卡人数 <span class="num">{{tableData.attendanceStatus.needAttNum}}</span></div>
<div>未出勤 <span class="num">{{tableData.attendanceStatus.noAtt}}</span></div>
<div>出勤率 <span class="num">{{tableData.attendanceStatus.attPercentage}}</span></div>
</div>
<div class="item flex">
<div>迟到 <span class="num">{{tableData.attendanceStatus.beLate}}</span></div>
<div>早退 <span class="num">{{tableData.attendanceStatus.leaveEarly}}</span></div>
<div>缺卡 <span class="num">{{tableData.attendanceStatus.lackOfCards}}</span></div>
</div>
</div> </div>
<LayoutTable :data="tableData" :config="tableConfig" notDel notAdd> <div>
<el-button 出勤率
slot="table-head-left2" <span class="num">{{
style="margin-left: 10px" tableData.attendanceStatus.attPercentage
icon="el-icon-tickets" }}</span>
size="mini" </div>
@click="handleImport" </div>
>导入</el-button>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
type="primary"
@click="doExport"
:disabled="isExport"
>导出</el-button>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
type="success"
@click="lookexportHis"
>导出记录</el-button>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="setdialog"
>表格设置</el-button>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<!-- 导出记录查看 -->
<el-drawer
title="导出记录"
:visible.sync="drawerhistory"
:direction="direction">
<div class="hisList">
<div class="list mt10" v-for="(item,index) in exportList" :key="index" @click="changeStatus(item)">
<div class="flex flex-align-center flex-pack-justify">
<div>每日打卡记录</div>
<el-button type="text">导出成功</el-button>
</div>
<div class="details" v-if="item.islook">
<div class="mt10" v-if="item.recordIdList">
选择列表id: {{item.recordIdList}}
</div>
<div class="mt10" v-if="item.deptName">
选择部门:{{item.deptName}}
</div>
<div class="mt10" v-if="item.groupName">
选择考勤组:{{item.groupName}}
</div>
<div class="mt10" v-if="item.className">
选择班次:{{item.className}}
</div>
<div class="mt10"> <div class="item flex">
<el-link :href="baseUrl+item.filePath" target="_blank" type="primary">重新下载</el-link> <div>
</div> 迟到 <span class="num">{{ tableData.attendanceStatus.beLate }}</span>
</div> </div>
<div class="times"> <div>
导出时间:{{item.createTime}} 早退
</div> <span class="num">{{ tableData.attendanceStatus.leaveEarly }}</span>
</div> </div>
<div>
缺卡
<span class="num">{{ tableData.attendanceStatus.lackOfCards }}</span>
</div>
</div>
</div>
<LayoutTable :data="tableData" :config="tableConfig" notDel notAdd>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="handleImport"
>导入</el-button
>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
type="primary"
@click="doExport"
:disabled="isExport"
>导出</el-button
>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
type="success"
@click="lookexportHis"
>导出记录</el-button
>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="setdialog"
>表格设置</el-button
>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<!-- 导出记录查看 -->
<el-drawer
title="导出记录"
:visible.sync="drawerhistory"
:direction="direction"
>
<div class="hisList">
<div
class="list mt10"
v-for="(item, index) in exportList"
:key="index"
@click="changeStatus(item)"
>
<div class="flex flex-align-center flex-pack-justify">
<div>每日打卡记录</div>
<el-button type="text">导出成功</el-button>
</div>
<div class="details" v-if="item.islook">
<div class="mt10" v-if="item.recordIdList">
选择列表id: {{ item.recordIdList }}
</div> </div>
</el-drawer> <div class="mt10" v-if="item.deptName">
<!-- 表格设置 --> 选择部门:{{ item.deptName }}
<el-dialog :visible.sync="isdialog" title="导出表格设置">
<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>
</el-checkbox-group>
<div class="mt20" style="text-align:right">
<el-button>取消</el-button>
<el-button type="primary">确定</el-button>
</div> </div>
</el-dialog> <div class="mt10" v-if="item.groupName">
<!-- 上传 --> 选择考勤组:{{ item.groupName }}
<el-dialog
:title="upload.title"
:visible.sync="upload.open"
width="400px"
append-to-body
>
<el-upload
ref="upload"
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport"
:disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处,或
<em>点击上传</em>
</div> </div>
<div class="el-upload__tip" slot="tip"> <div class="mt10" v-if="item.className">
<el-checkbox 选择班次:{{ item.className }}
v-model="upload.updateSupport"
/>是否更新已经存在的数据
<el-link type="primary" style="font-size: 14px" @click="downloadTemplate"
>下载模板</el-link
>
</div> </div>
<div class="el-upload__tip" style="color: red" slot="tip">
提示:仅允许导入“xls”或“xlsx”格式文件! <div class="mt10">
<el-link
:href="baseUrl + item.filePath"
target="_blank"
type="primary"
>重新下载</el-link
>
</div> </div>
</el-upload> </div>
<div slot="footer" class="dialog-footer"> <div class="times">导出时间:{{ item.createTime }}</div>
<el-button type="primary" @click="submitFileForm">确 定</el-button>
<el-button @click="upload.open = false">取 消</el-button>
</div> </div>
</el-dialog> </div>
</div> </el-drawer>
<!-- 表格设置 -->
<el-dialog :visible.sync="isdialog" title="导出表格设置">
<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>
</el-checkbox-group>
<div class="mt20" style="text-align:right">
<el-button>取消</el-button>
<el-button type="primary">确定</el-button>
</div>
</el-dialog>
<!-- 上传 -->
<el-dialog
:title="upload.title"
:visible.sync="upload.open"
width="400px"
append-to-body
>
<el-upload
ref="upload"
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport"
:disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处,或
<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-link
>
</div>
<div class="el-upload__tip" style="color: red" slot="tip">
提示:仅允许导入“xls”或“xlsx”格式文件!
</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm">确 定</el-button>
<el-button @click="upload.open = false">取 消</el-button>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
import TabPane from "@/components/tabPane.vue" import TabPane from "@/components/tabPane.vue";
import {timestampToTime} from '@/assets/utils/dateFormat' import { timestampToTime } from "@/assets/utils/dateFormat";
export default { export default {
name: "AttendanceRecordList", name: "AttendanceRecordList",
components: { components: {
drawerShow, drawerShow,
TabPane, TabPane,
}, },
mixins: [table], mixins: [table],
computed:{ computed: {
thirdList(){ thirdList() {
if(!this.$store.state.CurrentThirdArr) return [] if (!this.$store.state.CurrentThirdArr) return [];
return this.$store.state.CurrentThirdArr return this.$store.state.CurrentThirdArr;
},
activeName() {
return this.$store.state.ThirdPath;
},
},
created() {
this.initalArr = this.config.columns;
},
methods: {
// 表格接收数据后
afterRender(data) {
let addobjArr = [];
data.dyncColumns.map((item) => {
let obj = {
label: item.name,
prop: "",
formatter: (row) => {
if (row.attendanceRecordDetailList.length < 1) {
return "-";
} else {
return this.handleArr(
row.attendanceRecordDetailList,
item.orderNum,
item.property
);
}
}, },
activeName(){ };
return this.$store.state.ThirdPath });
} this.config.columns = [...this.initalArr, ...addobjArr];
}, this.$forceUpdate();
created() { },
this.initalArr = this.config.columns // 表格接收数据前
}, beforeRender(data) {
methods: { return data;
// 表格接收数据后 },
afterRender(data){ // 处理
console.log(this.tableData) handleArr(arr, currentorderNum, property) {
let addobjArr = [] let index = arr.findIndex((item) => item.orderNum === currentorderNum);
data.dyncColumns.map(item => { if (index > -1) {
let obj = { if (!arr[index][property]) {
label:item.name, return "-";
prop:'', } else if (property === "goWorkDate" || property === "offWorkDate") {
formatter:(row) =>{ // 打卡时间
if(row.attendanceRecordDetailList.length<1){ return timestampToTime(arr[index][property], 6);
return '-' } else if (
}else{ property === "goWorkResult" ||
return this.handleArr(row.attendanceRecordDetailList,item.orderNum,item.property) property === "offWorkResult"
} ) {
} let val = arr[index][property];
} return this.tableData.dict.goWorkResult[val];
addobjArr.push(obj) }
}) } else {
this.config.columns = [...this.initalArr,...addobjArr] return "-";
this.$forceUpdate() }
}, },
// 表格接收数据前
beforeRender(data){
return data
},
// 处理
handleArr(arr,currentorderNum,property){
let index = arr.findIndex(item => item.orderNum === currentorderNum)
if(index > -1){
if(!arr[index][property]){
return '-'
}else if (property === 'goWorkDate' ||property ==="offWorkDate"){
// 打卡时间
return timestampToTime(arr[index][property],6)
}else if(property === 'goWorkResult' || property==="offWorkResult"){
let val = arr[index][property]
return this.tableData.dict.goWorkResult[val]
}
}else{
return '-'
}
},
changeStatus(item){ changeStatus(item) {
this.$set( this.$set(item, "islook", !item.islook);
item, },
'islook', // 导出记录
!item.islook lookexportHis() {
) this.$post("/attendance/export/record/list", {
}, type: 2,
// 导出记录 page: 1,
lookexportHis(){ size: -1,
this.$post('/attendance/export/record/list',{type:2,page:1,size:-1}).then(res => { }).then((res) => {
if(res.code == 1){ if (res.code == 1) {
let arr = res.data.data let arr = res.data.data;
this.exportList = arr.map(item => { this.exportList = arr.map((item) => {
item.createTime = timestampToTime(item.createTime,6) item.createTime = timestampToTime(item.createTime, 6);
item.islook = false item.islook = false;
return item return item;
}) });
} }
}) });
// 导出记录 // 导出记录
this.drawerhistory = true this.drawerhistory = true;
}, },
/** 导入 */ /** 导入 */
handleImport() { handleImport() {
this.upload.title = "打卡记录导入"; this.upload.title = "打卡记录导入";
this.upload.open = true; this.upload.open = true;
}, },
/** 下载模板操作 */ /** 下载模板操作 */
downloadTemplate() { downloadTemplate() {
this.isExport = true; this.isExport = true;
this.$download("/attendance/record/downloadTemplate", {}, { type: "excel" }) this.$download(
.then(() => (this.isExport = false)) "/attendance/record/downloadTemplate",
.catch((error) => { {},
this.isExport = false; { type: "excel" }
this.$message.error(error.message); )
}) .then(() => (this.isExport = false))
}, .catch((error) => {
/** 文件上传中处理 */ this.isExport = false;
handleFileUploadProgress(event, file, fileList) { this.$message.error(error.message);
this.upload.isUploading = true; });
}, },
/** 文件上传成功处理 */ /** 文件上传中处理 */
handleFileSuccess(response, file, fileList) { handleFileUploadProgress(event, file, fileList) {
this.upload.open = false; this.upload.isUploading = true;
this.upload.isUploading = false; },
this.$refs.upload.clearFiles(); /** 文件上传成功处理 */
this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true }); handleFileSuccess(response, file, fileList) {
this.getData(); this.upload.open = false;
}, this.upload.isUploading = false;
/** 提交上传文件 */ this.$refs.upload.clearFiles();
submitFileForm() { this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
this.$refs.upload.submit(); this.getData();
}, },
/** 导出Excel */ /** 提交上传文件 */
doExport() { submitFileForm() {
this.isExport = true; this.$refs.upload.submit();
let params = {} },
for(let value of this.config.search){ /** 导出Excel */
if(this.query[value.name]){ doExport() {
params[value.name] = this.query[value.name] this.isExport = true;
} let params = {};
} for (let value of this.config.search) {
if(this.selection.length>0){ if (this.query[value.name]) {
params['idList'] = this.selection params[value.name] = this.query[value.name];
} }
}
if (this.selection.length > 0) {
params["idList"] = this.selection;
}
this.$download("/attendance/record/exportExcel", { this.$download(
...params "/attendance/record/exportExcel",
}, { type: "excel" }).then(() => this.isExport = false).catch(error => { {
this.isExport = false; ...params,
this.$message.error(error.message);
})
},
setdialog(){
this.isdialog = true
this.setcolum = this.config.columns.filter(item => item.label&&item.prop)
},
renderTable(tableData) {
return (
<el-table stripe data={tableData} class="total-table">
{this.columnSet.map((item) => this.renderTableColumn(item))}
</el-table>
);
},
renderTableColumn(options) {
return (
<el-table-column
prop={options.prop}
label={options.label}
width={options.width}
>
</el-table-column>
);
},
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
handleClick(key){
console.log(key)
this.$store.commit('setThirdPath',key)
this.$router.push({
path:key
})
}
}, },
data() { { type: "excel" }
return { )
upload: { .then(() => (this.isExport = false))
// 是否显示弹出层(员工关怀信息导入) .catch((error) => {
open: false, this.isExport = false;
// 弹出层标题(员工关怀信息导入) this.$message.error(error.message);
title: "每日打卡记录", });
// 是否禁用上传 },
isUploading: false, setdialog() {
// 是否更新已经存在的数据 this.isdialog = true;
updateSupport: 0, this.setcolum = this.config.columns.filter(
// 上传的地址 (item) => item.label && item.prop
url: "/attendance/record/importData", );
}, },
/** 子表列元素 */ renderTable(tableData) {
columnSet:[ return (
{prop:"recordId",label:"考勤记录ID",width:100}, <el-table stripe data={tableData} class="total-table">
{prop:"shiftsId",label:"班次ID",width:100}, {this.columnSet.map((item) => this.renderTableColumn(item))}
{prop:"shiftsName",label:"班次名称",width:100}, </el-table>
{prop:"goWorkDate",label:"上班打卡时间",width:100}, );
{prop:"goWorkResult",label:"上班打卡结果",width:100}, },
{prop:"offWorkDate",label:"下班打卡时间",width:100}, renderTableColumn(options) {
{prop:"offWorkResult",label:"下班打卡结果",width:100}, return (
{prop:"remark",label:"备注",width:100}, <el-table-column
], prop={options.prop}
config: { label={options.label}
search: [ width={options.width}
{ ></el-table-column>
name: "staffName", );
type: "text", },
label: "员工姓名", /** 重写新增方法 */
fuzzy: false toAdd(row) {
}, this.$refs.drawerform.add(row);
{ },
name: "phone", /** 重写编辑方法 */
type: "text", toEdit(row) {
label: "手机号", this.$refs.drawerform.edit(row);
fuzzy: false },
}, /** 重写查看方法 */
{ toView(row) {
name: "deptId", this.$refs.drawerform.view(row);
type: "select", },
label: "所属部门", handleClick(key) {
fuzzy: false console.log(key);
}, this.$store.commit("setThirdPath", key);
{ this.$router.push({
name: "groupId", path: key,
type: "select", });
label: "所属考勤组", },
fuzzy: false },
}, data() {
{ return {
name: "classId", upload: {
type: "select", // 是否显示弹出层(员工关怀信息导入)
label: "班次", open: false,
fuzzy: false // 弹出层标题(员工关怀信息导入)
}, title: "每日打卡记录",
{ // 是否禁用上传
name:'attendanceDateStart', isUploading: false,
type: "date", // 是否更新已经存在的数据
label: "考勤开始时间", updateSupport: 0,
fuzzy: false // 上传的地址
}, url: "/attendance/record/importData",
{ },
name:'attendanceDateEnd', /** 子表列元素 */
type: "date", columnSet: [
label: "考勤结束时间", { prop: "recordId", label: "考勤记录ID", width: 100 },
fuzzy: false { prop: "shiftsId", label: "班次ID", width: 100 },
} { prop: "shiftsName", label: "班次名称", width: 100 },
], { prop: "goWorkDate", label: "上班打卡时间", width: 100 },
columns: [ { prop: "goWorkResult", label: "上班打卡结果", width: 100 },
{type: "selection", width: 60}, { prop: "offWorkDate", label: "下班打卡时间", width: 100 },
{type: "index",label: "序号",width: 50}, { prop: "offWorkResult", label: "下班打卡结果", width: 100 },
{label: "打卡日期", prop: "attendanceDate", formatter: this.formatterDate}, { prop: "remark", label: "备注", width: 100 },
{label: "员工姓名", prop: "staffName"}, ],
{label: "考勤组", prop: "attendanceGroupName",formatter:this.formatters}, config: {
{label: "部门", prop: "deptName",formatter:this.formatters}, search: [
{label: "职位", prop: "positionName",formatter:this.formatters}, {
{label: "班次", prop: "shiftsName",formatter:this.formatters}, name: "staffName",
// {label: "考勤打卡记录详细信息", type: "text",
// width: 120, label: "员工姓名",
// prop: "subColumns", fuzzy: false,
// formatter: (row) => { },
// let widthsize = this.columnSet.reduce((pre, cur) => { {
// return pre + Number(cur.width); name: "phone",
// }, 50); type: "text",
// return ( label: "手机号",
// <el-popover placement="right" width={widthsize} trigger="click"> fuzzy: false,
// {this.renderTable(row.attendanceRecordDetailList)} },
// <el-button type="text" slot="reference">详细</el-button> {
// </el-popover> name: "deptId",
// ); type: "select",
// }, label: "所属部门",
// }, fuzzy: false,
// { },
// label: "操作", {
// width: 240, name: "groupId",
// formatter: row => { type: "select",
// return ( label: "所属考勤组",
// <table-buttons noAdd noEdit noView noDel fuzzy: false,
// row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> },
// ); {
// } name: "classId",
// } type: "select",
] label: "班次",
}, fuzzy: false,
drawerhistory:false, },
isdialog:false, {
setcolum:[], name: "attendanceDateStart",
checkList:[], type: "date",
exportList:[],//导出记录 label: "考勤开始时间",
baseUrl:process.env.VUE_APP_API_BASE_URL+'/', fuzzy: false,
initalArr:[] },
} {
} name: "attendanceDateEnd",
type: "date",
label: "考勤结束时间",
fuzzy: false,
},
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{
label: "打卡日期",
prop: "attendanceDate",
formatter: this.formatterDate,
},
{ label: "员工姓名", prop: "staffName" },
{
label: "考勤组",
prop: "attendanceGroupName",
formatter: this.formatters,
},
{ label: "部门", prop: "deptName", formatter: this.formatters },
{ label: "职位", prop: "positionName", formatter: this.formatters },
{ label: "班次", prop: "shiftsName", formatter: this.formatters },
// {label: "考勤打卡记录详细信息",
// width: 120,
// prop: "subColumns",
// formatter: (row) => {
// let widthsize = this.columnSet.reduce((pre, cur) => {
// return pre + Number(cur.width);
// }, 50);
// return (
// <el-popover placement="right" width={widthsize} trigger="click">
// {this.renderTable(row.attendanceRecordDetailList)}
// <el-button type="text" slot="reference">详细</el-button>
// </el-popover>
// );
// },
// },
// {
// label: "操作",
// width: 240,
// formatter: row => {
// return (
// <table-buttons noAdd noEdit noView noDel
// row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
// );
// }
// }
],
},
drawerhistory: false,
isdialog: false,
setcolum: [],
checkList: [],
exportList: [], //导出记录
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
initalArr: [],
}; };
},
};
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.totalNum{ .totalNum {
background: rgba(64, 158, 255,0.2); background: rgba(64, 158, 255, 0.2);
padding: 15px; padding: 15px;
border-left: 4px solid rgb(20, 134, 248); border-left: 4px solid rgb(20, 134, 248);
color: rgb(100, 100, 100); color: rgb(100, 100, 100);
.item{ .item {
padding: 0 10px; padding: 0 10px;
border-right: 1px solid gray; border-right: 1px solid gray;
} }
.item:last-child{ .item:last-child {
border: none; border: none;
} }
.num{ .num {
color: #409EFF; color: #409eff;
margin-left: 10px; margin-left: 10px;
margin-right: 20px; margin-right: 20px;
} }
} }
.hisList{ .hisList {
padding: 15px; padding: 15px;
.list{ .list {
background-color: rgba(64, 158, 255, 0.1); background-color: rgba(64, 158, 255, 0.1);
font-size: 14px; font-size: 14px;
border-radius: 10px; border-radius: 10px;
padding: 10px; padding: 10px;
.times{ .times {
font-size: 12px; font-size: 12px;
color: #999; color: #999;
}
} }
}
} }
.tipsword{ .tipsword {
margin: 20px 0; margin: 20px 0;
color: #999; color: #999;
} }
</style> </style>
\ No newline at end of file
...@@ -12,58 +12,60 @@ ...@@ -12,58 +12,60 @@
<div class="content"> <div class="content">
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>员工:{{ obj.staffName ? obj.staffName : "--" }}</el-col >员工:{{ form.staffName ? form.staffName : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>所属部门:{{ obj.deptName ? obj.deptName : "--" }}</el-col >所属部门:{{ form.deptName ? form.deptName : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>窗口编号:{{ obj.windowNum ? obj.windowNum : "--" }}</el-col >窗口编号:{{ form.windowNum ? form.windowNum : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>考勤组:{{ >考勤组:{{
obj.attendanceGroupName ? obj.attendanceGroupName : "--" form.attendanceGroupName ? form.attendanceGroupName : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>实际打卡时间:{{ >实际打卡时间:{{
obj.actualAttendTime ? obj.actualAttendTime : "--" form.actualAttendTime ? form.actualAttendTime : "--"
}}</el-col }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>上下班时间:{{ >上下班时间:{{
obj.goOffTimeStr ? obj.goOffTimeStr : "--" form.goOffTimeStr ? form.goOffTimeStr : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>异常时间:{{ obj.errorTime ? obj.errorTime : "--" }}</el-col >异常时间:{{ form.errorTime ? form.errorTime : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>异常结果:{{ obj.errorTime ? obj.errorTime : "--" }}</el-col >异常结果:{{ form.errorTime ? form.errorTime : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>扣分方式:{{ obj.subMethod ? obj.subMethod : "--" }}</el-col >扣分方式:{{ form.subMethod ? form.subMethod : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>扣分时间:{{ obj.deductTime ? obj.deductTime : "--" }}</el-col >扣分时间:{{ form.deductTime ? form.deductTime : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>扣分人员:{{ >扣分人员:{{
obj.deductPerson ? obj.deductPerson : "--" form.deductPerson ? form.deductPerson : "--"
}}</el-col }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>图片凭证:{{ obj.snapPath ? obj.snapPath : "--" }}</el-col >图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--"
}}</el-col
> >
</el-row> </el-row>
</div> </div>
...@@ -74,56 +76,78 @@ ...@@ -74,56 +76,78 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<el-form-item label="核查结果:"> <el-form-item label="核查结果:">
<p v-if="obj.view == '查看'">{{ obj.checkResult }}</p> <p v-if="form.view == '查看'">
<el-radio-group v-model="form.checkResult" v-else> {{
<el-radio :label="1">扣分</el-radio> form.checkResult == 1
<el-radio :label="2">不扣分</el-radio> ? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio :label="1">加分/扣分</el-radio>
<el-radio :label="2">不加分/不扣分</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <div v-if="form.checkResult == 1">
<el-form-item label="修改规则:"> <el-row>
<p v-if="obj.view == '查看'">{{ obj.ruleName }}</p> <el-form-item
<div v-else> :label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
<el-col :span="22"> >
<el-select <p v-if="form.view == '查看'">{{ form.ruleName }}</p>
v-model="form.attendanceGroupId" <div v-else>
style="width: 100%;" <el-col :span="22">
> <el-select
<el-option v-model="form.categoryId"
v-for="item in kaoqinArr" style="width: 100%;"
:key="item.value" @change="cateChange"
:label="item.label"
:value="item.value"
> >
</el-option <el-option
></el-select> v-for="item in kaoqinCateArr"
</el-col> :key="item.id"
<el-col :span="22"> :label="item.name"
<el-select :value="item.id"
v-model="form.attendanceGroupId" >
style="width: 100%;margin-top: 10px;" </el-option
> ></el-select>
<el-option </el-col>
v-for="item in kaoqinArr" <el-col :span="22">
:key="item.value" <el-select
:label="item.label" v-model="form.ruleId"
:value="item.value" style="width: 100%;margin-top: 10px;"
@change="ruleChange"
> >
</el-option></el-select <el-option
></el-col> v-for="item in kaoqinArr"
</div> :key="item.id"
</el-form-item> :label="item.name"
</el-row> :value="item.id"
<el-row> >
<el-form-item label="扣除分值:"> </el-option></el-select
<p v-if="obj.view == '查看'">{{ obj.score }}</p> ></el-col>
<p v-else>{{ form.score }}</p> </div>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row>
<el-form-item label="加分/扣除分值:">
<p v-if="form.view == '查看'">
{{ form.score ? form.score : "--" }}
</p>
<p v-else>{{ form.score }}</p>
</el-form-item>
</el-row>
</div>
<el-row> <el-row>
<el-form-item label="说明:"> <el-form-item label="说明:">
<p v-if="obj.view == '查看'">{{ obj.checkDesc }}</p> <p v-if="form.view == '查看'">
{{ form.checkDesc ? form.checkDesc : "--" }}
</p>
<el-input <el-input
v-else v-else
v-model="form.checkDesc" v-model="form.checkDesc"
...@@ -131,18 +155,18 @@ ...@@ -131,18 +155,18 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查人员:"> <el-form-item label="核查人员:">
<p>{{ obj.checkPerson }}</p> <p>{{ form.checkPerson ? form.checkPerson : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查时间:"> <el-form-item label="核查时间:">
<p>{{ obj.checkTime }}</p> <p>{{ form.checkTime ? form.checkTime : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<form-buttons <form-buttons
v-show="obj.view == '核查'" v-show="form.view == '核查'"
@submit="submitForm" @submit="submitForm"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
...@@ -303,12 +327,23 @@ ...@@ -303,12 +327,23 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "CheckAttendRecordDetail", name: "CheckAttendRecordDetail",
mixins: [form], mixins: [form],
components: {}, components: {},
created() { created() {
this.changePath("check/attend/record"); this.changePath("check/attend/record");
this.$post("/perform/rules/category/list", { page: 1, size: -1 }).then(
(res) => {
if (res.code == 1) {
this.kaoqinCateArr = res.data.data;
} else {
this.kaoqinCateArr = [];
}
}
);
}, },
data() { data() {
return { return {
...@@ -329,19 +364,81 @@ export default { ...@@ -329,19 +364,81 @@ export default {
], ],
createTime: [{ required: true, message: "请选择创建时间" }], createTime: [{ required: true, message: "请选择创建时间" }],
}, },
obj: {}, form: {},
kaoqinCateArr: [],
kaoqinArr: [],
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
}; };
}, },
computed: {},
methods: { methods: {
radioChange(val) {
console.log(val);
this.form.checkResult = val;
this.$forceUpdate(this.form);
},
picMatter(val) {
if (val !== "--") {
return (
<el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
preview-src-list={val.indexOf("http") == -1 ? this.baseUrl + val : val}
style="width: 100px"
></el-image>
);
} else {
return val;
}
},
ruleChange(val) {
console.log(val);
let arr = this.kaoqinArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
},
cateChange() {
this.$post("/perform/rules/list", {
page: 1,
size: -1,
categoryId: this.form.categoryId,
}).then((res) => {
this.kaoqinArr = res.data.data;
this.form.ruleId = "";
});
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
console.log(this.form);
this.obj = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/attend/record/edit"; // this.urls.currUrl = "check/attend/record/edit";
this.getData(); // this.getData();
this.$get("/check/attend/record/info", { id: row.id }).then((res) => {
console.log(res.data);
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.checkResult = 1;
this.form.view = "核查";
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
row.view == "核查" row.view == "核查"
? (this.title = "考勤绩效记录核查") ? (this.title = "考勤绩效记录核查")
...@@ -357,11 +454,35 @@ export default { ...@@ -357,11 +454,35 @@ export default {
}, },
/** 查看*/ /** 查看*/
view(row) { view(row) {
this.obj = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/attend/record/view"; // this.urls.currUrl = "check/attend/record/view";
this.getData(); // this.getData();
this.$get("/check/attend/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.view = "查看";
console.log(this.form);
this.open = true;
});
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "考勤绩效记录核查信息详细"; this.title = "考勤绩效记录核查信息详细";
}, },
......
...@@ -112,7 +112,8 @@ export default { ...@@ -112,7 +112,8 @@ export default {
this.$download( this.$download(
"/check/attend/record/exportExcel", "/check/attend/record/exportExcel",
{ {
idList: this.selection, page: 1,
size: -1,
}, },
{ type: "excel" } { type: "excel" }
) )
...@@ -157,7 +158,7 @@ export default { ...@@ -157,7 +158,7 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "status", name: "checkStatus",
type: "select", type: "select",
label: "全部状态", label: "全部状态",
fuzzy: false, fuzzy: false,
...@@ -177,7 +178,7 @@ export default { ...@@ -177,7 +178,7 @@ export default {
{ {
name: "staffName", name: "staffName",
type: "text", type: "text",
label: "请输入员工姓名搜索", label: "员工姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
...@@ -209,9 +210,13 @@ export default { ...@@ -209,9 +210,13 @@ export default {
{ label: "异常结果", prop: "errorResult" }, { label: "异常结果", prop: "errorResult" },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "绩效规则", prop: "ruleNme" }, { label: "绩效规则", prop: "ruleName" },
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter }, { label: "扣分方式", prop: "subMethod", formatter: this.formatter },
...@@ -227,7 +232,7 @@ export default { ...@@ -227,7 +232,7 @@ export default {
{ {
label: "处理状态", label: "处理状态",
prop: "processStatus", prop: "checkStatus",
formatter: this.formatter, formatter: this.formatter,
}, },
...@@ -235,12 +240,23 @@ export default { ...@@ -235,12 +240,23 @@ export default {
label: "操作", label: "操作",
width: 200, width: 200,
formatter: (row) => { formatter: (row) => {
return ( return row.checkStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noDel noDel
noEdit noEdit
reCheck reCheck
noView
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noDel
noEdit
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
<template> <template>
<layout-view> <layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border> <el-descriptions
<template slot="title"> :title="title"
<i class="el-icon-tickets"></i> :column="column"
基本详细信息 :size="size"
</template> :colon="false"
<template slot="extra"> border
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button> >
</template> <template slot="title">
<el-descriptions-item label="记录ID" label-class-name="labelClass" content-class-name="contentClass"> <i class="el-icon-tickets"></i>
{{form.recordId}} 基本详细信息
</el-descriptions-item> </template>
<el-descriptions-item label="员工ID" label-class-name="labelClass" content-class-name="contentClass"> <template slot="extra">
{{form.staffId}} <el-button type="primary" @click="$router.go(-1)" size="small"
</el-descriptions-item> >返回</el-button
<el-descriptions-item label="员工姓名" label-class-name="labelClass" content-class-name="contentClass"> >
{{form.staffName}} </template>
</el-descriptions-item> <el-descriptions-item
<el-descriptions-item label="工号" label-class-name="labelClass" content-class-name="contentClass"> label="记录ID"
{{form.workNum}} label-class-name="labelClass"
</el-descriptions-item> content-class-name="contentClass"
<el-descriptions-item label="所属部门" label-class-name="labelClass" content-class-name="contentClass"> >
{{form.deptId}} {{ form.recordId }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="所属部门名称" label-class-name="labelClass" content-class-name="contentClass"> <el-descriptions-item
{{form.deptName}} label="员工ID"
</el-descriptions-item> label-class-name="labelClass"
<el-descriptions-item label="所属考勤组ID" label-class-name="labelClass" content-class-name="contentClass"> content-class-name="contentClass"
{{form.attendanceGroupId}} >
</el-descriptions-item> {{ form.staffId }}
<el-descriptions-item label="所属考勤组名称" label-class-name="labelClass" content-class-name="contentClass"> </el-descriptions-item>
{{form.attendanceGroupName}} <el-descriptions-item
</el-descriptions-item> label="员工姓名"
<el-descriptions-item label="考勤时间" label-class-name="labelClass" content-class-name="contentClass"> label-class-name="labelClass"
{{ util_formatterDate(form.attendanceDate)}} content-class-name="contentClass"
</el-descriptions-item> >
<el-descriptions-item label="绩效规则id" label-class-name="labelClass" content-class-name="contentClass"> {{ form.staffName }}
{{form.ruleId}} </el-descriptions-item>
</el-descriptions-item> <el-descriptions-item
<el-descriptions-item label="规则名称" label-class-name="labelClass" content-class-name="contentClass"> label="工号"
{{form.ruleName}} label-class-name="labelClass"
</el-descriptions-item> content-class-name="contentClass"
<el-descriptions-item label="增减类型" label-class-name="labelClass" content-class-name="contentClass"> >
{{ util_formatters("subAddType", form.subAddType) }} {{ form.workNum }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="扣分或增加分值" label-class-name="labelClass" content-class-name="contentClass"> <el-descriptions-item
{{form.score}} label="所属部门"
</el-descriptions-item> label-class-name="labelClass"
<el-descriptions-item label="上下班时间" label-class-name="labelClass" content-class-name="contentClass"> content-class-name="contentClass"
{{form.goOffTimeStr}} >
</el-descriptions-item> {{ form.deptId }}
<el-descriptions-item label="异常时间" label-class-name="labelClass" content-class-name="contentClass"> </el-descriptions-item>
{{ util_formatterDate(form.errorTime)}} <el-descriptions-item
</el-descriptions-item> label="所属部门名称"
<el-descriptions-item label="实际打卡时间" label-class-name="labelClass" content-class-name="contentClass"> label-class-name="labelClass"
{{ util_formatterDate(form.actualAttendTime)}} content-class-name="contentClass"
</el-descriptions-item> >
<el-descriptions-item label="异常处理结果" label-class-name="labelClass" content-class-name="contentClass"> {{ form.deptName }}
{{form.errorResult}} </el-descriptions-item>
</el-descriptions-item> <el-descriptions-item
<el-descriptions-item label="核查人员" label-class-name="labelClass" content-class-name="contentClass"> label="所属考勤组ID"
{{form.checkPerson}} label-class-name="labelClass"
</el-descriptions-item> content-class-name="contentClass"
<el-descriptions-item label="核查时间" label-class-name="labelClass" content-class-name="contentClass"> >
{{ util_formatterDate(form.checkTime)}} {{ form.attendanceGroupId }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="核查说明" label-class-name="labelClass" content-class-name="contentClass"> <el-descriptions-item
{{form.checkDesc}} label="所属考勤组名称"
</el-descriptions-item> label-class-name="labelClass"
<el-descriptions-item label="核查结果" label-class-name="labelClass" content-class-name="contentClass"> content-class-name="contentClass"
{{form.checkResult}} >
</el-descriptions-item> {{ form.attendanceGroupName }}
<el-descriptions-item label="处理状态" label-class-name="labelClass" content-class-name="contentClass"> </el-descriptions-item>
{{ util_formatters("checkStatus", form.checkStatus) }} <el-descriptions-item
</el-descriptions-item> label="考勤时间"
</el-descriptions> label-class-name="labelClass"
content-class-name="contentClass"
</layout-view> >
{{ util_formatterDate(form.attendanceDate) }}
</el-descriptions-item>
<el-descriptions-item
label="绩效规则id"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.ruleId }}
</el-descriptions-item>
<el-descriptions-item
label="规则名称"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.ruleName }}
</el-descriptions-item>
<el-descriptions-item
label="增减类型"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ util_formatters("subAddType", form.subAddType) }}
</el-descriptions-item>
<el-descriptions-item
label="扣分或增加分值"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.score }}
</el-descriptions-item>
<el-descriptions-item
label="上下班时间"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.goOffTimeStr }}
</el-descriptions-item>
<el-descriptions-item
label="异常时间"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ util_formatterDate(form.errorTime) }}
</el-descriptions-item>
<el-descriptions-item
label="实际打卡时间"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ util_formatterDate(form.actualAttendTime) }}
</el-descriptions-item>
<el-descriptions-item
label="异常处理结果"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.errorResult }}
</el-descriptions-item>
<el-descriptions-item
label="核查人员"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.checkPerson }}
</el-descriptions-item>
<el-descriptions-item
label="核查时间"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ util_formatterDate(form.checkTime) }}
</el-descriptions-item>
<el-descriptions-item
label="核查说明"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.checkDesc }}
</el-descriptions-item>
<el-descriptions-item
label="核查结果"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.checkResult }}
</el-descriptions-item>
<el-descriptions-item
label="处理状态"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ util_formatters("checkStatus", form.checkStatus) }}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template> </template>
<script> <script>
import view from "@/assets/mixins/view"; import view from "@/assets/mixins/view";
export default { export default {
mixins: [view], mixins: [view],
components: { components: {},
}, methods: {},
methods: { data() {
return {
}, size: "small",
data() { column: 2,
return { toString: ["subAddType", "checkStatus"],
size:"small", toArrays: [],
column:2, toDate: [],
toString:[ };
"subAddType", },
"checkStatus", };
],
toArrays: [
],
toDate: [
]
}
}
}
</script> </script>
<style lang="less"> <style lang="less">
.labelClass{ .labelClass {
width: 200px; width: 200px;
} }
.el-descriptions__body{ .el-descriptions__body {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
color: #606266; color: #606266;
background-color: #FFF; background-color: #fff;
} }
.contentClass{ .contentClass {
width: 600px; width: 600px;
} }
</style> </style>
\ No newline at end of file
...@@ -12,74 +12,76 @@ ...@@ -12,74 +12,76 @@
<div class="content"> <div class="content">
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>员工:{{ obj.staffName ? obj.staffName : "--" }}</el-col >员工:{{ form.staffName ? form.staffName : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>所属部门:{{ obj.deptName ? obj.deptName : "--" }}</el-col >所属部门:{{ form.deptName ? form.deptName : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>窗口编号:{{ obj.windowNum ? obj.windowNum : "--" }}</el-col >窗口编号:{{ form.windowNum ? form.windowNum : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>投诉来源:{{ >投诉来源:{{
obj.complainSource ? obj.complainSource : "--" form.complainSource ? form.complainSource : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>投诉设备:{{ >投诉设备:{{
obj.complainDevice ? obj.complainDevice : "--" form.complainDevice ? form.complainDevice : "--"
}}</el-col }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>投诉时间:{{ >投诉时间:{{
obj.complainTime ? obj.complainTime : "--" form.complainTime ? form.complainTime : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>投诉标题:{{ >投诉标题:{{
obj.complainTitle ? obj.complainTitle : "--" form.complainTitle ? form.complainTitle : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24" <el-col :span="24"
>投诉内容:{{ >投诉内容:{{
obj.complainContent ? obj.complainContent : "--" form.complainContent ? form.complainContent : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>真实姓名:{{ >真实姓名:{{
obj.complainRealName ? obj.complainRealName : "--" form.complainRealName ? form.complainRealName : "--"
}}</el-col }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>联系电话:{{ obj.contact ? obj.contact : "--" }}</el-col >联系电话:{{ form.contact ? form.contact : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>扣分方式:{{ obj.subMethod ? obj.subMethod : "--" }}</el-col >扣分方式:{{ form.subMethod ? form.subMethod : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>扣分人员:{{ >扣分人员:{{
obj.deductPerson ? obj.deductPerson : "--" form.deductPerson ? form.deductPerson : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>扣分时间:{{ obj.deductTime ? obj.deductTime : "--" }}</el-col >扣分时间:{{ form.deductTime ? form.deductTime : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>图片凭证:{{ obj.snapPath ? obj.snapPath : "--" }}</el-col >图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--"
}}</el-col
> >
</el-row> </el-row>
</div> </div>
...@@ -90,56 +92,76 @@ ...@@ -90,56 +92,76 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<el-form-item label="核查结果:"> <el-form-item label="核查结果:">
<p v-if="obj.view == '查看'">{{ obj.checkResult }}</p> <p v-if="form.view == '查看'">
<el-radio-group v-model="form.checkResult" v-else> {{
<el-radio :label="1">扣分</el-radio> form.checkResult == 1
<el-radio :label="2">不扣分</el-radio> ? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio :label="1">加分/扣分</el-radio>
<el-radio :label="2">不加分/不扣分</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <div v-if="form.checkResult == 1">
<el-form-item label="修改规则:"> <el-row>
<p v-if="obj.view == '查看'">{{ obj.ruleName }}</p> <el-form-item
<div v-else> :label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
<el-col :span="22"> >
<el-select <p v-if="form.view == '查看'">{{ form.ruleName }}</p>
v-model="form.attendanceGroupId" <div v-else>
style="width: 100%;" <el-col :span="22">
> <el-select
<el-option v-model="form.categoryId"
v-for="item in kaoqinArr" style="width: 100%;"
:key="item.value" @change="cateChange"
:label="item.label"
:value="item.value"
> >
</el-option <el-option
></el-select> v-for="item in kaoqinCateArr"
</el-col> :key="item.id"
<el-col :span="22"> :label="item.name"
<el-select :value="item.id"
v-model="form.attendanceGroupId" >
style="width: 100%;margin-top: 10px;" </el-option
> ></el-select>
<el-option </el-col>
v-for="item in kaoqinArr" <el-col :span="22">
:key="item.value" <el-select
:label="item.label" v-model="form.ruleId"
:value="item.value" style="width: 100%;margin-top: 10px;"
@change="ruleChange"
> >
</el-option></el-select <el-option
></el-col> v-for="item in kaoqinArr"
</div> :key="item.id"
</el-form-item> :label="item.name"
</el-row> :value="item.id"
<el-row> >
<el-form-item label="扣除分值:"> </el-option></el-select
<p v-if="obj.view == '查看'">{{ obj.score }}</p> ></el-col>
<p v-else>{{ form.score }}</p> </div>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row>
<el-form-item label="加分/扣除分值:">
<p v-if="form.view == '查看'">
{{ form.score ? form.score : "--" }}
</p>
<p v-else>{{ form.score }}</p>
</el-form-item>
</el-row>
</div>
<el-row> <el-row>
<el-form-item label="说明:"> <el-form-item label="说明:">
<p v-if="obj.view == '查看'">{{ obj.checkDesc }}</p> <p v-if="form.view == '查看'">{{ form.checkDesc }}</p>
<el-input <el-input
v-else v-else
v-model="form.checkDesc" v-model="form.checkDesc"
...@@ -147,18 +169,18 @@ ...@@ -147,18 +169,18 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查人员:"> <el-form-item label="核查人员:">
<p>{{ obj.checkPerson }}</p> <p>{{ form.checkPerson ? form.checkPerson : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查时间:"> <el-form-item label="核查时间:">
<p>{{ obj.checkTime }}</p> <p>{{ form.checkTime ? form.checkTime : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<form-buttons <form-buttons
v-show="obj.view == '核查'" v-show="form.view == '核查'"
@submit="submitForm" @submit="submitForm"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
...@@ -341,12 +363,23 @@ ...@@ -341,12 +363,23 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "CheckComplainRecordDetail", name: "CheckComplainRecordDetail",
mixins: [form], mixins: [form],
components: {}, components: {},
created() { created() {
this.changePath("check/complain/record"); this.changePath("check/complain/record");
this.$post("/perform/rules/category/list", { page: 1, size: -1 }).then(
(res) => {
if (res.code == 1) {
this.kaoqinCateArr = res.data.data;
} else {
this.kaoqinCateArr = [];
}
}
);
}, },
data() { data() {
return { return {
...@@ -367,18 +400,79 @@ export default { ...@@ -367,18 +400,79 @@ export default {
], ],
createTime: [{ required: true, message: "请选择创建时间" }], createTime: [{ required: true, message: "请选择创建时间" }],
}, },
obj: {}, form: {},
kaoqinCateArr: [],
kaoqinArr: [],
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
}; };
}, },
methods: { methods: {
radioChange(val) {
this.form.checkResult = val;
this.$forceUpdate(this.form);
},
picMatter(val) {
if (val !== "--") {
return (
<el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
preview-src-list={val.indexOf("http") == -1 ? this.baseUrl + val : val}
style="width: 100px"
></el-image>
);
} else {
return val;
}
},
ruleChange(val) {
let arr = this.kaoqinArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
},
cateChange() {
this.$post("/perform/rules/list", {
page: 1,
size: -1,
categoryId: this.form.categoryId,
}).then((res) => {
this.kaoqinArr = res.data.data;
this.form.ruleId = "";
});
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.obj = row; this.form = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/complain/record/edit"; // this.urls.currUrl = "check/complain/record/edit";
this.getData(); // this.getData();
this.$get("/check/complain/record/info", { id: row.id }).then((res) => {
console.log(res.data);
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.checkResult = 1;
this.form.view = "核查";
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
row.view == "核查" row.view == "核查"
? (this.title = "评价绩效投诉核查") ? (this.title = "评价绩效投诉核查")
...@@ -394,11 +488,36 @@ export default { ...@@ -394,11 +488,36 @@ export default {
}, },
/** 查看*/ /** 查看*/
view(row) { view(row) {
this.obj = row; this.form = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/complain/record/view"; // this.urls.currUrl = "check/complain/record/view";
this.getData(); // this.getData();
this.$get("/check/complain/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.view = "查看";
console.log(this.form);
this.open = true;
});
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "评价绩效投诉核查信息详细"; this.title = "评价绩效投诉核查信息详细";
}, },
......
...@@ -112,7 +112,8 @@ export default { ...@@ -112,7 +112,8 @@ export default {
this.$download( this.$download(
"/check/complain/record/exportExcel", "/check/complain/record/exportExcel",
{ {
idList: this.selection, page: 1,
size: -1,
}, },
{ type: "excel" } { type: "excel" }
) )
...@@ -158,7 +159,7 @@ export default { ...@@ -158,7 +159,7 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "status", name: "checkStatus",
type: "select", type: "select",
label: "全部状态", label: "全部状态",
fuzzy: false, fuzzy: false,
...@@ -170,7 +171,7 @@ export default { ...@@ -170,7 +171,7 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "source", name: "complainSource",
type: "select", type: "select",
label: "全部来源", label: "全部来源",
fuzzy: false, fuzzy: false,
...@@ -214,7 +215,11 @@ export default { ...@@ -214,7 +215,11 @@ export default {
{ label: "投诉来源", prop: "complainSource" }, { label: "投诉来源", prop: "complainSource" },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "投诉设备", prop: "complainDevice" }, { label: "投诉设备", prop: "complainDevice" },
...@@ -234,7 +239,7 @@ export default { ...@@ -234,7 +239,7 @@ export default {
{ {
label: "处理状态", label: "处理状态",
prop: "processStatus", prop: "checkStatus",
formatter: this.formatter, formatter: this.formatter,
}, },
...@@ -242,11 +247,22 @@ export default { ...@@ -242,11 +247,22 @@ export default {
label: "操作", label: "操作",
width: 200, width: 200,
formatter: (row) => { formatter: (row) => {
return ( return row.checkStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noDel noDel
noEdit
reCheck reCheck
noView
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noDel
noEdit noEdit
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
......
...@@ -12,51 +12,55 @@ ...@@ -12,51 +12,55 @@
<div class="content"> <div class="content">
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>员工:{{ obj.staffName ? obj.staffName : "--" }}</el-col >员工:{{ form.staffName ? form.staffName : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>所属部门:{{ obj.deptName ? obj.deptName : "--" }}</el-col >所属部门:{{ form.deptName ? form.deptName : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>窗口编号:{{ obj.windowNum ? obj.windowNum : "--" }}</el-col >窗口编号:{{ form.windowNum ? form.windowNum : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>违规类型:{{ >违规类型:{{
obj.irregularType ? obj.irregularType : "--" form.irregularType ? form.irregularType : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>发生时间:{{ obj.happenTime ? obj.happenTime : "--" }}</el-col >发生时间:{{ form.happenTime ? form.happenTime : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>时长:{{ obj.duration ? obj.duration : "--" }}</el-col >时长:{{ form.duration ? form.duration : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>报警时间:{{ obj.alarmTime ? obj.alarmTime : "--" }}</el-col >报警时间:{{ form.alarmTime ? form.alarmTime : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>扣分方式:{{ obj.subMethod ? obj.subMethod : "--" }}</el-col >扣分方式:{{ form.subMethod ? form.subMethod : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>扣分时间:{{ obj.deductTime ? obj.deductTime : "--" }}</el-col >扣分时间:{{ form.deductTime ? form.deductTime : "--" }}</el-col
> >
<el-col :span="12"> <el-col :span="12">
扣分人员:{{ obj.deductPerson ? obj.deductPerson : "--" }}</el-col 扣分人员:{{
form.deductPerson ? form.deductPerson : "--"
}}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
图片凭证:{{ obj.snapPath ? obj.snapPath : "--" }}</el-col 图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--"
}}</el-col
> >
</el-row> </el-row>
</div> </div>
...@@ -67,56 +71,76 @@ ...@@ -67,56 +71,76 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<el-form-item label="核查结果:"> <el-form-item label="核查结果:">
<p v-if="obj.view == '查看'">{{ obj.checkResult }}</p> <p v-if="form.view == '查看'">
<el-radio-group v-model="form.checkResult" v-else> {{
<el-radio :label="1">扣分</el-radio> form.checkResult == 1
<el-radio :label="2">不扣分</el-radio> ? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio :label="1">加分/扣分</el-radio>
<el-radio :label="2">不加分/不扣分</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <div v-if="form.checkResult == 1">
<el-form-item label="修改规则:"> <el-row>
<p v-if="obj.view == '查看'">{{ obj.ruleName }}</p> <el-form-item
<div v-else> :label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
<el-col :span="22"> >
<el-select <p v-if="form.view == '查看'">{{ form.ruleName }}</p>
v-model="form.attendanceGroupId" <div v-else>
style="width: 100%;" <el-col :span="22">
> <el-select
<el-option v-model="form.categoryId"
v-for="item in kaoqinArr" style="width: 100%;"
:key="item.value" @change="cateChange"
:label="item.label"
:value="item.value"
> >
</el-option <el-option
></el-select> v-for="item in kaoqinCateArr"
</el-col> :key="item.id"
<el-col :span="22"> :label="item.name"
<el-select :value="item.id"
v-model="form.attendanceGroupId" >
style="width: 100%;margin-top: 10px;" </el-option
> ></el-select>
<el-option </el-col>
v-for="item in kaoqinArr" <el-col :span="22">
:key="item.value" <el-select
:label="item.label" v-model="form.ruleId"
:value="item.value" style="width: 100%;margin-top: 10px;"
@change="ruleChange"
> >
</el-option></el-select <el-option
></el-col> v-for="item in kaoqinArr"
</div> :key="item.id"
</el-form-item> :label="item.name"
</el-row> :value="item.id"
<el-row> >
<el-form-item label="扣除分值:"> </el-option></el-select
<p v-if="obj.view == '查看'">{{ obj.score }}</p> ></el-col>
<p v-else>{{ form.score }}</p> </div>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row>
<el-form-item label="加分/扣除分值:">
<p v-if="form.view == '查看'">
{{ form.score ? form.score : "--" }}
</p>
<p v-else>{{ form.score }}</p>
</el-form-item>
</el-row>
</div>
<el-row> <el-row>
<el-form-item label="说明:"> <el-form-item label="说明:">
<p v-if="obj.view == '查看'">{{ obj.checkDesc }}</p> <p v-if="form.view == '查看'">{{ form.checkDesc }}</p>
<el-input <el-input
v-else v-else
v-model="form.checkDesc" v-model="form.checkDesc"
...@@ -124,18 +148,18 @@ ...@@ -124,18 +148,18 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查人员:"> <el-form-item label="核查人员:">
<p>{{ obj.checkPerson }}</p> <p>{{ form.checkPerson ? form.checkPerson : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查时间:"> <el-form-item label="核查时间:">
<p>{{ obj.checkTime }}</p> <p>{{ form.checkTime ? form.checkTime : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<form-buttons <form-buttons
v-show="obj.view == '核查'" v-show="form.view == '核查'"
@submit="submitForm" @submit="submitForm"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
...@@ -312,12 +336,23 @@ ...@@ -312,12 +336,23 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "CheckEffectRecordDetail", name: "CheckEffectRecordDetail",
mixins: [form], mixins: [form],
components: {}, components: {},
created() { created() {
this.changePath("check/effect/record"); this.changePath("check/effect/record");
this.$post("/perform/rules/category/list", { page: 1, size: -1 }).then(
(res) => {
if (res.code == 1) {
this.kaoqinCateArr = res.data.data;
} else {
this.kaoqinCateArr = [];
}
}
);
}, },
data() { data() {
return { return {
...@@ -338,18 +373,81 @@ export default { ...@@ -338,18 +373,81 @@ export default {
], ],
createTime: [{ required: true, message: "请选择创建时间" }], createTime: [{ required: true, message: "请选择创建时间" }],
}, },
obj: {}, form: {},
kaoqinCateArr: [],
kaoqinArr: [],
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
}; };
}, },
methods: { methods: {
radioChange(val) {
this.form.checkResult = val;
this.$forceUpdate(this.form);
},
picMatter(val) {
if (val !== "--") {
return (
<el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
preview-src-list={
val.indexOf("http") == -1 ? this.baseUrl + val : val
}
style="width: 100px"
></el-image>
);
} else {
return val;
}
},
ruleChange(val) {
let arr = this.kaoqinArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
},
cateChange() {
this.$post("/perform/rules/list", {
page: 1,
size: -1,
categoryId: this.form.categoryId,
}).then((res) => {
this.kaoqinArr = res.data.data;
this.form.ruleId = "";
});
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.obj = row; this.form = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/effect/record/edit"; // this.urls.currUrl = "check/effect/record/edit";
this.getData(); // this.getData();
this.$get("/check/effect/record/info", { id: row.id }).then((res) => {
console.log(res.data);
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.checkResult = 1;
this.form.view = "核查";
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
row.view == "核查" row.view == "核查"
? (this.title = "效能绩效核查") ? (this.title = "效能绩效核查")
...@@ -365,11 +463,36 @@ export default { ...@@ -365,11 +463,36 @@ export default {
}, },
/** 查看*/ /** 查看*/
view(row) { view(row) {
this.obj = row; this.form = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/effect/record/view"; // this.urls.currUrl = "check/effect/record/view";
this.getData(); // this.getData();
this.$get("/check/effect/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.view = "查看";
console.log(this.form);
this.open = true;
});
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "效能绩效核查信息详细"; this.title = "效能绩效核查信息详细";
}, },
......
...@@ -112,7 +112,8 @@ export default { ...@@ -112,7 +112,8 @@ export default {
this.$download( this.$download(
"/check/effect/record/exportExcel", "/check/effect/record/exportExcel",
{ {
idList: this.selection, page: 1,
size: -1,
}, },
{ type: "excel" } { type: "excel" }
) )
...@@ -216,7 +217,11 @@ export default { ...@@ -216,7 +217,11 @@ export default {
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "绩效规则", prop: "ruleName" }, { label: "绩效规则", prop: "ruleName" },
...@@ -234,20 +239,31 @@ export default { ...@@ -234,20 +239,31 @@ export default {
{ {
label: "处理状态", label: "处理状态",
prop: "processStatus", prop: "checkStatus",
formatter: this.formatter, formatter: this.formatter,
}, },
{ {
label: "操作", label: "操作",
width: 240, width: 200,
formatter: (row) => { formatter: (row) => {
return ( return row.checkStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noDel noDel
noEdit noEdit
reCheck reCheck
noView
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noDel
noEdit
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
...@@ -12,51 +12,57 @@ ...@@ -12,51 +12,57 @@
<div class="content"> <div class="content">
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>员工:{{ obj.staffName ? obj.staffName : "--" }}</el-col >员工:{{ form.staffName ? form.staffName : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>所属部门:{{ obj.deptName ? obj.deptName : "--" }}</el-col >所属部门:{{ form.deptName ? form.deptName : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>窗口编号:{{ obj.windowNum ? obj.windowNum : "--" }}</el-col >窗口编号:{{ form.windowNum ? form.windowNum : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>办件编码:{{ obj.goworkCode ? obj.goworkCode : "--" }}</el-col >办件编码:{{ form.goworkCode ? form.goworkCode : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>办件所属部门:{{ >办件所属部门:{{
obj.goworkDepts ? obj.goworkDepts : "--" form.goworkDepts ? form.goworkDepts : "--"
}}</el-col }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>事项名称:{{ obj.matterlName ? obj.matterlName : "--" }}</el-col >事项名称:{{
form.matterlName ? form.matterlName : "--"
}}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>办件时间:{{ obj.goworkTime ? obj.goworkTime : "--" }}</el-col >办件时间:{{ form.goworkTime ? form.goworkTime : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>扣分方式:{{ obj.subMethod ? obj.subMethod : "--" }}</el-col >扣分方式:{{ form.subMethod ? form.subMethod : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>扣分时间:{{ obj.deductTime ? obj.deductTime : "--" }}</el-col >扣分时间:{{ form.deductTime ? form.deductTime : "--" }}</el-col
> >
<el-col :span="12"> <el-col :span="12">
扣分人员:{{ obj.deductPerson ? obj.deductPerson : "--" }}</el-col 扣分人员:{{
form.deductPerson ? form.deductPerson : "--"
}}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
图片凭证:{{ obj.snapPath ? obj.snapPath : "--" }}</el-col 图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--"
}}</el-col
> >
</el-row> </el-row>
</div> </div>
...@@ -67,56 +73,76 @@ ...@@ -67,56 +73,76 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<el-form-item label="核查结果:"> <el-form-item label="核查结果:">
<p v-if="obj.view == '查看'">{{ obj.checkResult }}</p> <p v-if="form.view == '查看'">
<el-radio-group v-model="form.checkResult" v-else> {{
<el-radio :label="1">扣分</el-radio> form.checkResult == 1
<el-radio :label="2">不扣分</el-radio> ? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio :label="1">加分/扣分</el-radio>
<el-radio :label="2">不加分/不扣分</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <div v-if="form.checkResult == 1">
<el-form-item label="修改规则:"> <el-row>
<p v-if="obj.view == '查看'">{{ obj.ruleName }}</p> <el-form-item
<div v-else> :label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
<el-col :span="22"> >
<el-select <p v-if="form.view == '查看'">{{ form.ruleName }}</p>
v-model="form.attendanceGroupId" <div v-else>
style="width: 100%;" <el-col :span="22">
> <el-select
<el-option v-model="form.categoryId"
v-for="item in kaoqinArr" style="width: 100%;"
:key="item.value" @change="cateChange"
:label="item.label"
:value="item.value"
> >
</el-option <el-option
></el-select> v-for="item in kaoqinCateArr"
</el-col> :key="item.id"
<el-col :span="22"> :label="item.name"
<el-select :value="item.id"
v-model="form.attendanceGroupId" >
style="width: 100%;margin-top: 10px;" </el-option
> ></el-select>
<el-option </el-col>
v-for="item in kaoqinArr" <el-col :span="22">
:key="item.value" <el-select
:label="item.label" v-model="form.ruleId"
:value="item.value" style="width: 100%;margin-top: 10px;"
@change="ruleChange"
> >
</el-option></el-select <el-option
></el-col> v-for="item in kaoqinArr"
</div> :key="item.id"
</el-form-item> :label="item.name"
</el-row> :value="item.id"
<el-row> >
<el-form-item label="扣除分值:"> </el-option></el-select
<p v-if="obj.view == '查看'">{{ obj.score }}</p> ></el-col>
<p v-else>{{ form.score }}</p> </div>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row>
<el-form-item label="加分/扣除分值:">
<p v-if="form.view == '查看'">
{{ form.score ? form.score : "--" }}
</p>
<p v-else>{{ form.score }}</p>
</el-form-item>
</el-row>
</div>
<el-row> <el-row>
<el-form-item label="说明:"> <el-form-item label="说明:">
<p v-if="obj.view == '查看'">{{ obj.checkDesc }}</p> <p v-if="form.view == '查看'">{{ form.checkDesc }}</p>
<el-input <el-input
v-else v-else
v-model="form.checkDesc" v-model="form.checkDesc"
...@@ -124,18 +150,18 @@ ...@@ -124,18 +150,18 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查人员:"> <el-form-item label="核查人员:">
<p>{{ obj.checkPerson }}</p> <p>{{ form.checkPerson ? form.checkPerson : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查时间:"> <el-form-item label="核查时间:">
<p>{{ obj.checkTime }}</p> <p>{{ form.checkTime ? form.checkTime : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<form-buttons <form-buttons
v-show="obj.view == '核查'" v-show="form.view == '核查'"
@submit="submitForm" @submit="submitForm"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
...@@ -305,12 +331,23 @@ ...@@ -305,12 +331,23 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "CheckGoworkRecordDetail", name: "CheckGoworkRecordDetail",
mixins: [form], mixins: [form],
components: {}, components: {},
created() { created() {
this.changePath("check/gowork/record"); this.changePath("check/gowork/record");
this.$post("/perform/rules/category/list", { page: 1, size: -1 }).then(
(res) => {
if (res.code == 1) {
this.kaoqinCateArr = res.data.data;
} else {
this.kaoqinCateArr = [];
}
}
);
}, },
data() { data() {
return { return {
...@@ -331,18 +368,79 @@ export default { ...@@ -331,18 +368,79 @@ export default {
], ],
createTime: [{ required: true, message: "请选择创建时间" }], createTime: [{ required: true, message: "请选择创建时间" }],
}, },
obj: {}, form: {},
kaoqinCateArr: [],
kaoqinArr: [],
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
}; };
}, },
methods: { methods: {
radioChange(val) {
this.form.checkResult = val;
this.$forceUpdate(this.form);
},
picMatter(val) {
if (val !== "--") {
return (
<el-image
src={val.c == -1 ? this.baseUrl + val : val}
preview-src-list={val.indexOf("http") == -1 ? this.baseUrl + val : val}
style="width: 100px"
></el-image>
);
} else {
return val;
}
},
ruleChange(val) {
let arr = this.kaoqinArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
},
cateChange() {
this.$post("/perform/rules/list", {
page: 1,
size: -1,
categoryId: this.form.categoryId,
}).then((res) => {
this.kaoqinArr = res.data.data;
this.form.ruleId = "";
});
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.obj = row; this.form = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/gowork/record/edit"; // this.urls.currUrl = "check/gowork/record/edit";
this.getData(); // this.getData();
this.$get("/check/gowork/record/info", { id: row.id }).then((res) => {
console.log(res.data);
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.checkResult = 1;
this.form.view = "核查";
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
row.view == "核查" row.view == "核查"
? (this.title = "办件绩效核查") ? (this.title = "办件绩效核查")
...@@ -358,11 +456,36 @@ export default { ...@@ -358,11 +456,36 @@ export default {
}, },
/** 查看*/ /** 查看*/
view(row) { view(row) {
this.obj = row; this.form = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/gowork/record/view"; // this.urls.currUrl = "check/gowork/record/view";
this.getData(); // this.getData();
this.$get("/check/gowork/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.view = "查看";
console.log(this.form);
this.open = true;
});
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "办件绩效核查信息详细"; this.title = "办件绩效核查信息详细";
}, },
......
...@@ -112,7 +112,8 @@ export default { ...@@ -112,7 +112,8 @@ export default {
this.$download( this.$download(
"/check/gowork/record/exportExcel", "/check/gowork/record/exportExcel",
{ {
idList: this.selection, page: 1,
size: -1,
}, },
{ type: "excel" } { type: "excel" }
) )
...@@ -158,7 +159,7 @@ export default { ...@@ -158,7 +159,7 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "status", name: "checkStatus",
type: "select", type: "select",
label: "全部状态", label: "全部状态",
fuzzy: false, fuzzy: false,
...@@ -204,7 +205,11 @@ export default { ...@@ -204,7 +205,11 @@ export default {
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "绩效规则", prop: "ruleName" }, { label: "绩效规则", prop: "ruleName" },
...@@ -222,20 +227,31 @@ export default { ...@@ -222,20 +227,31 @@ export default {
{ {
label: "处理状态", label: "处理状态",
prop: "processStatus", prop: "checkStatus",
formatter: this.formatter, formatter: this.formatter,
}, },
{ {
label: "操作", label: "操作",
width: 240, width: 200,
formatter: (row) => { formatter: (row) => {
return ( return row.checkStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noDel noDel
noEdit noEdit
reCheck reCheck
noView
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noDel
noEdit
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
...@@ -12,49 +12,51 @@ ...@@ -12,49 +12,51 @@
<div class="content"> <div class="content">
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>员工:{{ obj.staffName ? obj.staffName : "--" }}</el-col >员工:{{ form.staffName ? form.staffName : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>所属部门:{{ obj.deptName ? obj.deptName : "--" }}</el-col >所属部门:{{ form.deptName ? form.deptName : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>窗口编号:{{ obj.windowNum ? obj.windowNum : "--" }}</el-col >窗口编号:{{ form.windowNum ? form.windowNum : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>违规类型:{{ >违规类型:{{
obj.irregularOtherType ? obj.irregularOtherType : "--" form.irregularOtherType ? form.irregularOtherType : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24" <el-col :span="24"
>发生时间:{{ obj.happenTime ? obj.happenTime : "--" }}</el-col >发生时间:{{ form.happenTime ? form.happenTime : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24" <el-col :span="24"
>评分标准:{{ obj.ruleDesc ? obj.ruleDesc : "--" }}</el-col >评分标准:{{ form.ruleDesc ? form.ruleDesc : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>扣分方式:{{ obj.subMethod ? obj.subMethod : "--" }}</el-col >扣分方式:{{ form.subMethod ? form.subMethod : "--" }}</el-col
> >
<el-col :span="12"> <el-col :span="12">
扣分时间:{{ obj.deductTime ? obj.deductTime : "--" }} 扣分时间:{{ form.deductTime ? form.deductTime : "--" }}
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
扣分人员:{{ obj.deductPerson ? obj.deductPerson : "--" }} 扣分人员:{{ form.deductPerson ? form.deductPerson : "--" }}
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24" <el-col :span="24"
>图片凭证:{{ obj.snapPath ? obj.snapPath : "--" }}</el-col >图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--"
}}</el-col
> >
</el-row> </el-row>
</div> </div>
...@@ -65,56 +67,76 @@ ...@@ -65,56 +67,76 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<el-form-item label="核查结果:"> <el-form-item label="核查结果:">
<p v-if="obj.view == '查看'">{{ obj.checkResult }}</p> <p v-if="form.view == '查看'">
<el-radio-group v-model="form.checkResult" v-else> {{
<el-radio :label="1">扣分</el-radio> form.checkResult == 1
<el-radio :label="2">不扣分</el-radio> ? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio :label="1">加分/扣分</el-radio>
<el-radio :label="2">不加分/不扣分</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <div v-if="form.checkResult == 1">
<el-form-item label="修改规则:"> <el-row>
<p v-if="obj.view == '查看'">{{ obj.ruleName }}</p> <el-form-item
<div v-else> :label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
<el-col :span="22"> >
<el-select <p v-if="form.view == '查看'">{{ form.ruleName }}</p>
v-model="form.attendanceGroupId" <div v-else>
style="width: 100%;" <el-col :span="22">
> <el-select
<el-option v-model="form.categoryId"
v-for="item in kaoqinArr" style="width: 100%;"
:key="item.value" @change="cateChange"
:label="item.label"
:value="item.value"
> >
</el-option <el-option
></el-select> v-for="item in kaoqinCateArr"
</el-col> :key="item.id"
<el-col :span="22"> :label="item.name"
<el-select :value="item.id"
v-model="form.attendanceGroupId" >
style="width: 100%;margin-top: 10px;" </el-option
> ></el-select>
<el-option </el-col>
v-for="item in kaoqinArr" <el-col :span="22">
:key="item.value" <el-select
:label="item.label" v-model="form.ruleId"
:value="item.value" style="width: 100%;margin-top: 10px;"
@change="ruleChange"
> >
</el-option></el-select <el-option
></el-col> v-for="item in kaoqinArr"
</div> :key="item.id"
</el-form-item> :label="item.name"
</el-row> :value="item.id"
<el-row> >
<el-form-item label="扣除分值:"> </el-option></el-select
<p v-if="obj.view == '查看'">{{ obj.score }}</p> ></el-col>
<p v-else>{{ form.score }}</p> </div>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row>
<el-form-item label="加分/扣除分值:">
<p v-if="form.view == '查看'">
{{ form.score ? form.score : "--" }}
</p>
<p v-else>{{ form.score }}</p>
</el-form-item>
</el-row>
</div>
<el-row> <el-row>
<el-form-item label="说明:"> <el-form-item label="说明:">
<p v-if="obj.view == '查看'">{{ obj.checkDesc }}</p> <p v-if="form.view == '查看'">{{ form.checkDesc }}</p>
<el-input <el-input
v-else v-else
v-model="form.checkDesc" v-model="form.checkDesc"
...@@ -122,18 +144,18 @@ ...@@ -122,18 +144,18 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查人员:"> <el-form-item label="核查人员:">
<p>{{ obj.checkPerson }}</p> <p>{{ form.checkPerson ? form.checkPerson : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查时间:"> <el-form-item label="核查时间:">
<p>{{ obj.checkTime }}</p> <p>{{ form.checkTime ? form.checkTime : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<form-buttons <form-buttons
v-show="obj.view == '核查'" v-show="form.view == '核查'"
@submit="submitForm" @submit="submitForm"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
...@@ -304,12 +326,23 @@ ...@@ -304,12 +326,23 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "CheckOtherRecordDetail", name: "CheckOtherRecordDetail",
mixins: [form], mixins: [form],
components: {}, components: {},
created() { created() {
this.changePath("check/other/record"); this.changePath("check/other/record");
this.$post("/perform/rules/category/list", { page: 1, size: -1 }).then(
(res) => {
if (res.code == 1) {
this.kaoqinCateArr = res.data.data;
} else {
this.kaoqinCateArr = [];
}
}
);
}, },
data() { data() {
return { return {
...@@ -330,18 +363,81 @@ export default { ...@@ -330,18 +363,81 @@ export default {
], ],
createTime: [{ required: true, message: "请选择创建时间" }], createTime: [{ required: true, message: "请选择创建时间" }],
}, },
obj: {}, form: {},
kaoqinCateArr: [],
kaoqinArr: [],
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
}; };
}, },
methods: { methods: {
radioChange(val) {
this.form.checkResult = val;
this.$forceUpdate(this.form);
},
picMatter(val) {
if (val !== "--") {
return (
<el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
preview-src-list={
val.indexOf("http") == -1 ? this.baseUrl + val : val
}
style="width: 100px"
></el-image>
);
} else {
return val;
}
},
ruleChange(val) {
let arr = this.kaoqinArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
},
cateChange() {
this.$post("/perform/rules/list", {
page: 1,
size: -1,
categoryId: this.form.categoryId,
}).then((res) => {
this.kaoqinArr = res.data.data;
this.form.ruleId = "";
});
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.obj = row; this.form = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/other/record/edit"; // this.urls.currUrl = "check/other/record/edit";
this.getData(); // this.getData();
this.$get("/check/other/record/info", { id: row.id }).then((res) => {
console.log(res.data);
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.checkResult = 1;
this.form.view = "核查";
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
row.view == "核查" row.view == "核查"
? (this.title = "其它绩效核查") ? (this.title = "其它绩效核查")
...@@ -357,11 +453,36 @@ export default { ...@@ -357,11 +453,36 @@ export default {
}, },
/** 查看*/ /** 查看*/
view(row) { view(row) {
this.obj = row; this.form = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/other/record/view"; // this.urls.currUrl = "check/other/record/view";
this.getData(); // this.getData();
this.$get("/check/other/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.view = "查看";
console.log(this.form);
this.open = true;
});
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "其它绩效核查信息详细"; this.title = "其它绩效核查信息详细";
}, },
......
...@@ -112,7 +112,8 @@ export default { ...@@ -112,7 +112,8 @@ export default {
this.$download( this.$download(
"/check/other/record/exportExcel", "/check/other/record/exportExcel",
{ {
idList: this.selection, page: 1,
size: -1,
}, },
{ type: "excel" } { type: "excel" }
) )
...@@ -157,7 +158,7 @@ export default { ...@@ -157,7 +158,7 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "status", name: "checkStatus",
type: "select", type: "select",
label: "全部状态", label: "全部状态",
fuzzy: false, fuzzy: false,
...@@ -212,7 +213,11 @@ export default { ...@@ -212,7 +213,11 @@ export default {
// }, // },
// { label: "绩效规则id", prop: "ruleId", formatter: this.formatter }, // { label: "绩效规则id", prop: "ruleId", formatter: this.formatter },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "绩效规则", prop: "ruleName" }, { label: "绩效规则", prop: "ruleName" },
...@@ -230,20 +235,31 @@ export default { ...@@ -230,20 +235,31 @@ export default {
{ {
label: "处理状态", label: "处理状态",
prop: "processStatus", prop: "checkStatus",
formatter: this.formatter, formatter: this.formatter,
}, },
{ {
label: "操作", label: "操作",
width: 240, width: 200,
formatter: (row) => { formatter: (row) => {
return ( return row.checkStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noDel noDel
noEdit noEdit
reCheck reCheck
noView
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noDel
noEdit
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
...@@ -12,56 +12,58 @@ ...@@ -12,56 +12,58 @@
<div class="content"> <div class="content">
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>员工:{{ obj.staffName ? obj.staffName : "--" }}</el-col >员工:{{ form.staffName ? form.staffName : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>所属部门:{{ obj.deptName ? obj.deptName : "--" }}</el-col >所属部门:{{ form.deptName ? form.deptName : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>窗口编号:{{ obj.windowNum ? obj.windowNum : "--" }}</el-col >窗口编号:{{ form.windowNum ? form.windowNum : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>评价结果:{{ >评价结果:{{
obj.reviewResult ? obj.reviewResult : "--" form.reviewResult ? form.reviewResult : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>评价来源:{{ >评价来源:{{
obj.reviewSource ? obj.reviewSource : "--" form.reviewSource ? form.reviewSource : "--"
}}</el-col }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>评价设备:{{ >评价设备:{{
obj.reviewDevice ? obj.reviewDevice : "--" form.reviewDevice ? form.reviewDevice : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>评价时间:{{ obj.reviewTime ? obj.reviewTime : "--" }}</el-col >评价时间:{{ form.reviewTime ? form.reviewTime : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>扣分方式:{{ obj.subMethod ? obj.subMethod : "--" }}</el-col >扣分方式:{{ form.subMethod ? form.subMethod : "--" }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>扣分时间:{{ obj.deductTime ? obj.deductTime : "--" }}</el-col >扣分时间:{{ form.deductTime ? form.deductTime : "--" }}</el-col
> >
<el-col :span="12" <el-col :span="12"
>扣分人员:{{ >扣分人员:{{
obj.deductPerson ? obj.deductPerson : "--" form.deductPerson ? form.deductPerson : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>图片凭证:{{ obj.snapPath ? obj.snapPath : "--" }}</el-col >图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--"
}}</el-col
> >
</el-row> </el-row>
</div> </div>
...@@ -72,56 +74,76 @@ ...@@ -72,56 +74,76 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<el-form-item label="核查结果:"> <el-form-item label="核查结果:">
<p v-if="obj.view == '查看'">{{ obj.checkResult }}</p> <p v-if="form.view == '查看'">
<el-radio-group v-model="form.checkResult" v-else> {{
<el-radio :label="1">扣分</el-radio> form.checkResult == 1
<el-radio :label="2">不扣分</el-radio> ? "加分/扣分"
: form.checkResult == 2
? "不加分/不扣分"
: "--"
}}
</p>
<el-radio-group
v-model="form.checkResult"
@input="radioChange"
v-else
>
<el-radio :label="1">加分/扣分</el-radio>
<el-radio :label="2">不加分/不扣分</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <div v-if="form.checkResult == 1">
<el-form-item label="修改规则:"> <el-row>
<p v-if="obj.view == '查看'">{{ obj.ruleName }}</p> <el-form-item
<div v-else> :label="form.view == '查看' ? '绩效规则:' : '修改规则:'"
<el-col :span="22"> >
<el-select <p v-if="form.view == '查看'">{{ form.ruleName }}</p>
v-model="form.attendanceGroupId" <div v-else>
style="width: 100%;" <el-col :span="22">
> <el-select
<el-option v-model="form.categoryId"
v-for="item in kaoqinArr" style="width: 100%;"
:key="item.value" @change="cateChange"
:label="item.label"
:value="item.value"
> >
</el-option <el-option
></el-select> v-for="item in kaoqinCateArr"
</el-col> :key="item.id"
<el-col :span="22"> :label="item.name"
<el-select :value="item.id"
v-model="form.attendanceGroupId" >
style="width: 100%;margin-top: 10px;" </el-option
> ></el-select>
<el-option </el-col>
v-for="item in kaoqinArr" <el-col :span="22">
:key="item.value" <el-select
:label="item.label" v-model="form.ruleId"
:value="item.value" style="width: 100%;margin-top: 10px;"
@change="ruleChange"
> >
</el-option></el-select <el-option
></el-col> v-for="item in kaoqinArr"
</div> :key="item.id"
</el-form-item> :label="item.name"
</el-row> :value="item.id"
<el-row> >
<el-form-item label="扣除分值:"> </el-option></el-select
<p v-if="obj.view == '查看'">{{ obj.score }}</p> ></el-col>
<p v-else>{{ form.score }}</p> </div>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row>
<el-form-item label="加分/扣除分值:">
<p v-if="form.view == '查看'">
{{ form.score ? form.score : "--" }}
</p>
<p v-else>{{ form.score }}</p>
</el-form-item>
</el-row>
</div>
<el-row> <el-row>
<el-form-item label="说明:"> <el-form-item label="说明:">
<p v-if="obj.view == '查看'">{{ obj.checkDesc }}</p> <p v-if="form.view == '查看'">{{ form.checkDesc }}</p>
<el-input <el-input
v-else v-else
v-model="form.checkDesc" v-model="form.checkDesc"
...@@ -129,18 +151,18 @@ ...@@ -129,18 +151,18 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查人员:"> <el-form-item label="核查人员:">
<p>{{ obj.checkPerson }}</p> <p>{{ form.checkPerson ? form.checkPerson : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="obj.view == '查看'"> <el-row v-if="form.view == '查看'">
<el-form-item label="核查时间:"> <el-form-item label="核查时间:">
<p>{{ obj.checkTime }}</p> <p>{{ form.checkTime ? form.checkTime : "--" }}</p>
</el-form-item> </el-form-item>
</el-row> </el-row>
<form-buttons <form-buttons
v-show="obj.view == '核查'" v-show="form.view == '核查'"
@submit="submitForm" @submit="submitForm"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
...@@ -312,12 +334,23 @@ ...@@ -312,12 +334,23 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "CheckReviewRecordDetail", name: "CheckReviewRecordDetail",
mixins: [form], mixins: [form],
components: {}, components: {},
created() { created() {
this.changePath("check/review/record"); this.changePath("check/review/record");
this.$post("/perform/rules/category/list", { page: 1, size: -1 }).then(
(res) => {
if (res.code == 1) {
this.kaoqinCateArr = res.data.data;
} else {
this.kaoqinCateArr = [];
}
}
);
}, },
data() { data() {
return { return {
...@@ -338,18 +371,78 @@ export default { ...@@ -338,18 +371,78 @@ export default {
], ],
createTime: [{ required: true, message: "请选择创建时间" }], createTime: [{ required: true, message: "请选择创建时间" }],
}, },
obj: {}, form: {},
kaoqinCateArr: [],
kaoqinArr: [],
}; };
}, },
methods: { methods: {
radioChange(val) {
this.form.checkResult = val;
this.$forceUpdate(this.form);
},
picMatter(val) {
if (val !== "--") {
return (
<el-image
src={val.indexOf("http") == -1 ? baseUrl + val : val}
preview-src-list={val.indexOf("http") == -1 ? baseUrl + val : val}
style="width: 100px"
></el-image>
);
} else {
return val;
}
},
ruleChange(val) {
let arr = this.kaoqinArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
},
cateChange() {
this.$post("/perform/rules/list", {
page: 1,
size: -1,
categoryId: this.form.categoryId,
}).then((res) => {
this.kaoqinArr = res.data.data;
this.form.ruleId = "";
});
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.obj = row; this.form = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/review/record/edit"; // this.urls.currUrl = "check/review/record/edit";
this.getData(); // this.getData();
this.$get("/check/review/record/info", { id: row.id }).then((res) => {
console.log(res.data);
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.checkResult = 1;
this.form.view = "核查";
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
row.view == "核查" row.view == "核查"
? (this.title = "评价差评绩效核查") ? (this.title = "评价差评绩效核查")
...@@ -365,11 +458,36 @@ export default { ...@@ -365,11 +458,36 @@ export default {
}, },
/** 查看*/ /** 查看*/
view(row) { view(row) {
this.obj = row; this.form = row;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "check/review/record/view"; // this.urls.currUrl = "check/review/record/view";
this.getData(); // this.getData();
this.$get("/check/review/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.view = "查看";
console.log(this.form);
this.open = true;
});
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "评价差评绩效核查信息详细"; this.title = "评价差评绩效核查信息详细";
}, },
......
...@@ -112,7 +112,8 @@ export default { ...@@ -112,7 +112,8 @@ export default {
this.$download( this.$download(
"/check/review/record/exportExcel", "/check/review/record/exportExcel",
{ {
idList: this.selection, page: 1,
size: -1,
}, },
{ type: "excel" } { type: "excel" }
) )
...@@ -157,7 +158,7 @@ export default { ...@@ -157,7 +158,7 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "status", name: "checkStatus",
type: "select", type: "select",
label: "全部状态", label: "全部状态",
fuzzy: false, fuzzy: false,
...@@ -169,7 +170,7 @@ export default { ...@@ -169,7 +170,7 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "source", name: "reviewSource",
type: "select", type: "select",
label: "全部来源", label: "全部来源",
fuzzy: false, fuzzy: false,
...@@ -213,7 +214,11 @@ export default { ...@@ -213,7 +214,11 @@ export default {
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "绩效规则", prop: "ruleNme" }, { label: "绩效规则", prop: "ruleNme" },
...@@ -231,7 +236,7 @@ export default { ...@@ -231,7 +236,7 @@ export default {
{ {
label: "处理状态", label: "处理状态",
prop: "processStatus", prop: "checkStatus",
formatter: this.formatter, formatter: this.formatter,
}, },
...@@ -239,12 +244,23 @@ export default { ...@@ -239,12 +244,23 @@ export default {
label: "操作", label: "操作",
width: 200, width: 200,
formatter: (row) => { formatter: (row) => {
return ( return row.checkStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noDel noDel
noEdit noEdit
reCheck reCheck
noView
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noDel
noEdit
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
...@@ -215,7 +215,11 @@ export default { ...@@ -215,7 +215,11 @@ export default {
{ label: "异常结果", prop: "errorResult" }, { label: "异常结果", prop: "errorResult" },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "绩效规则", prop: "ruleNme" }, { label: "绩效规则", prop: "ruleNme" },
......
...@@ -219,7 +219,11 @@ export default { ...@@ -219,7 +219,11 @@ export default {
{ label: "投诉来源", prop: "complainSource" }, { label: "投诉来源", prop: "complainSource" },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "投诉设备", prop: "complainDevice" }, { label: "投诉设备", prop: "complainDevice" },
......
...@@ -222,8 +222,11 @@ export default { ...@@ -222,8 +222,11 @@ export default {
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "绩效规则", prop: "ruleName" }, { label: "绩效规则", prop: "ruleName" },
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter }, { label: "扣分方式", prop: "subMethod", formatter: this.formatter },
......
...@@ -209,8 +209,11 @@ export default { ...@@ -209,8 +209,11 @@ export default {
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "绩效规则", prop: "ruleName" }, { label: "绩效规则", prop: "ruleName" },
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter }, { label: "扣分方式", prop: "subMethod", formatter: this.formatter },
......
...@@ -218,8 +218,11 @@ export default { ...@@ -218,8 +218,11 @@ export default {
// }, // },
// { label: "绩效规则id", prop: "ruleId", formatter: this.formatter }, // { label: "绩效规则id", prop: "ruleId", formatter: this.formatter },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "filePaths",
formatter: this.formatterPic,
},
{ label: "绩效规则", prop: "ruleName" }, { label: "绩效规则", prop: "ruleName" },
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter }, { label: "扣分方式", prop: "subMethod", formatter: this.formatter },
......
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