更改了标头配置 人员考勤打印 设备中台bug修复 骆乐

This commit is contained in:
骆乐 2022-06-23 16:29:13 +08:00
parent f1d3b8879c
commit a01a3502b1
10 changed files with 195 additions and 42 deletions

View File

@ -184,6 +184,7 @@ export default {
detailMessage: '详情信息', detailMessage: '详情信息',
monthData: '月份数据', monthData: '月份数据',
recountData: '重新计算考勤数据', recountData: '重新计算考勤数据',
attendPrint:'考勤打印',
temperature: '温度', temperature: '温度',
hint1: '请选择导出详细数据时间段', hint1: '请选择导出详细数据时间段',
hint2: '请选择重新计算考勤的时间段', hint2: '请选择重新计算考勤的时间段',

View File

@ -5,5 +5,5 @@ import {post,get} from '../http'
export const getPageListData = data => post('xmgl/workerMonthAttendanceStatistics/selectMonthAttendanceByPage', data); //查询考勤列表 export const getPageListData = data => post('xmgl/workerMonthAttendanceStatistics/selectMonthAttendanceByPage', data); //查询考勤列表
export const getSelectDateilApi = data => post('xmgl/workerAttendance/viewDayAttendanceList', data); //查询人员考勤个人考勤详情 export const getSelectDateilApi = data => post('xmgl/workerAttendance/viewDayAttendanceList', data); //查询人员考勤个人考勤详情
export const getAfreshMonthAttendanceStatisticsApi = data => post('xmgl/workerMonthAttendanceStatistics/getAfreshMonthAttendanceStatistics', data); //重新计算考勤数据 export const getAfreshMonthAttendanceStatisticsApi = data => post('xmgl/workerMonthAttendanceStatistics/getAfreshMonthAttendanceStatistics', data); //重新计算考勤数据
export const attendFsdApi = data => get('/xmgl/workerWagesPayment/attendancePdf', data); //考勤pdf下载

View File

@ -14,7 +14,8 @@
<el-avatar size="large" icon="el-icon-user-solid"></el-avatar> <el-avatar size="large" icon="el-icon-user-solid"></el-avatar>
<div style="margin-left:10px"> <div style="margin-left:10px">
<p>{{ $store.state.userInfo.companyName }}</p> <p>{{ $store.state.userInfo.companyName }}</p>
<p>客服电话{{$store.state.userInfo.customerServicePhone}}</p> <!-- 横琴不需要客服电话-->
<!-- <p>客服电话{{$store.state.userInfo.customerServicePhone}}</p> -->
</div> </div>
</div> </div>
<!-- <div class="flex2" style="margin-top:20px"> <!-- <div class="flex2" style="margin-top:20px">
@ -36,7 +37,7 @@
) " ) "
> >
<img src="@/assets/images/xmht.png" width="15px" height="15px" /> <img src="@/assets/images/xmht.png" width="15px" height="15px" />
<span>企业前台</span> <span>{{enterpriseFront}}</span>
</div> </div>
<!-- // --> <!-- // -->
<div <div
@ -50,7 +51,8 @@
> >
<img src="@/assets/images/yyht.png" width="15px" height="15px" /> <img src="@/assets/images/yyht.png" width="15px" height="15px" />
<!-- <span>{{$t('message.companyDiagram.operatingCenter')}}</span> --> <!-- <span>{{$t('message.companyDiagram.operatingCenter')}}</span> -->
<span>企业后台</span> <!-- <span>企业后台</span> -->
<span>{{ enterpriseBackground }}</span>
</div> </div>
<!-- 项目后台 --> <!-- 项目后台 -->
<div <div
@ -64,7 +66,8 @@
" "
> >
<img src="@/assets/images/xmht.png" width="15px" height="15px" /> <img src="@/assets/images/xmht.png" width="15px" height="15px" />
<span>{{ $t("message.companyDiagram.projectBackEnd") }}</span> <!-- $t("message.companyDiagram.projectBackEnd") -->
<span>{{projectBackground}}</span>
</div> </div>
<!-- 设备中台 --> <!-- 设备中台 -->
<div <div
@ -76,7 +79,8 @@
" "
> >
<img src="@/assets/images/xmht.png" width="15px" height="15px" /> <img src="@/assets/images/xmht.png" width="15px" height="15px" />
<span>{{ $t("message.companyDiagram.devCenter") }}</span> <!-- <span>{{ $t("message.companyDiagram.devCenter") }}</span> -->
<span>{{equipmentChina}}</span>
</div> </div>
<!-- <div <!-- <div
@ -92,9 +96,10 @@
<span>{{ $t("message.companyDiagram.devCenter") }}</span> <span>{{ $t("message.companyDiagram.devCenter") }}</span>
</div> --> </div> -->
<!-- // --> <!-- // -->
<div class="width_100" @click="goto3"> <div class="width_100" @click="goto3" v-if="dataCenter1 != 1">
<img src="@/assets/images/zlzx.png" width="15px" height="15px" /> <img src="@/assets/images/zlzx.png" width="15px" height="15px" />
<span>{{ $t("message.docManage.fileCenter") }}</span> <!-- <span>{{ $t("message.docManage.fileCenter") }}</span> -->
<span>{{ dataCenter }}</span>
</div> </div>
</div> </div>
@ -107,7 +112,8 @@
<p class="color_fff" style="margin-bottom: 0">{{ $store.state.userInfo.account }}</p> <p class="color_fff" style="margin-bottom: 0">{{ $store.state.userInfo.account }}</p>
<!-- <p class="color_fff">{{$store.state.ACCOUNTTYPE[$store.state.userInfo.accountType-1]}}</p> --> <!-- <p class="color_fff">{{$store.state.ACCOUNTTYPE[$store.state.userInfo.accountType-1]}}</p> -->
<p class="color_fff"> <p class="color_fff">
{{ $store.state.userInfo.menuAuthority.roleName }} <!-- {{ $store.state.userInfo.menuAuthority.roleName }} -->
{{headerConfiguration}}
</p> </p>
</div> </div>
<i class="el-icon-arrow-down" style="color: #fff"></i> <i class="el-icon-arrow-down" style="color: #fff"></i>
@ -119,14 +125,27 @@
export default { export default {
data() { data() {
return { return {
messageB:'', loginData:'',
msgB:'', dataCenter1:'',
seeEquipment: 1, //01 projectBackground:'项目后台',
enterpriseBackground:'企业后台',
headerConfiguration:"公司管理员",//
enterpriseFront:'企业前台',//
equipmentChina:'设备中台',//
dataCenter:"资料中心",//
}; };
}, },
mounted() { mounted() {
this.seeEquipment = this.$store.state.userInfo.seeEquipment; this.seeEquipment = this.$store.state.userInfo.seeEquipment;
this.loginData = JSON.parse(localStorage.getItem('systemInfo'))
this.headerConfiguration = this.loginData.headerConfiguration
this.projectBackground = this.loginData.projectBackground
this.enterpriseBackground = this.loginData.enterpriseBackground
this.dataCenter1 = this.loginData.dataCenter
this.equipmentChina = this.loginData.equipmentChina
// console.log('',this.projectBackground)
// console.log('',this.enterpriseBackground)
}, },
methods: { methods: {
sendMsg2() { sendMsg2() {
@ -261,7 +280,7 @@ export default {
}, },
// //
goDevcenter(value) { goDevcenter(value) {
this.$store.commit("setProjectSn", value.projectSn); // this.$store.commit("setProjectSn", value.projectSn);
window.open("/equipmentCenter.html#/equipmentCenterIndx", "_self"); window.open("/equipmentCenter.html#/equipmentCenterIndx", "_self");
window._paq.push(['trackEvent', '点击', '设备中台','进入设备中台' ]) window._paq.push(['trackEvent', '点击', '设备中台','进入设备中台' ])
}, },

View File

@ -128,6 +128,7 @@ export default {
LOGO_white:LOGO_white, LOGO_white:LOGO_white,
headerName:'', headerName:'',
isShowAudio: false, isShowAudio: false,
loginData:{},
systemInfo:{ systemInfo:{
"loginBackgroundImage": "", "loginBackgroundImage": "",
"loginLogo": "", "loginLogo": "",
@ -159,6 +160,8 @@ export default {
}, },
created(){ created(){
this.company = COMPANY; this.company = COMPANY;
this.loginData = JSON.parse(localStorage.getItem('systemInfo'))
// console.log('',this.loginData)
}, },
mounted() { mounted() {

View File

@ -82,6 +82,24 @@
<el-radio label="2">城市</el-radio> <el-radio label="2">城市</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="标头配置" prop="headerConfiguration">
<el-input style="width:150px" v-model="form.headerConfiguration"></el-input>
</el-form-item>
<el-form-item label="企业后台" prop="enterpriseBackground">
<el-input style="width:150px" v-model="form.enterpriseBackground"></el-input>
</el-form-item>
<el-form-item label="企业前台" prop="enterpriseFront">
<el-input style="width:150px" v-model="form.enterpriseFront"></el-input>
</el-form-item>
<el-form-item label="项目后台" prop="projectBackground">
<el-input style="width:150px" v-model="form.projectBackground"></el-input>
</el-form-item>
<el-form-item label="设备中台" prop="equipmentChina">
<el-input style="width:150px" v-model="form.equipmentChina"></el-input>
</el-form-item>
<el-form-item label="资料中心" prop="dataCenter">
<el-input style="width:150px" v-model="form.dataCenter"></el-input>
</el-form-item>
<!-- <el-form-item :label="''" > <!-- <el-form-item :label="''" >
<el-button type="primary" style="width: 200px" @click="submitData">保存</el-button> <el-button type="primary" style="width: 200px" @click="submitData">保存</el-button>
</el-form-item> --> </el-form-item> -->
@ -105,7 +123,13 @@ export default {
"loginLogo": "", "loginLogo": "",
"platformLogo": "", "platformLogo": "",
"platformName": "", "platformName": "",
"bigScreenLogo": "" "bigScreenLogo": "",
headerConfiguration:"",//
enterpriseBackground:'',//
enterpriseFront:'',//
projectBackground:'',//
equipmentChina:'',//
dataCenter:"",//
}, },
zoomType: '0', zoomType: '0',
iconType: '1', iconType: '1',
@ -172,12 +196,21 @@ export default {
this.form.zoomType = this.zoomType this.form.zoomType = this.zoomType
this.form.iconType = this.iconType this.form.iconType = this.iconType
this.form.areaType = this.areaType this.form.areaType = this.areaType
editSystemLogoConfigApi(this.form).then((res) => { // console.log('',this.form)
this.$message.success(this.$t('message.companyDiagram.editSuccess'));// editSystemLogoConfigApi(this.form).then((res) => {
this.getDetail() console.log('编辑的结果',res)
}); if(res.success){
this.$message.success(this.$t('message.companyDiagram.editSuccess'));//
} else { this.getDetail()
this.form.headerConfiguration = "",//
this.form.enterpriseBackground='',//
this.form.enterpriseFront='',//
this.form.projectBackground='',//
this.form.equipmentChina='',//
this.form.dataCenter=""//
}
})
}else {
console.log("error submit!!"); console.log("error submit!!");
return false; return false;
} }

View File

@ -197,6 +197,15 @@
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<div class="dialog-footer"> <div class="dialog-footer">
<!-- 取消按钮 -->
<el-button
type="primary"
plain
icon="el-icon-circle-close"
@click="cancelBeaconFn"
size="medium"
>取消
</el-button>
<el-button <el-button
type="primary" type="primary"
icon="el-icon-circle-check" icon="el-icon-circle-check"
@ -611,7 +620,7 @@
}, },
getList() { getList() {
ufaceDevList({projectSn: this.$store.state.projectSn}).then((list) => { ufaceDevList({projectSn: this.$store.state.projectSn}).then((list) => {
console.log("list", list); console.log("列表", list);
this.pointList = list.result; this.pointList = list.result;
}); });
}, },
@ -714,6 +723,20 @@
}); });
}) })
}, },
//
cancelBeaconFn(){
this.initDialog = false
this.beaconForm= {
supplierType: '',
appId: "",
appSecret: "",
appKey: "",
projectSn: this.$store.state.projectSn,
housing:'',
issueDev:"",
serviceUrl:''
}
},
saveBeaconFn() { saveBeaconFn() {
this.$refs["beaconForm"].validate((valid) => { this.$refs["beaconForm"].validate((valid) => {
if (valid) { if (valid) {
@ -723,17 +746,19 @@
this.beaconForm.housing=0 this.beaconForm.housing=0
} }
projectUfaceConfigEdit(this.beaconForm).then((res) => { projectUfaceConfigEdit(this.beaconForm).then((res) => {
this.beaconDialog = false; console.log('初始化设备',res)
this.initDialog = false;
this.getConfig();//??? this.getConfig();//???
// this.getList(); // this.getList();
this.$message.success( this.$message.success(
this.$t("message.personnelPosition.add_success") this.$t("message.personnelPosition.add_success")
); // ); //
this.beaconDialog = false;
this.initDialog = false;
}); });
} else { } else {
console.log("error submit!!"); console.log("error submit!!");
return false; return false;
} }
}); });
}, },

