Commit 3fe9ce41 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	attendance-performance-manager-ui/admin/vue.config.js
parents dbc7755d d45d876d
#开发环境
NODE_ENV = "development"
VUE_APP_API_BASE_URL= http://112.19.80.237:11039
# VUE_APP_API_BASE_URL= http://192.168.0.98:11039
\ No newline at end of file
# VUE_APP_API_BASE_URL= http://112.19.80.237:11039
VUE_APP_API_BASE_URL= http://192.168.0.98:11039
VUE_APP_API_ZWFW_URL= http://112.19.80.237:11031
\ No newline at end of file
......@@ -3,7 +3,7 @@ NODE_ENV = production
# 地址
VUE_APP_API_BASE_URL =http://112.19.80.237:11039
VUE_APP_API_ZWFW_URL= http://112.19.80.237:11031
# websocket地址
VUE_APP_WEBSOCKET_API =
......
......@@ -191,6 +191,9 @@ export default {
month--; //否则,只减去月份
return new Date(year, month, day);
},
formatteSec(row, column, val) {
return val ? (val / 60 / 60 / 24).toFixed(3) + "" : "--";
},
// 格式化单元格数据
formatter(row, column, val) {
const content = formatter(this.tableData, column, val);
......@@ -334,7 +337,7 @@ export default {
},
// 查看天数
formatterDay(row, column, val) {
return (
return val ? (
<el-tag
onClick={() => {
this.handleCountDays(row, column, val);
......@@ -342,6 +345,8 @@ export default {
>
{val}
</el-tag>
) : (
"不限额"
);
},
// 格式化单元格数据
......@@ -480,7 +485,7 @@ export default {
// }
// style="width: 100px"
// ></el-image>
<filepReview src={val}/>
<filepReview src={val} />
);
} else {
return <el-link type="primary">{val}</el-link>;
......
......@@ -127,3 +127,12 @@ export const getMinu = (s1, s2) => {
if (ms < 0) return 0;
return Math.floor(ms / 1000 / 60); //分钟
};
// 求两个日期的 秒差
export const getSec = (s1, s2) => {
var reDate = /\d{4}-\d{1,2}-\d{1,2} /;
s1 = new Date((reDate.test(s1) ? s1 : "2023-01-01 " + s1).replace(/-/g, "/"));
s2 = new Date((reDate.test(s2) ? s2 : "2023-01-01 " + s2).replace(/-/g, "/"));
var ms = s2.getTime() - s1.getTime();
if (ms < 0) return 0;
return Math.floor(ms / 1000); //秒
};
// 全局组件注册
import LayoutTable from '@/components/Table.vue';
import LayoutForm from '@/components/Form.vue';
import TableButtons from '@/components/tools/TableButtons';
import FormButtons from '@/components/tools/FormButtons';
import Breadcrumb from '@/components/Breadcrumb';
import MySwitch from '@/components/Switch';
import DeviceSwitch from '@/components/DeviceSwitch';
import Confirm from '@/components/Confirm';
import FormField from '@/components/FormField';
import Upload from '@/components/Upload';
import ImageUpload from '@/components/ImageUpload';
import ImagePreview from '@/components/ImagePreview';
import FileUpload from '@/components/FileUpload';
import Editor from '@/components/Editor';
import Map from '@/components/Map';
import MapDetail from '@/components/MapDetail';
import filepReview from '@/components/filepReview';
import LayoutTable from "@/components/Table.vue";
import LayoutForm from "@/components/Form.vue";
import TableButtons from "@/components/tools/TableButtons";
import FormButtons from "@/components/tools/FormButtons";
import Breadcrumb from "@/components/Breadcrumb";
import MySwitch from "@/components/Switch";
import DeviceSwitch from "@/components/DeviceSwitch";
import Confirm from "@/components/Confirm";
import FormField from "@/components/FormField";
import Upload from "@/components/Upload";
import ImageUpload from "@/components/ImageUpload";
import ImagePreview from "@/components/ImagePreview";
import FileUpload from "@/components/FileUpload";
import Editor from "@/components/Editor";
import Map from "@/components/Map";
import MapDetail from "@/components/MapDetail";
import filepReview from "@/components/filepReview";
import buttonReview from "@/components/buttonReview";
const Prototype = function() {};
Prototype.install = (Vue, options) => {
Vue.component('LayoutTable', LayoutTable) // 表格
Vue.component('LayoutForm', LayoutForm) // 表单
Vue.component('TableButtons', TableButtons) // 表格内的编辑和删除
Vue.component('FormButtons', FormButtons) // 表单内的保存和取消
Vue.component('Breadcrumb', Breadcrumb) // 面包屑导航
Vue.component('Field', FormField) // 表单字段
Vue.component('MySwitch', MySwitch) // 拨动开关
Vue.component('DeviceSwitch', DeviceSwitch) // 拨动开关
Vue.component('Confirm', Confirm) // 局部确认窗口
Vue.component('Upload', Upload) // 文件上传
Vue.component('ImageUpload', ImageUpload) // 图片上传
Vue.component('ImagePreview', ImagePreview) // 图片预览
Vue.component('FileUpload', FileUpload) // 文件上传
Vue.component('Editor', Editor) // 富文本
Vue.component('Map', Map) // 地图
Vue.component('MapDetail', MapDetail) // 地图
Vue.component('filepReview', filepReview) // 图片文件预览
}
Vue.component("LayoutTable", LayoutTable); // 表格
Vue.component("LayoutForm", LayoutForm); // 表单
Vue.component("TableButtons", TableButtons); // 表格内的编辑和删除
Vue.component("FormButtons", FormButtons); // 表单内的保存和取消
Vue.component("Breadcrumb", Breadcrumb); // 面包屑导航
Vue.component("Field", FormField); // 表单字段
Vue.component("MySwitch", MySwitch); // 拨动开关
Vue.component("DeviceSwitch", DeviceSwitch); // 拨动开关
Vue.component("Confirm", Confirm); // 局部确认窗口
Vue.component("Upload", Upload); // 文件上传
Vue.component("ImageUpload", ImageUpload); // 图片上传
Vue.component("ImagePreview", ImagePreview); // 图片预览
Vue.component("FileUpload", FileUpload); // 文件上传
Vue.component("Editor", Editor); // 富文本
Vue.component("Map", Map); // 地图
Vue.component("MapDetail", MapDetail); // 地图
Vue.component("filepReview", filepReview); // 图片文件预览
Vue.component("buttonReview", buttonReview); // 点击按钮图片文件预览
};
export default Prototype;
// table-list 所需的一系列操作方法
/**
* formatter
*
......@@ -10,8 +9,8 @@
*/
const formatter = (tableData, column, val) => {
const key = column.property;
if(tableData.dict && tableData.dict[key]){
const dict = tableData.dict[key]
if (tableData.dict && tableData.dict[key]) {
const dict = tableData.dict[key];
return dict[val] || val;
}
return val;
......@@ -27,11 +26,11 @@ const formatter = (tableData, column, val) => {
const formatterAmount = (row, column) => {
const property = column.property;
const amount = row[property];
if(!amount){
return '0.00';
if (!amount) {
return "0.00";
}
if(amount == 0){
return '0.00';
if (amount == 0) {
return "0.00";
}
return amount;
};
......@@ -46,15 +45,19 @@ const formatterAmount = (row, column) => {
const formatterDate = (row, column) => {
const property = column.property;
const time = row[property];
if(!time) return '--';
let date = time.length<13?new Date(Number(time) * 1000) : new Date(Number(time));
let Y = date.getFullYear() + '-';
let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
let D = panLeft(date.getDate()) + ' ';
let h = panLeft(date.getHours()) + ':';
let m = panLeft(date.getMinutes()) + ':';
if (!time) return "--";
let date =
time.length < 13 ? new Date(Number(time) * 1000) : new Date(Number(time));
let Y = date.getFullYear() + "-";
let M =
(date.getMonth() + 1 < 10
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "-";
let D = panLeft(date.getDate()) + " ";
let h = panLeft(date.getHours()) + ":";
let m = panLeft(date.getMinutes()) + ":";
let s = panLeft(date.getSeconds());
return Y+M+D+h+m+s;
return Y + M + D + h + m + s;
};
/**
......@@ -67,16 +70,19 @@ const formatterDate = (row, column) => {
const formatterDateOnly = (row, column) => {
const property = column.property;
const time = row[property];
if(!time) return '-';
if (!time) return "-";
let date = new Date(Number(time));
let Y = date.getFullYear() + '-';
let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
let D = panLeft(date.getDate()) + ' ';
return Y+M+D;
let Y = date.getFullYear() + "-";
let M =
(date.getMonth() + 1 < 10
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "-";
let D = panLeft(date.getDate()) + " ";
return Y + M + D;
};
function panLeft(num){
return num < 10 ? '0'+num : num;
function panLeft(num) {
return num < 10 ? "0" + num : num;
}
/**
......@@ -90,18 +96,18 @@ function panLeft(num){
const find = (list, key, val) => {
let index = -1;
let data = null;
list.forEach((item, i)=>{
if(item[key] === val){
list.forEach((item, i) => {
if (item[key] === val) {
index = i;
data = JSON.parse(JSON.stringify(item));
return;
}
})
});
return {
index,
data,
}
}
};
};
/**
* 构造树型结构数据
......@@ -112,24 +118,34 @@ const find = (list, key, val) => {
* @param {*} rootId 根Id 默认 0
*/
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0
id = id || "id";
parentId = parentId || "parentId";
children = children || "children";
rootId =
rootId ||
Math.min.apply(
Math,
data.map((item) => {
return item[parentId];
})
) ||
null;
//对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data))
const cloneData = JSON.parse(JSON.stringify(data));
//循环所有项
const treeData = cloneData.filter(father => {
let branchArr = cloneData.filter(child => {
const treeData = cloneData.filter((father) => {
let branchArr = cloneData.filter((child) => {
//返回每一项的子级数组
return father[id] === child[parentId]
console.log(child[parentId]);
return father[id] === child[parentId];
});
branchArr.length > 0 ? father.children = branchArr : '';
branchArr.length > 0 ? (father.children = branchArr) : "";
//返回第一层
return father[parentId] === rootId;
});
return treeData != '' ? treeData : data;
};
console.log(treeData);
return treeData != "" ? treeData : data;
}
export {
formatter,
......@@ -137,5 +153,5 @@ export {
formatterDate,
formatterDateOnly,
find,
handleTree
handleTree,
};
// 列表-分页
// 列表-分页
<template>
<div class="pagination-wapper flex">
......@@ -9,7 +9,8 @@
:page-size="currSize"
:page-sizes="[10, 20, 50, 100, 200]"
layout="sizes, total, prev, pager, next, jumper"
:total="total">
:total="total"
>
</el-pagination>
</div>
</template>
......@@ -27,53 +28,49 @@ export default {
},
},
watch: {
'$route'(route) {
$route(route) {
console.log(route);
this.initPage(route.query);
}
},
},
created() {
this.initPage(this.$route.query);
},
methods: {
initPage(query) {
console.log("query",query)
this.currPage = parseInt(query['page']) || 1;
this.currSize = parseInt(query['size']) || this.prePageResult;
this.currPage = parseInt(query["page"]) || 1;
this.currSize = parseInt(query["size"]) || this.prePageResult;
},
changeHash(key, val) {
let {path, query} = this.$route;
let { path, query } = this.$route;
this.$router.push({
path: path,
query: Object.assign({}, query, {[`${key}`]: val})
})
query: Object.assign({}, query, { [`${key}`]: val }),
});
},
handleSizeChange(currSize) {
console.log("currsize"+currSize)
this.changeHash('size', currSize);
console.log("currsize" + currSize);
this.changeHash("size", currSize);
},
handleCurrentChange(currPage) {
this.changeHash('page', currPage);
this.changeHash("page", currPage);
},
},
data() {
return {
currPage: 1,
currSize: 10,
}
}
}
};
},
};
</script>
<style lang="less">
.pagination-wapper{
.pagination-wapper {
background: #fff;
margin-top: 10px;
.el-pagination{
.el-pagination {
margin-left: auto;
}
}
</style>
<template>
<div class="img-flex">
<el-image
:preview-src-list="fileList"
:src="require('../assets/images/picture.png')"
>
</el-image>
<!-- <el-image
:preview-src-list="[urlVal(item)]"
v-for="item in fileList"
:key="item"
>
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline" @click="handleClick"></i>
</div>
</el-image> -->
</div>
</template>
<script>
const baseUrl = process.env.VUE_APP_API_BASE_URL + "/";
const zwfwUrl = process.env.VUE_APP_API_ZWFW_URL + "/";
export default {
props: ["src", "row", "fileList"],
data() {
return {
// fileList: [],
};
},
created() {},
computed: {},
methods: {
// handleClick() {
// this.fileList = [];
// if (this.row.snapPath && this.row.filePaths) {
// this.src = this.row.snapPath + this.row.filePaths;
// } else {
// if (this.row.snapPath) {
// this.src = this.row.snapPath;
// } else {
// this.src = this.row.filePaths;
// }
// }
// this.fileList = this.src ? this.src.split(",") : [];
// this.fileList &&
// this.fileList.forEach((val) => {
// val.indexOf("zwfw_api_xnjc") == -1
// ? val.indexOf("http") == -1
// ? (val = baseUrl + val)
// : (val = val)
// : (val = zwfwUrl + val);
// });
// },
urlVal(val) {
return val.indexOf("zwfw_api_xnjc") == -1
? val.indexOf("http") == -1
? baseUrl + val
: val
: zwfwUrl + val;
},
},
};
</script>
<style lang="less" scoped>
.img-flex {
overflow: hidden;
display: inline-block;
vertical-align: middle;
.el-image {
width: 50px;
float: left;
border: 1px solid #ddd;
margin: 2px;
}
}
</style>
<template>
<div class="img-flex">
<el-image
:src="urlVal(item)"
:preview-src-list="[urlVal(item)]" alt="" v-for="item in fileList" :key="item"/>
</div>
<div class="img-flex">
<el-image
:src="urlVal(item)"
:preview-src-list="[urlVal(item)]"
alt=""
v-for="item in fileList"
:key="item"
/>
</div>
</template>
<script>
const baseUrl = process.env.VUE_APP_API_BASE_URL + "/";
const zwfwUrl = process.env.VUE_APP_API_ZWFW_URL + "/";
export default {
props:['src'],
data() {
return {}
props: ["src"],
data() {
return {};
},
created() {},
computed: {
fileList: function(v) {
return this.src ? this.src.split(",") : [];
},
created() {
console.log(this.src)
},
methods: {
urlVal(val) {
return val.indexOf("zwfw_api_xnjc") == -1
? val.indexOf("http") == -1
? (val = baseUrl + val)
: (val = val)
: (val = zwfwUrl + val);
},
computed: {
fileList:function(v){
return this.src?this.src.split(","):[]
}
},
methods: {
urlVal(val){
console.log(val,"2222")
return val.indexOf("http") == -1 ? baseUrl + val : val
}
},
}
},
};
</script>
<style lang="less" scoped>
.img-flex{
overflow: hidden;
display: inline-block;
vertical-align: middle;
.el-image{
width: 50px;
float: left;
border:1px solid #ddd;
margin: 2px;
}
.img-flex {
overflow: hidden;
display: inline-block;
vertical-align: middle;
.el-image {
width: 50px;
float: left;
border: 1px solid #ddd;
margin: 2px;
}
}
</style>
\ No newline at end of file
</style>
......@@ -37,7 +37,7 @@
@click="$emit('edit', row)"
title="核查"
style="margin-left: 0;margin-right: 5px"
>核查</el-button
>{{ text ? text : "核查" }}</el-button
>
<el-button
v-if="chuli"
......@@ -100,6 +100,10 @@ export default {
required: true,
default: () => {},
},
text: {
type: String,
default: "",
},
},
components: {
Confirm,
......
......@@ -64,11 +64,11 @@
/>
<Field
label="时长(单位:分钟)"
label="时长(单位:)"
disabled
prop="duration"
v-model="form.duration"
placeholder="请输入时长(分钟)"
placeholder="请输入时长()"
:maxLength="4"
/>
<Field
......@@ -143,7 +143,7 @@
<script>
import form from "@/assets/mixins/formdialog";
import valid from "@/assets/utils/vaild.js";
import { getMinu } from "@/assets/utils/dateFormat.js";
import { getMinu, getSec } from "@/assets/utils/dateFormat.js";
export default {
name: "AttendanceLeaveRecordDetail",
mixins: [form],
......@@ -280,7 +280,7 @@ export default {
changedate(val) {
if (this.form.startTime && this.form.endTime) {
if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) {
this.form.duration = getMinu(this.form.startTime, this.form.endTime);
this.form.duration = getSec(this.form.startTime, this.form.endTime);
} else {
this.$message.closeAll();
this.$message.error("结束日期需大于请假日期");
......
......@@ -135,7 +135,7 @@ export default {
{ label: "结束时间", prop: "endTime", formatter: this.formatterDate },
{ label: "时长", prop: "duration", formatter: this.formatter },
{ label: "时长", prop: "duration", formatter: this.formatteSec },
// {label: "审批负责人Id", prop: "approverId", formatter: this.formatter},
......
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig" notAdd notDel>
<el-button type="primary" @click="doExport" :disabled="isExport"
size="mini" slot="table-head-left2">导出</el-button>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig" notAdd notDel>
<el-button
type="primary"
@click="doExport"
:disabled="isExport"
size="mini"
slot="table-head-left2"
>导出</el-button
>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
......@@ -15,87 +21,119 @@ import table from "@/assets/mixins/table";
export default {
name: "AttendanceVacationBalanceList",
components: {
drawerShow
drawerShow,
},
mixins: [table],
created() {
},
created() {},
methods: {
// 导出
doExport(){
doExport() {
this.isExport = true;
let params = {}
for(let value of this.config.search){
if(this.query[value.name]){
params[value.name] = this.query[value.name]
}
let params = {};
for (let value of this.config.search) {
if (this.query[value.name]) {
params[value.name] = this.query[value.name];
}
}
if(this.selection.length>0){
params['idList'] = this.selection
if (this.selection.length > 0) {
params["idList"] = this.selection;
}
this.$download("/attendance/vacation/balance/exportExcel", {
...params
}, { type: "excel" }).then(() => this.isExport = false).catch(error => {
this.isExport = false;
this.$message.error(error.message);
})
this.$download(
"/attendance/vacation/balance/exportExcel",
{
...params,
},
{ type: "excel" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
});
},
/** 查看不同类型假期记录 */
handleCountDays(row,column,val){
handleCountDays(row, column, val) {
this.$refs.drawerform.view({
type:this.util_formatter('AllHolidays',column.property),
staffId:row.staffId,
id:row.id,
val
})
}
type: this.util_formatter("AllHolidays", column.property),
staffId: row.staffId,
id: row.id,
val,
});
},
},
data() {
return {
config: {
isshowTabPane:true,
isshowTabPane: true,
search: [
{
name: "deptId",
type: "select",
label: "全部部门",
fuzzy: true
name: "deptId",
type: "select",
label: "全部部门",
fuzzy: true,
},
{
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: true
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: true,
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "staffName"},
{label: "部门名称", prop: "deptName"},
{label: "入职时间", prop: "entryTime", formatter: this.formatterDate},
{label: "事假(天)", prop: "personalLeaveDays", formatter: this.formatterDay},
{label: "调休(天)", prop: "compensatedLeaveDays", formatter: this.formatterDay},
{label: "病假(天)", prop: "sickLeaveDays", formatter: this.formatterDay},
{label: "年假(天)", prop: "annualLeaveDays", formatter: this.formatterDay},
{label: "婚假(天)", prop: "marriageLeaveDays", formatter: this.formatterDay},
{label: "哺乳假(天)", prop: "breastfeedingLeaveDays", formatter: this.formatterDay},
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "员工姓名", prop: "staffName" },
{ label: "部门名称", prop: "deptName" },
{
label: "入职时间",
prop: "entryTime",
formatter: this.formatterDate,
},
{
label: "事假(天)",
prop: "personalLeaveDays",
formatter: this.formatterDay,
},
{
label: "调休(天)",
prop: "compensatedLeaveDays",
formatter: this.formatterDay,
},
{
label: "病假(天)",
prop: "sickLeaveDays",
formatter: this.formatterDay,
},
{
label: "年假(天)",
prop: "annualLeaveDays",
formatter: this.formatterDay,
},
{
label: "婚假(天)",
prop: "marriageLeaveDays",
formatter: this.formatterDay,
},
{
label: "哺乳假(天)",
prop: "breastfeedingLeaveDays",
formatter: this.formatterDay,
},
// {label: "创建用户", prop: "createUserId", formatter: this.formatter},
// {
// label: "操作",
// width: 240,
// formatter: row => {
// return (
// <table-buttons noAdd noEdit noView noDel row={row}
// <table-buttons noAdd noEdit noView noDel row={row}
// onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
// )
// }
// }
],
isExport:false
}
}
}
}
</script>
\ No newline at end of file
isExport: false,
},
};
},
};
</script>
......@@ -301,6 +301,7 @@ export default {
noDel
noEdit
reCheck
text={"考勤核查"}
noView
row={row}
onEdit={this.toEdit}
......
......@@ -251,7 +251,6 @@ export default {
},
},
{ label: "投诉设备", prop: "complainDevice" },
{ label: "绩效规则", prop: "ruleName" },
......@@ -308,6 +307,7 @@ export default {
noEdit
reCheck
noView
text={"投诉核查"}
row={row}
onEdit={this.toEdit}
onView={this.toView}
......
......@@ -64,7 +64,8 @@
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
import { downloadFile } from "@/assets/utils/index";
const baseUrl = process.env.VUE_APP_API_BASE_URL + "/";
const zwfwUrl = process.env.VUE_APP_API_ZWFW_URL + "/";
export default {
name: "CheckEffectRecordList",
components: {
......@@ -240,22 +241,45 @@ export default {
label: "图片凭证",
width: 150,
formatter: (row) => {
row.snapPath && row.snapPath !== ""
? (row.filePaths =
row.filePaths && row.filePaths !== ""
? row.filePaths + "," + row.snapPath
: row.snapPath)
: (row.filePaths = row.filePaths);
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>
<filepReview src={row.filePaths} />
let src = "";
if (row.snapPath && row.filePaths) {
src = row.snapPath + row.filePaths;
} else {
if (row.snapPath) {
src = row.snapPath;
} else {
src = row.filePaths;
}
}
row.fileList = src ? src.split(",") : [];
row.fileList &&
row.fileList.forEach((val) => {
val.indexOf("zwfw_api_xnjc") == -1
? val.indexOf("http") == -1
? (val = baseUrl + val)
: (val = val)
: (val = zwfwUrl + val);
});
return row.snapPath || row.filePaths ? (
<buttonReview row={row} fileList={row.fileList} />
) : (
"--"
);
// row.snapPath && row.snapPath !== ""
// ? row.filePaths && row.filePaths !== ""
// ? (row.filePaths = row.filePaths + "," + row.snapPath)
// : (row.filePaths = row.snapPath)
// : (row.filePaths = row.filePaths);
// 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>
// <filepReview src={row.filePaths} />
// );
},
},
......@@ -314,6 +338,7 @@ export default {
noEdit
reCheck
noView
text={"效能核查"}
row={row}
onEdit={this.toEdit}
onView={this.toView}
......
......@@ -296,6 +296,7 @@ export default {
noEdit
reCheck
noView
text={"办件核查"}
row={row}
onEdit={this.toEdit}
onView={this.toView}
......
......@@ -304,6 +304,7 @@ export default {
noEdit
reCheck
noView
text={"其他核查"}
row={row}
onEdit={this.toEdit}
onView={this.toView}
......
......@@ -305,6 +305,7 @@ export default {
noEdit
reCheck
noView
text={"差评核查"}
row={row}
onEdit={this.toEdit}
onView={this.toView}
......
......@@ -74,8 +74,8 @@ export default {
isshowTabPane: true,
search: [
{
name: "feedbackTimeStart",
type: "datetime",
name: "feedbackTimeStartStart",
type: "date",
label: "请选择日期",
fuzzy: false,
},
......
......@@ -451,6 +451,7 @@ export default {
let arr = this.ruleArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
this.form.subAddType = arr[0].subAddType;
},
cateChange() {
this.$post("/perform/rules/list", {
......
......@@ -157,7 +157,6 @@ export default {
methods: {
switchChange() {
console.log(this.switchValue);
this.switchValue == 0
? (this.typeArr = [
{
......@@ -171,11 +170,14 @@ export default {
sortKind: "desc",
},
]);
this.getKaoQin(this.cateObj.id);
},
handleClick(val, i) {
this.index = i;
this.cateObj = val;
this.$route.query.page = 1;
this.query.page = 1;
this.getKaoQin(val.id);
},
addRules() {
......@@ -225,6 +227,7 @@ export default {
categoryId,
type: this.activeName,
page: this.query.page,
size: this.query.size,
orderColList: this.typeArr,
andConditionList: [
{ content: `%${this.searchValue}%`, name: `%${this.searchValue}%` },
......
......@@ -28,7 +28,7 @@ export default {
created() {},
methods: {
handleClick(tab, event) {
this.$route.query.page = 1;
// this.$forceUpdate(this.activeName);
},
},
......
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<div class="page">
<LayoutTable :data="tableData" notAdd :config="tableConfig"> </LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "StaffOnboardList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
isshowTabPane: true,
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "StaffOnboardList",
components: {
dialogShow,
},
mixins: [table],
created() {},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
isshowTabPane: true,
search: [],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{label: "员工姓名", prop: "staffName"},
{ label: "员工姓名", prop: "staffName" },
{label: "性别", prop: "gender",formatter: this.formatter},
{ label: "性别", prop: "gender", formatter: this.formatter },
{label: "政治面貌 ", prop: "politicalstatus",formatter: this.formatter},
{
label: "政治面貌 ",
prop: "politicalstatus",
formatter: this.formatter,
},
{label: "员工类型", prop: "staffType",formatter: this.formatter},
{ label: "员工类型", prop: "staffType", formatter: this.formatter },
{label: "员工状态", prop: "onBoardStatus",formatter: this.formatter},
{
label: "员工状态",
prop: "onBoardStatus",
formatter: this.formatter,
},
{label: "入职时间", prop: "entryDate", formatter: this.formatterDate},
{
label: "入职时间",
prop: "entryDate",
formatter: this.formatterDate,
},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
{
label: "创建用户",
prop: "createUserId",
formatter: this.formatter,
},
{
label: "操作",
width: 240,
formatter: (row) => {
return (
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
};
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig"></LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig"></LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "WorkmanList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "WorkmanList",
components: {
dialogShow,
},
mixins: [table],
created() {},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
isshowTabPane: true,
search: [
{
name: "name",
type: "text",
label: "姓名",
fuzzy: true,
},
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
},
data() {
return {
config: {
isshowTabPane:true,
search: [
{
name: "name",
type: "text",
label: "姓名",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{ label: "部门名称", prop: "deptName" },
{label: "部门名称", prop: "deptName"},
{ label: "姓名", prop: "name" },
{label: "姓名", prop: "name"},
{ label: "工号", prop: "number" },
{label: "工号", prop: "number"},
{ label: "电话号码", prop: "phone" },
{label: "电话号码", prop: "phone"},
{ label: "照片", prop: "photoPath", formatter: this.formatterPic },
{label: "照片", prop: "photoPath",formatter:this.formatterPic},
{label: "创建时间", prop: "createTime", formatter: this.formatterDate},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd noView row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
{
label: "创建时间",
prop: "createTime",
formatter: this.formatterDate,
},
{
label: "操作",
width: 240,
formatter: (row) => {
return (
<table-buttons
noAdd
noView
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
};
</script>
\ No newline at end of file
},
};
</script>
......@@ -17,9 +17,15 @@ module.exports = {
hot: true,//自动保存
proxy: {
'/attendance': {
//target: 'http://192.168.0.98:11039',
//target: 'http://112.19.80.237:11039',
target: 'http://localhost:17500',
target: 'http://192.168.0.98:11039',
// target: 'http://112.19.80.237:11039',
// target: 'http://localhost:17500',
changeOrigin: true,
secure: false,
cookieDomainRewrite: 'localhost',
},
'/zwfw_api_xnjc': {
target: 'http://112.19.80.237:11031',
changeOrigin: true,
secure: false,
cookieDomainRewrite: 'localhost',
......
......@@ -123,6 +123,7 @@ public class DingMessageController {
log.info("审批详情:"+JSONObject.toJSONString(result) );
AttendanceLeaveRecordEntity leaveRecordEntity = new AttendanceLeaveRecordEntity();
AttendanceVacationBalanceEntity attendanceVacationBalanceEntity = new AttendanceVacationBalanceEntity();
attendanceVacationBalanceEntity.initAttrValue();
leaveRecordEntity.initAttrValue();
leaveRecordEntity.setRemark(processInstanceId); //将钉钉的事物id作为备注填入数据库
......@@ -145,12 +146,14 @@ public class DingMessageController {
attendanceVacationBalanceEntity.setEntryTime(staffEntity.getEntryDate());
if(result.getTasks().size() >0 ){
Date startTime = dateFormat(result.getTasks().get(0).getCreateTime(),"yyyy-MM-dd'T'HH:mm'Z'");
if(result.getTasks().get(0).getCreateTime() != null && result.getTasks().get(0).getFinishTime() != null){
Date startTime = dateFormat(result.getTasks().get(0).getCreateTime(),"yyyy-MM-dd'T'HH:mm'Z'");
Date endTime = dateFormat(result.getTasks().get(0).getFinishTime(),"yyyy-MM-dd'T'HH:mm'Z'");
leaveRecordEntity.setStartTime(startTime);
leaveRecordEntity.setEndTime(endTime);
leaveRecordEntity.setDuration((int) ((endTime.getTime() - startTime.getTime())/1000));
Date endTime = dateFormat(result.getTasks().get(0).getFinishTime(),"yyyy-MM-dd'T'HH:mm'Z'");
leaveRecordEntity.setStartTime(startTime);
leaveRecordEntity.setEndTime(endTime);
leaveRecordEntity.setDuration((int) ((endTime.getTime() - startTime.getTime())/1000));
}
}
String leave_code = LeaveRulesEnum.事假.getLeave_code();
......@@ -239,7 +242,7 @@ public class DingMessageController {
break;
case "探亲假":
leaveRecordEntity.setLeaveType(21);
leave_code = LeaveRulesEnum..getLeave_code();
leave_code = LeaveRulesEnum.探亲.getLeave_code();
break;
default:
leaveRecordEntity.setLeaveType(1); //默认事假
......@@ -258,7 +261,7 @@ public class DingMessageController {
}else if (result.getFormComponentValues().size() > 2) { //上传的附件
GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues picEntity = result.getFormComponentValues().get(2);
if(picEntity.getName().equals("图片") && picEntity.getValue() != null){
leaveRecordEntity.setReason(picEntity.getValue());
leaveRecordEntity.setAttachmentPath(picEntity.getValue());
}
}
......
......@@ -27,6 +27,11 @@ public class FeedbackVo extends BaseEntityLong {
/** 反馈状态 */
private Integer backStatus;
/** 开始 反馈开始时间 */
private String feedbackTimeStartStart;
/** 结束 反馈开始时间 */
private String feedbackTimeStartEnd;
private List<FeedbackAnswerEntity> feedbackAnswerList=new ArrayList<>();;
}
\ No newline at end of file
......@@ -164,48 +164,48 @@
<select id="getScoreSummary" parameterType="com.mortals.xhx.module.check.model.vo.StaffCheckSummaryQuery" resultType="com.mortals.xhx.module.check.model.vo.CheckAllScoreSummaryVo">
SELECT sum(0-a.initScore) AS initScore,sum(0-a.checkScore) AS checkScore,sum(a.appealScore) AS appealScore,sum(0-a.checkScore-a.appealScore) AS total FROM (
SELECT sum(CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) as initScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) appealScore
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) ELSE 0 END) appealScore
FROM mortals_xhx_check_attend_record WHERE 1=1
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
UNION
SELECT sum(CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) as initScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) appealScore
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) ELSE 0 END) appealScore
FROM mortals_xhx_check_effect_record WHERE 1=1
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
UNION
SELECT sum(CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) as initScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) appealScore
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) ELSE 0 END) appealScore
FROM mortals_xhx_check_complain_record WHERE 1=1
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
UNION
SELECT sum(CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) as initScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) appealScore
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) ELSE 0 END) appealScore
FROM mortals_xhx_check_gowork_record WHERE 1=1
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
UNION
SELECT sum(CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) as initScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) appealScore
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) ELSE 0 END) appealScore
FROM mortals_xhx_check_review_record WHERE 1=1
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
UNION
SELECT sum(CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) as initScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) appealScore
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN 0 ELSE (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) END) ELSE 0 END) ELSE 0 END) checkScore,
sum(CASE checkStatus WHEN 2 THEN (CASE checkResult WHEN '1' THEN (CASE subMethod WHEN 4 THEN (CASE subAddType WHEN 1 THEN score ELSE score*-1 END) ELSE 0 END) ELSE 0 END) ELSE 0 END) appealScore
FROM mortals_xhx_check_other_record WHERE 1=1
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......
......@@ -11,7 +11,7 @@
SUM(CASE subAddType WHEN 1 THEN score ELSE score*-1 END) as sumScore
FROM
mortals_xhx_check_attend_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......@@ -30,7 +30,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as attendScoreSub
FROM
mortals_xhx_check_attend_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......@@ -49,7 +49,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as attendScoreSub
FROM
mortals_xhx_check_attend_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......
......@@ -30,7 +30,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as complainScoreSub
FROM
mortals_xhx_check_complain_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......@@ -49,7 +49,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as complainScoreSub
FROM
mortals_xhx_check_complain_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......
......@@ -30,7 +30,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as effectScoreSub
FROM
mortals_xhx_check_effect_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......@@ -49,7 +49,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as effectScoreSub
FROM
mortals_xhx_check_effect_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......
......@@ -30,7 +30,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as attendScoreSub
FROM
mortals_xhx_check_gowork_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......@@ -49,7 +49,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as goworkScoreSub
FROM
mortals_xhx_check_gowork_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......
......@@ -30,7 +30,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as otherScoreSub
FROM
mortals_xhx_check_other_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......@@ -49,7 +49,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as otherScoreSub
FROM
mortals_xhx_check_other_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......
......@@ -30,7 +30,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as reviewScoreSub
FROM
mortals_xhx_check_review_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......@@ -49,7 +49,7 @@
SUM(CASE subAddType WHEN 2 THEN score ELSE 0 END) as reviewScoreSub
FROM
mortals_xhx_check_review_record
WHERE checkStatus = 2
WHERE checkStatus = 2 and checkResult = 1
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
......
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