From 62182a3d0b1f28b1a54d054fda7f951382086d05 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 11 六月 2024 17:56:43 +0800
Subject: [PATCH] 最新版本
---
admin/src/components/business/OperaCarUseBookWindow.vue | 195 +++++++++++++++++++++++++++---------------------
1 files changed, 108 insertions(+), 87 deletions(-)
diff --git a/admin/src/components/business/OperaCarUseBookWindow.vue b/admin/src/components/business/OperaCarUseBookWindow.vue
index 6e1c896..b92af71 100644
--- a/admin/src/components/business/OperaCarUseBookWindow.vue
+++ b/admin/src/components/business/OperaCarUseBookWindow.vue
@@ -3,7 +3,6 @@
:title="title"
:visible.sync="visible"
@confirm="confirm"
- @close="reject"
>
<div class="modal_wrap">
<div class="modal_content">
@@ -13,7 +12,7 @@
<div class="time">鎻愪氦鏃堕棿锛歿{model.createDate}}</div>
</div>
<span class="right" v-if="model.status === 0">鐢宠涓�</span>
- <span class="right" v-if="model.status === 1">寰呭鎵�</span>
+ <span class="right" v-if="model.status === 1">瀹℃壒涓�</span>
<span class="right" style="background:#53b76f " v-if="model.status === 2">瀹℃壒閫氳繃</span>
<span class="right" style="background:#dc362e " v-if="model.status === 3">瀹℃壒涓嶉�氳繃</span>
<span class="right" style="background:#dc362e " v-if="model.status === 4">宸插彇娑�</span>
@@ -21,7 +20,7 @@
<div class="info">
<div class="title">鍏姟杞︾敵璇蜂俊鎭�</div>
<div class="list">
- <div class="item">
+ <div class="item" style="width: 100%">
<div class="label">鐢宠浜�</div>
<div class="value">{{model.memberName || ''}} {{model.memberPhone || ''}} ({{model.companyName || ''}})</div>
</div>
@@ -57,40 +56,52 @@
</div>
<div class="item">
<div class="label">鐢ㄨ溅鏃舵</div>
- <div class="value">{{model.startTime || ''}}-{{model.endTime || ''}}</div>
+ <div class="value">濮�:{{model.startTime || ''}}<br>姝�:{{model.endTime || ''}}</div>
</div>
</div>
</div>
</div>
<div class="side">
<div class="side_title">瀹℃壒娴佺▼</div>
- <div class="list">
- <div class="item" v-for="(item,index) in logList" :key="item.id">
- <div class="separate" v-if="index < logList.length-1"></div>
+ <div class="list" v-if="model.approveDateVO !=null && model.approveDateVO.approveList !=null">
+ <div class="item" v-for="(item,index) in model.approveDateVO.approveList" :key="item.id">
+ <div class="separate" v-if=" (index < model.approveDateVO.approveList.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 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="" />
+ <img src="@/assets/icons/ic_tongguo.png" class="iconnew" v-if="( item.status ==2)"/>
+ <img src="@/assets/icons/ic_dangqian.png" class="iconnew" v-if="( item.status==1)"/>
+ <img src="@/assets/icons/ic_jujue.png" class="iconnew" v-if="( item.status==3)"/>
+ <img src="@/assets/icons/ic_grey.png" class="iconnew" v-if=" (item.status==null || item.status==0 )"/>
+ <div style="display: inline" v-if="item.approveType !=1">
+ <img v-if="item.faceImg!=null && item.faceImg !=''" :src="item.faceImg" class="avatar" alt="" />
+ <img v-if="item.faceImg ==null ||item.faceImg ==''" src="@/assets/avatar/man.png" class="avatar" alt="" />
+ </div>
+ <div style="display: inline" v-if="item.approveType == 1">
+ <img v-if="item.type !=1" src="@/assets/icons/ic_duoren.png" class="avatar" alt="" />
+ <img v-if="item.type == 1" src="@/assets/icons/ic_chaosong.png" class="avatar" alt="" />
+ </div>
<div class="content">
<div class="line">
<div class="name">{{ item.title}}</div>
- <div class="time">{{ item.createDate }}</div>
+ <div class="time">{{ item.checkDate }}</div>
</div>
<div class="line">
<div class="company">
- {{ item.createUserName }} {{ item.companyName }}
- <div style="display: inline">
- 锛�<span class="status-green">{{stausInfo}}</span>
+ {{ item.memberName }}
+ <div style="display: inline" v-if="item.statusInfo!=null && item.statusInfo!=''">
+ 锛�<span class="status-green">{{item.statusInfo ||''}}</span>锛�
</div>
</div>
</div>
- <div class="line">
- <div class="remark">
- {{ item.checkInfo ||'' }}
- </div>
- </div>
+ </div>
+ </div>
+ <div v-if="item.approveType != 1 && item.checkInfo !=null && item.checkInfo !=''" class="remark">
+ {{ item.checkInfo || '' }}
+ </div>
+ <div v-if="item.approveType == 1 " class="childList">
+ <div class="m_content company" v-for="item1 in item.approveList" :key="item1.id">
+ <img v-if="item1.faceImg!=null && item1.faceImg !=''" :src="item1.faceImg" class="avatar" alt="" />
+ <img v-if="item1.faceImg ==null ||item1.faceImg ==''" src="@/assets/avatar/man.png" class="avatar" alt="" />
+ <span > {{item1.memberName}}</span>
</div>
</div>
</div>
@@ -105,9 +116,10 @@
</template>
<el-dialog
append-to-body
- title="杞氦"
+ title="鍚屾剰鐢宠"
+ style="text-align: center"
class="dialogCl"
- :visible.sync="isShowTransfer"
+ :visible.sync="isShowProblem"
width="480px"
>
<el-form :model="dealForm" ref="dealForm" >
@@ -132,12 +144,13 @@
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="isShowProblem = false">鍙栨秷</el-button>
- <el-button type="primary" :loading="transfering" @click="dealDo">纭畾</el-button>
+ <el-button type="primary" :loading="dealing" @click="dealDo">纭畾</el-button>
</span>
</el-dialog>
<el-dialog
append-to-body
title="鎷掔粷鐢宠"
+ style="text-align: center"
class="dialogCl"
:visible.sync="isBackProblem"
width="600px"
@@ -154,7 +167,7 @@
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="isBackProblem= false">鍙栨秷</el-button>
- <el-button type="primary" :loading="transfering" @click="backDo">纭畾</el-button>
+ <el-button type="primary" :loading="dealing" @click="backDo">纭畾</el-button>
</span>
</el-dialog>
</GlobalWindow>
@@ -164,9 +177,10 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import { driveList } from '@/api/business/member'
+import { approveDo } from '@/api/business/approve'
import { mapState } from 'vuex'
export default {
- name:'OperaCarUseBookWindow.vue',
+ name: 'OperaCarUseBookWindow',
components: { GlobalWindow },
extends: BaseOpera,
data () {
@@ -179,8 +193,6 @@
isShowProblem: false,
isBackProblem: false,
memberList: [],
- logList:[],
- copyList:[],
dealForm: {
driveId: null,
checkInfo: null
@@ -195,7 +207,7 @@
},
created () {
this.config({
- api: '/business/carUserBook',
+ api: '/business/carUseBook',
'field.id': 'id'
})
},
@@ -205,12 +217,13 @@
if (!valid) {
return
}
- this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ゆ彁浜よ闅愭偅澶勭悊鎯呭喌鍚楋紵')
+ this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ゅ悓鎰忚鐢宠鍚楋紵')
.then(() => {
this.dealing = true
- this.api.dealHiddenDanger({
- id: this.dataId,
- status: 1,
+ approveDo({
+ objId: this.dataId,
+ objType: this.model.type == 1?4:3,
+ status: 2,
driverId: this.dealForm.driveId,
checkInfo: this.dealForm.checkInfo
})
@@ -230,26 +243,22 @@
if (!valid) {
return
}
- this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ら��鍥炶闅愭偅澶勭悊鎯呭喌鍚楋紵')
- .then(() => {
- this.dealing = true
- this.api.dealHiddenDanger({
- id: this.dataId,
- status: 2,
- checkInfo: this.backForm.checkInfo
+ approveDo({
+ objId: this.dataId,
+ objType: this.model.type == 1?4:3,
+ status: 3,
+ checkInfo: this.dealForm.checkInfo
+ }).then(res => {
+ this.$tip.apiSuccess('閫�鍥炴垚鍔�')
+ this.getDetail()
+ this.isBackProblem = false
})
- .then(res => {
- this.$tip.apiSuccess('閫�鍥炴垚鍔�')
- this.getDetail()
- this.isBackProblem = false
- })
- .catch(e => {
- })
- .finally(() => {
- this.dealing = false
- })
+ .catch(e => {
+ })
+ .finally(() => {
+ this.dealing = false
+ })
})
- })
},
open (title, target) {
this.title = title
@@ -258,8 +267,6 @@
this.dataId = target.id
this.$nextTick(() => {
this.memberList = []
- this.logList = []
- this.copyList = []
this.dealForm = {
driveId: null,
checkInfo: null
@@ -275,14 +282,6 @@
.then(res => {
this.model = res
this.dealForm.driveId = res.driveId
- if(res.approveDateVO){
- if(res.approveDateVO.approveList){
- this.logList = res.approveDateVO.approveList
- }
- if(res.approveDateVO.copyList){
- this.copyList = res.approveDateVO.copyList
- }
- }
})
},
handleTransfer () {
@@ -299,14 +298,6 @@
</script>
<style lang="scss" scoped>
-.side_title{
- font-weight: 600;
- font-size: 18px;
- color: #111111;
- margin-bottom: 20px;
- margin-left: 20px;
- margin-top: 20px;
-}
.upload_box {
width: 84px;
height: 84px;
@@ -325,7 +316,14 @@
font-size: 12px;
}
}
-
+.side_title{
+ font-weight: 600;
+ font-size: 18px;
+ color: #111111;
+ margin-bottom: 20px;
+ margin-left: 20px;
+ margin-top: 20px;
+}
.modal_wrap {
display: flex;
height: 100%;
@@ -358,7 +356,7 @@
.label {
color: #888888;
- width: 68px;
+ width: 100px;
}
.value {
@@ -439,8 +437,34 @@
position: absolute;
border-left: 2px dashed #cccccc;
left: 31px;
- height: calc(100% - 24px);
- top: 46px;
+ height: calc(100% - 36px);
+ top: 49px;
+ }
+ .avatar {
+ width: 40px;
+ height: 40px;
+ border-radius: 50%;
+ margin: 0 12px 0 16px;
+ //border: 1px solid;
+ }
+ .childList{
+ display: flex;
+ flex-wrap: wrap;
+ margin-left: 100px;
+ }
+ .company {
+ font-size: 13px;
+ color: #888888;
+ .status {
+ color: #00ba67;
+ }
+ }
+ .m_content{
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 4px;
}
.info {
display: flex;
@@ -464,12 +488,15 @@
color: #dc362e;
font-size: 24px;
}
- .avatar {
- width: 40px;
- height: 40px;
- border-radius: 50%;
- margin: 0 12px 0 16px;
- border: 1px solid;
+ .iconnew{
+ width: 24px;
+ height: 24px;
+ }
+ .icon3 {
+ position: relative;
+ z-index: 11;
+ color:gray;
+ font-size: 24px;
}
.content {
flex: 1;
@@ -486,13 +513,6 @@
.time {
color: #888888;
}
- .company {
- font-size: 13px;
- color: #888888;
- .status {
- color: #00ba67;
- }
- }
}
}
}
@@ -501,8 +521,9 @@
border-radius: 4px;
padding: 13px 15px;
color: #666666;
- margin-left: 120px;
+ margin-left: 100px;
}
+
}
}
}
--
Gitblit v1.9.3