From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 16 十月 2024 15:59:38 +0800 Subject: [PATCH] 代码初始化 --- admin/src/components/business/OperaCarUseBookWindow.vue | 214 +++++++++++++++++++++++++++++------------------------ 1 files changed, 116 insertions(+), 98 deletions(-) diff --git a/admin/src/components/business/OperaCarUseBookWindow.vue b/admin/src/components/business/OperaCarUseBookWindow.vue index e50d4ef..8321ae4 100644 --- a/admin/src/components/business/OperaCarUseBookWindow.vue +++ b/admin/src/components/business/OperaCarUseBookWindow.vue @@ -12,10 +12,10 @@ <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> @@ -43,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> @@ -65,53 +65,43 @@ <div class="side_title">瀹℃壒娴佺▼</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="(model.approveDateVO.copyList !=null && model.approveDateVO.copyList.length>0) || (index < logList.length-1)"></div> + <div class="separate" v-if=" (index < model.approveDateVO.approveList.length-1)"></div> <div class="info"> - <i class="el-icon-success icon1" v-if="(item.status ==0)"></i> - <i class="el-icon-question icon" v-if="(item.status==2 || item.status==5)"></i> - <i class="el-icon-error icon2" v-if="(item.status==3 ||item.status==4 || item.status==6 ) "></i> - <i class="el-icon-question icon3" v-if="(item.status==3 ||item.status==4 || item.status==6 ) "></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>3 + <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> - <div class="item" v-if="model.approveDateVO.copyList !=null && model.approveDateVO.copyList.length"> - <div class="info"> - <i class="el-icon-question icon3"></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="" /> - <div class="content"> - <div class="line"> - <div class="name">鎶勯��</div> - <div class="time"></div> - </div> - <div class="line"> - <div class="company"> - {{ item.createUserName }} {{ item.companyName }} - <div style="display: inline"> - 锛�<span class="status-green">{{stausInfo}}</span> - </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> @@ -120,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="鍚屾剰鐢宠" + style="text-align: center" class="dialogCl" :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" @@ -147,7 +139,7 @@ type="textarea" placeholder="璇峰~鍐欒鏄�" :rows="4" - v-model="backForm.checkInfo" + v-model="dealForm.checkInfo" /> </el-form-item> </el-form> @@ -159,6 +151,7 @@ <el-dialog append-to-body title="鎷掔粷鐢宠" + style="text-align: center" class="dialogCl" :visible.sync="isBackProblem" width="600px" @@ -185,6 +178,7 @@ 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', @@ -206,6 +200,9 @@ }, backForm: { checkInfo: null + }, + rules: { + driverId: [{ required: true, message: '璇烽�夋嫨娲鹃仯鍙告満', trigger: 'blur' }] } } }, @@ -224,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 => { @@ -244,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 }) }) }, @@ -294,10 +299,6 @@ this.dealForm.driveId = res.driveId }) }, - handleTransfer () { - this.isShowTransfer = true - this.loadMemberList() - }, loadMemberList () { driveList({}).then(res => { this.memberList = res @@ -308,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; @@ -334,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%; @@ -371,6 +371,7 @@ } .value { + flex: 1; color: #111111; } } @@ -448,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; @@ -473,18 +500,15 @@ color: #dc362e; font-size: 24px; } + .iconnew{ + width: 24px; + height: 24px; + } .icon3 { position: relative; z-index: 11; color:gray; font-size: 24px; - } - .avatar { - width: 40px; - height: 40px; - border-radius: 50%; - margin: 0 12px 0 16px; - border: 1px solid; } .content { flex: 1; @@ -501,13 +525,6 @@ .time { color: #888888; } - .company { - font-size: 13px; - color: #888888; - .status { - color: #00ba67; - } - } } } } @@ -516,8 +533,9 @@ border-radius: 4px; padding: 13px 15px; color: #666666; - margin-left: 120px; + margin-left: 100px; } + } } } -- Gitblit v1.9.3