派单 查看 派单

master
lion 4 years ago
parent ec720efac2
commit f8a9f15453

@ -39,3 +39,43 @@ export function save(data) {
data
})
}
export function listsend(data) {
return request({
url: '/api/admin/mobile-worksheet/index',
method: 'get',
params:data
})
}
export function getsend(id) {
return request({
url: '/api/admin/mobile-worksheet/show',
method: 'get',
params: { id }
})
}
export function delsend(id) {
return request({
url: '/api/admin/mobile-worksheet/destroy',
method: 'get',
params:{ id }
})
}
export function storesend(data) {
return request({
url: '/api/admin/mobile-worksheet/store',
method: 'post',
data
})
}
export function savesend(data) {
return request({
url: '/api/admin/mobile-worksheet/save',
method: 'post',
data
})
}

@ -83,9 +83,6 @@
{{item.name}}
</div>
</div>
<div v-else-if="column.type=='ask_type_id'">
{{scope.row[column.field]}}
</div>
<div v-else>{{scope.row[column.field]}}</div>
</template>
</el-table-column>
@ -273,9 +270,9 @@ export default {
width:120
},
{
field: "department_id",
field: "department_name",
title: "提交科室",
type: "string",
type: "department_id",
align: "center",
width:120
},
@ -373,6 +370,7 @@ export default {
m.username = m.user?m.user.name:""
m.ask_type_name = m.ask_type_detail?m.ask_type_detail.value:""
m.ask_content_name = m.ask_content_detail?m.ask_content_detail.value:""
m.department_name = m.department?m.department.name:""
}
this.comData = response.data;
}).catch(error => {

@ -1322,11 +1322,13 @@
this.form = this.$options.data().form
that.filesList = [];
that.dealFilesList = [];
that.mapform = ['', '', ''];
that.mapform = ['', '', ''];
that.roadName = ""
if (obj) {
that.info(obj);
this.dialogFormVisible = true;
} else {
} else {
this.roaddisabled = false
this.dialogFormVisible = false
this.rainTypeVisible = true
}

@ -137,12 +137,13 @@
<el-col :span="24">
<el-form-item label="是否转派" prop="is_change">
<el-radio-group v-model="form.is_change">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_change==0">
<el-col :span="24" v-if="form.is_change==1">
<el-form-item label="要求完成时间" prop="end_time">
<el-date-picker
style="width:100%"
@ -154,7 +155,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_change==0">
<el-col :span="24" v-if="form.is_change==1">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="form.remark" placeholder="请填写备注" autocomplete="off"></el-input>
</el-form-item>
@ -235,7 +236,7 @@
files_list:"",
complain_mobile:"",
complain_name:"",
is_change:1,
is_change:0,
end_time:"",
remark:""
@ -283,6 +284,13 @@
align: "center",
width:180
},
{
field: "address",
title: "地址",
type: "string",
align: "left",
width:240
},
{
field: "admin",
title: "提交人",

@ -20,9 +20,15 @@
:label="column.title" :width="column.width" :fixed="column.fixed">
<template slot-scope="scope">
<div v-if="column.type=='opt'">
<Button ghost size="small" @click="edit(scope.row)" type="primary"
<Button v-if="scope.row['user_id']==0" ghost size="small" @click="edit(scope.row,'pd')" type="primary"
style="margin-left: 10px;">派单</Button>
<Button ghost size="small" @click="del(scope.row)" type="error" style="margin-left: 10px;">删除</Button>
<Button ghost size="small" @click="show(scope.row,'ck')" type="primary"
style="margin-left: 10px;">查看</Button>
<!-- <Button ghost size="small" @click="del(scope.row)" type="error" style="margin-left: 10px;">删除</Button> -->
</div>
<div v-else-if="column.type=='user_id'">
<el-tag v-if="scope.row[column.field]==0"></el-tag>
<el-tag v-else type="success">已派单</el-tag>
</div>
<div v-else>{{scope.row[column.field]}}</div>
</template>
@ -37,57 +43,261 @@
<el-dialog class="common-dialog" title="工单派单" :visible.sync="dialogFormVisible" width="40%">
<div class="dialogConcent">
<el-scrollbar style="flex: 1">
<el-scrollbar style="flex: 1">
<el-form :model="form" :rules="rules" ref="form" label-position="right" :label-width="formLabelWidth">
<el-row>
<el-col :span="24">
<el-form-item label="所属片区" prop="area_id">
<el-select style="width:100%" v-model="form.area_id" placeholder="请选择所属片区">
<el-option
v-for="item in areaList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="处理人" prop="level_id">
<el-select style="width:100%" v-model="form.level_id" placeholder="请选择处理人">
<el-form-item label="处理人" prop="user_id">
<el-select filterable style="width:100%" v-model="form.user_id" placeholder="请选择或输入查找处理人">
<el-option
v-for="item in personList"
:key="item.id"
:label="item.value"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="转办类型" prop="level_id">
<el-radio-group v-model="form.types">
<el-form-item label="转办类型" prop="type">
<el-radio-group v-model="form.type">
<el-radio :label="1">转巡查</el-radio>
<el-radio :label="2">转养护</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-row>
</el-form>
</el-scrollbar>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="resetForm('form')"> </el-button>
<el-button type="primary" v-preventReClick @click="submitForm('form')"></el-button>
<el-button type="primary" v-preventReClick @click="submitForm('form')"></el-button>
</div>
</el-dialog>
</el-dialog>
<!-- 工单详情 -->
<el-dialog class="common-dialog" title="工单详情" :visible.sync="dialogOrderFormVisible" width="40%">
<div class="dialogConcent">
<el-scrollbar style="flex: 1">
<el-form label-position="right" :label-width="formLabelWidth">
<el-row>
<el-col :span="24">
<el-form-item label="接收日期" prop="accept_date">
{{tableList.worksheet_info.accept_date}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="来源" prop="from_id">
{{tableList.worksheet_info.from_detail?tableList.worksheet_info.from_detail.value:""}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所属片区" prop="area_id">
{{tableList.worksheet_info.area?tableList.worksheet_info.area.name:""}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="处理时限" prop="deal_id">
{{tableList.worksheet_info.deal_detail?tableList.worksheet_info.deal_detail.value:""}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="地址" prop="address">
{{tableList.worksheet_info.address}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="内容" prop="content">
{{tableList.worksheet_info.content}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="投诉人姓名" prop="complain_name">
{{tableList.worksheet_info.complain_name}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="投诉人电话" prop="complain_mobile">
{{tableList.worksheet_info.complain_mobile}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否转派" prop="is_change">
<el-tag v-if="tableList.worksheet_info.is_change==0"></el-tag>
<el-tag v-if="tableList.worksheet_info.is_change==1" type="warning"></el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="tableList.worksheet_info.is_change==1">
<el-form-item label="要求完成时间" prop="end_time">
{{tableList.worksheet_info.end_time}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="tableList.worksheet_info.is_change==1">
<el-form-item label="备注" prop="remark">
{{tableList.worksheet_info.remark}}
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-scrollbar>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogOrderFormVisible=false"> </el-button>
</div>
</el-dialog>
<el-dialog class="common-dialog" title="工单详情" :visible.sync="dialogxcFormDetailVisible" width="60%">
<div class="dialogConcent">
<el-scrollbar style="flex: 1">
<el-form ref="formdetail" label-position="right"
:label-width="formLabelWidth">
<el-row>
<el-col :span="24">
<el-form-item label="所属道路" prop="road_id">
{{rainEquipmentInfo.road?rainEquipmentInfo.road.name:""}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="巡查内容" prop="ask_content_id">
{{rainEquipmentInfo.ask_content_detail?rainEquipmentInfo.ask_content_detail.value:""}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="覆盖范围" prop="scope">
{{rainEquipmentInfo.scope}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所在点位" prop="point_name">
{{rainEquipmentInfo.point_name}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所在位置" prop="address">
{{rainEquipmentInfo.address}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经度" prop="longitude">
{{rainEquipmentInfo.longitude}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纬度" prop="latitude">
{{rainEquipmentInfo.latitude}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="描述" prop="content">
{{rainEquipmentInfo.content}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否异常" prop="is_unusual">
<el-tag v-if="rainEquipmentInfo.is_unusual==0"></el-tag>
<el-tag type="warning" v-if="rainEquipmentInfo.is_unusual==1"></el-tag>
<el-tag type="success" v-if="rainEquipmentInfo.is_unusual==2"></el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="rainEquipmentInfo.is_unusual!=0">
<el-form-item label="异常处置建议" prop="tip">
{{rainEquipmentInfo.tip}}
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="是否现场处理" prop="is_scene">
<el-tag v-if="rainEquipmentInfo.is_scene==0"></el-tag>
<el-tag type="success" v-if="rainEquipmentInfo.is_scene==1"></el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="rainEquipmentInfo.is_scene==1">
<el-form-item label="现场处理结果" prop="result">
{{rainEquipmentInfo.result}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="转办类型">
<el-tag v-if="tableList.rain_inspection_info.end_type==0"></el-tag>
<el-tag type="warning" v-if="tableList.rain_inspection_info.end_type==1"></el-tag>
<el-tag type="warning" v-if="tableList.rain_inspection_info.end_type==2"></el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="tableList.rain_inspection_info.end_type==1">
<el-form-item label="要求完成时间" prop="end_time">
{{tableList.rain_inspection_info.end_time}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="tableList.rain_inspection_info.end_type==1">
<el-form-item label="备注" prop="remark">
{{tableList.rain_inspection_info.remark}}
</el-form-item>
</el-col>
<!--
<el-col :span="24">
<el-form-item label="现场照片" prop="files_list" class="files_check">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card" :file-list="filesList"
ref="pictureUploads">
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24" v-if="tableList.rain_inspection_info.is_scene==1">
<el-form-item label="处理后照片" prop="files_end_list" class="files_check">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card" :file-list="dealFilesList"
ref="pictureUploads">
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
-->
</el-row>
</el-form>
</el-scrollbar>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogxcFormDetailVisible=false"> </el-button>
</div>
</el-dialog>
</div>
</div>
</template>
@ -95,13 +305,14 @@
<script>
import {
listorder,
get,
store,
save,
del
listsend,
getsend,
storesend,
savesend,
delsend
} from '../../../api/rain/order.js'
import {listCommonuser} from"../../../api/common.js"
import {listaccount} from "../../../api/basic/account.js"
import LxHeader from "@/components/LxHeader/index.vue";
export default {
@ -110,21 +321,12 @@
},
data() {
return {
tableHeight: 0,
tableHeight: 0,
dialogOrderFormVisible:false,
dialogxcFormDetailVisible:false,
dialogFormVisible: false,
formLabelWidth: "120px",
tableData: [{
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"
}],
tableData: [],
areaList:[],
personList:[],
tableHeight: 0,
@ -137,26 +339,46 @@
total: 0
},
form: {
user_id:"",
type:"1"
},
rules: {
},
columns: [
{
field: "fromName",
title: "来源编号",
type: "string",
tableList:{
rain_inspection_info:{},
worksheet_info:{}
},
rainEquipmentInfo:{},
columns: [
{
field: "name",
title: "转办来源",
type: "string",
align: "left",
width:180
},{
field: "accept_date",
title: "来源",
width:180
},
// {
// field: "fromName",
// title: "",
// type: "string",
// align: "left",
// width:180
// },
// {
// field: "accept_date",
// title: "",
// type: "string",
// align: "center",
// width:180
// },
{
field: "areaName",
title: "所属片区",
type: "string",
align: "center",
width:180
width:180
},
{
field: "content",
@ -165,29 +387,36 @@
align: "left",
width:240
},
{
field: "arealName",
title: "片区",
type: "string",
align: "center",
width:180
},
{
field: "address",
title: "位置地址",
type: "string",
align: "center",
align: "left",
width:240
},
// {
// field: "dealName",
// title: "",
// type: "string",
// align: "center",
// width:180
// },
{
field: "time",
field: "end_time",
title: "要求完成时间",
type: "string",
align: "center",
width:180
},
{
field: "admin_id",
field: "user_id",
title: "状态",
type: "user_id",
align: "center",
width:180
},
{
field: "adminName",
title: "提交人",
type: "string",
align: "center",
@ -224,56 +453,99 @@
var topHeight = 50; //
let tableHeight = clientHeight - lxHeader_height - topHeight - paginationHeight - 20;
that.tableHeight = tableHeight;
// listarea({
// page: 1,
// page_size: 999,
// }).then(response => {
// that.areaList = response.data;
// }).catch(error => {
// console.log(error)
// reject(error)
// });
listaccount({
page: 1,
page_size: 999
}).then(response => {
var that = this
that.personList = response.data
}).catch(error => {
console.log(error)
reject(error)
});
},
handleCurrentChange(page) {
this.paginations.page = page;
this.load();
},
load() {
listsend({
page: this.paginations.page,
page_size: this.paginations.page_size,
keyword: this.searchFields.KeyWord
}).then(response => {
var that = this
for(var m of response.data){
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
}
}
}
this.tableData = response.data;
this.paginations.total = response.total;
}).catch(error => {
console.log(error)
reject(error)
});
},
info(obj) {
info(obj,what) {
var that = this;
get(obj.id).then(res => {
getsend(obj.id).then(res => {
let result = Object.assign(that.form, res);
// this.$set(that.form,res);
that.form = result;
let _files = [];
for (var mod of result.worksheet_files) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
_files.push(m);
if(what=='ck'){
for(var m in that.tableList){
that.tableList[m] = {}
if(result[m]){
that.tableList[m] = result[m]
if(m=='worksheet_info'){
that.dialogOrderFormVisible = true
}else{
that.rainEquipmentInfo = Object.assign(that.rainEquipmentInfo, result[m].rain_equipment_info)
that.dialogxcFormDetailVisible = true
}
}
}
}
console.log(that.rainEquipmentInfo)
if(what=='pd'){
that.dialogFormVisible = true
}
that.filesList = _files;
that.form.user_id = result.user_id==0 ? "":result.user_id
that.form.type = result.type==0 ? 1:result.type
// let _files = [];
// for (var mod of result.worksheet_files) {
// let m = Object.assign({}, mod);
// m.url = mod.files.url;
// m.id = mod.files.id;
// _files.push(m);
// }
// that.filesList = _files;
}).catch(error => {
//reject(error)
})
},
edit(obj) {
show(obj,ck){
this.info(obj,ck)
// this.dialogOrderFormVisible = true
},
edit(obj,pd) {
this.form = this.$options.data().form
if (obj) {
// this.info(obj)
this.info(obj,pd)
}
this.dialogFormVisible = true;
// this.dialogFormVisible = true;
},
del(obj) {
delsend(obj) {
var that = this;
if (obj) {
this.$Modal.confirm({
@ -296,24 +568,25 @@
submitForm(formName) {
var that = this;
console.log(that.form);
var listUrlbefore=[]
for (var m of this.filesList) {
if (m.response)
listUrlbefore.push({
"upload_id": m.response.id
});
else
listUrlbefore.push({
"upload_id": m.id
});
// return
// var listUrlbefore=[]
// for (var m of this.filesList) {
// if (m.response)
// listUrlbefore.push({
// "upload_id": m.response.id
// });
// else
// listUrlbefore.push({
// "upload_id": m.id
// });
}
this.form.files_list = listUrlbefore;
// }
// this.form.files_list = listUrlbefore;
// return;
this.$refs[formName].validate((valid) => {
if (valid) {
if (that.form.id) {
save(that.form).then(response => {
savesend(that.form).then(response => {
this.$Message.success('操作成功');
that.load();
that.dialogFormVisible = false;

Loading…
Cancel
Save