From 34fd6c01bdea66ec47bd838bd3a7fa8b80115175 Mon Sep 17 00:00:00 2001 From: vce Date: Fri, 8 Mar 2024 16:29:58 +0800 Subject: [PATCH 1/2] =?UTF-8?q?Fix:=20=E4=B8=B4=E6=B8=AF=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i18n/langs/cn/carManage/carManage.js | 2 +- src/assets/js/http.js | 4 +- .../projectFront/carManage/carManage.vue | 176 +++++++++++++++--- 3 files changed, 155 insertions(+), 27 deletions(-) diff --git a/src/assets/i18n/langs/cn/carManage/carManage.js b/src/assets/i18n/langs/cn/carManage/carManage.js index 0f4f1f08..d5caa6ba 100644 --- a/src/assets/i18n/langs/cn/carManage/carManage.js +++ b/src/assets/i18n/langs/cn/carManage/carManage.js @@ -31,7 +31,7 @@ export default { out:'出', carPhotosUrl: '车辆图片', carType: '车辆类型', - carModuleType: '固定/临时车辆', + carModuleType: '固定/临时车辆',//1固定车辆,2临时车辆 reserveStartTime: '预约开始时间', reserveEndTime: '预约结束时间', entryAndExitPermit: '允许进出次数', diff --git a/src/assets/js/http.js b/src/assets/js/http.js index 6419b92b..d10b1a48 100644 --- a/src/assets/js/http.js +++ b/src/assets/js/http.js @@ -83,11 +83,11 @@ if (process.env.NODE_ENV == 'development') { // axios.defaults.baseURL ='http://101.43.164.214:45001/' //上海张江 // axios.defaults.baseURL ='http://101.43.164.214:45011/' //上海优益(上海建工) // axios.defaults.baseURL = 'http://192.168.34.221:28889/' //郭圣雄本地 - // axios.defaults.baseURL ='http://192.168.34.221:9111/' //郭圣雄本地 + axios.defaults.baseURL ='http://192.168.34.221:9111/' //郭圣雄本地 // axios.defaults.baseURL = 'http://182.90.224.237:51234' //郭圣雄远程 // axios.defaults.baseURL ='http://101.43.164.214:45020/' //沈阳和盈 // axios.defaults.baseURL ='http://183.249.224.118:9000/' //嘉兴王江泾公用码头 - axios.defaults.baseURL ='http://101.43.164.214:11111/' // 百色三标段项目 + // axios.defaults.baseURL ='http://101.43.164.214:11111/' // 百色三标段项目 // axios.defaults.baseURL = 'http://125.88.207.86:8088/'//中建四局线上(最新)地址 // axios.defaults.baseURL = 'http://125.88.207.86:8099/'//中建四局(沙湖)线上(最新)地址 diff --git a/src/views/projectFront/carManage/carManage.vue b/src/views/projectFront/carManage/carManage.vue index 6ceff063..00a3b3c0 100644 --- a/src/views/projectFront/carManage/carManage.vue +++ b/src/views/projectFront/carManage/carManage.vue @@ -103,6 +103,42 @@ /> + + + + + + + + + + + + + - - - + + + + + 固定车辆 + 临时车辆 + - - + + + + + + + + + + + 单次 + 多次 + + + { + if(this.addEditForm.reserveStartTime === '' || this.addEditForm.reserveStartTime === undefined){ + callback(new Error("必填")); + }else{ + let startTime = new Date(this.addEditForm.reserveStartTime) + let endTime = new Date(this.addEditForm.reserveEndTime) + if (startTime > endTime) { + callback(new Error("必须小于预约结束时间")); + }else { + callback(); + } + } + }; + var validReserveEndTime = (rule, value, callback) => { + if(this.addEditForm.reserveEndTime === '' || this.addEditForm.reserveEndTime === undefined){ + callback(new Error("必填")); + }else{ + let startTime = new Date(this.addEditForm.reserveStartTime) + let endTime = new Date(this.addEditForm.reserveEndTime) + if (startTime > endTime) { + callback(new Error("必须大于预约开始时间")); + }else { + callback(); + } + } + }; return { - time: '', + isRequireRule: [ + { required: true, message: this.$t('message.carManage.required'), trigger: "blur" }, + { required: true, message: this.$t('message.carManage.required'), trigger: "change" } + ], + reserveStartTimeRule: [ + { required: true, validator: validReserveStartTime, trigger: "blur" }, + { required: true, validator: validReserveStartTime, trigger: "change" } + ], + reserveEndTimeRule: [ + { required: true, validator: validReserveEndTime, trigger: "blur" }, + { required: true, validator: validReserveEndTime, trigger: "change" } + ], + startEndTimeArr: [], COMPANY: COMPANY, fileList: [], showImgUrl: '', @@ -400,6 +494,18 @@ export default { multiple: true }, addEditRules: { + carModuleType: [ + { required: true, message: this.$t('message.carManage.required'), trigger: "blur" }, + { required: true, message: this.$t('message.carManage.required'), trigger: "change" } + ], + startEndTimeArr: [ + // { required: true, validator: validIsCarModuleType1, trigger: "blur" }, + // { required: true, validator: validIsCarModuleType1, trigger: "change" } + ], + entryAndExitPermit: [ + // { required: true, validator: validIsCarModuleType2, trigger: "blur" }, + // { required: true, validator: validIsCarModuleType2, trigger: "change" } + ], carColor: [ { required: true, message: this.$t('message.carManage.required'), trigger: "blur" }, { required: true, message: this.$t('message.carManage.required'), trigger: "change" } @@ -463,8 +569,25 @@ export default { } }, methods: { - testCOnsole(){ - console.log(this.time); + changeForm(){ + if(this.addEditForm.carModuleType === 1){ + this.addEditForm.reserveStartTime = null + this.addEditForm.reserveEndTime = null + this.addEditForm.entryAndExitPermit = null + this.getStratEndTime() + } + if(this.addEditForm.carModuleType === 2){ + this.addEditForm.reserveStartTime = '' + this.addEditForm.reserveEndTime = '' + this.addEditForm.entryAndExitPermit = '' + this.getStratEndTime() + } + }, + getStratEndTime(){ + console.log("固定/临时车辆 " + this.addEditForm.carModuleType); + console.log("开始时间 " + this.addEditForm.reserveStartTime); + console.log("结束时间 " + this.addEditForm.reserveEndTime); + console.log("进出次数类型 " + this.addEditForm.entryAndExitPermit); }, //限制只能输入英文和数字 // handleInput() { @@ -495,6 +618,8 @@ export default { }, edit(obj) { this.addEditForm = JSON.parse(JSON.stringify(obj)); + // this.addEditForm.startEndTimeArr = [] + // this.addEditForm.startEndTimeArr.push(this.addEditForm.reserveStartTime,this.addEditForm.reserveEndTime) this.fileList = obj.carPhotosUrl; console.log('类型============', obj); if (typeof obj.carPhotosUrl === 'string') { @@ -534,6 +659,8 @@ export default { submit() { this.processTheFile(); let params = JSON.parse(JSON.stringify(this.addEditForm)); + // params.startEndTimeArr = [] + // params.startEndTimeArr.push(params.reserveStartTime,params.reserveEndTime) var arr = [], arr2 = JSON.parse(params.carPhotosUrl) if (arr2.length > 0) { arr2.forEach(element => { @@ -570,6 +697,7 @@ export default { } else if (this.Popup.type === 'edit') { // this.processTheFile(); console.log('编辑信息', this.addEditForm) + editCarInfoApi(params).then(result => { if (result.success) { this.$message.success(result.message); From 79256e3fd70d29c54abaf40e5e96bb7d46a88ce8 Mon Sep 17 00:00:00 2001 From: vce Date: Fri, 8 Mar 2024 18:16:42 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Fix:=20=E5=A1=94=E5=90=8A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=80=83=E5=8B=A4=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/towerCraneManagement/towerCrane.js | 9 + src/assets/js/api/towerCrane.js | 2 + .../projectFront/towerCrane/reportForm.vue | 10 +- .../towerCrane/workerAttendanceData.vue | 325 ++++++++++++++++++ 4 files changed, 345 insertions(+), 1 deletion(-) create mode 100644 src/views/projectFront/towerCrane/workerAttendanceData.vue diff --git a/src/assets/i18n/langs/cn/towerCraneManagement/towerCrane.js b/src/assets/i18n/langs/cn/towerCraneManagement/towerCrane.js index 9ea5376b..cf412aa2 100644 --- a/src/assets/i18n/langs/cn/towerCraneManagement/towerCrane.js +++ b/src/assets/i18n/langs/cn/towerCraneManagement/towerCrane.js @@ -72,6 +72,7 @@ export default { alarmData: '报警数据', dutyCycleData: '工作循环数据', violationData: '违章数据', + workerAttendanceData: '考勤数据', allTowerCranes: '全部塔吊(位置配置)', newTowerCrane: '新增塔吊', @@ -439,4 +440,12 @@ export default { violationInfo6: '风速违章', violationInfo7: '添加时间', violationInfo8: '违章时间', + + //考勤记录列表 + driverName: '驾驶员名称', + idCardNo: '驾驶员身份证号码', + recgRercentage: '匹配百分比', + recognitionType: '识别类型', + systemTime: '考勤时间', + towerName: '塔吊名称', } \ No newline at end of file diff --git a/src/assets/js/api/towerCrane.js b/src/assets/js/api/towerCrane.js index cf89a2fa..fb25e525 100644 --- a/src/assets/js/api/towerCrane.js +++ b/src/assets/js/api/towerCrane.js @@ -112,6 +112,8 @@ export const selectTowerWorkCycleCountApi = data => post('xmgl/towerWorkCycle/se export const selectTowerWorkCycleApi = data => post('xmgl/towerWorkCycle/list', data,'aa'); // 分页列表查询塔机违章数据表信息 export const selectTowerViolationApi = data => post('xmgl/towerViolation/list', data); +// 分页列表查询塔机考勤记录表信息 +export const selectTowerWorkerAttendanceApi = data => get('xmgl/towerWorkerAttendance/page', data); //螺母 export const selectTowerNutByNutHostIdApi = data => post('xmgl/towerNut/selectTowerNutByNutHostId', data); diff --git a/src/views/projectFront/towerCrane/reportForm.vue b/src/views/projectFront/towerCrane/reportForm.vue index 7854a76a..38061f94 100644 --- a/src/views/projectFront/towerCrane/reportForm.vue +++ b/src/views/projectFront/towerCrane/reportForm.vue @@ -21,6 +21,9 @@ +
@@ -35,6 +38,7 @@ import liveDataTable from './liveDataTable.vue' import violationData from './violationData.vue' import wireRopeMonitoring from './wireRopeMonitoring.vue' + import workerAttendanceData from './workerAttendanceData.vue' export default { name: "reportForm", props:['sn'], @@ -50,7 +54,8 @@ alarmsTable,//报警数据 liveDataTable,//实时数据 violationData,//违章数据 - wireRopeMonitoring//钢丝绳监测数据 + wireRopeMonitoring,//钢丝绳监测数据 + workerAttendanceData//考勤记录数据 }, created(){ this.projectSn = this.sn ? this.sn:this.$store.state.projectSn; @@ -71,6 +76,9 @@ else if(val == 5){ this.componentName = wireRopeMonitoring } + else if(val == 6){ + this.componentName = workerAttendanceData + } } } } diff --git a/src/views/projectFront/towerCrane/workerAttendanceData.vue b/src/views/projectFront/towerCrane/workerAttendanceData.vue new file mode 100644 index 00000000..689ca843 --- /dev/null +++ b/src/views/projectFront/towerCrane/workerAttendanceData.vue @@ -0,0 +1,325 @@ + + + + +