From c3aaf28f7316cce12eec007a9f85a96cbcddeec2 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 07 五月 2025 10:34:20 +0800
Subject: [PATCH] 最新版本541200007
---
admin/src/components/business/OperaHiddenDangerWindow.vue | 139 ++++++++++++++++++++++++++++-----------------
1 files changed, 86 insertions(+), 53 deletions(-)
diff --git a/admin/src/components/business/OperaHiddenDangerWindow.vue b/admin/src/components/business/OperaHiddenDangerWindow.vue
index f004feb..0f8ca3e 100644
--- a/admin/src/components/business/OperaHiddenDangerWindow.vue
+++ b/admin/src/components/business/OperaHiddenDangerWindow.vue
@@ -10,11 +10,11 @@
<div class="header">
<div class="left">
<div class="h1">闅愭偅鎻愭姤</div>
- <div class="time">鎻愭姤鏃堕棿锛歿{model.createDate}}</div>
+ <div class="time">鎻愭姤鏃堕棿锛歿{model.submitTime}}</div>
</div>
<div class="right" v-if="model.status==0">寰呭鐞�</div>
- <div class="right" v-if="model.status==1">宸插鐞�</div>
- <div class="right" v-if="model.status==2">宸叉挙閿�</div>
+ <div class="right" style="background:#53b76f " v-if="model.status==1">宸插鐞�</div>
+ <div class="right" style="background:#dc362e " v-if="model.status==2">宸查��鍥�</div>
</div>
<div class="info">
<div class="title">闅愭偅鎻愭姤璇︽儏</div>
@@ -43,7 +43,6 @@
<video
v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
ref="videoRef"
- autoplay
controls
preload="auto"
style="width: 80px;height: 80px;object-fit: contain;"
@@ -116,9 +115,9 @@
<div class="item" v-for="(item,index) in logList" :key="item.id">
<div class="separate" v-if="index < logList.length-1"></div>
<div class="info">
- <i class="el-icon-success icon" v-if="(model.status ==1) || index < logList.length-1"></i>
- <i class="el-icon-question icon1" v-if="(model.status==0) && index == logList.length-1"></i>
- <i class="el-icon-error icon2" v-if="(model.status==2) && index == logList.length-1"></i>
+ <img src="@/assets/icons/ic_tongguo.png" class="iconnew" v-if="(model.status ==1) || index < logList.length-1"/>
+ <img src="@/assets/icons/ic_dangqian.png" class="iconnew" v-if="(model.status==0) && index == logList.length-1"/>
+ <img src="@/assets/icons/ic_jujue.png" class="iconnew" v-if="(model.status==2) && index == logList.length-1"/>
<img v-if="item.avatar!=null && item.avatar !=''" :src="item.avatar" class="avatar" alt="" />
<img v-if="item.avatar ==null ||item.avatar ==''" src="@/assets/avatar/man.png" class="avatar" alt="" />
<div class="content">
@@ -128,7 +127,7 @@
</div>
<div class="line">
<div class="company">
- {{ item.createUserName }} {{ item.companyName }}
+ {{ item.createUserName }}
<div style="display: inline" v-if="index == logList.length-1">
锛�<span class="status-green" v-if="model.status==1">宸插鐞�</span>
<span class="status-blue" v-if="model.status==0">寰呭鐞�</span>
@@ -144,9 +143,9 @@
</div>
<!-- -->
<template v-slot:footer>
- <el-button @click="isShowProblem = true" type="primary" v-if="model.status==0&& model.checkUserId == userInfo.memberId" class="status-red">澶勭悊</el-button>
+ <el-button @click="openHandModal" type="primary" v-if="model.status==0&& model.checkUserId == userInfo.memberId" class="status-red">澶勭悊</el-button>
<el-button type="primary" plain v-if="model.status==0 && model.checkUserId == userInfo.memberId" @click="handleTransfer">杞氦</el-button>
- <el-button @click="backDo" v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger" >閫�鍥�</el-button>
+ <el-button @click="openBackModal" v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger" >閫�鍥�</el-button>
<el-button @click="visible=false">杩斿洖</el-button>
</template>
@@ -162,9 +161,9 @@
<el-select v-model="transForm.memberId" style="width: 300px" filterable clearable placeholder="璇烽�夋嫨杞氦瀹夊叏鍛�">
<el-option
v-for="item in memberList"
- :key="item.id"
- :label="item.name"
- :value="item.id">
+ :key="item.memberId"
+ :label="item.companyName ? `${item.realname}-${item.companyName}` : item.realname"
+ :value="item.memberId">
</el-option>
</el-select>
</el-form-item>
@@ -186,8 +185,9 @@
<el-form-item label="鏁存敼鏃堕棿" prop="checkDate">
<el-date-picker
class="w300"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏁存敼鏃堕棿"
v-model="dealForm.checkDate"
/>
</el-form-item>
@@ -220,20 +220,22 @@
<el-dialog
append-to-body
title="闅愭偅閫�鍥�"
+
class="dialogCl"
:visible.sync="isBackProblem"
- width="480px"
+ width="600px"
>
<el-form :model="backForm" :rules="rulesBack" ref="backForm" label-width="100px">
<el-form-item label="閫�鍥炴椂闂�" prop="checkDate">
<el-date-picker
class="w300"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="datetime"
+ placeholder="閫夋嫨閫�鍥炴椂闂�"
v-model="backForm.checkDate"
/>
</el-form-item>
- <el-form-item label="鏁存敼鍓�" prop="dealBeforeFileList">
+ <el-form-item label="鍥剧墖/瑙嗛" prop="dealBeforeFileList">
<div class="df_ac">
<upload width="80px" height="80px" :list="backForm.dealBeforeFileList" :tips="'鍥剧墖/瑙嗛'" accept=".png,.jpg,.jpeg,.mp4" folder="hiddendanger" @loading="uploading = true" @dele="dele($event,2)" @success="uploadFileList($event, 2)" />
</div>
@@ -261,9 +263,10 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import upload from '@/components/common/upload'
+import dayjs from 'dayjs'
import { memberList } from '@/api/business/hiddenDangerParam'
import { mapState } from 'vuex'
-import { dealHiddenDanger } from '@/api/business/hiddenDanger'
+import {findAllList as userList} from "@/api/system/user";
export default {
components: { GlobalWindow, upload },
extends: BaseOpera,
@@ -303,10 +306,11 @@
rulesBack: {
checkDate: [
{ required: true, message: '璇烽�夋嫨閫�鍥炴椂闂�' }
- ],
+ ]
+ /*,
dealBeforeFileList: [
{ required: true, message: '璇蜂笂浼犳暣鏀瑰墠鎯呭喌' }
- ]
+ ] */
},
memberList: [],
transForm: {
@@ -335,6 +339,24 @@
})
},
methods: {
+ openHandModal () {
+ const { model } = this
+ this.isShowProblem = true
+ this.$set(this.dealForm, 'checkDate', dayjs().format('YYYY-MM-DD HH:mm:ss'))
+ if (model.submitFileList && model.submitFileList.length > 0) {
+ this.$set(this.dealForm, 'dealBeforeFileList', model.submitFileList.map(item => {
+ return {
+ fileurl: item.fileurl,
+ name: item.name,
+ url: item.fileurlFull
+ }
+ }))
+ }
+ },
+ openBackModal () {
+ this.isBackProblem = true
+ this.$set(this.backForm, 'checkDate', dayjs().format('YYYY-MM-DD HH:mm:ss'))
+ },
dele (index, type) {
if (type == 0) {
if (this.dealForm.dealBeforeFileList != null && this.dealForm.dealBeforeFileList.length > index) {
@@ -345,8 +367,8 @@
this.dealForm.dealAfterFileList.splice(index, 1)
}
} else if (type == 2) {
- if (this.backForm.dealAfterFileList != null && this.backForm.dealAfterFileList.length > index) {
- this.backForm.dealAfterFileList.splice(index, 1)
+ if (this.backForm.dealBeforeFileList != null && this.backForm.dealBeforeFileList.length > index) {
+ this.backForm.dealBeforeFileList.splice(index, 1)
}
}
},
@@ -356,10 +378,9 @@
this.dealForm.dealBeforeFileList = []
}
this.dealForm.dealBeforeFileList.push({
- id: this.model.id,
+ fileurl: e.imgaddr,
url: e.url,
- fileUrl: e.imgaddr,
- fileName: e.originname,
+ name: e.originname,
fileType: e.type
})
} else if (objType === 1) {
@@ -367,21 +388,19 @@
this.dealForm.dealAfterFileList = []
}
this.dealForm.dealAfterFileList.push({
- id: this.model.id,
- fileUrl: e.imgaddr,
+ fileurl: e.imgaddr,
url: e.url,
- fileName: e.originname,
+ name: e.originname,
fileType: e.type
})
} else if (objType === 2) {
- if (this.backForm.dealAfterFileList == null) {
- this.backForm.dealAfterFileList = []
+ if (this.backForm.dealBeforeFileList == null) {
+ this.backForm.dealBeforeFileList = []
}
- this.backForm.dealAfterFileList.push({
- id: this.model.id,
- fileUrl: e.imgaddr,
+ this.backForm.dealBeforeFileList.push({
+ fileurl: e.imgaddr,
url: e.url,
- fileName: e.originname,
+ name: e.originname,
fileType: e.type
})
}
@@ -394,20 +413,21 @@
}
this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ゆ彁浜よ闅愭偅澶勭悊鎯呭喌鍚楋紵')
.then(() => {
- this.transfering = true
+ this.dealing = true
this.api.dealHiddenDanger({
id: this.dataId,
status: 1,
- checkDate: this.dealForm.checkDate,
+ dealTime: this.dealForm.checkDate,
checkInfo: this.dealForm.checkInfo,
dealBeforeFileList: this.dealForm.dealBeforeFileList,
- dealAfterFileList: this.dealForm.dealBeforeFileList
+ dealAfterFileList: this.dealForm.dealAfterFileList
})
.then(res => {
- this.$tip.apiSuccess('杞氦鎴愬姛')
+ this.$tip.apiSuccess('澶勭悊鎴愬姛')
this.getDetail()
this.getLogList()
- this.isShowTransfer = false
+ this.$emit('success')
+ this.isShowProblem = false
})
.catch(e => {
})
@@ -424,19 +444,20 @@
}
this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ら��鍥炶闅愭偅澶勭悊鎯呭喌鍚楋紵')
.then(() => {
- this.transfering = true
+ this.dealing = true
this.api.dealHiddenDanger({
id: this.dataId,
- status: 0,
- checkDate: this.backForm.checkDate,
+ status: 2,
+ dealTime: this.backForm.checkDate,
checkInfo: this.backForm.checkInfo,
dealBeforeFileList: this.backForm.dealBeforeFileList
})
.then(res => {
- this.$tip.apiSuccess('杞氦鎴愬姛')
+ this.$tip.apiSuccess('閫�鍥炴垚鍔�')
this.getDetail()
this.getLogList()
- this.isShowTransfer = false
+ this.$emit('success')
+ this.isBackProblem = false
})
.catch(e => {
})
@@ -455,13 +476,13 @@
this.memberList = []
this.transForm = {
memberId: null
- },
+ }
this.dealForm = {
checkDate: null,
checkInfo: null,
dealBeforeFileList: [],
dealAfterFileList: []
- },
+ }
this.backForm = {
checkDate: null,
checkInfo: null,
@@ -488,6 +509,7 @@
this.$tip.apiSuccess('杞氦鎴愬姛')
this.getDetail()
this.getLogList()
+ this.$emit('success')
this.isShowTransfer = false
})
.catch(e => {
@@ -518,9 +540,13 @@
this.loadMemberList()
},
loadMemberList () {
- memberList({}).then(res => {
+ userList({ queryParam: this.filterText, querySpecial: 1, type: 2, companyType: 1, workStatus: 0 })
+ .then(res => {
+ this.memberList = res || []
+ })
+ /*memberList({}).then(res => {
this.memberList = res
- })
+ })*/
},
reject () { },
handleAvatarSuccess () { },
@@ -530,6 +556,7 @@
</script>
<style lang="scss" scoped>
+@import "@/assets/style/variables.scss";
.side_title{
font-weight: 600;
font-size: 18px;
@@ -594,6 +621,7 @@
.value {
color: #111111;
+ flex: 1;
}
}
}
@@ -683,6 +711,11 @@
color: #53b76f;
font-size: 24px;
}
+
+ .iconnew{
+ width: 24px;
+ height: 24px;
+ }
.icon1 {
position: relative;
z-index: 11;
@@ -692,7 +725,7 @@
.icon2 {
position: relative;
z-index: 11;
- color: red;
+ color: #dc362e;
font-size: 24px;
}
.avatar {
@@ -700,7 +733,7 @@
height: 40px;
border-radius: 50%;
margin: 0 12px 0 16px;
- border: 1px solid;
+ //border: 1px solid;
}
.content {
flex: 1;
@@ -721,7 +754,7 @@
font-size: 13px;
color: #888888;
.status {
- color: #00ba67;
+ color: $primaryColor;
}
}
}
--
Gitblit v1.9.3