派单 查看 派单

master
lion 3 years ago
parent a4b739be48
commit 262465ab29

@ -4,17 +4,17 @@
<view class="box-header">
</view>
<view class="list" style="padding-top: 20rpx;">
<!-- 工单 worksheet -->
<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>
<view class="demo-layout bg-purple">接收日期</view>
</u-col>
<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-row>
<u-row gutter="16">
@ -22,39 +22,39 @@
<view class="demo-layout bg-purple">来源</view>
</u-col>
<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-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">来源编号</view>
<view class="demo-layout bg-purple">所属片区</view>
</u-col>
<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-row>
<u-row gutter="16">
<u-col span="4">
<view class="demo-layout bg-purple">要求完成时间</view>
<u-col span="3">
<view class="demo-layout bg-purple">处理时限</view>
</u-col>
<u-col span="8">
{{lists.time}}
<u-col span="9">
{{tableList.worksheet_info.deal_detail?tableList.worksheet_info.deal_detail.value:""}}
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">工作内容</view>
<view class="demo-layout bg-purple">地址</view>
</u-col>
<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-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">地址</view>
<view class="demo-layout bg-purple">内容</view>
</u-col>
<u-col span="12">
{{lists.address}}
{{tableList.worksheet_info.content}}
</u-col>
</u-row>
@ -63,7 +63,7 @@
<view class="demo-layout bg-purple">投诉人姓名</view>
</u-col>
<u-col span="8">
{{lists.people}}
{{tableList.worksheet_info.complain_name}}
</u-col>
</u-row>
<u-row gutter="16">
@ -71,15 +71,201 @@
<view class="demo-layout bg-purple">投诉人电话</view>
</u-col>
<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-row>
<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-row>
</view>
</u-card>
</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>
@ -94,9 +280,13 @@
return {
lists:{},
filesList:[],
dealFilesList:[],
depList:[]
dealFilesList:[],
tableList:{
rain_inspection_info:{},
worksheet_info:{}
},
rainEquipmentInfo:{},
isShowGd:false,
}
},
@ -106,7 +296,6 @@
if(options.id){
this.loadInfo(options.id)
}
this.loadDep()
},
methods: {
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) {
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;
var that = this;
this.util.request({
method:"get",
api: '/api/mobile/mobile-worksheet/show',
@ -161,18 +319,21 @@
},
utilSuccess: function(r) {
that.lists = r
that.filesList = r.worksheet_files
that.dealFilesList = r.worksheet_end_files
for(var m of that.depList){
if(r.feedback_department_id==m.id){
that.lists.depName = m.name
}
}
that.lists.is_rain_name = r.is_rain==0 ? "否" : "是"
that.lists.is_scene_name = r.is_scene==0?"否":"是"
that.lists = r
for(var m in that.tableList){
that.tableList[m] = {}
if(that.lists[m]){
that.tableList[m] = that.lists[m]
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)
},
utilFail: function(res) {

@ -24,29 +24,37 @@
<block v-for="(item, index) in dataList">
<u-card :title="item.created_at" padding="20" margin="20rpx" :border="true"
:thumb="thumb" thumb-width="36" :sub-title="item.statusName">
<view class="" slot="body" @click="todetail(item.id)">
<view class="" slot="body" @click="todetail(item.id)">
<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">{{item.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">{{item.arealName}}</view>
<view class="demo-layout bg-purple-light">{{item.areaName}}</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">{{item.accept_date}}</view>
</u-col>
<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">{{item.content}}</view>
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">来源编号</view>
<view class="demo-layout bg-purple">地址</view>
</u-col>
<u-col span="9">
<view class="demo-layout bg-purple-light">{{item.fromName}}</view>
<u-col span="12">
{{item.address}}
</u-col>
</u-row>
<u-row gutter="16">
@ -54,48 +62,43 @@
<view class="demo-layout bg-purple">要求完成时间</view>
</u-col>
<u-col span="8">
{{item.time}}
{{item.end_time}}
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="3">
<view class="demo-layout bg-purple">工作内容</view>
<view class="demo-layout bg-purple">提交人</view>
</u-col>
<u-col span="12">
<view class="demo-layout bg-purple-light">{{item.content}}</view>
<u-col span="9">
<view class="demo-layout bg-purple-light">{{item.adminName}}</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="12">
{{item.address}}
</u-col>
</u-row>
</u-row>
</view>
<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"
@click="todetail(item.id)" :ripple="true">查看
</u-button>
</block>
<block v-if="item.status==0">
<block v-if="item.accept_status==0">
<u-button :custom-style="editStyle" type="warning" size="medium"
@click="acceptOrder(item.id)" :ripple="true">签收
</u-button>
</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"
@click="goxuncha(item.id)" :ripple="true">去巡查
</u-button>
</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"
@click="goyanghu(item.id)" :ripple="true">去养护
</u-button>
</block>
<block v-if="item.status==2">
<block v-if="item.accept_status==1">
<u-button :custom-style="editStyle" type="success" size="medium"
@click="completeOrder(item.id)" :ripple="true">确认完成
</u-button>
@ -158,7 +161,12 @@
},{
id:1,
value:'已处理'
}]
}],
tableList:{
rain_inspection_info:{},
worksheet_info:{}
},
rainEquipmentInfo:{},
}
},
@ -178,27 +186,10 @@
onShow: function() {
var that = this;
},
onLoad(options) {
this.loadDep()
onLoad(options) {
this.loadPage(1);
},
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() {
@ -217,15 +208,27 @@
content: '是否确定签收?',
success(res) {
if(res.confirm){
uni.showToast({
icon: "none",
title: "签收成功",
complete() {
that.dataList[0].status = 1
that.dataList[0].statusName="已签收"
that.util.request({
api: "/api/mobile/mobile-worksheet/save",
method: "POST",
data: {
id:id,
accept_status:1
},
duration: 2000
})
utilSuccess: function(res) {
uni.showToast({
icon: "none",
title: "签收成功",
complete() {
that.loadPage(1)
},
duration: 2000
})
},
utilFail: function(res) {
that.util.alert(res);
}
});
}else if(res.cancel){
}
@ -236,18 +239,30 @@
var that = this
uni.showModal({
title: '提示',
content: '是否确定完成?',
content: '是否确定完成?',
success(res) {
if(res.confirm){
uni.showToast({
icon: "none",
title: "工单已完成",
complete() {
that.dataList[0].status = 3
that.dataList[0].statusName="已结束"
that.util.request({
api: "/api/mobile/mobile-worksheet/save",
method: "POST",
data: {
id:id,
accept_status:2
},
duration: 2000
})
utilSuccess: function(res) {
uni.showToast({
icon: "none",
title: "确认成功",
complete() {
that.loadPage(1)
},
duration: 2000
})
},
utilFail: function(res) {
that.util.alert(res);
}
});
}else if(res.cancel){
}
@ -270,20 +285,7 @@
},
loadPage: function(page) {
uni.hideKeyboard()
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
var that = this;
this.util.request({
bindThis: that,
api: '/api/mobile/mobile-worksheet/index',
@ -319,19 +321,19 @@
}
for (var m of dataList) {
m.created_at = m.created_at.split("T")[0]
for(var k of that.statusList){
if(m.status==k.id){
m.statusName = k.value
}
}
for(var l of that.depList){
if(m.feedback_department_id==l.id){
m.feedbackName = l.name
}
for(var k in that.tableList){
if(m[k]){
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
m.end_time =m[k].end_time
m.content = m[k].content
m.statusName = m.accept_status==0?"待签收":(m.accept_status==1?"已签收":"已完成")
}
}
}
console.log(that.dataList)
that.currentPage = page;
that.dataList = dataList;
},

Loading…
Cancel
Save