flx:优化

This commit is contained in:
Rain_ 2025-11-27 16:50:14 +08:00
parent 694982b7d4
commit 985a379de2
7 changed files with 6798 additions and 3994 deletions

View File

@ -249,6 +249,7 @@ if (process.env.NODE_ENV == "development") {
// axios.defaults.baseURL = "http://jxj.zhgdyun.com:18000/"; //包头化工 // axios.defaults.baseURL = "http://jxj.zhgdyun.com:18000/"; //包头化工
// axios.defaults.baseURL = "http://219.147.96.219:9809/"; //包头化工 // axios.defaults.baseURL = "http://219.147.96.219:9809/"; //包头化工
axios.defaults.baseURL = "http://101.43.164.214:11000/"; axios.defaults.baseURL = "http://101.43.164.214:11000/";
// axios.defaults.baseURL = "http://192.168.34.221:19113/"; //郭圣雄本地
} else if (process.env.NODE_ENV == "debug") { } else if (process.env.NODE_ENV == "debug") {
axios.defaults.baseURL = "https://www.ceshi.com"; axios.defaults.baseURL = "https://www.ceshi.com";
} else if (process.env.NODE_ENV == "production") { } else if (process.env.NODE_ENV == "production") {

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,12 @@
<div class="fullHeight"> <div class="fullHeight">
<div class="fullHeight"> <div class="fullHeight">
<div class="searchBox whiteBlock"> <div class="searchBox whiteBlock">
<el-form :inline="true" size="medium" :model="formInline" class="demo-form-inline"> <el-form
:inline="true"
size="medium"
:model="formInline"
class="demo-form-inline"
>
<!-- <el-form-item label="区域"> <!-- <el-form-item label="区域">
<el-select ref="selectRef" v-model="selectVal" placeholder="请选择" style="width: 100%" size="medium" clearable <el-select ref="selectRef" v-model="selectVal" placeholder="请选择" style="width: 100%" size="medium" clearable
@change="selectChange"> @change="selectChange">
@ -14,7 +19,13 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="企业" v-if="projectInfo.isEnableRegionEnterprise == 1"> <el-form-item label="企业" v-if="projectInfo.isEnableRegionEnterprise == 1">
<el-select ref="selectEnterpriseRef" v-model="selectEnterpriseVal" placeholder="请选择" clearable @change="selectEnterpriseChange"> <el-select
ref="selectEnterpriseRef"
v-model="selectEnterpriseVal"
placeholder="请选择"
clearable
@change="selectEnterpriseChange"
>
<el-option style="height: auto" :value="[]"> <el-option style="height: auto" :value="[]">
<el-tree <el-tree
:data="treeList" :data="treeList"
@ -30,17 +41,33 @@
</el-form-item> </el-form-item>
<el-form-item label="处置状态"> <el-form-item label="处置状态">
<el-select v-model="formInline.handleDone" clearable> <el-select v-model="formInline.handleDone" clearable>
<el-option :label="item.name" :value="item.value" v-for="(item, index) in handleResultStatus" :key="index"></el-option> <el-option
:label="item.name"
:value="item.value"
v-for="(item, index) in handleResultStatus"
:key="index"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('message.sixComplete.fence.warnType')"> <el-form-item :label="$t('message.sixComplete.fence.warnType')">
<el-select v-model="formInline.alarmType"> <el-select v-model="formInline.alarmType">
<el-option :label="$t('message.sixComplete.fence.all')" value=""></el-option> <el-option
<el-option :label="item.name" :value="item.data" v-for="(item, index) in alarmTypeArrList" :key="item.data"></el-option> :label="$t('message.sixComplete.fence.all')"
value=""
></el-option>
<el-option
:label="item.name"
:value="item.data"
v-for="(item, index) in alarmTypeArrList"
:key="item.data"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('message.sixComplete.fence.devNo')"> <el-form-item :label="$t('message.sixComplete.fence.devNo')">
<el-input v-model="formInline.hardwareId" :placeholder="$t('message.sixComplete.fence.placeholder')"></el-input> <el-input
v-model="formInline.hardwareId"
:placeholder="$t('message.sixComplete.fence.placeholder')"
></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('message.sixComplete.happenTime')"> <el-form-item :label="$t('message.sixComplete.happenTime')">
<el-date-picker <el-date-picker
@ -56,8 +83,12 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getList(1)" plain>{{ $t('message.sixComplete.query') }}</el-button> <el-button type="primary" @click="getList(1)" plain>{{
<el-button type="warning" @click="refresh" plain>{{ $t('message.sixComplete.fresh') }}</el-button> $t("message.sixComplete.query")
}}</el-button>
<el-button type="warning" @click="refresh" plain>{{
$t("message.sixComplete.fresh")
}}</el-button>
<el-button <el-button
type="primary" type="primary"
v-permission="{ key: 'add', menuPath: '/project/carViolation/warningList' }" v-permission="{ key: 'add', menuPath: '/project/carViolation/warningList' }"
@ -85,32 +116,68 @@
:src="$store.state.FILEURL + item.eduVideo" :src="$store.state.FILEURL + item.eduVideo"
controls controls
></video> --> ></video> -->
<img :src="imageUrlUp(item.imageUrl)" alt="" :preview="imageUrlUp(item.imageUrl)" /> <img
:src="imageUrlUp(item.imageUrl)"
alt=""
:preview="imageUrlUp(item.imageUrl)"
/>
<div class="desc"> <div class="desc">
<span class="time">{{ getTypeName(item.alarmType) }}</span> <!-- <span class="time">{{ getTypeName(item.alarmType) }}</span> -->
<span class="time"
>{{ item.carNumber }}({{ item.currentSpeed }}km/h)</span
>
<span>{{ item.createTime }}</span> <span>{{ item.createTime }}</span>
</div> </div>
<!-- <div class="status-style" :class="item.handleType?'result-style':'no-result-style'">{{item.handleType?'已处置':'未处置'}}</div> --> <!-- <div class="status-style" :class="item.handleType?'result-style':'no-result-style'">{{item.handleType?'已处置':'未处置'}}</div> -->
<div class="status-style" :class="!item.handleResult ? 'no-result-style' : item.handleResult == 1 ? 'result-style' : 'ignoreStyle'"> <div
class="status-style"
:class="
!item.handleResult
? 'no-result-style'
: item.handleResult == 1
? 'result-style'
: 'ignoreStyle'
"
>
<!-- {{item.handleResult?'已处置':'未处置'}} --> <!-- {{item.handleResult?'已处置':'未处置'}} -->
{{ !item.handleResult ? '未处置' : item.handleResult == 1 ? '已处置' : '误报删除' }} {{
!item.handleResult
? "未处置"
: item.handleResult == 1
? "已处置"
: "误报删除"
}}
</div> </div>
</div> </div>
<!-- 来源 --> <!-- 来源 -->
<el-tooltip class="item" effect="dark" :content="item.alarmDesc" placement="top-start"> <el-tooltip
class="item"
effect="dark"
:content="item.alarmDesc"
placement="top-start"
>
<div class="title white_ellipsis" @click="openDialogDetail(item)"> <div class="title white_ellipsis" @click="openDialogDetail(item)">
<!-- {{ $t('message.sixComplete.carDense.from') + ':' }}{{ item.alarmDesc }} --> <!-- {{ $t('message.sixComplete.carDense.from') + ':' }}{{ item.alarmDesc }} -->
{{ $t('message.sixComplete.carDense.from') + ':' }}{{ item.alarmDesc }} {{ $t("message.sixComplete.carDense.from") + ":"
}}{{ item.alarmDesc }}
</div> </div>
</el-tooltip> </el-tooltip>
<!-- 去处置 --> <!-- 去处置 -->
<!-- v-permission="{key: 'ai_disposition', menuPath: '/project/carViolation/warningList'}" --> <!-- v-permission="{key: 'ai_disposition', menuPath: '/project/carViolation/warningList'}" -->
<div class="toDisposeOf" @click="openDialog(2, item)" v-if="!item.handleResult"> <div
class="toDisposeOf"
@click="openDialog(2, item)"
v-if="!item.handleResult"
>
<el-button <el-button
v-if="item.isEnableHandle || $store.state.userInfo.accountType == 10 || $store.state.userInfo.accountType == 5" v-if="
item.isEnableHandle ||
$store.state.userInfo.accountType == 10 ||
$store.state.userInfo.accountType == 5
"
v-permission="{ v-permission="{
key: 'ai_disposition', key: 'ai_disposition',
menuPath: '/project/carViolation/warningList' menuPath: '/project/carViolation/warningList',
}" }"
type="primary" type="primary"
size="small" size="small"
@ -129,7 +196,7 @@
</div> </div>
<div class="placeholderBox" v-if="workerList.length == 0"> <div class="placeholderBox" v-if="workerList.length == 0">
<img src="@/assets/images/noData.png" alt="" /> <img src="@/assets/images/noData.png" alt="" />
<p>{{ $t('message.sixComplete.carDense.noWarn') }}</p> <p>{{ $t("message.sixComplete.carDense.noWarn") }}</p>
</div> </div>
<!-- <el-table class="tables" :data="workerList"> <!-- <el-table class="tables" :data="workerList">
<el-table-column <el-table-column
@ -171,35 +238,112 @@
</div> </div>
</div> </div>
<!-- 处置记录弹框--> <!-- 处置记录弹框-->
<el-dialog :modal-append-to-body="false" @close="close" :title="title" :visible.sync="recordShow" class="dialog_w667"> <el-dialog
:modal-append-to-body="false"
@close="close"
:title="title"
:visible.sync="recordShow"
class="dialog_w667"
>
<div class="dialog_content"> <div class="dialog_content">
<el-form size="medium" ref="addEditForm" :model="addEditForm" :rules="addEditRules" :label-width="$px2rem(120)" class="dialogFormBox"> <el-form
size="medium"
ref="addEditForm"
:model="addEditForm"
:rules="addEditRules"
:label-width="$px2rem(120)"
class="dialogFormBox"
>
<el-form-item label="违规原因" prop="alarmType" v-if="!isDetail && isType != 2"> <el-form-item label="违规原因" prop="alarmType" v-if="!isDetail && isType != 2">
<el-select :disabled="isDetail" v-model="addEditForm.alarmType" placeholder="请选择"> <el-select
<el-option v-for="(item, index) in alarmTypeArrList" :key="index" :label="item.name" :value="item.data"> </el-option> :disabled="isDetail"
v-model="addEditForm.alarmType"
placeholder="请选择"
>
<el-option
v-for="(item, index) in alarmTypeArrList"
:key="index"
:label="item.name"
:value="item.data"
>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="违规地点" prop="alarmDesc" v-if="!isDetail && isType != 2"> <el-form-item label="来源" prop="alarmDesc" v-if="!isDetail && isType != 2">
<el-input :disabled="isDetail" v-model="addEditForm.alarmDesc" :placeholder="'请输入'"></el-input> <el-input
:disabled="isDetail"
v-model="addEditForm.alarmDesc"
:placeholder="'请输入'"
></el-input>
</el-form-item>
<el-form-item label="车牌号" prop="carNumber" v-if="!isDetail && isType != 2">
<el-input
:disabled="isDetail"
v-model="addEditForm.carNumber"
:placeholder="'请输入'"
></el-input>
</el-form-item>
<el-form-item
label="当前车速(km/h)"
prop="currentSpeed"
v-if="!isDetail && isType != 2"
>
<el-input
:disabled="isDetail"
v-model="addEditForm.currentSpeed"
:placeholder="'请输入'"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="处置结果" prop="handleResult" v-if="isType != 1"> <el-form-item label="处置结果" prop="handleResult" v-if="isType != 1">
<el-radio :disabled="isDetail" v-model="addEditForm.handleResult" :label="1">已处置</el-radio> <el-radio :disabled="isDetail" v-model="addEditForm.handleResult" :label="1"
<el-radio :disabled="isDetail" v-model="addEditForm.handleResult" :label="2">误报忽略</el-radio> >已处置</el-radio
>
<el-radio :disabled="isDetail" v-model="addEditForm.handleResult" :label="2"
>误报忽略</el-radio
>
</el-form-item> </el-form-item>
<el-form-item label="选择违章人员" prop="selectList" v-if="addEditForm.handleResult != 2"> <el-form-item
<el-select :disabled="isDetail" filterable multiple v-model="selectList" placeholder="请选择" clearable @change="dutySelectChange"> label="选择违章人员"
prop="selectList"
v-if="addEditForm.handleResult != 2"
>
<el-select-v2
:disabled="isDetail"
multiple
:options="workerListOptions"
value-key="id"
label-key="workerName"
v-model="selectList"
:placeholder="$t('message.personnelPosition.please_select')"
filterable
clearable
@change="dutySelectChange"
></el-select-v2>
<!-- <el-select :disabled="isDetail" filterable multiple v-model="selectList" placeholder="请选择" clearable @change="dutySelectChange">
<el-option v-for="(item, index) in workerListOptions" :key="index" :label="item.workerName" :value="item.id"> </el-option> <el-option v-for="(item, index) in workerListOptions" :key="index" :label="item.workerName" :value="item.id"> </el-option>
</el-select> </el-select> -->
</el-form-item> </el-form-item>
<el-form-item label="处置方式" prop="handleType" v-if="addEditForm.handleResult != 2"> <el-form-item
<el-radio :disabled="isDetail" v-model="addEditForm.handleType" :label="1">违章再教育</el-radio> label="处置方式"
<el-radio :disabled="isDetail" v-model="addEditForm.handleType" :label="2">加入黑名单</el-radio> prop="handleType"
v-if="addEditForm.handleResult != 2"
>
<el-radio :disabled="isDetail" v-model="addEditForm.handleType" :label="1"
>违章再教育</el-radio
>
<el-radio :disabled="isDetail" v-model="addEditForm.handleType" :label="2"
>加入黑名单</el-radio
>
</el-form-item> </el-form-item>
<!-- <el-form-item label="扣分" prop="deductScore" v-if="addEditForm.handleType != 2"> <!-- <el-form-item label="扣分" prop="deductScore" v-if="addEditForm.handleType != 2">
<el-input-number disabled v-model="addEditForm.deductScore" :min="0" :max="100" <el-input-number disabled v-model="addEditForm.deductScore" :min="0" :max="100"
:placeholder="'请输入'"></el-input-number> :placeholder="'请输入'"></el-input-number>
</el-form-item> --> </el-form-item> -->
<el-form-item label="图片" class="line_h_140" v-if="!isDetail && addEditForm.handleResult != 2 && isType != 2"> <el-form-item
label="图片"
class="line_h_140"
v-if="!isDetail && addEditForm.handleResult != 2 && isType != 2"
>
<el-upload <el-upload
:disabled="isDetail" :disabled="isDetail"
:class="{ imageExceed: fileUplodList.length >= 1 }" :class="{ imageExceed: fileUplodList.length >= 1 }"
@ -218,9 +362,27 @@
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<div class="dialog-footer" v-if="!isDetail"> <div class="dialog-footer" v-if="!isDetail">
<el-button class="cancleBtn" icon="el-icon-circle-close" size="medium" @click="recordShow = false">取消 </el-button> <el-button
<el-button v-if="addEditForm.handleResult != 2" @click="addBtn" type="primary" icon="el-icon-circle-check" size="medium">确定 </el-button> class="cancleBtn"
<el-button @click="ignoreBtn" type="primary" icon="el-icon-circle-check" size="medium" v-if="addEditForm.handleResult == 2" icon="el-icon-circle-close"
size="medium"
@click="recordShow = false"
>取消
</el-button>
<el-button
v-if="addEditForm.handleResult != 2"
@click="addBtn"
type="primary"
icon="el-icon-circle-check"
size="medium"
>确定
</el-button>
<el-button
@click="ignoreBtn"
type="primary"
icon="el-icon-circle-check"
size="medium"
v-if="addEditForm.handleResult == 2"
>确定 >确定
</el-button> </el-button>
</div> </div>
@ -235,51 +397,54 @@ import {
aiAnalyseHardWareAlarmRecordEdit, aiAnalyseHardWareAlarmRecordEdit,
getViolatorList, getViolatorList,
aiAnalyseHardWareRecordEditApi, aiAnalyseHardWareRecordEditApi,
carDangerDetectRecordAdd carDangerDetectRecordAdd,
} from '@/assets/js/api/carViolation'; } from "@/assets/js/api/carViolation";
import { getDictionaryItemApi } from '@/assets/js/api/companyDiagram.js'; import { getDictionaryItemApi } from "@/assets/js/api/companyDiagram.js";
import { getWorkerInfoList, selectHierarchyEnterpriseListApi } from '@/assets/js/api/laborPerson.js'; import {
import { getQualityRegionListApi } from '@/assets/js/api/quality.js'; getWorkerInfoList,
import { isJSON } from '@/util/nowDate'; selectHierarchyEnterpriseListApi,
} from "@/assets/js/api/laborPerson.js";
import { getQualityRegionListApi } from "@/assets/js/api/quality.js";
import { isJSON } from "@/util/nowDate";
export default { export default {
data() { data() {
return { return {
handleResultStatus: [ handleResultStatus: [
{ name: '未处置', value: false }, { name: "未处置", value: false },
{ name: '已处置', value: true } { name: "已处置", value: true },
], ],
// //
defaultProps: { defaultProps: {
children: 'children', children: "children",
label: 'enterpriseName' label: "enterpriseName",
}, },
treeList: [], treeList: [],
areaList: [], areaList: [],
areaSelectVal: '', areaSelectVal: "",
// //
defaultAreaProps: { defaultAreaProps: {
children: 'children', children: "children",
label: 'regionName' label: "regionName",
}, },
selectVal: '', selectVal: "",
selectEnterpriseVal: '', selectEnterpriseVal: "",
isDetail: false, isDetail: false,
pageType: 'list', pageType: "list",
workerList: [], workerList: [],
pageInfo: { pageInfo: {
pageNo: 1, // pageNo: 1, //
pageSize: 10, // pageSize: 10, //
total: 0 // total: 0, //
}, },
itemId: '', itemId: "",
formInline: { formInline: {
alarmType: '', alarmType: "",
handleDone: '', handleDone: "",
endTime: '', endTime: "",
startTime: '', startTime: "",
hardwareId: '', hardwareId: "",
qualityRegionId: '', qualityRegionId: "",
enterpriseId: '' enterpriseId: "",
}, },
dateRangeArr: [], dateRangeArr: [],
alarmTypeArrList: [], alarmTypeArrList: [],
@ -288,53 +453,71 @@ export default {
workerInfoList: [], workerInfoList: [],
handleResult: 1, handleResult: 1,
handleType: 1, handleType: 1,
dutyId: '', dutyId: "",
alarmDesc: '', alarmDesc: "",
alarmType: '', alarmType: "",
deductScore: 0 carNumber: "",
currentSpeed: "",
deductScore: 0,
}, },
fileUplodList: [], fileUplodList: [],
addEditRules: { addEditRules: {
alarmType: [ alarmType: [
{ {
required: true, required: true,
message: '请选择', message: "请选择",
trigger: 'change' trigger: "change",
} },
], ],
alarmDesc: [ alarmDesc: [
{ {
required: true, required: true,
message: '必填', message: "必填",
trigger: 'blur' trigger: "blur",
} },
],
carNumber: [
{
required: true,
message: "必填",
trigger: "blur",
},
],
currentSpeed: [
{
required: true,
message: "必填",
trigger: "blur",
},
], ],
selectList: [ selectList: [
{ {
type: 'array', type: "array",
required: true, required: true,
message: '请选择', message: "请选择",
validator: this.validateSelectList, validator: this.validateSelectList,
trigger: 'blur' trigger: "blur",
} },
], ],
handleType: [ handleType: [
{ {
required: true, required: true,
message: '必填', message: "必填",
trigger: 'blur' trigger: "blur",
} },
] ],
}, },
workerListOptions: [], workerListOptions: [],
selectList: [], selectList: [],
title: '处置详情', title: "处置详情",
isType: -1, isType: -1,
projectInfo: {} projectInfo: {},
}; };
}, },
created() { created() {
this.projectInfo = isJSON(localStorage.getItem('projectInfo')) ? JSON.parse(localStorage.getItem('projectInfo')) : {}; this.projectInfo = isJSON(localStorage.getItem("projectInfo"))
? JSON.parse(localStorage.getItem("projectInfo"))
: {};
}, },
mounted() { mounted() {
this.selectNowDate(); this.selectNowDate();
@ -346,32 +529,32 @@ export default {
}, },
computed: { computed: {
imageUrlUp() { imageUrlUp() {
return img => { return (img) => {
return img.includes('http://') ? img : this.$store.state.FILEURL + img; return img.includes("http://") ? img : this.$store.state.FILEURL + img;
}; };
} },
}, },
methods: { methods: {
validateSelectList(rule, value, callback) { validateSelectList(rule, value, callback) {
console.log(value, rule); console.log(value, rule);
if (this.selectList.length == 0) { if (this.selectList.length == 0) {
callback(new Error('请选择人员')); callback(new Error("请选择人员"));
} else { } else {
callback(); callback();
} }
}, },
handleExceed() { handleExceed() {
this.$message.warning('文件超出最大限制,请删除上份文件!'); this.$message.warning("文件超出最大限制,请删除上份文件!");
}, },
// //
handleRemove(file, fileList) { handleRemove(file, fileList) {
this.fileUplodList = fileList; this.fileUplodList = fileList;
}, },
handleSuccess(res, file, type) { handleSuccess(res, file, type) {
if (res.status == 'SUCCESS') { if (res.status == "SUCCESS") {
this.fileUplodList.push({ this.fileUplodList.push({
name: file.name, name: file.name,
url: this.$store.state.FILEURL + file.response.data[0].imageUrl url: this.$store.state.FILEURL + file.response.data[0].imageUrl,
}); });
} }
}, },
@ -379,7 +562,7 @@ export default {
treeClick(data) { treeClick(data) {
console.log(data); console.log(data);
if (data.status == 1) { if (data.status == 1) {
this.$message.warning('无法选中已禁用组织'); this.$message.warning("无法选中已禁用组织");
} else { } else {
this.selectEnterpriseVal = data.enterpriseName; this.selectEnterpriseVal = data.enterpriseName;
this.formInline.enterpriseId = data.enterpriseId; this.formInline.enterpriseId = data.enterpriseId;
@ -388,8 +571,8 @@ export default {
}, },
getTreeList() { getTreeList() {
selectHierarchyEnterpriseListApi({ selectHierarchyEnterpriseListApi({
projectSn: this.$store.state.projectSn projectSn: this.$store.state.projectSn,
}).then(result => { }).then((result) => {
if (result.success) { if (result.success) {
this.treeList = result.result; this.treeList = result.result;
} }
@ -398,10 +581,10 @@ export default {
/// ///
getPositionList() { getPositionList() {
let data = { let data = {
projectSn: this.$store.state.projectSn projectSn: this.$store.state.projectSn,
}; };
getQualityRegionListApi(data).then(res => { getQualityRegionListApi(data).then((res) => {
console.log('res=================', res); console.log("res=================", res);
if (res.code == 200) { if (res.code == 200) {
this.areaList = res.result; this.areaList = res.result;
console.log(this.areaList, 135456); console.log(this.areaList, 135456);
@ -411,23 +594,23 @@ export default {
selectChange(val) { selectChange(val) {
console.log(val, 123); console.log(val, 123);
if (!val) { if (!val) {
this.selectVal = ''; this.selectVal = "";
this.areaSelectVal = ''; this.areaSelectVal = "";
this.formInline.qualityRegionId = ''; this.formInline.qualityRegionId = "";
} }
}, },
selectEnterpriseChange(val) { selectEnterpriseChange(val) {
console.log(val, 123); console.log(val, 123);
if (!val) { if (!val) {
this.selectEnterpriseVal = ''; this.selectEnterpriseVal = "";
this.formInline.enterpriseId = ''; this.formInline.enterpriseId = "";
} }
}, },
// //
treeAreaClick(data) { treeAreaClick(data) {
console.log(data); console.log(data);
if (data.status == 1) { if (data.status == 1) {
this.$message.warning('无法选中已禁用组织'); this.$message.warning("无法选中已禁用组织");
} else { } else {
this.selectVal = data.regionName; this.selectVal = data.regionName;
this.areaSelectVal = data.id; this.areaSelectVal = data.id;
@ -439,12 +622,12 @@ export default {
dutySelectChange(e) { dutySelectChange(e) {
// const item = this.dutyList.find(item => item.userId === e) // const item = this.dutyList.find(item => item.userId === e)
// this.addEditForm.dutyUserName = item.realName // this.addEditForm.dutyUserName = item.realName
const newArray = e.map(item => ({ id: item })); const newArray = e.map((item) => ({ id: item }));
this.addEditForm.workerInfoList = newArray; this.addEditForm.workerInfoList = newArray;
// if (this.selectList.length > 0) { // if (this.selectList.length > 0) {
// this.$refs.addEditForm.clearValidate("selectList"); // this.$refs.addEditForm.clearValidate("selectList");
// } // }
console.log('下拉选择', newArray); console.log("下拉选择", newArray);
}, },
close() { close() {
this.$nextTick(() => { this.$nextTick(() => {
@ -459,12 +642,12 @@ export default {
getPersonDetail(itemId) { getPersonDetail(itemId) {
let data = { let data = {
projectSn: this.$store.state.projectSn, projectSn: this.$store.state.projectSn,
carDangerDetectRecordId: itemId carDangerDetectRecordId: itemId,
}; };
getViolatorList(data).then(res => { getViolatorList(data).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.selectList = res.result.map(items => items.id); this.selectList = res.result.map((items) => items.id);
console.log('回显选择人员', this.selectList); console.log("回显选择人员", this.selectList);
} else { } else {
this.$message.error(res.message); this.$message.error(res.message);
} }
@ -475,12 +658,12 @@ export default {
getDutyPerson() { getDutyPerson() {
let data = { let data = {
projectSn: this.$store.state.projectSn, projectSn: this.$store.state.projectSn,
isFilterQualityRegionEnterprise: 1 isFilterQualityRegionEnterprise: 1,
}; };
getWorkerInfoList(data).then(res => { getWorkerInfoList(data).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.workerListOptions = res.result.records; this.workerListOptions = res.result.records;
console.log('获取施工人员下拉', this.workerListOptions); console.log("获取施工人员下拉", this.workerListOptions);
} else { } else {
this.$message.error(res.message); this.$message.error(res.message);
} }
@ -492,20 +675,22 @@ export default {
this.isDetail = false; this.isDetail = false;
this.isType = type; this.isType = type;
if (type == 1) { if (type == 1) {
this.title = '新增'; this.title = "新增";
this.addEditForm = { this.addEditForm = {
workerInfoList: [], workerInfoList: [],
handleResult: 1, handleResult: 1,
handleType: 1, handleType: 1,
dutyId: '', dutyId: "",
alarmDesc: '', alarmDesc: "",
alarmType: '', carNumber: "",
deductScore: 0 currentSpeed: "",
alarmType: "",
deductScore: 0,
}; };
this.selectList = []; this.selectList = [];
this.fileUplodList = []; this.fileUplodList = [];
} else if (type == 2) { } else if (type == 2) {
this.title = '处置详情'; this.title = "处置详情";
this.addEditForm = JSON.parse(JSON.stringify(item)); this.addEditForm = JSON.parse(JSON.stringify(item));
this.addEditForm.handleResult = 1; this.addEditForm.handleResult = 1;
this.addEditForm.alarmType = item.alarmType.toString(); this.addEditForm.alarmType = item.alarmType.toString();
@ -514,18 +699,18 @@ export default {
this.getPersonDetail(item.id); this.getPersonDetail(item.id);
this.fileUplodList = [ this.fileUplodList = [
{ {
url: item.imageUrl url: item.imageUrl,
} },
]; ];
} }
this.recordShow = true; this.recordShow = true;
console.log('打开处置弹窗', item); console.log("打开处置弹窗", item);
}, },
// //
openDialogDetail(item) { openDialogDetail(item) {
this.title = '处置详情'; this.title = "处置详情";
this.isDetail = true; this.isDetail = true;
this.isType = -1; this.isType = -1;
this.addEditForm = JSON.parse(JSON.stringify(item)); this.addEditForm = JSON.parse(JSON.stringify(item));
@ -535,20 +720,20 @@ export default {
// this.selectList = item.workerInfoList; // this.selectList = item.workerInfoList;
this.fileUplodList = [ this.fileUplodList = [
{ {
url: item.imageUrl url: item.imageUrl,
} },
]; ];
this.recordShow = true; this.recordShow = true;
console.log('打开处置弹窗', item); console.log("打开处置弹窗", item);
}, },
// //
addBtn() { addBtn() {
let params = JSON.parse(JSON.stringify(this.addEditForm)); let params = JSON.parse(JSON.stringify(this.addEditForm));
console.log('保存', params); console.log("保存", params);
params.projectSn = this.$store.state.projectSn; params.projectSn = this.$store.state.projectSn;
if (!params.id) { if (!params.id) {
params.imageUrl = this.fileUplodList.length > 0 ? this.fileUplodList[0].url : ''; params.imageUrl = this.fileUplodList.length > 0 ? this.fileUplodList[0].url : "";
} }
params.handleResult = 1; params.handleResult = 1;
@ -556,15 +741,15 @@ export default {
params.handleDone = true; params.handleDone = true;
} }
this.$refs.addEditForm.validate(valid => { this.$refs.addEditForm.validate((valid) => {
// if (this.selectList.length > 0) { // if (this.selectList.length > 0) {
// this.$refs.addEditForm.clearValidate("selectList"); // this.$refs.addEditForm.clearValidate("selectList");
// } // }
console.log(valid); console.log(valid);
if (valid) { if (valid) {
console.log('保存1', params); console.log("保存1", params);
if (params.id) { if (params.id) {
aiAnalyseHardWareRecordEditApi(params).then(result => { aiAnalyseHardWareRecordEditApi(params).then((result) => {
if (result.success) { if (result.success) {
this.$message.success(result.message); this.$message.success(result.message);
this.getList(); this.getList();
@ -574,8 +759,8 @@ export default {
} else { } else {
carDangerDetectRecordAdd({ carDangerDetectRecordAdd({
...params, ...params,
isPushed: 1 isPushed: 1,
}).then(result => { }).then((result) => {
if (result.success) { if (result.success) {
this.$message.success(result.message); this.$message.success(result.message);
this.getList(); this.getList();
@ -592,11 +777,11 @@ export default {
let params = JSON.parse(JSON.stringify(this.addEditForm)); let params = JSON.parse(JSON.stringify(this.addEditForm));
params.projectSn = this.$store.state.projectSn; params.projectSn = this.$store.state.projectSn;
params.handleType = 2; params.handleType = 2;
this.$refs.addEditForm.validate(valid => { this.$refs.addEditForm.validate((valid) => {
if (valid) { if (valid) {
console.log('误报忽略', params); console.log("误报忽略", params);
// aiAnalyseHardWareAlarmRecordEdit(params).then(result => { // aiAnalyseHardWareAlarmRecordEdit(params).then(result => {
aiAnalyseHardWareRecordEditApi(params).then(result => { aiAnalyseHardWareRecordEditApi(params).then((result) => {
if (result.success) { if (result.success) {
this.$message.success(result.message); this.$message.success(result.message);
this.getList(); this.getList();
@ -612,11 +797,11 @@ export default {
// //
getDictionaryList() { getDictionaryList() {
getDictionaryItemApi({ getDictionaryItemApi({
dictionaryEncoding: 'ai_analyse_hard_ware_alarm_record_type', dictionaryEncoding: "car_danger_detect_record_alarm_type",
projectSn: this.$store.state.projectSn projectSn: this.$store.state.projectSn,
}).then(res => { }).then((res) => {
if (res.result.length > 0) { if (res.result.length > 0) {
console.log('获取字典施工阶段', res.result); console.log("获取字典施工阶段", res.result);
this.alarmTypeArrList = res.result; this.alarmTypeArrList = res.result;
} }
}); });
@ -630,14 +815,14 @@ export default {
hours = date.getHours(), //(0-23) hours = date.getHours(), //(0-23)
minutes = date.getMinutes(), //(0-59) minutes = date.getMinutes(), //(0-59)
seconds = date.getSeconds(); seconds = date.getSeconds();
month >= 1 && month <= 9 ? (month = '0' + month) : ''; month >= 1 && month <= 9 ? (month = "0" + month) : "";
day >= 0 && day <= 9 ? (day = '0' + day) : ''; day >= 0 && day <= 9 ? (day = "0" + day) : "";
hours >= 0 && hours <= 9 ? (hours = '0' + hours) : ''; hours >= 0 && hours <= 9 ? (hours = "0" + hours) : "";
minutes >= 0 && minutes <= 9 ? (minutes = '0' + minutes) : ''; minutes >= 0 && minutes <= 9 ? (minutes = "0" + minutes) : "";
seconds >= 0 && seconds <= 9 ? (seconds = '0' + seconds) : ''; seconds >= 0 && seconds <= 9 ? (seconds = "0" + seconds) : "";
// var timer = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds // // var timer = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds //
var timer = year + '-' + month + '-' + day + ' ' + '23:59:59'; var timer = year + "-" + month + "-" + day + " " + "23:59:59";
var timer2 = year + '-' + month + '-' + day + ' ' + '00:00:00'; var timer2 = year + "-" + month + "-" + day + " " + "00:00:00";
this.dateRangeArr = [timer2, timer]; this.dateRangeArr = [timer2, timer];
this.formInline.startTime = this.dateRangeArr[0]; this.formInline.startTime = this.dateRangeArr[0];
this.formInline.endTime = this.dateRangeArr[1]; this.formInline.endTime = this.dateRangeArr[1];
@ -645,8 +830,8 @@ export default {
// return timer; // return timer;
}, },
getTypeName(val) { getTypeName(val) {
let text = ''; let text = "";
this.alarmTypeArrList.forEach(item => { this.alarmTypeArrList.forEach((item) => {
if (item.data == val) { if (item.data == val) {
text = item.name; text = item.name;
} }
@ -658,25 +843,25 @@ export default {
this.formInline.startTime = this.dateRangeArr[0]; this.formInline.startTime = this.dateRangeArr[0];
this.formInline.endTime = this.dateRangeArr[1]; this.formInline.endTime = this.dateRangeArr[1];
} else { } else {
this.formInline.startTime = ''; this.formInline.startTime = "";
this.formInline.endTime = ''; this.formInline.endTime = "";
} }
}, },
refresh() { refresh() {
this.pageInfo.pageNo = 1; this.pageInfo.pageNo = 1;
this.formInline.hardwareId = ''; this.formInline.hardwareId = "";
this.formInline.startTime = ''; this.formInline.startTime = "";
this.formInline.endTime = ''; this.formInline.endTime = "";
this.formInline.alarmType = ''; this.formInline.alarmType = "";
this.formInline.handleDone = ''; this.formInline.handleDone = "";
this.dateRangeArr = []; this.dateRangeArr = [];
// //
this.selectVal = ''; this.selectVal = "";
this.areaSelectVal = ''; this.areaSelectVal = "";
this.formInline.qualityRegionId = ''; this.formInline.qualityRegionId = "";
// //
this.selectEnterpriseVal = ''; this.selectEnterpriseVal = "";
this.formInline.enterpriseId = ''; this.formInline.enterpriseId = "";
this.getList(); this.getList();
}, },
getList(val) { getList(val) {
@ -686,7 +871,7 @@ export default {
let json = Object.assign(this.pageInfo, this.formInline); let json = Object.assign(this.pageInfo, this.formInline);
json.projectSn = this.$store.state.projectSn; json.projectSn = this.$store.state.projectSn;
json.isPushed = 1; json.isPushed = 1;
aiAnalyseHardWareAlarmRecordApi(json).then(res => { aiAnalyseHardWareAlarmRecordApi(json).then((res) => {
this.workerList = res.result.records; this.workerList = res.result.records;
// let tempArr = [] // let tempArr = []
// this.workerList.map(item => { // this.workerList.map(item => {
@ -704,7 +889,7 @@ export default {
}); });
}, },
goBack() { goBack() {
this.pageType = 'list'; this.pageType = "list";
this.getList(); this.getList();
}, },
// addFn() { // addFn() {
@ -713,27 +898,31 @@ export default {
// }, // },
editBefore(item) { editBefore(item) {
this.itemId = item.id; this.itemId = item.id;
this.pageType = 'detail'; this.pageType = "detail";
}, },
deleteBefore(item) { deleteBefore(item) {
this.$confirm(this.$t('message.sixComplete.carWash.tipText') + '?', this.$t('message.sixComplete.carWash.tip'), { this.$confirm(
confirmButtonText: this.$t('message.sixComplete.carWash.confirm'), this.$t("message.sixComplete.carWash.tipText") + "?",
cancelButtonText: this.$t('message.sixComplete.carWash.cancel'), this.$t("message.sixComplete.carWash.tip"),
type: 'warning' {
}) confirmButtonText: this.$t("message.sixComplete.carWash.confirm"),
cancelButtonText: this.$t("message.sixComplete.carWash.cancel"),
type: "warning",
}
)
.then(() => { .then(() => {
workerSafeEducationDeleteApi({ id: item.id }).then(res => { workerSafeEducationDeleteApi({ id: item.id }).then((res) => {
this.$message({ this.$message({
type: 'success', type: "success",
message: this.$t('message.sixComplete.carWash.deleteSuccess') + '!' message: this.$t("message.sixComplete.carWash.deleteSuccess") + "!",
}); });
this.getList(); this.getList();
}); });
}) })
.catch(() => { .catch(() => {
this.$message({ this.$message({
type: 'info', type: "info",
message: this.$t('message.sixComplete.carWash.cancelDelete') message: this.$t("message.sixComplete.carWash.cancelDelete"),
}); });
}); });
}, },
@ -746,8 +935,8 @@ export default {
console.log(val); console.log(val);
this.pageInfo.pageNo = val; this.pageInfo.pageNo = val;
this.getList(); this.getList();
} },
} },
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff