From 8dcbe3d898f6c60ef3226095d994ca8953bf5f6d Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期二, 03 十二月 2024 18:18:37 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/funingyunwei --- admin/src/views/workorder/components/detail.vue | 172 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 117 insertions(+), 55 deletions(-) diff --git a/admin/src/views/workorder/components/detail.vue b/admin/src/views/workorder/components/detail.vue index 7246837..55f1e8d 100644 --- a/admin/src/views/workorder/components/detail.vue +++ b/admin/src/views/workorder/components/detail.vue @@ -1,5 +1,5 @@ <template> - <GlobalWindow width="820px" title="宸ュ崟璇︽儏" :visible.sync="visible" :confirm-working="isWorking" @close="close" + <GlobalWindow width="920px" title="宸ュ崟璇︽儏" :visible.sync="visible" :confirm-working="isWorking" @close="close" @confirm="confirm"> <div class="main"> <div class="title"> @@ -10,54 +10,72 @@ <div class="status gray" v-if="info.dealStatus == 2">宸插鐞�</div> </div> </div> - <div class="list"> - <div class="item"> - <div class="la">浣嶇疆绫诲瀷</div> - <div class="val">{{ info.areaType == 0 ? '瀹ゅ唴缁翠慨' : '鍏叡缁翠慨' }}</div> + <div class="main_content"> + <div class="list"> + <div class="item"> + <div class="la">浣嶇疆绫诲瀷</div> + <div class="val">{{ info.areaType == 0 ? '瀹ゅ唴缁翠慨' : '鍏叡缁翠慨' }}</div> + </div> + <div class="item"> + <div class="la">瀵瑰簲浣嶇疆</div> + <div class="val">{{ info.projectName }}/{{ info.buildingName }} / {{ info.roomNum || info.floorName }}</div> + </div> + <div class="item"> + <div class="la">宸ュ崟鍒嗙被</div> + <div class="val">{{ info.categoryName }}</div> + </div> + <div class="item"> + <div class="la">涓婃姤浜�</div> + <div class="val">{{ info.creatorName }}{{ info.creatorCompany ? "-" + info.creatorCompany : '' }}</div> + </div> + <div class="item"> + <div class="la">涓婃姤浜虹數璇�</div> + <div class="val">{{ info.creatorPhone || info.creatorMobile }}</div> + </div> + <div class="item"> + <div class="la">涓婃姤鏃堕棿</div> + <div class="val">{{ info.createDate }}</div> + </div> + <div class="item max" v-if="info.areaType == 0"> + <div class="la">涓婇棬鏃堕棿</div> + <div class="val">{{ info.getDate }}</div> + </div> + <div class="item max"> + <div class="la">闂鎻忚堪</div> + <div class="val">{{ info.content }}</div> + </div> + <div class="item max"> + <div class="la">闂鍥剧墖</div> + <div class="value" v-if="info.fileList == null || !info.fileList.length">鏃�</div> + <div class="value" v-if="info.fileList != null && info.fileList.length"> + <div v-for="item in info.fileList" :key="item.id" style="display: inline;margin-right: 20px"> + <video v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')" ref="videoRef" controls + preload="auto" style="width: 80px;height: 80px;object-fit: contain;" :src="item.fileurlFull" /> + <el-image v-else-if="item.fileurlFull" style="width:80px; height: 80px" :src="item.fileurlFull" + :preview-src-list="[item.fileurlFull]"> + </el-image> + </div> + </div> + </div> </div> - <div class="item"> - <div class="la">瀵瑰簲浣嶇疆</div> - <div class="val">{{ info.buildingName }} / {{ info.roomNum || info.floorName }}</div> - </div> - <div class="item"> - <div class="la">宸ュ崟绫诲埆</div> - <div class="val">{{ info.categoryName }}</div> - </div> - <div class="item"> - <div class="la">涓婃姤浜�</div> - <div class="val">{{ info.creatorName }}</div> - </div> - <div class="item"> - <div class="la">涓婃姤浜虹數璇�</div> - <div class="val">{{ info.creatorPhone }}</div> - </div> - <div class="item"> - <div class="la">涓婃姤鏃堕棿</div> - <div class="val">{{ info.createDate }}</div> - </div> - <div class="item max"> - <div class="la">涓婇棬鏃堕棿</div> - <div class="val">{{ info.getDate }}</div> - </div> - <div class="item max"> - <div class="la">闂鎻忚堪</div> - <div class="val">{{ info.content }}</div> - </div> - <div class="item max"> - <div class="la">闂鍥剧墖</div> - <div class="value" v-if="info.fileList == null || !info.fileList.length">鏃�</div> - <div class="value" v-if="info.fileList != null && info.fileList.length"> - <div v-for="item in info.fileList" :key="item.id" style="display: inline;margin-right: 20px"> - <video v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')" ref="videoRef" controls preload="auto" - style="width: 80px;height: 80px;object-fit: contain;" :src="item.fileurlFull" /> - <el-image v-else-if="item.fileurlFull" style="width:80px; height: 80px" :src="item.fileurlFull" - :preview-src-list="[item.fileurlFull]"> - </el-image> + <div class="side"> + <div class="title">宸ュ崟娴佽浆璁板綍</div> + <div class="flow_list"> + <div class="item" v-for="item,i in info.logList"> + <div class="icon"> + <div class="dian"></div> + <div v-if="i < info.logList.length - 1" class="line"></div> + </div> + <div class="content"> + <div class="name">{{ item.title }}</div> + <div class="time">鎿嶄綔鏃堕棿锛歿{ item.createDate }}</div> + <div class="creator">鎿嶄綔浜猴細{{ item.param1 }}</div> + </div> </div> </div> </div> </div> - <div class="title">宸ュ崟澶勭悊</div> + <div class="title">{{ info.dealStatus == 0 || info.dealStatus == 1 ? '宸ュ崟澶勭悊' : '澶勭悊缁撴灉' }}</div> <el-form :model="param" ref="form" :rules="rules"> <template v-if="info.dealStatus == 0 || info.dealStatus == null"> <el-form-item label="澶勭悊鏂瑰紡" prop="dealType"> @@ -65,7 +83,7 @@ <el-radio v-model="param.dealType" :label="0">鎸囨淳</el-radio> <el-radio v-model="param.dealType" :label="1">鐩存帴鍥炲</el-radio> </div> - </el-form-item> + </el-form-item> <el-form-item v-if="param.dealType == 0" label="鎸囨淳缁�" prop="dealUserId"> <el-select v-model="param.dealUserId" clearable filterable class="w400"> <el-option v-for="item in staffList" :label="item.realname" :value="item.id"></el-option> @@ -80,13 +98,13 @@ <el-date-picker type="datetime" class="w400" v-model="param.getDate" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm:ss" placeholder="璇烽�夋嫨"></el-date-picker> </el-form-item> - <el-form-item label="鍥炲鍐呭" prop="dealInfo"> + <el-form-item label="澶勭悊璇存槑" prop="dealInfo"> <el-input type="textarea" class="w400" :rows="4" v-model="param.dealInfo" placeholder="璇峰~鍐欒鏄�"></el-input> </el-form-item> <el-form-item label="鐜板満鍥剧墖"> <div class="file_list"> - <el-upload class="avatar-uploader" :data="uploadData" multiple :limit="6" :auto-upload="true" :action="uploadImgUrl" - :show-file-list="false" :on-success="uploadAvatarSuccess" :on-error="uploadError" + <el-upload class="avatar-uploader" :data="uploadData" :auto-upload="true" + :action="uploadImgUrl" :show-file-list="false" :on-success="uploadAvatarSuccess" :on-error="uploadError" :before-upload="beforeUpload"> <div class="upload_wrap"> <i class="el-icon-plus avatar-uploader-icon"></i> @@ -105,14 +123,18 @@ <template v-if="info.dealStatus == 2"> <div class="list"> <div class="item item2"> - <div class="la">澶勭悊鏃堕棿锛�</div> - <div class="val">{{ info.getDate }}</div> + <div class="la">{{ info.dispatchUserId ? '澶勭悊浜�' : '鍥炲浜�' }}锛�</div> + <div class="val">{{ info.dealUserName }}{{ info.dealUserCompany ? '-' + info.dealUserCompany : '' }}</div> </div> <div class="item item2"> - <div class="la">澶勭悊澶囨敞锛�</div> + <div class="la">{{ info.dispatchUserId ? '澶勭悊鏃堕棿' : '鍥炲鏃堕棿' }}锛�</div> + <div class="val">{{ info.dealDate || info.getDate }}</div> + </div> + <div class="item item2"> + <div class="la">{{ info.dispatchUserId ? '澶勭悊璇存槑' : '鍥炲鍐呭' }}锛�</div> <div class="val">{{ info.dealInfo }}</div> </div> - <div class="item item2"> + <div v-if="info.dealFileList != null && info.dealFileList.length" class="item item2"> <div class="la">鐜板満鐓х墖锛�</div> <div class="value" v-if="info.dealFileList == null || !info.dealFileList.length">鏃�</div> <div class="value" v-if="info.dealFileList != null && info.dealFileList.length"> @@ -160,7 +182,7 @@ uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch', dealFileList: [], uploadData: { - folder: 'HIDDEN_DANGER_FILE' + folder: 'YW_WORKORDER_FILE' }, } }, @@ -178,9 +200,9 @@ if (valid) { const { param, id, dealFileList, info } = this let fn = null - if(info.dealStatus == 0 || info.dealStatus == null){ + if (info.dealStatus == 0 || info.dealStatus == null) { fn = param.dealType == 0 ? dispatchOrder : dealOrder - }else{ + } else { fn = dealOrder } fn({ @@ -326,6 +348,46 @@ width: 100%; } } + .main_content{ + display: flex; + .side{ + width: 370px; + .title{ + font-size: 14px; + } + .flow_list{ + .item{ + display: flex; + .icon{ + width: 28px; + display: flex; + flex-direction: column; + align-items: center; + .dian{ + width: 12px; + height: 12px; + border-radius: 50%; + background-color: #e89e42; + } + .line{ + width: 1px; + height: 100%; + background-color: #e89e42; + } + } + .content{ + font-size: 12px; + color: #999999; + padding-bottom: 12px; + .name{ + font-size: 13px; + color: #333333; + } + } + } + } + } + } } .file_list { -- Gitblit v1.9.3