View File

@ -117,6 +117,34 @@
@click="exportForm" @click="exportForm"
>导出表格</el-button >导出表格</el-button
> >
<el-dialog
title="请选择下载日期"
:visible.sync="selectTime"
width="30%"
>
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="100px"
>
<el-form-item label="选择时间" prop="time">
<el-date-picker
v-model="ruleForm.time"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
style="width: 80%;"
@change="getTime"
>
</el-date-picker>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="selectTime = false"> </el-button>
<el-button type="primary" @click="submit()"> </el-button>
</span>
</el-dialog>
</div> </div>
</el-main> </el-main>
</el-container> </el-container>
@ -133,12 +161,26 @@ import moment from "moment";
export default { export default {
data() { data() {
return { return {
rules: {
time: [
{
required: true,
message: "请选择需要打印的日期",
trigger: "change",
},
],
},
ruleForm: {
time: "",
},
queryTime: "", //
selectTime: false, //
moment: moment, moment: moment,
searchWord: "", // searchWord: "", //
dataIndex: 0, dataIndex: 0,
projectList: [], projectList: [],
projectSn: "", projectSn: "",
userEnterpriseId:'', userEnterpriseId: "",
enterpriseId: "", enterpriseId: "",
statisticalData: { statisticalData: {
workerNum: 0, // workerNum: 0, //
@ -157,6 +199,7 @@ export default {
created() { created() {
this.projectSn = this.$store.state.projectSn; this.projectSn = this.$store.state.projectSn;
this.userEnterpriseId = this.$store.state.userInfo.userEnterpriseId; this.userEnterpriseId = this.$store.state.userInfo.userEnterpriseId;
// console.log('-----',this.userEnterpriseId)
}, },
mounted() { mounted() {
this.getProjectList(); this.getProjectList();
@ -230,7 +273,7 @@ export default {
}, },
boundaryGap: true, boundaryGap: true,
axisLabel: { axisLabel: {
formatter: function (val) { formatter: function(val) {
let index = val.indexOf("-"); let index = val.indexOf("-");
val = val.slice(index + 1); val = val.slice(index + 1);
return val; return val;
@ -352,7 +395,7 @@ export default {
lineHeight: 30, lineHeight: 30,
}, },
padding: 10, padding: 10,
formatter: function (params) { formatter: function(params) {
var tip = "时间:" + params[0].name + "<br/>"; var tip = "时间:" + params[0].name + "<br/>";
for (var i = 0, l = params.length; i < l; i++) { for (var i = 0, l = params.length; i < l; i++) {
tip += tip +=
@ -384,7 +427,7 @@ export default {
type: "shadow", type: "shadow",
}, },
axisLabel: { axisLabel: {
formatter: function (val) { formatter: function(val) {
let index = val.indexOf("-"); let index = val.indexOf("-");
val = val.slice(index + 1); val = val.slice(index + 1);
return val; return val;
@ -476,10 +519,10 @@ export default {
selectProjectAllEnterpriseList({ selectProjectAllEnterpriseList({
projectSn: this.projectSn, projectSn: this.projectSn,
enterpriseName: this.searchWord, enterpriseName: this.searchWord,
userEnterpriseId:this.userEnterpriseId userEnterpriseId: this.userEnterpriseId,
}).then((res) => { }).then((res) => {
if (res.code == 200) { if (res.code == 200) {
console.log('企业列表的信息',res); console.log("企业列表的信息", res);
this.projectList = res.result; this.projectList = res.result;
this.enterpriseId = this.projectList[0].enterpriseId; this.enterpriseId = this.projectList[0].enterpriseId;
this.enterpriseName = this.projectList[0].name; this.enterpriseName = this.projectList[0].name;
@ -514,7 +557,6 @@ export default {
: this.selectType, : this.selectType,
enterpriseId: this.enterpriseId, enterpriseId: this.enterpriseId,
}).then((res) => { }).then((res) => {
let dateArray = []; let dateArray = [];
let notCodeNum = []; let notCodeNum = [];
let redCodeNum = []; let redCodeNum = [];
@ -581,15 +623,32 @@ export default {
"xmgl/projectEnterpriseWorkerStatistics/exporExcelProjectEnterpriseWorkerStatistics?projectSn=" + "xmgl/projectEnterpriseWorkerStatistics/exporExcelProjectEnterpriseWorkerStatistics?projectSn=" +
this.$store.state.projectSn + this.$store.state.projectSn +
"&enterpriseName=" + "&enterpriseName=" +
this.searchWord; this.searchWord +
"&userEnterpriseId=" +
this.userEnterpriseId;
}, },
exportForm() { exportForm() {
window.location.href = this.selectTime = true;
this.$http.defaults.baseURL + },
"xmgl/projectEnterpriseWorkerStatistics/exporExcelProjectEnterpriseWorkerStatistics?projectSn=" + getTime(val) {
this.$store.state.projectSn + console.log("时间", val);
"&enterpriseName=" + this.queryTime = val;
this.enterpriseName; },
submit() {
this.$refs.ruleForm.validate((valid) => {
if (valid) {
window.location.href =
this.$http.defaults.baseURL +
"xmgl/projectEnterpriseWorkerStatistics/exporExcelDayEnterpriseWorkerStatisticsDetail?projectSn=" +
this.$store.state.projectSn +
"&userEnterpriseId=" +
this.userEnterpriseId +
"&queryTime=" +
this.queryTime +
"&enterpriseId=" +
this.enterpriseId;
}
});
}, },
}, },
}; };
@ -728,4 +787,4 @@ export default {
right: 3%; right: 3%;
} }
} }
</style> </style>

View File

@ -104,6 +104,7 @@
<el-button type="primary" @click="selectDateType=1;exportDialog=true" >{{$t("message.laborMange.export")+$t("message.laborMange.detailData")}}</el-button> <el-button type="primary" @click="selectDateType=1;exportDialog=true" >{{$t("message.laborMange.export")+$t("message.laborMange.detailData")}}</el-button>
<el-button type="primary" @click="exportMonthlyData" >{{$t("message.laborMange.export")+$t("message.laborMange.monthData")}}</el-button> <el-button type="primary" @click="exportMonthlyData" >{{$t("message.laborMange.export")+$t("message.laborMange.monthData")}}</el-button>
<el-button type="primary" @click="selectDateType=2;exportDialog=true" >{{$t("message.laborMange.recountData")}}</el-button> <el-button type="primary" @click="selectDateType=2;exportDialog=true" >{{$t("message.laborMange.recountData")}}</el-button>
<el-button type="primary" @click="attendancePrint"><a :href="printPdf" class="printPdf">{{$t("message.laborMange.attendPrint")}}</a></el-button>
<!-- <el-button type="primary" @click="importAttendanceData" >导入考勤数据</el-button> --> <!-- <el-button type="primary" @click="importAttendanceData" >导入考勤数据</el-button> -->
</el-form-item> </el-form-item>
<!-- <div class="doloadExcel">考勤模板下载</div> --> <!-- <div class="doloadExcel">考勤模板下载</div> -->
@ -443,12 +444,12 @@
import scroll from "vue-seamless-scroll"; import scroll from "vue-seamless-scroll";
import { import {
getPageListData, getPageListData,
getSelectDateilApi,getAfreshMonthAttendanceStatisticsApi getSelectDateilApi,getAfreshMonthAttendanceStatisticsApi,attendFsdApi
} from "@/assets/js/api/attendanceManage"; } from "@/assets/js/api/attendanceManage";
import { import {
getDepartmentInfoList, getDepartmentInfoList,
getTeamInfoList, getTeamInfoList,
getEnterpriseInfoList getEnterpriseInfoList
} from "@/assets/js/api/laborPerson"; } from "@/assets/js/api/laborPerson";
export default { export default {
name: "attendanceManage", name: "attendanceManage",
@ -457,6 +458,7 @@ export default {
}, },
data() { data() {
return { return {
printPdf:"",
nucleicAcidResultsList:{ nucleicAcidResultsList:{
0:"未知", 0:"未知",
1:"阴性", 1:"阴性",
@ -525,6 +527,12 @@ export default {
}, },
methods: { methods: {
//
attendancePrint(){
this.printPdf = this.$http.defaults.baseURL + 'xmgl/workerWagesPayment/attendancePdf?monthTime=' +
this.formInline.monthTime +'&personType=' + this.formInline.personType + '&projectSn=' + this.$store.state.projectSn
// console.log('', this.printPdf )
},
// //
importAttendanceData(){ importAttendanceData(){
@ -675,6 +683,10 @@ export default {
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.printPdf{
text-decoration: none;
color: white;
}
.flex { .flex {
display: flex; display: flex;
align-content: center; align-content: center;

View File

@ -191,6 +191,7 @@
<span>{{ workerInfo.workerName }}</span> <span>{{ workerInfo.workerName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 身份证正反面 -->
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item
:label=" :label="
@ -2276,7 +2277,7 @@ export default {
if (res.code == 200) { if (res.code == 200) {
this.originalData = res.result; this.originalData = res.result;
let data = JSON.parse(JSON.stringify(res.result)); let data = JSON.parse(JSON.stringify(res.result));
console.log(data); console.log('基本人员信息',data.workerInfo);
this.workerInfo = data.workerInfo; // this.workerInfo = data.workerInfo; //
if (this.workerInfo.ruleId == 0) { if (this.workerInfo.ruleId == 0) {
this.workerInfo.ruleId = ""; this.workerInfo.ruleId = "";

View File

@ -46,7 +46,7 @@ export default {
userEnterpriseId: this.userEnterpriseId userEnterpriseId: this.userEnterpriseId
}; };
selectProjectComapnyWorkTotalListApi(data).then((res) => { selectProjectComapnyWorkTotalListApi(data).then((res) => {
console.log('res',res) console.log('报表中心数据res',res)
if (res.code == 200) { if (res.code == 200) {
var Data = res.result; var Data = res.result;
var xData = [], var xData = [],