flx:优化

This commit is contained in:
Rain_ 2025-11-21 18:12:19 +08:00
parent d3ea8037cb
commit e1d70b11f2
4 changed files with 600 additions and 499 deletions

View File

@ -27,6 +27,7 @@
<!-- || day.duration --> <!-- || day.duration -->
{{ day.day }} {{ day.day }}
</div> </div>
<!-- v-if="day.isBeforeDay || day.isCurrentDay" -->
<div <div
class="calendar-box1" class="calendar-box1"
:class="day.duration ? 'bg-color88' : 'bg-colord0'" :class="day.duration ? 'bg-color88' : 'bg-colord0'"
@ -46,7 +47,7 @@
class="calendar-day_box2" class="calendar-day_box2"
:class="{ 'box2-center': day.duration }" :class="{ 'box2-center': day.duration }"
> >
{{ day.duration }}h {{ durationHour(day.duration) }}h
</div> </div>
</div> </div>
</div> </div>
@ -80,6 +81,12 @@ export default {
return dayjs(dateTime).isBefore(dayjs()); return dayjs(dateTime).isBefore(dayjs());
}; };
}, },
durationHour() {
return (seconds) => {
if (!seconds) return 0;
return (seconds / 60 / 60).toFixed(2);
};
},
currentYear() { currentYear() {
return dayjs(this.currentDate).year(); return dayjs(this.currentDate).year();
}, },
@ -104,6 +111,7 @@ export default {
date: date.format("YYYY-MM-DD"), date: date.format("YYYY-MM-DD"),
isOtherMonth: true, isOtherMonth: true,
isCurrentDay: false, isCurrentDay: false,
isBeforeDay: false,
}); });
} }
@ -116,6 +124,7 @@ export default {
date: date.format("YYYY-MM-DD"), date: date.format("YYYY-MM-DD"),
isOtherMonth: false, isOtherMonth: false,
isCurrentDay: date.isSame(dayjs(), "day"), isCurrentDay: date.isSame(dayjs(), "day"),
isBeforeDay: date.isBefore(dayjs(), "day"),
}); });
} }
@ -128,6 +137,7 @@ export default {
date: date.format("YYYY-MM-DD"), date: date.format("YYYY-MM-DD"),
isOtherMonth: true, isOtherMonth: true,
isCurrentDay: false, isCurrentDay: false,
isBeforeDay: false,
}); });
} }
const resultList = [ const resultList = [
@ -228,7 +238,7 @@ export default {
display: grid; display: grid;
grid-template-columns: repeat(7, 1fr); grid-template-columns: repeat(7, 1fr);
gap: 0px; gap: 0px;
height: 700px; height: 570px;
grid-auto-rows: auto; grid-auto-rows: auto;
} }
.calendar-day1:hover .calendar-day_box1 { .calendar-day1:hover .calendar-day_box1 {

View File

@ -326,7 +326,7 @@
</el-form-item> </el-form-item>
<el-form-item label="工单号"> <el-form-item label="工单号">
<el-input <el-input
v-model="pageInfo.id" v-model="pageInfo.workTicketNumber"
placeholder="请输入" placeholder="请输入"
></el-input> ></el-input>
</el-form-item> </el-form-item>
@ -398,7 +398,7 @@
<template v-if="activeName == 'second'"> <template v-if="activeName == 'second'">
<div class="card-flex"> <div class="card-flex">
<div class="card-num webkit-clamp_1"> <div class="card-num webkit-clamp_1">
{{ item.fileName }} {{ item.workTicketNumber }}
</div> </div>
<div class="card-num"> <div class="card-num">
{{ {{
@ -614,7 +614,7 @@ export default {
pageNo: 1, // pageNo: 1, //
pageSize: 12, // pageSize: 12, //
total: 0, // total: 0, //
id: "", workTicketNumber: "",
startTime: [], startTime: [],
}, },
defaultProps: { defaultProps: {
@ -1034,7 +1034,7 @@ export default {
this.getRiskListDetailPage(); this.getRiskListDetailPage();
}, },
onRefresh() { onRefresh() {
this.pageInfo.id = ""; this.pageInfo.workTicketNumber = "";
this.pageInfo.startTime = []; this.pageInfo.startTime = [];
this.onQuery(); this.onQuery();
}, },
@ -1059,7 +1059,7 @@ export default {
pageSize: this.pageInfo.pageSize, pageSize: this.pageInfo.pageSize,
projectSn: this.$store.state.projectSn, projectSn: this.$store.state.projectSn,
itemId: this.riskListDetailInfo.id, itemId: this.riskListDetailInfo.id,
id: this.pageInfo.id, workTicketNumber: this.pageInfo.workTicketNumber,
fileType: fileType:
this.activeName == "second" this.activeName == "second"
? 3 ? 3

View File

@ -38,8 +38,18 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" size="medium" plain @click="getList">搜索</el-button> <el-button
<el-button type="warning" size="medium" plain @click="resetQuery" type="primary"
size="medium"
plain
@click="getList"
>搜索</el-button
>
<el-button
type="warning"
size="medium"
plain
@click="resetQuery"
>刷新</el-button >刷新</el-button
> >
<el-button <el-button
@ -63,9 +73,17 @@
align="center" align="center"
label="抓拍设备" label="抓拍设备"
></el-table-column> ></el-table-column>
<el-table-column prop="carNumber" align="center" label="车牌号"></el-table-column> <el-table-column
prop="carNumber"
align="center"
label="车牌号"
></el-table-column>
<el-table-column prop="isExceed" align="center" label="是否超出阈值"> <el-table-column
prop="isExceed"
align="center"
label="是否超出阈值"
>
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.isExceed == 1 ? "是" : "否" }} {{ scope.row.isExceed == 1 ? "是" : "否" }}
</template> </template>
@ -84,12 +102,21 @@
align="center" align="center"
label="超出阈值" label="超出阈值"
></el-table-column> ></el-table-column>
<el-table-column width="300" prop="snapshotImage" align="center" label="抓拍照片"> <el-table-column
width="300"
prop="snapshotImage"
align="center"
label="抓拍照片"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-image <el-image
style="width: 50px; height: 50px" style="width: 50px; height: 50px"
:src="$store.state.FILEURL + scope.row.snapshotImage" :src="
:preview-src-list="[$store.state.FILEURL + scope.row.snapshotImage]" $store.state.FILEURL + scope.row.snapshotImage
"
:preview-src-list="[
$store.state.FILEURL + scope.row.snapshotImage,
]"
> >
<div slot="error" class="image-slot"> <div slot="error" class="image-slot">
<i class="el-icon-picture-outline"></i> <i class="el-icon-picture-outline"></i>
@ -101,13 +128,12 @@
width="300" width="300"
prop="uploadTime" prop="uploadTime"
align="center" align="center"
label="备案时间" label="上传时间"
></el-table-column> ></el-table-column>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div class=""> <div class="">
<el-button <el-button
style="border: 0 !important; margin-left: 10px" style="border: 0 !important; margin-left: 10px"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@ -115,8 +141,11 @@
>编辑</el-button >编辑</el-button
> >
<el-button <el-button
style="
style="border: 0 !important; color: #f56c6c; margin-left: 10px" border: 0 !important;
color: #f56c6c;
margin-left: 10px;
"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="deletePressureTest(scope.row)" @click="deletePressureTest(scope.row)"
@ -142,7 +171,12 @@
></el-pagination> ></el-pagination>
</div> </div>
<!-- 新增 --> <!-- 新增 -->
<el-dialog :visible.sync="dealShow" width="600px" append-to-body :title="dealTitle"> <el-dialog
:visible.sync="dealShow"
width="600px"
append-to-body
:title="dealTitle"
>
<el-form <el-form
ref="dealForm" ref="dealForm"
:model="dealForm" :model="dealForm"
@ -153,7 +187,12 @@
> >
<template v-if="dealType == 1 || dealType == 2"> <template v-if="dealType == 1 || dealType == 2">
<el-form-item label="抓拍设备" prop="devSn"> <el-form-item label="抓拍设备" prop="devSn">
<el-select v-model="dealForm.devSn" placeholder="请选择" clearable filterable> <el-select
v-model="dealForm.devSn"
placeholder="请选择"
clearable
filterable
>
<el-option <el-option
v-for="(item, index) in carWashDevList" v-for="(item, index) in carWashDevList"
:key="item.devSn" :key="item.devSn"
@ -163,7 +202,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="车牌号" prop="carNumber"> <el-form-item label="车牌号" prop="carNumber">
<el-input v-model="dealForm.carNumber" placeholder="请输入"></el-input> <el-input
v-model="dealForm.carNumber"
placeholder="请输入"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否超出阈值" prop="isExceed"> <el-form-item label="是否超出阈值" prop="isExceed">
<el-radio-group v-model="dealForm.isExceed"> <el-radio-group v-model="dealForm.isExceed">
@ -195,7 +237,7 @@
<!-- <div slot="tip" class="el-upload__tip">只支持.jpg格式</div> --> <!-- <div slot="tip" class="el-upload__tip">只支持.jpg格式</div> -->
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item label="备案时间" prop="uploadTime"> <el-form-item label="上传时间" prop="uploadTime">
<el-date-picker <el-date-picker
value-format="yyyy-MM-dd hh:mm:ss" value-format="yyyy-MM-dd hh:mm:ss"
type="datetime" type="datetime"
@ -206,8 +248,12 @@
</template> </template>
</el-form> </el-form>
<div slot="footer" style="text-align: center"> <div slot="footer" style="text-align: center">
<el-button size="medium" @click="dealFormCancel">取消</el-button> <el-button size="medium" @click="dealFormCancel"
<el-button size="medium" type="primary" @click="submitDealForm">保存</el-button> >取消</el-button
>
<el-button size="medium" type="primary" @click="submitDealForm"
>保存</el-button
>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@ -301,12 +347,38 @@ export default {
dealType: 1, dealType: 1,
dealTitle: "", dealTitle: "",
dealFormRules: { dealFormRules: {
devSn: [{ required: true, message: "请选择抓拍设备", trigger: "change" }], devSn: [
carNumber: [{ required: true, message: "请输入车牌号", trigger: "blur" }], {
isExceed: [{ required: true, message: "请选择是否超出阈值", trigger: "change" }], required: true,
currentSpeed: [{ required: true, message: "请输入时速", trigger: "blur" }], message: "请选择抓拍设备",
trigger: "change",
},
],
carNumber: [
{
required: true,
message: "请输入车牌号",
trigger: "blur",
},
],
isExceed: [
{
required: true,
message: "请选择是否超出阈值",
trigger: "change",
},
],
currentSpeed: [
{ required: true, message: "请输入时速", trigger: "blur" },
],
// fileList: [{ type: Array, required: true, message: "", trigger: "change" }], // fileList: [{ type: Array, required: true, message: "", trigger: "change" }],
uploadTime: [{ required: true, message: "请选择备案时间", trigger: "change" }], uploadTime: [
{
required: true,
message: "请选择上传时间",
trigger: "change",
},
],
}, },
carWashDevList: [], carWashDevList: [],
carInfoList: [], carInfoList: [],
@ -317,7 +389,9 @@ export default {
if (res.status == "SUCCESS") { if (res.status == "SUCCESS") {
this.dealForm.fileList.push({ this.dealForm.fileList.push({
name: file.response.data[0].imageUrl, name: file.response.data[0].imageUrl,
url: this.$store.state.FILEURL + file.response.data[0].imageUrl, url:
this.$store.state.FILEURL +
file.response.data[0].imageUrl,
}); });
} }
}, },
@ -351,12 +425,22 @@ export default {
} else if (type == 2) { } else if (type == 2) {
this.dealForm = { this.dealForm = {
...row, ...row,
fileList: row.snapshotImage ? [{ name: row.snapshotImage, url: this.$store.state.FILEURL + row.snapshotImage }] : [] fileList: row.snapshotImage
? [
{
name: row.snapshotImage,
url:
this.$store.state.FILEURL +
row.snapshotImage,
},
]
: [],
}; };
this.dealTitle = "编辑"; this.dealTitle = "编辑";
} }
this.$nextTick(() => { this.$nextTick(() => {
this.$refs["dealForm"] && this.$refs["dealForm"].clearValidate(); this.$refs["dealForm"] &&
this.$refs["dealForm"].clearValidate();
}); });
this.dealShow = true; this.dealShow = true;
}, },
@ -366,7 +450,8 @@ export default {
let params = Object.assign({}, this.dealForm); let params = Object.assign({}, this.dealForm);
if (this.dealTitle == "新增" && this.dealType == 1) { if (this.dealTitle == "新增" && this.dealType == 1) {
if (this.dealForm.fileList.length > 0) { if (this.dealForm.fileList.length > 0) {
params.snapshotImage = this.dealForm.fileList[0].name; params.snapshotImage =
this.dealForm.fileList[0].name;
} }
carMeasureSpeedDataAdd({ carMeasureSpeedDataAdd({
...params, ...params,
@ -380,7 +465,8 @@ export default {
}); });
} else if (this.dealTitle == "编辑" && this.dealType == 2) { } else if (this.dealTitle == "编辑" && this.dealType == 2) {
if (this.dealForm.fileList.length > 0) { if (this.dealForm.fileList.length > 0) {
params.snapshotImage = this.dealForm.fileList[0].name; params.snapshotImage =
this.dealForm.fileList[0].name;
} }
carMeasureSpeedDataEdit({ carMeasureSpeedDataEdit({
...params, ...params,
@ -415,13 +501,13 @@ export default {
.catch(() => {}); .catch(() => {});
}, },
carMeasureSpeedDevList() { carMeasureSpeedDevList() {
carMeasureSpeedDevListApi({ projectSn: this.$store.state.projectSn }).then( carMeasureSpeedDevListApi({
(result) => { projectSn: this.$store.state.projectSn,
}).then((result) => {
if (result.success) { if (result.success) {
this.carWashDevList = result.result; this.carWashDevList = result.result;
} }
} });
);
}, },
// //
resetQuery() { resetQuery() {
@ -450,7 +536,10 @@ export default {
// console.log("this.updateDate.length", this.updateDate[0]); // console.log("this.updateDate.length", this.updateDate[0]);
// console.log("this.updateDate.length", this.updateDate[1]); // console.log("this.updateDate.length", this.updateDate[1]);
if (this.updateDate instanceof Array && this.updateDate.length > 1) { if (
this.updateDate instanceof Array &&
this.updateDate.length > 1
) {
this.pageInfo.uploadTime_begin = this.updateDate[0]; this.pageInfo.uploadTime_begin = this.updateDate[0];
this.pageInfo.uploadTime_end = this.updateDate[1]; this.pageInfo.uploadTime_end = this.updateDate[1];
// this.pageInfo.updateDate = [] // this.pageInfo.updateDate = []

View File

@ -274,6 +274,8 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:clearable="false"
:picker-options="handleTimeChange(queryParams.dayTime, 'day')"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>