派单 查看 派单

master
lion 3 years ago
parent a4b739be48
commit 262465ab29

@ -4,17 +4,17 @@
<view class="box-header"> <view class="box-header">
</view> </view>
<!-- 工单 worksheet -->
<view class="list" style="padding-top: 20rpx;"> <view class="list" style="padding-top: 20rpx;" v-if="isShowGd">
<block> <block>
<u-card :title="lists.created_at" padding="20" margin="20rpx" :border="true"> <u-card :title="lists.created_at" padding="20" margin="20rpx" :border="true">
<view class="" slot="body"> <view class="" slot="body">
<u-row gutter="16"> <u-row gutter="16">
<u-col span="3"> <u-col span="3">
<view class="demo-layout bg-purple">所属片区</view> <view class="demo-layout bg-purple">接收日期</view>
</u-col> </u-col>
<u-col span="9"> <u-col span="9">
<view class="demo-layout bg-purple-light">{{lists.arealName}}</view> <view class="demo-layout bg-purple-light">{{tableList.worksheet_info.accept_date}}</view>
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
@ -22,39 +22,39 @@
<view class="demo-layout bg-purple">来源</view> <view class="demo-layout bg-purple">来源</view>
</u-col> </u-col>
<u-col span="9"> <u-col span="9">
<view class="demo-layout bg-purple-light">{{lists.accept_date}}</view> <view class="demo-layout bg-purple-light">{{tableList.worksheet_info.from_detail?tableList.worksheet_info.from_detail.value:""}}</view>
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
<u-col span="3"> <u-col span="3">
<view class="demo-layout bg-purple">来源编号</view> <view class="demo-layout bg-purple">所属片区</view>
</u-col> </u-col>
<u-col span="9"> <u-col span="9">
<view class="demo-layout bg-purple-light">{{lists.fromName}}</view> <view class="demo-layout bg-purple-light">{{tableList.worksheet_info.area?tableList.worksheet_info.area.name:""}}</view>
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
<u-col span="4"> <u-col span="3">
<view class="demo-layout bg-purple">要求完成时间</view> <view class="demo-layout bg-purple">处理时限</view>
</u-col> </u-col>
<u-col span="8"> <u-col span="9">
{{lists.time}} {{tableList.worksheet_info.deal_detail?tableList.worksheet_info.deal_detail.value:""}}
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
<u-col span="3"> <u-col span="3">
<view class="demo-layout bg-purple">工作内容</view> <view class="demo-layout bg-purple">地址</view>
</u-col> </u-col>
<u-col span="12"> <u-col span="12">
<view class="demo-layout bg-purple-light">{{lists.content}}</view> <view class="demo-layout bg-purple-light">{{tableList.worksheet_info.address}}</view>
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
<u-col span="3"> <u-col span="3">
<view class="demo-layout bg-purple">地址</view> <view class="demo-layout bg-purple">内容</view>
</u-col> </u-col>
<u-col span="12"> <u-col span="12">
{{lists.address}} {{tableList.worksheet_info.content}}
</u-col> </u-col>
</u-row> </u-row>
@ -63,7 +63,7 @@
<view class="demo-layout bg-purple">投诉人姓名</view> <view class="demo-layout bg-purple">投诉人姓名</view>
</u-col> </u-col>
<u-col span="8"> <u-col span="8">
{{lists.people}} {{tableList.worksheet_info.complain_name}}
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
@ -71,9 +71,43 @@
<view class="demo-layout bg-purple">投诉人电话</view> <view class="demo-layout bg-purple">投诉人电话</view>
</u-col> </u-col>
<u-col span="8"> <u-col span="8">
{{lists.phone}} {{tableList.worksheet_info.complain_mobile}}
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">现场图片</view>
</u-col>
<u-col span="12" v-for="(item,index) in tableList.worksheet_info.worksheet_files">
<u-image @click="imgListPreview(item.files.url)" style="margin:20rpx 0" height="350rpx" width="100%" :src="item.files.url"></u-image>
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">是否转派</view>
</u-col>
<u-col span="9">
{{tableList.worksheet_info.is_change==0?"否":"是"}}
</u-col>
</u-row>
<u-row gutter="16" v-if="tableList.worksheet_info.is_change==1">
<u-col span="4">
<view class="demo-layout bg-purple">要求完成时间</view>
</u-col>
<u-col span="8">
{{tableList.worksheet_info.end_time}}
</u-col>
</u-row>
<u-row gutter="16" v-if="tableList.worksheet_info.is_change==1">
<u-col span="4">
<view class="demo-layout bg-purple">备注</view>
</u-col>
<u-col span="8">
{{tableList.worksheet_info.remark}}
</u-col> </u-col>
</u-row> </u-row>
</view> </view>
</u-card> </u-card>
@ -81,6 +115,158 @@
</block> </block>
</view> </view>
<!-- 巡查 rain_inspection_info -->
<view class="list" style="padding-top: 20rpx;" v-if="!isShowGd">
<block>
<u-card :title="lists.created_at" padding="20" margin="20rpx" :border="true">
<view class="" slot="body">
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">所属道路</view>
</u-col>
<u-col span="9">
<view class="demo-layout bg-purple-light">{{rainEquipmentInfo.road?rainEquipmentInfo.road.name:""}}</view>
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">巡查内容</view>
</u-col>
<u-col span="9">
<view class="demo-layout bg-purple-light">{{rainEquipmentInfo.ask_content_detail?rainEquipmentInfo.ask_content_detail.value:""}}</view>
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">覆盖范围</view>
</u-col>
<u-col span="9">
<view class="demo-layout bg-purple-light">{{rainEquipmentInfo.scope}}</view>
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">所在点位</view>
</u-col>
<u-col span="9">
{{rainEquipmentInfo.point_name}}
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">所在位置</view>
</u-col>
<u-col span="12">
<view class="demo-layout bg-purple-light">{{rainEquipmentInfo.address}}</view>
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">经度</view>
</u-col>
<u-col span="9">
{{rainEquipmentInfo.longitude}}
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">纬度</view>
</u-col>
<u-col span="9">
{{rainEquipmentInfo.latitude}}
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="4">
<view class="demo-layout bg-purple">描述</view>
</u-col>
<u-col span="12">
{{rainEquipmentInfo.content}}
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">现场照片</view>
</u-col>
<u-col span="12" v-for="(item,index) in rainEquipmentInfo.rain_equipment_files">
<u-image @click="imgListPreview(item.files.url)" style="margin:20rpx 0" height="350rpx" width="100%" :src="item.files.url"></u-image>
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">是否异常</view>
</u-col>
<u-col span="9">
{{rainEquipmentInfo.is_unusual==0?"否":(rainEquipmentInfo.is_unusual==0?"丢失":"破损")}}
</u-col>
</u-row>
<u-row gutter="16" v-if="rainEquipmentInfo.is_unusual!=0">
<u-col span="4">
<view class="demo-layout bg-purple">异常处置建议</view>
</u-col>
<u-col span="8">
{{rainEquipmentInfo.tip}}
</u-col>
</u-row>
<u-row gutter="16" v-if="rainEquipmentInfo.is_scene==1">
<u-col span="4">
<view class="demo-layout bg-purple">是否现场处理</view>
</u-col>
<u-col span="8">
{{rainEquipmentInfo.is_scene==0?"否":"是"}}
</u-col>
</u-row>
<u-row gutter="16" v-if="rainEquipmentInfo.is_scene==1">
<u-col span="4">
<view class="demo-layout bg-purple">现场处理结果</view>
</u-col>
<u-col span="8">
{{rainEquipmentInfo.result}}
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">处理后照片</view>
</u-col>
<u-col span="12" v-for="(item,index) in rainEquipmentInfo.rain_equipment_end_files">
<u-image @click="imgListPreview(item.files.url)" style="margin:20rpx 0" height="350rpx" width="100%" :src="item.files.url"></u-image>
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">转办类型</view>
</u-col>
<u-col span="9">
{{tableList.rain_inspection_info.end_type==0?"无":(tableList.rain_inspection_info.end_type==1?"养护转办":"违法转办")}}
</u-col>
</u-row>
<u-row gutter="16" v-if="tableList.rain_inspection_info.end_type==1">
<u-col span="4">
<view class="demo-layout bg-purple">要求完成时间</view>
</u-col>
<u-col span="8">
{{tableList.rain_inspection_info.end_time}}
</u-col>
</u-row>
<u-row gutter="16" v-if="tableList.rain_inspection_info.end_type==1">
<u-col span="4">
<view class="demo-layout bg-purple">备注</view>
</u-col>
<u-col span="12">
{{tableList.rain_inspection_info.remark}}
</u-col>
</u-row>
</view>
</u-card>
</block>
</view>
</view> </view>
@ -95,8 +281,12 @@
lists:{}, lists:{},
filesList:[], filesList:[],
dealFilesList:[], dealFilesList:[],
depList:[] tableList:{
rain_inspection_info:{},
worksheet_info:{}
},
rainEquipmentInfo:{},
isShowGd:false,
} }
}, },
@ -106,7 +296,6 @@
if(options.id){ if(options.id){
this.loadInfo(options.id) this.loadInfo(options.id)
} }
this.loadDep()
}, },
methods: { methods: {
imgListPreview(item){ imgListPreview(item){
@ -119,39 +308,8 @@
}) })
}, },
loadDep(){
var that = this
that.util.request({
api: '/api/mobile/other/department-list',
method: "get",
data: {
is_tree:0
},
utilSuccess: function(res) {
that.depList = res
},
utilFail: function(res) {
that.util.alert(res);
}
});
},
loadInfo: function(id) { loadInfo: function(id) {
var that = this; var that = this;
that.lists={
accept_date:"12345",
fromName:"来源编号",
content:"内容",
arealName:"沧浪",
time:"2022-08-08 09:56:12",
admin_id:"admin",
address:"suzhou",
created_at:"2022-08-08 09:56:12",
people:"某某",
mobile:"1891207"
}
return;
this.util.request({ this.util.request({
method:"get", method:"get",
api: '/api/mobile/mobile-worksheet/show', api: '/api/mobile/mobile-worksheet/show',
@ -161,18 +319,21 @@
}, },
utilSuccess: function(r) { utilSuccess: function(r) {
that.lists = r that.lists = r
that.filesList = r.worksheet_files for(var m in that.tableList){
that.dealFilesList = r.worksheet_end_files that.tableList[m] = {}
for(var m of that.depList){ if(that.lists[m]){
if(r.feedback_department_id==m.id){ that.tableList[m] = that.lists[m]
that.lists.depName = m.name if(m=='worksheet_info'){
that.isShowGd = true
}else{
that.rainEquipmentInfo = Object.assign(that.rainEquipmentInfo, that.lists[m].rain_equipment_info)
that.isShowGd = false
}
} }
} }
console.log(that.tableList)
that.lists.is_rain_name = r.is_rain==0 ? "否" : "是"
that.lists.is_scene_name = r.is_scene==0?"否":"是"
}, },
utilFail: function(res) { utilFail: function(res) {

@ -27,75 +27,78 @@
<view class="" slot="body" @click="todetail(item.id)"> <view class="" slot="body" @click="todetail(item.id)">
<u-row gutter="16"> <u-row gutter="16">
<u-col span="3"> <u-col span="3">
<view class="demo-layout bg-purple">所属片区</view> <view class="demo-layout bg-purple">转办来源</view>
</u-col> </u-col>
<u-col span="9"> <u-col span="9">
<view class="demo-layout bg-purple-light">{{item.arealName}}</view> <view class="demo-layout bg-purple-light">{{item.name}}</view>
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
<u-col span="3"> <u-col span="3">
<view class="demo-layout bg-purple">来源</view> <view class="demo-layout bg-purple">所属片区</view>
</u-col> </u-col>
<u-col span="9"> <u-col span="9">
<view class="demo-layout bg-purple-light">{{item.accept_date}}</view> <view class="demo-layout bg-purple-light">{{item.areaName}}</view>
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
<u-col span="3"> <u-col span="3">
<view class="demo-layout bg-purple">来源编号</view> <view class="demo-layout bg-purple">工作内容</view>
</u-col> </u-col>
<u-col span="9"> <u-col span="12">
<view class="demo-layout bg-purple-light">{{item.fromName}}</view> <view class="demo-layout bg-purple-light">{{item.content}}</view>
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
<u-col span="4"> <u-col span="3">
<view class="demo-layout bg-purple">要求完成时间</view> <view class="demo-layout bg-purple">地址</view>
</u-col> </u-col>
<u-col span="8"> <u-col span="12">
{{item.time}} {{item.address}}
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
<u-col span="3"> <u-col span="4">
<view class="demo-layout bg-purple">工作内容</view> <view class="demo-layout bg-purple">要求完成时间</view>
</u-col> </u-col>
<u-col span="12"> <u-col span="8">
<view class="demo-layout bg-purple-light">{{item.content}}</view> {{item.end_time}}
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="16"> <u-row gutter="16">
<u-col span="3"> <u-col span="3">
<view class="demo-layout bg-purple">地址</view> <view class="demo-layout bg-purple">提交人</view>
</u-col> </u-col>
<u-col span="12"> <u-col span="9">
{{item.address}} <view class="demo-layout bg-purple-light">{{item.adminName}}</view>
</u-col> </u-col>
</u-row> </u-row>
</view> </view>
<view class="footer" slot="foot"> <view class="footer" slot="foot">
<block v-if="item.status==0||item.status==2||item.status==3"> <block v-if="item.accept_status==0||item.accept_status==2">
<u-button :custom-style="editStyle" type="primary" size="medium" <u-button :custom-style="editStyle" type="primary" size="medium"
@click="todetail(item.id)" :ripple="true">查看 @click="todetail(item.id)" :ripple="true">查看
</u-button> </u-button>
</block> </block>
<block v-if="item.status==0"> <block v-if="item.accept_status==0">
<u-button :custom-style="editStyle" type="warning" size="medium" <u-button :custom-style="editStyle" type="warning" size="medium"
@click="acceptOrder(item.id)" :ripple="true">签收 @click="acceptOrder(item.id)" :ripple="true">签收
</u-button> </u-button>
</block> </block>
<block v-if="item.status==1"> <block v-if="item.accept_status==1&&item.type==1">
<u-button :custom-style="editStyle" type="primary" size="medium" <u-button :custom-style="editStyle" type="primary" size="medium"
@click="goxuncha(item.id)" :ripple="true">去巡查 @click="goxuncha(item.id)" :ripple="true">去巡查
</u-button> </u-button>
</block> </block>
<block v-if="item.status==1"> <block v-if="item.accept_status==1&&item.type==2">
<u-button :custom-style="editStyle" type="primary" size="medium" <u-button :custom-style="editStyle" type="primary" size="medium"
@click="goyanghu(item.id)" :ripple="true">去养护 @click="goyanghu(item.id)" :ripple="true">去养护
</u-button> </u-button>
</block> </block>
<block v-if="item.status==2"> <block v-if="item.accept_status==1">
<u-button :custom-style="editStyle" type="success" size="medium" <u-button :custom-style="editStyle" type="success" size="medium"
@click="completeOrder(item.id)" :ripple="true">确认完成 @click="completeOrder(item.id)" :ripple="true">确认完成
</u-button> </u-button>
@ -158,7 +161,12 @@
},{ },{
id:1, id:1,
value:'已处理' value:'已处理'
}] }],
tableList:{
rain_inspection_info:{},
worksheet_info:{}
},
rainEquipmentInfo:{},
} }
}, },
@ -179,26 +187,9 @@
var that = this; var that = this;
}, },
onLoad(options) { onLoad(options) {
this.loadDep() this.loadPage(1);
}, },
methods: { methods: {
loadDep(){
var that = this
that.util.request({
api: '/api/mobile/other/department-list',
method: "get",
data: {
is_tree:0
},
utilSuccess: function(res) {
that.depList = res
that.loadPage(1);
},
utilFail: function(res) {
that.util.alert(res);
}
});
},
tosearch() { tosearch() {
@ -217,15 +208,27 @@
content: '是否确定签收?', content: '是否确定签收?',
success(res) { success(res) {
if(res.confirm){ if(res.confirm){
that.util.request({
api: "/api/mobile/mobile-worksheet/save",
method: "POST",
data: {
id:id,
accept_status:1
},
utilSuccess: function(res) {
uni.showToast({ uni.showToast({
icon: "none", icon: "none",
title: "签收成功", title: "签收成功",
complete() { complete() {
that.dataList[0].status = 1 that.loadPage(1)
that.dataList[0].statusName="已签收"
}, },
duration: 2000 duration: 2000
}) })
},
utilFail: function(res) {
that.util.alert(res);
}
});
}else if(res.cancel){ }else if(res.cancel){
} }
@ -236,18 +239,30 @@
var that = this var that = this
uni.showModal({ uni.showModal({
title: '提示', title: '提示',
content: '是否确定完成?', content: '是否确定完成?',
success(res) { success(res) {
if(res.confirm){ if(res.confirm){
that.util.request({
api: "/api/mobile/mobile-worksheet/save",
method: "POST",
data: {
id:id,
accept_status:2
},
utilSuccess: function(res) {
uni.showToast({ uni.showToast({
icon: "none", icon: "none",
title: "工单已完成", title: "确认成功",
complete() { complete() {
that.dataList[0].status = 3 that.loadPage(1)
that.dataList[0].statusName="已结束"
}, },
duration: 2000 duration: 2000
}) })
},
utilFail: function(res) {
that.util.alert(res);
}
});
}else if(res.cancel){ }else if(res.cancel){
} }
@ -271,19 +286,6 @@
loadPage: function(page) { loadPage: function(page) {
uni.hideKeyboard() uni.hideKeyboard()
var that = this; var that = this;
that.dataList = [{
status:0,
accept_date:"12345",
fromName:"来源编号",
content:"内容",
arealName:"沧浪",
time:"2022-08-08 09:56:12",
admin_id:"admin",
address:"suzhou",
statusName:"已派发",
created_at:"2022-08-08 09:56:12"
}]
return
this.util.request({ this.util.request({
bindThis: that, bindThis: that,
api: '/api/mobile/mobile-worksheet/index', api: '/api/mobile/mobile-worksheet/index',
@ -319,19 +321,19 @@
} }
for (var m of dataList) { for (var m of dataList) {
m.created_at = m.created_at.split("T")[0] m.created_at = m.created_at.split("T")[0]
for(var k of that.statusList){ for(var k in that.tableList){
if(m.status==k.id){ if(m[k]){
m.statusName = k.value m.areaName = m[k].area ? m[k].area.name : (m[k].area_info?m[k].area_info.name:"")
} m.adminName = m.admin?m.admin.name:""
} m.address = m[k].address
for(var l of that.depList){ m.end_time =m[k].end_time
if(m.feedback_department_id==l.id){ m.content = m[k].content
m.feedbackName = l.name m.statusName = m.accept_status==0?"待签收":(m.accept_status==1?"已签收":"已完成")
} }
} }
} }
console.log(that.dataList)
that.currentPage = page; that.currentPage = page;
that.dataList = dataList; that.dataList = dataList;
}, },

Loading…
Cancel
Save