From fb8fa69621b36bf8a4c2271ec6628958f1aa30f5 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 18 十月 2024 14:16:48 +0800
Subject: [PATCH] 最新版本541200007
---
admin/src/components/business/OperaCarUseBookWindow.vue | 235 +++++++++++++++++++++++++++++++++-------------------------
1 files changed, 134 insertions(+), 101 deletions(-)
diff --git a/admin/src/components/business/OperaCarUseBookWindow.vue b/admin/src/components/business/OperaCarUseBookWindow.vue
index 6e1c896..8321ae4 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,15 +12,15 @@
<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>
+ <span class="right" style="background:#B2B2B2; " v-if="model.status === 4">宸叉挙閿�</span>
</div>
<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>
@@ -44,8 +43,8 @@
</div>
<div class="item">
<div class="label">鐩殑鍦扮被鍒�</div>
- <div class="value status-green" v-if="model.type === 0">銆愬競鍐呯敤杞︺��</div>
- <spdivan class="value status-red" v-if="model.type === 1">銆愬競鍐呯敤杞︺��</spdivan>
+ <div class="value status-green" v-if="model.type == 0">銆愬競鍐呯敤杞︺��</div>
+ <div class="value status-red" v-if="model.type == 1">銆愬競澶栫敤杞︺��</div>
</div>
<div class="item">
<div class="label">鐩殑鍦�</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>
@@ -99,20 +110,22 @@
</div>
<!-- -->
<template v-slot:footer>
- <el-button @click="isShowProblem = true" type="primary" v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 " class="status-red">鍚屾剰</el-button>
- <el-button @click="isBackProblem=true" type="danger" v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 " >鎷掔粷</el-button>
+ <el-button @click="agreeOpen" type="primary" v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 " class="status-red">鍚屾剰</el-button>
+ <el-button @click="jectOpen" type="danger" v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 " >鎷掔粷</el-button>
<el-button @click="visible=false">杩斿洖</el-button>
</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" >
- <el-form-item label="娲捐溅鍙告満" prop="driverId" required v-if="model.approveDateVO!=null && model.approveDateVO.drvierParam ===1">
- <el-select v-model="transForm.driverId" style="width: 300px" filterable clearable placeholder="璇烽�夋嫨娲鹃仯鍙告満">
+ <el-form :model="dealForm" :rules="rules" ref="dealForm" >
+ <!-- <el-form-item label="娲捐溅鍙告満" prop="driverId" required v-if="model.approveDateVO!=null && model.approveDateVO.driverParam === 1"> -->
+ <el-form-item label="娲捐溅鍙告満" prop="driverId" v-if="model.approveDateVO!=null && model.approveDateVO.driverParam == 1">
+ <el-select v-model="dealForm.driverId" style="width: 300px" filterable clearable placeholder="璇烽�夋嫨娲鹃仯鍙告満">
<el-option
v-for="item in memberList"
:key="item.id"
@@ -126,18 +139,19 @@
type="textarea"
placeholder="璇峰~鍐欒鏄�"
:rows="4"
- v-model="backForm.checkInfo"
+ v-model="dealForm.checkInfo"
/>
</el-form-item>
</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 +168,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 +178,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,14 +194,15 @@
isShowProblem: false,
isBackProblem: false,
memberList: [],
- logList:[],
- copyList:[],
dealForm: {
driveId: null,
checkInfo: null
},
backForm: {
checkInfo: null
+ },
+ rules: {
+ driverId: [{ required: true, message: '璇烽�夋嫨娲鹃仯鍙告満', trigger: 'blur' }]
}
}
},
@@ -195,7 +211,7 @@
},
created () {
this.config({
- api: '/business/carUserBook',
+ api: '/business/carUseBook',
'field.id': 'id'
})
},
@@ -205,13 +221,14 @@
if (!valid) {
return
}
- this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ゆ彁浜よ闅愭偅澶勭悊鎯呭喌鍚楋紵')
+ this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ゅ悓鎰忚鐢宠鍚楋紵')
.then(() => {
this.dealing = true
- this.api.dealHiddenDanger({
- id: this.dataId,
- status: 1,
- driverId: this.dealForm.driveId,
+ approveDo({
+ objId: this.dataId,
+ objType: this.model.type == 1 ? 4 : 3,
+ status: 2,
+ driverId: this.dealForm.driverId,
checkInfo: this.dealForm.checkInfo
})
.then(res => {
@@ -225,29 +242,36 @@
})
})
},
+ agreeOpen () {
+ this.isShowProblem = true
+ this.$set(this.dealForm, 'checkInfo', '')
+ this.loadMemberList()
+ },
+ jectOpen () {
+ this.isBackProblem = true
+ this.backForm = {
+ checkInfo: null
+ }
+ },
backDo () {
this.$refs.backForm.validate((valid) => {
if (!valid) {
return
}
- this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ら��鍥炶闅愭偅澶勭悊鎯呭喌鍚楋紵')
- .then(() => {
- this.dealing = true
- this.api.dealHiddenDanger({
- id: this.dataId,
- status: 2,
- checkInfo: this.backForm.checkInfo
- })
- .then(res => {
- this.$tip.apiSuccess('閫�鍥炴垚鍔�')
- this.getDetail()
- this.isBackProblem = false
- })
- .catch(e => {
- })
- .finally(() => {
- this.dealing = false
- })
+ approveDo({
+ objId: this.dataId,
+ objType: this.model.type == 1 ? 4 : 3,
+ status: 3,
+ checkInfo: this.backForm.checkInfo
+ }).then(res => {
+ this.$tip.apiSuccess('閫�鍥炴垚鍔�')
+ this.getDetail()
+ this.isBackProblem = false
+ })
+ .catch(e => {
+ })
+ .finally(() => {
+ this.dealing = false
})
})
},
@@ -258,8 +282,6 @@
this.dataId = target.id
this.$nextTick(() => {
this.memberList = []
- this.logList = []
- this.copyList = []
this.dealForm = {
driveId: null,
checkInfo: null
@@ -275,19 +297,7 @@
.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 () {
- this.isShowTransfer = true
- this.loadMemberList()
},
loadMemberList () {
driveList({}).then(res => {
@@ -299,14 +309,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 +327,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,10 +367,11 @@
.label {
color: #888888;
- width: 68px;
+ width: 100px;
}
.value {
+ flex: 1;
color: #111111;
}
}
@@ -439,8 +449,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 +500,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 +525,6 @@
.time {
color: #888888;
}
- .company {
- font-size: 13px;
- color: #888888;
- .status {
- color: #00ba67;
- }
- }
}
}
}
@@ -501,8 +533,9 @@
border-radius: 4px;
padding: 13px 15px;
color: #666666;
- margin-left: 120px;
+ margin-left: 100px;
}
+
}
}
}
--
Gitblit v1.9.3