更改了标头配置 人员考勤打印 设备中台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: '详情信息',
monthData: '月份数据',
recountData: '重新计算考勤数据',
attendPrint:'考勤打印',
temperature: '温度',
hint1: '请选择导出详细数据时间段',
hint2: '请选择重新计算考勤的时间段',

View File

@ -5,5 +5,5 @@ import {post,get} from '../http'
export const getPageListData = data => post('xmgl/workerMonthAttendanceStatistics/selectMonthAttendanceByPage', data); //查询考勤列表
export const getSelectDateilApi = data => post('xmgl/workerAttendance/viewDayAttendanceList', 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>
<div style="margin-left:10px">
<p>{{ $store.state.userInfo.companyName }}</p>
<p>客服电话{{$store.state.userInfo.customerServicePhone}}</p>
<!-- 横琴不需要客服电话-->
<!-- <p>客服电话{{$store.state.userInfo.customerServicePhone}}</p> -->
</div>
</div>
<!-- <div class="flex2" style="margin-top:20px">
@ -36,7 +37,7 @@
) "
>
<img src="@/assets/images/xmht.png" width="15px" height="15px" />
<span>企业前台</span>
<span>{{enterpriseFront}}</span>
</div>
<!-- // -->
<div
@ -50,7 +51,8 @@
>
<img src="@/assets/images/yyht.png" width="15px" height="15px" />
<!-- <span>{{$t('message.companyDiagram.operatingCenter')}}</span> -->
<span>企业后台</span>
<!-- <span>企业后台</span> -->
<span>{{ enterpriseBackground }}</span>
</div>
<!-- 项目后台 -->
<div
@ -64,7 +66,8 @@
"
>
<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
@ -76,7 +79,8 @@
"
>
<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
@ -92,9 +96,10 @@
<span>{{ $t("message.companyDiagram.devCenter") }}</span>
</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" />
<span>{{ $t("message.docManage.fileCenter") }}</span>
<!-- <span>{{ $t("message.docManage.fileCenter") }}</span> -->
<span>{{ dataCenter }}</span>
</div>
</div>
@ -107,7 +112,8 @@
<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.userInfo.menuAuthority.roleName }}
<!-- {{ $store.state.userInfo.menuAuthority.roleName }} -->
{{headerConfiguration}}
</p>
</div>
<i class="el-icon-arrow-down" style="color: #fff"></i>
@ -119,14 +125,27 @@
export default {
data() {
return {
messageB:'',
msgB:'',
seeEquipment: 1, //01
loginData:'',
dataCenter1:'',
projectBackground:'项目后台',
enterpriseBackground:'企业后台',
headerConfiguration:"公司管理员",//
enterpriseFront:'企业前台',//
equipmentChina:'设备中台',//
dataCenter:"资料中心",//
};
},
mounted() {
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: {
sendMsg2() {
@ -261,7 +280,7 @@ export default {
},
//
goDevcenter(value) {
this.$store.commit("setProjectSn", value.projectSn);
// this.$store.commit("setProjectSn", value.projectSn);
window.open("/equipmentCenter.html#/equipmentCenterIndx", "_self");
window._paq.push(['trackEvent', '点击', '设备中台','进入设备中台' ])
},

View File

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

View File

@ -82,6 +82,24 @@
<el-radio label="2">城市</el-radio>
</el-radio-group>
</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-button type="primary" style="width: 200px" @click="submitData">保存</el-button>
</el-form-item> -->
@ -105,7 +123,13 @@ export default {
"loginLogo": "",
"platformLogo": "",
"platformName": "",
"bigScreenLogo": ""
"bigScreenLogo": "",
headerConfiguration:"",//
enterpriseBackground:'',//
enterpriseFront:'',//
projectBackground:'',//
equipmentChina:'',//
dataCenter:"",//
},
zoomType: '0',
iconType: '1',
@ -172,12 +196,21 @@ export default {
this.form.zoomType = this.zoomType
this.form.iconType = this.iconType
this.form.areaType = this.areaType
editSystemLogoConfigApi(this.form).then((res) => {
this.$message.success(this.$t('message.companyDiagram.editSuccess'));//
this.getDetail()
});
} else {
// console.log('',this.form)
editSystemLogoConfigApi(this.form).then((res) => {
console.log('编辑的结果',res)
if(res.success){
this.$message.success(this.$t('message.companyDiagram.editSuccess'));//
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!!");
return false;
}

View File

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

View File

@ -117,6 +117,34 @@
@click="exportForm"
>导出表格</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>
</el-main>
</el-container>
@ -133,12 +161,26 @@ import moment from "moment";
export default {
data() {
return {
rules: {
time: [
{
required: true,
message: "请选择需要打印的日期",
trigger: "change",
},
],
},
ruleForm: {
time: "",
},
queryTime: "", //
selectTime: false, //
moment: moment,
searchWord: "", //
dataIndex: 0,
projectList: [],
projectSn: "",
userEnterpriseId:'',
userEnterpriseId: "",
enterpriseId: "",
statisticalData: {
workerNum: 0, //
@ -157,6 +199,7 @@ export default {
created() {
this.projectSn = this.$store.state.projectSn;
this.userEnterpriseId = this.$store.state.userInfo.userEnterpriseId;
// console.log('-----',this.userEnterpriseId)
},
mounted() {
this.getProjectList();
@ -230,7 +273,7 @@ export default {
},
boundaryGap: true,
axisLabel: {
formatter: function (val) {
formatter: function(val) {
let index = val.indexOf("-");
val = val.slice(index + 1);
return val;
@ -352,7 +395,7 @@ export default {
lineHeight: 30,
},
padding: 10,
formatter: function (params) {
formatter: function(params) {
var tip = "时间:" + params[0].name + "<br/>";
for (var i = 0, l = params.length; i < l; i++) {
tip +=
@ -384,7 +427,7 @@ export default {
type: "shadow",
},
axisLabel: {
formatter: function (val) {
formatter: function(val) {
let index = val.indexOf("-");
val = val.slice(index + 1);
return val;
@ -476,10 +519,10 @@ export default {
selectProjectAllEnterpriseList({
projectSn: this.projectSn,
enterpriseName: this.searchWord,
userEnterpriseId:this.userEnterpriseId
userEnterpriseId: this.userEnterpriseId,
}).then((res) => {
if (res.code == 200) {
console.log('企业列表的信息',res);
console.log("企业列表的信息", res);
this.projectList = res.result;
this.enterpriseId = this.projectList[0].enterpriseId;
this.enterpriseName = this.projectList[0].name;
@ -514,7 +557,6 @@ export default {
: this.selectType,
enterpriseId: this.enterpriseId,
}).then((res) => {
let dateArray = [];
let notCodeNum = [];
let redCodeNum = [];
@ -581,15 +623,32 @@ export default {
"xmgl/projectEnterpriseWorkerStatistics/exporExcelProjectEnterpriseWorkerStatistics?projectSn=" +
this.$store.state.projectSn +
"&enterpriseName=" +
this.searchWord;
this.searchWord +
"&userEnterpriseId=" +
this.userEnterpriseId;
},
exportForm() {
window.location.href =
this.$http.defaults.baseURL +
"xmgl/projectEnterpriseWorkerStatistics/exporExcelProjectEnterpriseWorkerStatistics?projectSn=" +
this.$store.state.projectSn +
"&enterpriseName=" +
this.enterpriseName;
this.selectTime = true;
},
getTime(val) {
console.log("时间", val);
this.queryTime = val;
},
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%;
}
}
</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="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="attendancePrint"><a :href="printPdf" class="printPdf">{{$t("message.laborMange.attendPrint")}}</a></el-button>
<!-- <el-button type="primary" @click="importAttendanceData" >导入考勤数据</el-button> -->
</el-form-item>
<!-- <div class="doloadExcel">考勤模板下载</div> -->
@ -443,12 +444,12 @@
import scroll from "vue-seamless-scroll";
import {
getPageListData,
getSelectDateilApi,getAfreshMonthAttendanceStatisticsApi
getSelectDateilApi,getAfreshMonthAttendanceStatisticsApi,attendFsdApi
} from "@/assets/js/api/attendanceManage";
import {
getDepartmentInfoList,
getTeamInfoList,
getEnterpriseInfoList
getEnterpriseInfoList
} from "@/assets/js/api/laborPerson";
export default {
name: "attendanceManage",
@ -457,6 +458,7 @@ export default {
},
data() {
return {
printPdf:"",
nucleicAcidResultsList:{
0:"未知",
1:"阴性",
@ -525,6 +527,12 @@ export default {
},
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(){
@ -675,6 +683,10 @@ export default {
};
</script>
<style lang="less" scoped>
.printPdf{
text-decoration: none;
color: white;
}
.flex {
display: flex;
align-content: center;

View File

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

View File

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