mirror of
https://gitee.com/elegant_wings/dbd-meeting-wx-small.git
synced 2025-06-22 04:19:36 +08:00
1
This commit is contained in:
parent
49d8817641
commit
94904b4d8e
@ -96,6 +96,15 @@ export function workerRepairNumberRq(id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 故障原因-字典
|
||||||
|
export function faultTypeListRq() {
|
||||||
|
return request({
|
||||||
|
url: `/repairDeviceApi/faultTypeList`,
|
||||||
|
method: "get",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 返回订单状态
|
// 返回订单状态
|
||||||
// 状态:1 待派单,3 重新派单,5 已派单,7 处理中, 9已完成 待评价, 11 已关闭 13 已评价
|
// 状态:1 待派单,3 重新派单,5 已派单,7 处理中, 9已完成 待评价, 11 已关闭 13 已评价
|
||||||
let statusList = [{
|
let statusList = [{
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
const app = getApp()
|
const app = getApp()
|
||||||
|
|
||||||
|
import Notify from '@vant/weapp/notify/notify';
|
||||||
|
|
||||||
|
import {
|
||||||
|
selfFormatTimeYMDHMS,
|
||||||
|
repairAttachUpload,
|
||||||
|
} from "../../../../utils/util.js"
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getDetailRq,
|
getDetailRq,
|
||||||
getStatusName
|
getStatusName,
|
||||||
|
flowHandleRq,
|
||||||
|
faultTypeListRq
|
||||||
} from "../../../../api/repair/repair.js"
|
} from "../../../../api/repair/repair.js"
|
||||||
|
|
||||||
Page({
|
Page({
|
||||||
@ -17,17 +26,26 @@ Page({
|
|||||||
files: [],
|
files: [],
|
||||||
innerAudioContext: null, // 音频对象
|
innerAudioContext: null, // 音频对象
|
||||||
innerAudioContextIsPlay: false, // 音频对象-是否播放
|
innerAudioContextIsPlay: false, // 音频对象-是否播放
|
||||||
statusList: [{
|
form: {
|
||||||
|
cause: "",
|
||||||
|
solution: "",
|
||||||
|
failureTypeId: null,
|
||||||
|
failureTypeName: "",
|
||||||
|
resolve: null,
|
||||||
|
fileList: [],
|
||||||
|
},
|
||||||
|
solveList: [{
|
||||||
name: '已解决',
|
name: '已解决',
|
||||||
status: 1,
|
status: 1,
|
||||||
isSelect: true,
|
isSelect: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '未解决',
|
name: '未解决',
|
||||||
status: 2,
|
status: 0,
|
||||||
isSelect: false,
|
isSelect: false,
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
failureTypeList: []
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -39,7 +57,10 @@ Page({
|
|||||||
_this.setData({
|
_this.setData({
|
||||||
...options
|
...options
|
||||||
})
|
})
|
||||||
|
// 详情
|
||||||
_this.getDetail(options.id)
|
_this.getDetail(options.id)
|
||||||
|
// 查询故障原因-字典
|
||||||
|
_this.getFaultTypeList()
|
||||||
},
|
},
|
||||||
|
|
||||||
getDetail(id) {
|
getDetail(id) {
|
||||||
@ -104,6 +125,199 @@ Page({
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 接收/退回-提交
|
||||||
|
receiveSubmit(e) {
|
||||||
|
console.log('receiveSubmit', e);
|
||||||
|
let _this = this
|
||||||
|
let status = e.currentTarget.dataset.status
|
||||||
|
let data = {
|
||||||
|
"repair": {
|
||||||
|
"id": _this.data.id
|
||||||
|
},
|
||||||
|
"content": "",
|
||||||
|
"operate": ""
|
||||||
|
}
|
||||||
|
if (status == 'yes') {
|
||||||
|
data.content = "接收工单"
|
||||||
|
data.operate = "NEXT"
|
||||||
|
} else {
|
||||||
|
data.content = "退回工单"
|
||||||
|
data.operate = "BACK"
|
||||||
|
}
|
||||||
|
flowHandleRq(data).then(res => {
|
||||||
|
console.log('flowHandleRq', res);
|
||||||
|
if (res.code == 0) {
|
||||||
|
app.vantNotifySuccess(Notify, res.msg)
|
||||||
|
_this.getDetail(_this.data.id)
|
||||||
|
} else {
|
||||||
|
app.vantNotifyErr(Notify, res.msg)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// input输入内容监听
|
||||||
|
fieldInput(e) {
|
||||||
|
console.log('fieldInput', e);
|
||||||
|
let _this = this;
|
||||||
|
let form = _this.data.form;
|
||||||
|
form[e.currentTarget.dataset.name] = e.detail
|
||||||
|
_this.setData({
|
||||||
|
form
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询故障原因-字典
|
||||||
|
getFaultTypeList() {
|
||||||
|
let _this = this
|
||||||
|
faultTypeListRq().then(res => {
|
||||||
|
console.log('getFaultTypeList', res);
|
||||||
|
let failureTypeList = res.rows.map(item => {
|
||||||
|
return {
|
||||||
|
id: item.id,
|
||||||
|
name: item.name,
|
||||||
|
isSelect: false,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
_this.setData({
|
||||||
|
failureTypeList
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 选择故障类型
|
||||||
|
selectFaultType(e) {
|
||||||
|
console.log('selectFaultType', e);
|
||||||
|
let _this = this
|
||||||
|
let obj = e.currentTarget.dataset.obj
|
||||||
|
let failureTypeList = _this.data.failureTypeList.map(item => {
|
||||||
|
if (item.id == obj.id) {
|
||||||
|
item.isSelect = !item.isSelect
|
||||||
|
let form = _this.data.form
|
||||||
|
if (item.isSelect) {
|
||||||
|
form.failureTypeId = item.id
|
||||||
|
form.failureTypeName = item.name
|
||||||
|
} else {
|
||||||
|
form.failureTypeId = null
|
||||||
|
form.failureTypeName = ''
|
||||||
|
}
|
||||||
|
_this.setData(form)
|
||||||
|
} else {
|
||||||
|
item.isSelect = false
|
||||||
|
}
|
||||||
|
return item
|
||||||
|
})
|
||||||
|
_this.setData({
|
||||||
|
failureTypeList
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 选择-是否解决
|
||||||
|
selectSolve(e) {
|
||||||
|
console.log('selectSolve', e);
|
||||||
|
let _this = this
|
||||||
|
let obj = e.currentTarget.dataset.obj
|
||||||
|
let solveList = _this.data.solveList.map(item => {
|
||||||
|
if (item.status == obj.status) {
|
||||||
|
item.isSelect = !item.isSelect
|
||||||
|
let form = _this.data.form
|
||||||
|
if (item.isSelect) {
|
||||||
|
form.resolve = item.status
|
||||||
|
} else {
|
||||||
|
form.resolve = null
|
||||||
|
}
|
||||||
|
_this.setData(form)
|
||||||
|
} else {
|
||||||
|
item.isSelect = false
|
||||||
|
}
|
||||||
|
return item
|
||||||
|
})
|
||||||
|
_this.setData({
|
||||||
|
solveList
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 文件-上传后
|
||||||
|
async fileAfterRead(event) {
|
||||||
|
let _this = this;
|
||||||
|
console.log('fileAfterRead', event);
|
||||||
|
// 上传完成需要更新 fileList
|
||||||
|
let fileList = _this.data.form.fileList;
|
||||||
|
//
|
||||||
|
const {
|
||||||
|
file
|
||||||
|
} = event.detail;
|
||||||
|
// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
|
||||||
|
for (let i = 0; i < file.length; i++) {
|
||||||
|
let url = file[i].url;
|
||||||
|
await repairAttachUpload({
|
||||||
|
url,
|
||||||
|
operate: 'repair'
|
||||||
|
}).then(res => {
|
||||||
|
console.log('upload file ', res);
|
||||||
|
fileList.push({
|
||||||
|
id: res.id,
|
||||||
|
relativeUrl: res.url,
|
||||||
|
url: app.IMG_NAME + res.url,
|
||||||
|
deletable: true,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
let form = _this.data.form
|
||||||
|
form.fileList = fileList
|
||||||
|
_this.setData({
|
||||||
|
form
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 删除图片
|
||||||
|
deleteImg(event) {
|
||||||
|
console.log('deleteImg', event);
|
||||||
|
let _this = this;
|
||||||
|
let fileList = _this.data.form.fileList;
|
||||||
|
fileList.splice(event.detail.index, 1);
|
||||||
|
//
|
||||||
|
let form = _this.data.form
|
||||||
|
form.fileList = fileList
|
||||||
|
_this.setData({
|
||||||
|
form
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 反馈-提交
|
||||||
|
feedbackSubmit() {
|
||||||
|
console.log('feedbackSubmit');
|
||||||
|
let _this = this
|
||||||
|
let form = _this.data.form
|
||||||
|
// 校验数据
|
||||||
|
//
|
||||||
|
// 报修名称
|
||||||
|
if (form.resolve == null) {
|
||||||
|
app.vantNotifyErr(Notify, '请选择是否解决!')
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
let files = form.fileList.map(item => item.id)
|
||||||
|
let data = {
|
||||||
|
"repair": {
|
||||||
|
"id": _this.data.id,
|
||||||
|
...form,
|
||||||
|
},
|
||||||
|
files,
|
||||||
|
"content": "维修-提交反馈",
|
||||||
|
"operate": "NEXT"
|
||||||
|
}
|
||||||
|
flowHandleRq(data).then(res => {
|
||||||
|
console.log('flowHandleRq', res);
|
||||||
|
if (res.code == 0) {
|
||||||
|
app.vantNotifySuccess(Notify, res.msg)
|
||||||
|
_this.getDetail(_this.data.id)
|
||||||
|
} else {
|
||||||
|
app.vantNotifyErr(Notify, res.msg)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
*/
|
*/
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
"van-field": "@vant/weapp/field/index",
|
"van-field": "@vant/weapp/field/index",
|
||||||
"van-uploader": "@vant/weapp/uploader/index",
|
"van-uploader": "@vant/weapp/uploader/index",
|
||||||
"van-checkbox": "@vant/weapp/checkbox/index",
|
"van-checkbox": "@vant/weapp/checkbox/index",
|
||||||
"van-checkbox-group": "@vant/weapp/checkbox-group/index"
|
"van-checkbox-group": "@vant/weapp/checkbox-group/index",
|
||||||
|
"van-notify": "@vant/weapp/notify/index"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,9 +12,9 @@
|
|||||||
<view class="time {{detail.status == '7' ? 'activity' : ''}}">{{detail.createTime}}</view>
|
<view class="time {{detail.status == '7' ? 'activity' : ''}}">{{detail.createTime}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="line"></view>
|
<view class="line"></view>
|
||||||
<view class="point {{detail.status == '9' ? 'activity' : ''}}">
|
<view class="point {{detail.status >= '9' ? 'activity' : ''}}">
|
||||||
<view class="msgView {{detail.status == '9' ? 'activity' : ''}}">处理完成</view>
|
<view class="msgView {{detail.status >= '9' ? 'activity' : ''}}">处理完成</view>
|
||||||
<view class="time {{detail.status == '9' ? 'activity' : ''}}">{{detail.createTime}}</view>
|
<view class="time {{detail.status >= '9' ? 'activity' : ''}}">{{detail.createTime}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
<view class="labelView">报修单信息</view>
|
<view class="labelView">报修单信息</view>
|
||||||
|
|
||||||
<view class="step1">
|
<view class="step1" wx:if="{{detail.status == '5' || detail.status == '7' }}">
|
||||||
<view class="itemView">
|
<view class="itemView">
|
||||||
<view class="name">报修名称</view>
|
<view class="name">报修名称</view>
|
||||||
<view class="content">{{detail.repairName}}</view>
|
<view class="content">{{detail.repairName}}</view>
|
||||||
@ -79,47 +79,56 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="bottomView">
|
<view class="bottomView" wx:if="{{detail.status == '5' }}">
|
||||||
<view class="btn">接收</view>
|
<view class="btn" data-status="yes" bind:tap="receiveSubmit">接收</view>
|
||||||
<view class="btn oragen">退回</view>
|
<view class="btn oragen" data-status="no" bind:tap="receiveSubmit">退回</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="step2">
|
<view class="step2" wx:if="{{detail.status == '7' }}">
|
||||||
<view class="itemView">
|
<view class="itemView">
|
||||||
<view class="title">分析原因</view>
|
<view class="title">分析原因</view>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<van-field model:value="{{ value }}" type="textarea" placeholder="请输入用户名" maxlength="{{100}}" show-word-limit border="{{true}}" autosize input-class="selfTextarea" />
|
<van-field model:value="{{ form.cause }}" bind:input="fieldInput" data-name="cause" type="textarea" placeholder="请输入" maxlength="{{100}}" show-word-limit border="{{true}}" autosize input-class="selfTextarea" clearable/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="itemView">
|
<view class="itemView">
|
||||||
<view class="title">解决方案</view>
|
<view class="title">解决方案</view>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<van-field model:value="{{ value }}" type="textarea" placeholder="请输入用户名" maxlength="{{100}}" show-word-limit border="{{true}}" autosize input-class="selfTextarea" />
|
<van-field model:value="{{ form.solution }}" bind:input="fieldInput" data-name="solution" type="textarea" placeholder="请输入" maxlength="{{100}}" show-word-limit border="{{true}}" autosize input-class="selfTextarea" clearable/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="itemView">
|
<view class="itemView">
|
||||||
<view class="title">图片</view>
|
<view class="title">故障类型</view>
|
||||||
|
<view class="content">
|
||||||
|
<view class="checkItemView" wx:for="{{failureTypeList}}" wx:key="*this" bind:tap="selectFaultType" data-obj="{{item}}">
|
||||||
|
<van-checkbox value="{{ item.isSelect }}" shape="square" icon-size="36rpx"></van-checkbox>
|
||||||
|
<view class="name">{{item.name}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="itemView">
|
||||||
|
<view class="title">图片/视频</view>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<!-- 上传图片 -->
|
<!-- 上传图片 -->
|
||||||
<view class="uploadImgView">
|
<view class="uploadImgView">
|
||||||
<van-uploader file-list="{{ fileList }}" upload-text="点击上传照片" use-before-read bind:before-read="beforeRead" bind:after-read="afterRead" deletable="{{ true }}" bind:delete="deleteImg" max-count="1" />
|
<van-uploader file-list="{{ form.fileList }}" upload-text="点击上传" bind:after-read="fileAfterRead" deletable="{{ true }}" bind:delete="deleteImg" max-count="6" accept="media" multiple/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="itemView">
|
<view class="itemView">
|
||||||
<view class="title">是否解决</view>
|
<view class="title">是否解决</view>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<view class="checkItemView" wx:for="{{statusList}}" wx:key="*this">
|
<view class="checkItemView" wx:for="{{solveList}}" wx:key="*this" bind:tap="selectSolve" data-obj="{{item}}">
|
||||||
<van-checkbox value="{{ item.isSelect }}" data-id="{{item.status}}" shape="square" icon-size="36rpx" bind:tap="checkBoxClick"></van-checkbox>
|
<van-checkbox value="{{ item.isSelect }}" shape="square" icon-size="36rpx" ></van-checkbox>
|
||||||
<view class="name" data-id="{{item.status}}" bind:tap="checkBoxClick">{{item.name}}</view>
|
<view class="name">{{item.name}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="btn">提交反馈</view>
|
<view class="btn" bind:tap="feedbackSubmit">提交反馈</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="step3">
|
<view class="step3" wx:if="{{detail.status >= '9' }}">
|
||||||
<view class="mainView">
|
<view class="mainView">
|
||||||
<van-icon name="success" color="#4e96f8" size="180rpx" />
|
<van-icon name="success" color="#4e96f8" size="180rpx" />
|
||||||
<view class="label1">处理成功</view>
|
<view class="label1">处理成功</view>
|
||||||
@ -130,3 +139,6 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<!-- 消息通知 -->
|
||||||
|
<van-notify id="van-notify" />
|
Loading…
x
Reference in New Issue
Block a user