| | |
| | | <template> |
| | | <GlobalWindow width="900px" 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"> |
| | |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">对应位置</div> |
| | | <div class="val">{{ info.buildingName }} / {{ info.roomNum || info.floorName }}</div> |
| | | <div class="val">{{ info.projectName }}/{{ info.buildingName }} / {{ info.roomNum || info.floorName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">工单类别</div> |
| | | <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 class="val">{{ info.creatorName }}{{ info.creatorCompany ? "-" + info.creatorCompany : '' }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">上报人电话</div> |
| | | <div class="val">{{ info.creatorPhone }}</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"> |
| | | <div class="item max" v-if="info.areaType == 0"> |
| | | <div class="la">上门时间</div> |
| | | <div class="val">{{ info.getDate }}</div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="side"> |
| | | <div class="title">工单流转记录员</div> |
| | | <div class="title">工单流转记录</div> |
| | | <div class="flow_list"> |
| | | <div class="item" v-for="item,i in info.logList"> |
| | | <div class="icon"> |
| | |
| | | </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"> |
| | |
| | | <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> |
| | |
| | | <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" |
| | | <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"> |
| | |
| | | <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"> |
| | |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch', |
| | | dealFileList: [], |
| | | uploadData: { |
| | | folder: 'HIDDEN_DANGER_FILE' |
| | | folder: 'YW_WORKORDER_FILE' |
| | | }, |
| | | } |
| | | }, |
| | |
| | | .main_content{ |
| | | display: flex; |
| | | .side{ |
| | | width: 240px; |
| | | width: 370px; |
| | | .title{ |
| | | font-size: 14px; |
| | | } |