| | |
| | | <view>
|
| | | <view class="main_info">
|
| | | <view class="title">
|
| | | <text>阜宁文体中心/A座/401</text>
|
| | | <text class="status">待处理</text>
|
| | | <text>{{ info.projectName }}/{{ info.buildingName }}/{{info.roomNum || info.floorName}}</text>
|
| | | <text class="status" v-if="info.dealStatus == 0">待处理</text>
|
| | | <text class="status" v-if="info.dealStatus == 1">已指派</text>
|
| | | <text class="status gray" v-if="info.dealStatus == 2">已处理</text>
|
| | | </view>
|
| | | <view class="desc">西边走廊的一个顶灯坏了,不亮需要维修西边</view>
|
| | | <view class="desc">{{ info.content }}</view>
|
| | | <view class="file_list">
|
| | | <view class="file">
|
| | |
|
| | | <view class="file" v-for="(item,index) in info.fileList">
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
|
| | | </view>
|
| | | </view>
|
| | | <view class="content">
|
| | | <view class="line">
|
| | | <view class="line" v-if="info.categoryName">
|
| | | <view class="la">工单类型:</view>
|
| | | <view class="val">1111</view>
|
| | | <view class="val">{{info.categoryName}}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">上报人:</view>
|
| | | <view class="val">1111</view>
|
| | | <view class="val">{{ info.creatorName }}{{info.creatorCompany ? '-' + info.creatorCompany : ''}}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="line" v-if="info.creatorPhone">
|
| | | <view class="la">联系电话:</view>
|
| | | <view class="val">1111</view>
|
| | | <view class="val">{{ info.creatorPhone }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">上报时间:</view>
|
| | | <view class="val">1111</view>
|
| | | <view class="val">{{ info.createDate }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="line" v-if="info.getDate">
|
| | | <view class="la">上门时间:</view>
|
| | | <view class="val">1111</view>
|
| | | <view class="val">{{ info.getDate }}</view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="result_wrap">
|
| | | <view class="result_wrap" v-if="info.dealStatus == 2">
|
| | | <div class="title">处理结果</div>
|
| | | <view class="file_list">
|
| | | <view class="file">
|
| | |
|
| | | <view v-if="info.dealFileList && info.dealFileList.length > 0" class="file_list">
|
| | | <view class="file" v-for="item in info.dealFileList">
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
|
| | | </view>
|
| | | </view>
|
| | | <view class="content">
|
| | | 已更换灯泡和灯罩已更换灯泡和灯罩已更换灯
|
| | | <view v-if="info.dealInfo" class="content">
|
| | | {{info.dealInfo}}
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">处理人:</view>
|
| | | <view class="val">{{ 1111 }}</view>
|
| | | <view class="val">{{ info.dealUserName }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="la">处理时间:</view>
|
| | | <view class="val">{{ 1111 }}</view>
|
| | | <view class="val">{{ info.dealDate }}</view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <!-- -->
|
| | | <view class="btns">
|
| | | <view class="btns" v-if="info.dealStatus == 0">
|
| | | <view class="btn">
|
| | | <image src="@/static/side/phoneed.png" class="icon"></image>
|
| | | <text>上报人</text>
|
| | |
| | | <view class="btn active" @click="isShowHandle = true">去处理</view>
|
| | | </view>
|
| | | <!-- -->
|
| | | <u-popup :show="showUpload" @close="showUpload = false" closeOnClickOverlay>
|
| | | <u-popup :show="showUpload" @close="showUpload = false" zIndex="10076" closeOnClickOverlay>
|
| | | <view class="sel_upload_wrap">
|
| | | <view class="btn" @click="uploadImage">选择图片</view>
|
| | | <view class="btn" @click="uploadVideo">选择视频</view>
|
| | |
| | | </u-popup>
|
| | | <!-- -->
|
| | | <!-- 工单处理 -->
|
| | | <u-popup :show="isShowHandle" :round="10" :safeAreaInsetBottom="true" mode="bottom" closeable @close="isShowHandle = false">
|
| | | <u-popup :show="isShowHandle" :round="10" :safeAreaInsetBottom="true" mode="bottom" closeable
|
| | | @close="isShowHandle = false">
|
| | | <view class="appr_modal">
|
| | | <view class="title">工单处理</view>
|
| | | <view class="df_sb">
|
| | | <view>处理时间</view>
|
| | | <view><text class="red">*</text>处理时间</view>
|
| | | <view class="df_ac" @click="isShowHandleDate = true" v-if="handleParam.dealTime">
|
| | | {{ handleParam.dealTime }}
|
| | | <u-icon name="arrow-right"></u-icon>
|
| | |
| | | </view>
|
| | |
|
| | | <view class="label">
|
| | | <text>*</text>
|
| | | 上传图片/视频
|
| | | </view>
|
| | | <view class="upload_wrap">
|
| | |
| | |
|
| | | <script>
|
| | | import {
|
| | | uploadUrl
|
| | | uploadUrl,
|
| | | ywWorkorderD, |
| | | ywWorkorderDeal
|
| | | } from '@/api'
|
| | | import dayjs from 'dayjs';
|
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | id: '',
|
| | | info: {},
|
| | | showUpload: false,
|
| | | isShowHandle: false,
|
| | | isShowHandleDate: false,
|
| | |
| | | dealFileList: []
|
| | | };
|
| | | },
|
| | | onLoad(option) {
|
| | | console.log(option);
|
| | | this.id = option.id
|
| | | this.getDetail()
|
| | | },
|
| | | methods: {
|
| | | onSubmit() {
|
| | |
|
| | | onSubmit() { |
| | | const { handleParam, dealFileList, id } = this |
| | | if (!handleParam.dealTime) return this.showToast('处理时间不能为空')
|
| | | ywWorkorderDeal({ |
| | | ...handleParam, |
| | | id, |
| | | dealFileList |
| | | }).then(res => { |
| | | if(res.code == 200){ |
| | | this.showToast('操作成功') |
| | | uni.navigateBack() |
| | | } |
| | | })
|
| | | },
|
| | | getDetail() {
|
| | | ywWorkorderD(this.id).then(res => {
|
| | | this.info = res.data
|
| | | })
|
| | | },
|
| | | callPhone() {
|
| | | uni.makePhoneCall({
|
| | |
| | | this.showUpload = false;
|
| | | let token = uni.getStorageSync('token') || '';
|
| | | uni.chooseImage({
|
| | | count: 4,
|
| | | count: 6,
|
| | | success: chooseImageRes => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | |
| | | files: imgs,
|
| | | name: 'file',
|
| | | formData: {
|
| | | folder: 'HIDDEN_DANGER_FILE'
|
| | | folder: 'YW_WORKORDER_FILE'
|
| | | },
|
| | | header: {
|
| | | Dm_user_token: token
|
| | |
| | | i.type = 0;
|
| | | i.fileurl = i.imgaddr;
|
| | | i.fileurlFull = i.url;
|
| | | this.submitFileList.push(i);
|
| | | this.dealFileList.push(i);
|
| | | });
|
| | | }
|
| | | },
|
| | |
| | | },
|
| | | name: 'file',
|
| | | formData: {
|
| | | folder: 'HIDDEN_DANGER_FILE'
|
| | | folder: 'YW_WORKORDER_FILE'
|
| | | },
|
| | | success: uploadFileRes => {
|
| | | let res = JSON.parse(uploadFileRes.data);
|
| | |
| | | i.type = 1;
|
| | | i.fileurl = i.imgaddr;
|
| | | i.fileurlFull = i.url;
|
| | | this.submitFileList.push(i);
|
| | | this.dealFileList.push(i);
|
| | | });
|
| | | }
|
| | | },
|
| | |
| | | font-size: 28rpx;
|
| | | color: $primaryColor;
|
| | | }
|
| | |
|
| | | .gray {
|
| | | color: #999999;
|
| | | }
|
| | | }
|
| | |
|
| | | .file_list {
|
| | |
| | |
|
| | | &:nth-of-type(4n) {
|
| | | margin-right: 0;
|
| | | }
|
| | |
|
| | | image,
|
| | | video {
|
| | | width: 156rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | .sel_upload_wrap {
|
| | | width: 100%;
|
| | | border-top: 1px solid #333333;
|
| | | border-top: 1px solid #666666;
|
| | | box-shadow: 0 1 1 #333333;
|
| | |
|
| | | .btn {
|