20240825代码提交

windows下部分内容与mac不一致,全量提交;
功能改动:
- 去掉“我的报修”页面的“报修名称”、“故障等级”、“故障时间”三个字段
- 派单员页面添加“故障等级”字段,故障等级由派单员选择设置
- “我的报修”页面,“门牌号”修改为“门牌号(地点)”
- 维修人员不允许评价
- 首页加入请求“我的报修”,可以直接点击进入
- 去掉语音输入,必填描述
- 派单列表页调整
- 维修人员退回工单需要必填理由
This commit is contained in:
471615499@qq.com 2024-08-25 18:17:00 +08:00
parent bc141d776c
commit b4417bee7b
24 changed files with 1344 additions and 1228 deletions

View File

@ -257,6 +257,21 @@ Page({
}) })
}, },
removeNotice(id) {
let _this = this
repairRemindReadRq({
id
}).then(res => {
// 查询消息列表
repairRemindLatestListRq().then(res => {
console.log('repairRemindLatestListRq', res);
_this.setData({
infoList: res.data
})
})
})
},
jumpInfoDetail(e) { jumpInfoDetail(e) {
console.log('detail', e); console.log('detail', e);
let id = e.currentTarget.dataset.obj.id let id = e.currentTarget.dataset.obj.id
@ -268,6 +283,7 @@ Page({
url: `/pages/reportRepair/assign/detail/detail?id=${repairId}`, url: `/pages/reportRepair/assign/detail/detail?id=${repairId}`,
}) })
}) })
}, },
// 成功通知 // 成功通知

View File

@ -24,7 +24,6 @@
<view class="menuTitle">{{item.name}}</view> <view class="menuTitle">{{item.name}}</view>
</view> </view>
</view> </view>
<!-- 消息通知 --> <!-- 消息通知 -->
<view class="itemTitleView"> <view class="itemTitleView">
<view class="title">消息通知</view> <view class="title">消息通知</view>

View File

@ -26,7 +26,13 @@ Page({
repairUserId: null, repairUserId: null,
repairUserName: null, repairUserName: null,
preDate: '', preDate: '',
repairLevel: '',
}, },
levelVisible: false,
levelColumns: [{
values: ['一级', '二级', '三级'],
className: 'column1',
}],
preDateVisible: false, preDateVisible: false,
preDateTime: new Date().getTime(), preDateTime: new Date().getTime(),
userVisible: false, userVisible: false,
@ -70,6 +76,34 @@ Page({
}) })
}, },
showLevel() {
this.setData({
levelVisible: true,
})
},
hideLevel() {
this.setData({
levelVisible: false,
})
},
// 确认-故障等级
levelConfirm(e) {
console.log('levelConfirm', e);
let _this = this;
const {
picker,
value,
index
} = e.detail;
let form = _this.data.form
form.repairLevel = value[0]
_this.setData({
form,
levelVisible: false
})
},
// 显示-完成时间 // 显示-完成时间
showPreDate() { showPreDate() {
let _this = this; let _this = this;
@ -152,16 +186,21 @@ Page({
submit() { submit() {
let _this = this let _this = this
// 参数校验 // 参数校验
if (!_this.data.form.repairLevel) {
// 危险通知
app.vantNotifyErrTop(Notify, '请选择故障等级!')
return
}
if (!_this.data.form.repairUserId) { if (!_this.data.form.repairUserId) {
// 危险通知 // 危险通知
app.vantNotifyErrTop(Notify, '请选择维修人员!') app.vantNotifyErrTop(Notify, '请选择维修人员!')
return return
} }
if (!_this.data.form.preDate) { // if (!_this.data.form.preDate) {
// 危险通知 // // 危险通知
app.vantNotifyErrTop(Notify, '请选择预计完成时间!') // app.vantNotifyErrTop(Notify, '请选择预计完成时间!')
return // return
} // }
// 提交参数 // 提交参数
let data = { let data = {
"repair": { "repair": {

View File

@ -24,11 +24,15 @@
<view class="reportView"> <view class="reportView">
<view class="topTitle">派单</view> <view class="topTitle">派单</view>
<view class="selfLine"></view> <view class="selfLine"></view>
<view class="itemView" bind:tap="showLevel">
<view class="label">{{form.repairLevel ? form.repairLevel : '请选择故障等级'}}</view>
<van-icon name="arrow" size="36rpx" color="gray" />
</view>
<view class="itemView" bind:tap="showUser"> <view class="itemView" bind:tap="showUser">
<view class="label">{{form.repairUserName ? form.repairUserName : '请选择维修人员'}}</view> <view class="label">{{form.repairUserName ? form.repairUserName : '请选择维修人员'}}</view>
<van-icon name="arrow" size="36rpx" color="gray" /> <van-icon name="arrow" size="36rpx" color="gray" />
</view> </view>
<view class="itemView" bind:tap="showPreDate"> <view style="display: none" class="itemView" bind:tap="showPreDate">
<view class="label">{{form.preDate ? form.preDate : '请选择预计完成时间'}}</view> <view class="label">{{form.preDate ? form.preDate : '请选择预计完成时间'}}</view>
<van-icon name="arrow" size="36rpx" color="gray" /> <van-icon name="arrow" size="36rpx" color="gray" />
</view> </view>
@ -39,6 +43,11 @@
</view> </view>
<!-- 选择-故障等级 -->
<van-popup show="{{ levelVisible }}" position="bottom" custom-style="height: 50vh;" bind:close="hideLevel">
<van-picker show-toolbar columns="{{ levelColumns }}" bind:confirm="levelConfirm" bind:cancel="hideLevel"/>
</van-popup>
<!-- 完成时间 --> <!-- 完成时间 -->
<van-popup show="{{ preDateVisible }}" position="bottom" custom-style="height: 50vh;" bind:close="hidePreDate"> <van-popup show="{{ preDateVisible }}" position="bottom" custom-style="height: 50vh;" bind:close="hidePreDate">
<van-datetime-picker type="datetime" value="{{ preDateTime }}" bind:confirm="confirmPreDate" bind:cancel="hidePreDate" /> <van-datetime-picker type="datetime" value="{{ preDateTime }}" bind:confirm="confirmPreDate" bind:cancel="hidePreDate" />

View File

@ -91,6 +91,10 @@ Page({
if (detail.status == 11) { if (detail.status == 11) {
log.invalid = _this.findLog(res.log, detail.logId, 1) log.invalid = _this.findLog(res.log, detail.logId, 1)
} }
if (detail.status == 1) {
log.back = _this.findLog(res.log, detail.logId, 1)
}
console.log(log)
_this.setData({ _this.setData({
log log
}) })
@ -146,7 +150,7 @@ Page({
// //
if (status == 1) { // 1 待派单 if (status == 1) { // 1 待派单
if ((dataType == 3 && detail.typeId == userDetail.typeId) || dataType == 7) { // 派单员 or 管理员 if ((dataType == 3 && detail.typeId == userDetail.typeId) || dataType == 7) { // 派单员 or 管理员
operatorBtn.invalid = true //无效申请 operatorBtn.invalid = true // 无效申请
operatorBtn.affirm = true // 确认损坏 operatorBtn.affirm = true // 确认损坏
operatorBtn.feedback = true // 提交反馈 operatorBtn.feedback = true // 提交反馈
} }

View File

@ -23,19 +23,20 @@
<view class="reportView"> <view class="reportView">
<view class="topTitle">报修信息</view> <view class="topTitle">报修信息</view>
<view class="selfLine"></view> <view class="itemView" wx:if="{{detail.repairLevel}}">
<view class="label">故障等级</view>
<view class="content">{{detail.repairLevel}}</view>
</view>
<!-- <view class="selfLine"></view>
<view class="itemView"> <view class="itemView">
<view class="label">报修名称</view> <view class="label">报修名称</view>
<view class="content">{{detail.repairName}}</view> <view class="content">{{detail.repairName}}</view>
</view> </view>
<view class="itemView">
<view class="label">故障等级</view>
<view class="content">{{detail.repairLevel}}</view>
</view>
<view class="itemView"> <view class="itemView">
<view class="label">故障时间</view> <view class="label">故障时间</view>
<view class="content">{{detail.repairTime}}</view> <view class="content">{{detail.repairTime}}</view>
</view> </view> -->
<view class="itemView"> <view class="itemView">
<view class="label">故障类型</view> <view class="label">故障类型</view>
<view class="content">{{detail.typeName + '/' + detail.deviceName}}</view> <view class="content">{{detail.typeName + '/' + detail.deviceName}}</view>
@ -45,7 +46,7 @@
<view class="content">{{detail.address + '/' + detail.floor}}</view> <view class="content">{{detail.address + '/' + detail.floor}}</view>
</view> </view>
<view class="itemView"> <view class="itemView">
<view class="label">门牌号</view> <view class="label">门牌号(地点)</view>
<view class="content">{{detail.room}}</view> <view class="content">{{detail.room}}</view>
</view> </view>
<view class="itemView"> <view class="itemView">
@ -60,15 +61,15 @@
<view class="label">故障描述</view> <view class="label">故障描述</view>
<view class="content">{{detail.explain ? detail.explain : ''}}</view> <view class="content">{{detail.explain ? detail.explain : ''}}</view>
</view> </view>
<view class="itemView"> <!-- <view class="itemView">
<view class="label">语音</view> <view class="label">语音</view>
<view class="content"> <view class="content">
<view class="voiceView" wx:if="{{files.voice.length > 0}}"> <view class="voiceView" wx:if="{{files.voice.length > 0}}">
<van-icon name="{{innerAudioContextIsPlay ? 'volume' : 'volume-o'}}" color="{{innerAudioContextIsPlay ? '#4e96f8' : 'black'}}" size="40rpx" bind:tap="startAudio" /> <van-icon name="{{innerAudioContextIsPlay ? 'volume' : 'volume-o'}}" color="{{innerAudioContextIsPlay ? '#4e96f8' : 'black'}}" size="40rpx" bind:tap="startAudio" />
<!-- <view class="voiceTimeView" bind:tap="startAudio">{{detail.voiceObj.time}} s</view> --> <view class="voiceTimeView" bind:tap="startAudio">{{detail.voiceObj.time}} s</view>
</view>
</view> </view>
</view> </view>
</view> -->
<view class="itemView"> <view class="itemView">
<view class="label">图片/视频</view> <view class="label">图片/视频</view>
<view class="content"> <view class="content">
@ -92,6 +93,13 @@
</view> </view>
</view> </view>
<view class="reportView" wx:if="{{detail.status == 1 && log.back.to == 5}}">
<view class="topTitle">维修员反馈</view>
<view class="selfLine"></view>
<view class="itemView">
<view class="content">{{log.back.content ? log.back.content :''}}</view>
</view>
</view>
<view class="reportView" wx:if="{{detail.status == 7}}"> <view class="reportView" wx:if="{{detail.status == 7}}">
<view class="topTitle">维修反馈</view> <view class="topTitle">维修反馈</view>
@ -168,7 +176,7 @@
<view class="bottomFixView"> <view class="bottomFixView">
<view class="btn red" bind:tap="jumpInvalid" wx:if="{{operatorBtn.invalid}}">无效申请</view> <view class="btn red" bind:tap="jumpInvalid" wx:if="{{operatorBtn.invalid}}">无效申请</view>
<view class="btn" bind:tap="jumpAffirm" wx:if="{{operatorBtn.affirm}}">确认损坏</view> <view class="btn" bind:tap="jumpAffirm" wx:if="{{operatorBtn.affirm}}">确认损坏</view>
<view class="btn" bind:tap="jumpFeedback" wx:if="{{operatorBtn.feedback}}">提交反馈</view> <view class="btn" style="background-color: red" bind:tap="jumpFeedback" wx:if="{{operatorBtn.feedback}}">故障有误</view>
<view class="btn" bind:tap="jumpAgain" wx:if="{{operatorBtn.again}}">重新派单</view> <view class="btn" bind:tap="jumpAgain" wx:if="{{operatorBtn.again}}">重新派单</view>
<view class="btn">分享 <view class="btn">分享
<button catch class="shareBtn" open-type="share" data-obj="{{item}}">转发</button> <button catch class="shareBtn" open-type="share" data-obj="{{item}}">转发</button>

View File

@ -42,6 +42,12 @@ Page({
// 提交 // 提交
submit() { submit() {
let _this = this let _this = this
// 参数校验
if (!_this.data.content) {
// 危险通知
app.vantNotifyErrTop(Notify, '请输入描述信息!')
return
}
let data = { let data = {
"repair": { "repair": {
"id": _this.data.id "id": _this.data.id

View File

@ -42,6 +42,12 @@ Page({
// 提交 // 提交
submit() { submit() {
let _this = this let _this = this
// 参数校验
if (!_this.data.content) {
// 危险通知
app.vantNotifyErrTop(Notify, '请输入描述信息!')
return
}
let data = { let data = {
"repair": { "repair": {
"id": _this.data.id "id": _this.data.id

View File

@ -7,6 +7,8 @@
<view class="submitBtn" bind:tap="submit">提交</view> <view class="submitBtn" bind:tap="submit">提交</view>
</view>
<!-- 在页面内添加对应的节点 --> <!-- 在页面内添加对应的节点 -->
<van-notify id="van-notify" /> <van-notify id="van-notify" />
</view>

View File

@ -186,6 +186,7 @@ Page({
pageSize, pageSize,
menu: _this.data.userData.dataType, // 角色 menu: _this.data.userData.dataType, // 角色
type, type,
role: _this.data.userData.dataType,
} }
// 查询数据 // 查询数据
repairListRq(param).then(res => { repairListRq(param).then(res => {
@ -313,7 +314,7 @@ Page({
closeOrder: { closeOrder: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
type: 'close', type: 'invalid',
dataList: [], dataList: [],
isDataAll: false, isDataAll: false,
}, },

View File

@ -7,20 +7,22 @@
<view class="centerView"> <view class="centerView">
<view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view> <view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view>
<view class="rightView"> <view class="rightView">
<view class="labelName ellipsisFont">{{item.repairName}}</view> <view class="labelName ellipsisFont">{{item.address + '/' + item.floor}} {{item.room ? item.room : ''}}</view>
<view class="labelContent2">{{item.explain}}</view>
<!--<view class="labelName ellipsisFont">{{item.explain}}</view>
<view class="labelContent1 ellipsisFont">类型: {{item.typeName + '/' + item.deviceName}}</view> <view class="labelContent1 ellipsisFont">类型: {{item.typeName + '/' + item.deviceName}}</view>
<view class="labelContent2 ellipsisFont">地点: {{item.address + '/' + item.floor}}</view> <view class="labelContent2 ellipsisFont">地点: {{item.address + '/' + item.floor}}</view>
<view class="labelContent2 ellipsisFont">门牌号: {{item.room ? item.room : ''}}</view> <view class="labelContent2 ellipsisFont">门牌号: {{item.room ? item.room : ''}}</view>-->
</view> </view>
</view> </view>
<view class="selfLine"></view> <view class="selfLine"></view>
<view class="bottomView"> <view class="bottomView">
<view class="name"> <view class="name">
<van-icon name="manager-o" size="28rpx" color="#4e96f8"/> <van-icon name="manager-o" size="28rpx" color="#4e96f8" />
{{item.name}}{{item.phone}} {{item.name}}{{item.phone}}
</view> </view>
<view class="time"> <view class="time">
<van-icon name="calendar-o" size="30rpx" color="#4e96f8"/> <van-icon name="calendar-o" size="30rpx" color="#4e96f8" />
{{item.createTime}} {{item.createTime}}
</view> </view>
</view> </view>
@ -37,20 +39,22 @@
<view class="centerView"> <view class="centerView">
<view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view> <view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view>
<view class="rightView"> <view class="rightView">
<view class="labelName ellipsisFont">{{item.repairName}}</view> <view class="labelName ellipsisFont">{{item.address + '/' + item.floor}} {{item.room ? item.room : ''}}</view>
<view class="labelContent2">{{item.explain}}</view>
<!--<view class="labelName ellipsisFont">{{item.explain}}</view>
<view class="labelContent1 ellipsisFont">类型: {{item.typeName + '/' + item.deviceName}}</view> <view class="labelContent1 ellipsisFont">类型: {{item.typeName + '/' + item.deviceName}}</view>
<view class="labelContent2 ellipsisFont">地点: {{item.address + '/' + item.floor}}</view> <view class="labelContent2 ellipsisFont">地点: {{item.address + '/' + item.floor}}</view>
<view class="labelContent2 ellipsisFont">门牌号: {{item.room ? item.room : ''}}</view> <view class="labelContent2 ellipsisFont">门牌号: {{item.room ? item.room : ''}}</view>-->
</view> </view>
</view> </view>
<view class="selfLine"></view> <view class="selfLine"></view>
<view class="bottomView"> <view class="bottomView">
<view class="name"> <view class="name">
<van-icon name="manager-o" size="28rpx" color="#4e96f8"/> <van-icon name="manager-o" size="28rpx" color="#4e96f8" />
{{item.name}}{{item.phone}} {{item.name}}{{item.phone}}
</view> </view>
<view class="time"> <view class="time">
<van-icon name="calendar-o" size="30rpx" color="#4e96f8"/> <van-icon name="calendar-o" size="30rpx" color="#4e96f8" />
{{item.createTime}} {{item.createTime}}
</view> </view>
</view> </view>
@ -67,20 +71,22 @@
<view class="centerView"> <view class="centerView">
<view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view> <view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view>
<view class="rightView"> <view class="rightView">
<view class="labelName ellipsisFont">{{item.repairName}}</view> <view class="labelName ellipsisFont">{{item.address + '/' + item.floor}} {{item.room ? item.room : ''}}</view>
<view class="labelContent2">{{item.explain}}</view>
<!--<view class="labelName ellipsisFont">{{item.explain}}</view>
<view class="labelContent1 ellipsisFont">类型: {{item.typeName + '/' + item.deviceName}}</view> <view class="labelContent1 ellipsisFont">类型: {{item.typeName + '/' + item.deviceName}}</view>
<view class="labelContent2 ellipsisFont">地点: {{item.address + '/' + item.floor}}</view> <view class="labelContent2 ellipsisFont">地点: {{item.address + '/' + item.floor}}</view>
<view class="labelContent2 ellipsisFont">门牌号: {{item.room ? item.room : ''}}</view> <view class="labelContent2 ellipsisFont">门牌号: {{item.room ? item.room : ''}}</view>-->
</view> </view>
</view> </view>
<view class="selfLine"></view> <view class="selfLine"></view>
<view class="bottomView"> <view class="bottomView">
<view class="name"> <view class="name">
<van-icon name="manager-o" size="28rpx" color="#4e96f8"/> <van-icon name="manager-o" size="28rpx" color="#4e96f8" />
{{item.name}}{{item.phone}} {{item.name}}{{item.phone}}
</view> </view>
<view class="time"> <view class="time">
<van-icon name="calendar-o" size="30rpx" color="#4e96f8"/> <van-icon name="calendar-o" size="30rpx" color="#4e96f8" />
{{item.createTime}} {{item.createTime}}
</view> </view>
</view> </view>
@ -96,20 +102,22 @@
<view class="centerView"> <view class="centerView">
<view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view> <view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view>
<view class="rightView"> <view class="rightView">
<view class="labelName ellipsisFont">{{item.repairName}}</view> <view class="labelName ellipsisFont">{{item.address + '/' + item.floor}} {{item.room ? item.room : ''}}</view>
<view class="labelContent2">{{item.explain}}</view>
<!--<view class="labelName ellipsisFont">{{item.explain}}</view>
<view class="labelContent1 ellipsisFont">类型: {{item.typeName + '/' + item.deviceName}}</view> <view class="labelContent1 ellipsisFont">类型: {{item.typeName + '/' + item.deviceName}}</view>
<view class="labelContent2 ellipsisFont">地点: {{item.address + '/' + item.floor}}</view> <view class="labelContent2 ellipsisFont">地点: {{item.address + '/' + item.floor}}</view>
<view class="labelContent2 ellipsisFont">门牌号: {{item.room ? item.room : ''}}</view> <view class="labelContent2 ellipsisFont">门牌号: {{item.room ? item.room : ''}}</view>-->
</view> </view>
</view> </view>
<view class="selfLine"></view> <view class="selfLine"></view>
<view class="bottomView"> <view class="bottomView">
<view class="name"> <view class="name">
<van-icon name="manager-o" size="28rpx" color="#4e96f8"/> <van-icon name="manager-o" size="28rpx" color="#4e96f8" />
{{item.name}}{{item.phone}} {{item.name}}{{item.phone}}
</view> </view>
<view class="time"> <view class="time">
<van-icon name="calendar-o" size="30rpx" color="#4e96f8"/> <van-icon name="calendar-o" size="30rpx" color="#4e96f8" />
{{item.createTime}} {{item.createTime}}
</view> </view>
</view> </view>

View File

@ -54,7 +54,7 @@
} }
.itemView .centerView .rightView .labelContent2 { .itemView .centerView .rightView .labelContent2 {
line-height: 1; line-height: 1.5;
margin-top: 10rpx; margin-top: 10rpx;
font-size: 24rpx; font-size: 24rpx;
color: gray; color: gray;

View File

@ -33,7 +33,7 @@ Page({
name: "维修入口", name: "维修入口",
img: "/profile/static/repair/index/repair.png", img: "/profile/static/repair/index/repair.png",
path: "/pages/reportRepair/repair/index/index", path: "/pages/reportRepair/repair/index/index",
visible: false visible: true
}] }]
}, },

View File

@ -96,6 +96,7 @@ Page({
_this.setData({ _this.setData({
userData: wx.getStorageSync('user'), userData: wx.getStorageSync('user'),
}) })
console.log(_this.data.userData)
// 获取数据 // 获取数据
let userId = _this.data.userData.id let userId = _this.data.userData.id
}, },
@ -127,6 +128,7 @@ Page({
// 获取数据 // 获取数据
getDataList(transferTabTitle) { getDataList(transferTabTitle) {
console.log(transferTabTitle)
// 获取参数 // 获取参数
let _this = this; let _this = this;
let tabTitle = _this.data.tabTitle let tabTitle = _this.data.tabTitle
@ -193,20 +195,21 @@ Page({
pageSize, pageSize,
menu: _this.data.userData.dataType, // 角色 menu: _this.data.userData.dataType, // 角色
type, type,
role: _this.data.userData.dataType, // 角色
} }
// 查询数据 // 查询数据
repairListRq(param).then(res => { repairListRq(param).then(res => {
console.log('repairListRq', res); // console.log('repairListRq', res);
let dataList = res.rows let dataList = res.rows
let isDataAll = false let _isDataAll = false
if (pageNum * pageSize >= res.total) { if (pageNum * pageSize >= res.total) {
isDataAll = true _isDataAll = true
} }
// //
if (tabTitle == '全部') { if (tabTitle == '全部') {
allOrder.dataList = allOrder.dataList.concat(_this.formartData(dataList)) allOrder.dataList = allOrder.dataList.concat(_this.formartData(dataList))
allOrder.pageNum = allOrder.pageNum + 1 allOrder.pageNum = allOrder.pageNum + 1
allOrder.isDataAll = isDataAll allOrder.isDataAll = _isDataAll
_this.setData({ _this.setData({
allOrder allOrder
}) })
@ -214,7 +217,7 @@ Page({
} else if (tabTitle == '处理中') { } else if (tabTitle == '处理中') {
processOrder.dataList = processOrder.dataList.concat(_this.formartData(dataList)) processOrder.dataList = processOrder.dataList.concat(_this.formartData(dataList))
processOrder.pageNum = processOrder.pageNum + 1 processOrder.pageNum = processOrder.pageNum + 1
processOrder.isDataAll = isDataAll processOrder.isDataAll = _isDataAll
_this.setData({ _this.setData({
processOrder processOrder
}) })
@ -222,7 +225,7 @@ Page({
} else if (tabTitle == '待评价') { } else if (tabTitle == '待评价') {
evalingOrder.dataList = evalingOrder.dataList.concat(_this.formartData(dataList)) evalingOrder.dataList = evalingOrder.dataList.concat(_this.formartData(dataList))
evalingOrder.pageNum = evalingOrder.pageNum + 1 evalingOrder.pageNum = evalingOrder.pageNum + 1
evalingOrder.isDataAll = isDataAll evalingOrder.isDataAll = _isDataAll
_this.setData({ _this.setData({
evalingOrder evalingOrder
}) })
@ -230,7 +233,7 @@ Page({
} else if (tabTitle == '已评价') { } else if (tabTitle == '已评价') {
evaledOrder.dataList = evaledOrder.dataList.concat(_this.formartData(dataList)) evaledOrder.dataList = evaledOrder.dataList.concat(_this.formartData(dataList))
evaledOrder.pageNum = evaledOrder.pageNum + 1 evaledOrder.pageNum = evaledOrder.pageNum + 1
evaledOrder.isDataAll = isDataAll evaledOrder.isDataAll = _isDataAll
_this.setData({ _this.setData({
evaledOrder evaledOrder
}) })
@ -238,7 +241,7 @@ Page({
} else if (tabTitle == '无效单') { } else if (tabTitle == '无效单') {
invalidOrder.dataList = invalidOrder.dataList.concat(_this.formartData(dataList)) invalidOrder.dataList = invalidOrder.dataList.concat(_this.formartData(dataList))
invalidOrder.pageNum = invalidOrder.pageNum + 1 invalidOrder.pageNum = invalidOrder.pageNum + 1
invalidOrder.isDataAll = isDataAll invalidOrder.isDataAll = _isDataAll
_this.setData({ _this.setData({
invalidOrder invalidOrder
}) })
@ -272,8 +275,8 @@ Page({
}, },
jumpEvaluate(e) { jumpEvaluate(e) {
console.log('jumpEvaluate', e);
let obj = e.currentTarget.dataset.obj let obj = e.currentTarget.dataset.obj
console.log('jumpEvaluate', obj);
wx.navigateTo({ wx.navigateTo({
url: `/pages/reportRepair/assign/evaluate/evaluate?id=${obj.id}&back=1`, url: `/pages/reportRepair/assign/evaluate/evaluate?id=${obj.id}&back=1`,
}) })
@ -370,7 +373,8 @@ Page({
console.log('onReachBottom', '页面上拉触底事件的处理函数'); console.log('onReachBottom', '页面上拉触底事件的处理函数');
let _this = this; let _this = this;
// 获取数据 // 获取数据
_this.getDataList() let tabTitle = _this.data.tabTitle
_this.getDataList(tabTitle)
}, },
/** /**

View File

@ -2,7 +2,7 @@
<van-tabs bind:click="tabClickSwitch" color="#4e96f8" border animated title-active-color="black" title-inactive-color="gray"> <van-tabs bind:click="tabClickSwitch" color="#4e96f8" border animated title-active-color="black" title-inactive-color="gray">
<van-tab title="全部"> <van-tab title="全部">
<view class="itemView" wx:for="{{allOrder.dataList}}" wx:for-item="item" wx:key="*this"> <view class="itemView" wx:for="{{allOrder.dataList}}" wx:for-item="item" wx:key="*this">
<view class="topTitle">{{item.repairName}}</view> <!-- <view class="topTitle">{{item.repairName}}</view> -->
<view class="centerView" data-obj="{{item}}" bind:tap="jumpDetail"> <view class="centerView" data-obj="{{item}}" bind:tap="jumpDetail">
<view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view> <view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view>
<view class="rightView"> <view class="rightView">
@ -28,7 +28,7 @@
<van-tab title="处理中"> <van-tab title="处理中">
<view class="itemView" wx:for="{{processOrder.dataList}}" wx:for-item="item" wx:key="*this"> <view class="itemView" wx:for="{{processOrder.dataList}}" wx:for-item="item" wx:key="*this">
<view class="topTitle">{{item.repairName}}</view> <!-- <view class="topTitle">{{item.repairName}}</view> -->
<view class="centerView" data-obj="{{item}}" bind:tap="jumpDetail"> <view class="centerView" data-obj="{{item}}" bind:tap="jumpDetail">
<view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view> <view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view>
<view class="rightView"> <view class="rightView">
@ -53,7 +53,7 @@
</van-tab> </van-tab>
<van-tab title="待评价"> <van-tab title="待评价">
<view class="itemView" wx:for="{{evalingOrder.dataList}}" wx:for-item="item" wx:key="*this"> <view class="itemView" wx:for="{{evalingOrder.dataList}}" wx:for-item="item" wx:key="*this">
<view class="topTitle">{{item.repairName}}</view> <!-- <view class="topTitle">{{item.repairName}}</view> -->
<view class="centerView" data-obj="{{item}}" bind:tap="jumpDetail"> <view class="centerView" data-obj="{{item}}" bind:tap="jumpDetail">
<view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view> <view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view>
<view class="rightView"> <view class="rightView">
@ -69,7 +69,7 @@
<view class="btn">分享 <view class="btn">分享
<button catch class="shareBtn" open-type="share" data-obj="{{item}}">转发</button> <button catch class="shareBtn" open-type="share" data-obj="{{item}}">转发</button>
</view> </view>
<view class="btn evaluate" data-obj="{{item}}" bind:tap="jumpEvaluate">评价</view> <view wx:if="{{item.createBy == userData.id}}" class="btn evaluate" data-obj="{{item}}" bind:tap="jumpEvaluate">评价</view>
</view> </view>
</view> </view>
</view> </view>
@ -79,7 +79,7 @@
</van-tab> </van-tab>
<van-tab title="已评价"> <van-tab title="已评价">
<view class="itemView" wx:for="{{evaledOrder.dataList}}" wx:for-item="item" wx:key="*this"> <view class="itemView" wx:for="{{evaledOrder.dataList}}" wx:for-item="item" wx:key="*this">
<view class="topTitle">{{item.repairName}}</view> <!-- <view class="topTitle">{{item.repairName}}</view> -->
<view class="centerView" data-obj="{{item}}" bind:tap="jumpDetail"> <view class="centerView" data-obj="{{item}}" bind:tap="jumpDetail">
<view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view> <view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view>
<view class="rightView"> <view class="rightView">
@ -104,7 +104,7 @@
</van-tab> </van-tab>
<van-tab title="无效单"> <van-tab title="无效单">
<view class="itemView" wx:for="{{invalidOrder.dataList}}" wx:for-item="item" wx:key="*this"> <view class="itemView" wx:for="{{invalidOrder.dataList}}" wx:for-item="item" wx:key="*this">
<view class="topTitle">{{item.repairName}}</view> <!-- <view class="topTitle">{{item.repairName}}</view> -->
<view class="centerView" data-obj="{{item}}" bind:tap="jumpDetail"> <view class="centerView" data-obj="{{item}}" bind:tap="jumpDetail">
<view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view> <view class="showImg" style="background: no-repeat center/cover url({{IMG_NAME + item.visibleImg}});"></view>
<view class="rightView"> <view class="rightView">

View File

@ -1,6 +1,7 @@
const app = getApp() const app = getApp()
import Notify from '@vant/weapp/notify/notify'; import Notify from '@vant/weapp/notify/notify';
import Dialog from '@vant/weapp/dialog/dialog';
import { import {
selfFormatTimeYMDHMS, selfFormatTimeYMDHMS,
@ -140,10 +141,6 @@ Page({
if (status == 'yes') { if (status == 'yes') {
data.content = "接收工单" data.content = "接收工单"
data.operate = "NEXT" data.operate = "NEXT"
} else {
data.content = "退回工单"
data.operate = "BACK"
}
flowHandleRq(data).then(res => { flowHandleRq(data).then(res => {
console.log('flowHandleRq', res); console.log('flowHandleRq', res);
if (res.code == 0) { if (res.code == 0) {
@ -153,6 +150,36 @@ Page({
app.vantNotifyErr(Notify, res.msg) app.vantNotifyErr(Notify, res.msg)
} }
}) })
} else {
data.content = "退回工单"
data.operate = "BACK"
let _this = this
wx.navigateTo({
url: `/pages/reportRepair/assign/feedback/feedback?id=${_this.data.id}`,
})
// 退回工单
// Dialog.confirm({
// title: '请确认',
// message: '退回工单后将由派单员重新派单,请确认是否退回?',
// })
// .then(() => {
// // 确认退回
// flowHandleRq(data).then(res => {
// console.log('flowHandleRq', res);
// if (res.code == 0) {
// // 跳回维修入口页面
// wx.navigateBack()
// } else {
// app.vantNotifyErr(Notify, res.msg)
// }
// })
// })
// .catch(() => {
// // on cancel
// })
}
}, },
// input输入内容监听 // input输入内容监听
@ -319,11 +346,11 @@ Page({
}) })
}, },
back(){ back() {
wx.navigateBack() wx.navigateBack()
}, },
jumpDetail(){ jumpDetail() {
let _this = this let _this = this
wx.navigateTo({ wx.navigateTo({
url: `/pages/reportRepair/assign/detail/detail?id=${_this.data.id}`, url: `/pages/reportRepair/assign/detail/detail?id=${_this.data.id}`,

View File

@ -6,6 +6,7 @@
"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" "van-notify": "@vant/weapp/notify/index",
"van-dialog": "@vant/weapp/dialog/index"
} }
} }

View File

@ -26,18 +26,18 @@
<view class="labelView">报修单信息</view> <view class="labelView">报修单信息</view>
<view class="step1" wx:if="{{detail.status == '5' || detail.status == '7' }}"> <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>
</view> </view> -->
<view class="itemView"> <view class="itemView">
<view class="name">故障等级</view> <view class="name">故障等级</view>
<view class="content">{{detail.repairLevel}}</view> <view class="content">{{detail.repairLevel}}</view>
</view> </view>
<view class="itemView"> <!-- <view class="itemView">
<view class="name">故障时间</view> <view class="name">故障时间</view>
<view class="content">{{detail.repairTime}}</view> <view class="content">{{detail.repairTime}}</view>
</view> </view> -->
<view class="itemView"> <view class="itemView">
<view class="name">故障类型</view> <view class="name">故障类型</view>
<view class="content">{{detail.typeName + '/' + detail.deviceName}}</view> <view class="content">{{detail.typeName + '/' + detail.deviceName}}</view>
@ -47,7 +47,7 @@
<view class="content">{{detail.address + '/' + detail.floor}}</view> <view class="content">{{detail.address + '/' + detail.floor}}</view>
</view> </view>
<view class="itemView"> <view class="itemView">
<view class="name">门牌号</view> <view class="name">门牌号(地点)</view>
<view class="content">{{detail.room}}</view> <view class="content">{{detail.room}}</view>
</view> </view>
<view class="itemView"> <view class="itemView">
@ -62,14 +62,14 @@
<view class="name">故障描述</view> <view class="name">故障描述</view>
<view class="content">{{detail.explain ? detail.explain : ''}}</view> <view class="content">{{detail.explain ? detail.explain : ''}}</view>
</view> </view>
<view class="itemView"> <!-- <view class="itemView">
<view class="name">相关语音:</view> <view class="name">相关语音:</view>
<view class="content"> <view class="content">
<view class="voiceView" wx:if="{{files.voice.length > 0}}"> <view class="voiceView" wx:if="{{files.voice.length > 0}}">
<van-icon name="{{innerAudioContextIsPlay ? 'volume' : 'volume-o'}}" color="{{innerAudioContextIsPlay ? '#4e96f8' : 'black'}}" size="40rpx" bind:tap="startAudio" /> <van-icon name="{{innerAudioContextIsPlay ? 'volume' : 'volume-o'}}" color="{{innerAudioContextIsPlay ? '#4e96f8' : 'black'}}" size="40rpx" bind:tap="startAudio" />
</view> </view>
</view> </view>
</view> </view> -->
<view class="itemView"> <view class="itemView">
<view class="name">报修图片:</view> <view class="name">报修图片:</view>
<view class="content"> <view class="content">
@ -139,6 +139,6 @@
</view> </view>
</view> </view>
<van-dialog id="van-dialog" />
<!-- 消息通知 --> <!-- 消息通知 -->
<van-notify id="van-notify" /> <van-notify id="van-notify" />

View File

@ -163,7 +163,8 @@ Page({
let param = { let param = {
pageNum, pageNum,
pageSize, pageSize,
menu: '5', // 维修 // menu: '5', // 维修
role: '5',
type, type,
} }
// 查询数据 // 查询数据
@ -245,7 +246,7 @@ Page({
workOrder: { workOrder: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
type: 'working', type: 'process',
dataList: [], dataList: [],
isDataAll: false, isDataAll: false,
}, },
@ -253,7 +254,7 @@ Page({
closeOrder: { closeOrder: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
type: 'close', type: 'end',
dataList: [], dataList: [],
isDataAll: false, isDataAll: false,
}, },

View File

@ -41,7 +41,7 @@
<view class="caseListView" wx:if="{{tabTitle == 'wait'}}"> <view class="caseListView" wx:if="{{tabTitle == 'wait'}}">
<view class="caseView" wx:for="{{waitOrder.dataList}}" wx:for-item="item" wx:key="*this" data-obj="{{item}}" bind:tap="jumpCase"> <view class="caseView" wx:for="{{waitOrder.dataList}}" wx:for-item="item" wx:key="*this" data-obj="{{item}}" bind:tap="jumpCase">
<view class="content ellipsisFont">{{item.name}}发起一个单</view> <view class="content ellipsisFont">{{item.name}}发起一个单</view>
<view class="time">{{item.createTime}}</view> <view class="time">{{item.createTime}}</view>
<view class="status"></view> <view class="status"></view>
</view> </view>
@ -52,7 +52,7 @@
<view class="caseListView" wx:if="{{tabTitle == 'working'}}"> <view class="caseListView" wx:if="{{tabTitle == 'working'}}">
<view class="caseView" wx:for="{{workOrder.dataList}}" wx:for-item="item" wx:key="*this" data-obj="{{item}}" bind:tap="jumpCase"> <view class="caseView" wx:for="{{workOrder.dataList}}" wx:for-item="item" wx:key="*this" data-obj="{{item}}" bind:tap="jumpCase">
<view class="content ellipsisFont">{{item.name}}发起一个单</view> <view class="content ellipsisFont">{{item.name}}发起一个单</view>
<view class="time">{{item.createTime}}</view> <view class="time">{{item.createTime}}</view>
<view class="status"></view> <view class="status"></view>
</view> </view>
@ -63,7 +63,7 @@
<view class="caseListView" wx:if="{{tabTitle == 'close'}}"> <view class="caseListView" wx:if="{{tabTitle == 'close'}}">
<view class="caseView" wx:for="{{closeOrder.dataList}}" wx:for-item="item" wx:key="*this" data-obj="{{item}}" bind:tap="jumpCase"> <view class="caseView" wx:for="{{closeOrder.dataList}}" wx:for-item="item" wx:key="*this" data-obj="{{item}}" bind:tap="jumpCase">
<view class="content ellipsisFont">{{item.name}}发起一个单</view> <view class="content ellipsisFont">{{item.name}}发起一个单</view>
<view class="time">{{item.createTime}}</view> <view class="time">{{item.createTime}}</view>
<view class="status"></view> <view class="status"></view>
</view> </view>

View File

@ -520,20 +520,20 @@ Page({
// //
// 校验数据 // 校验数据
// //
// 报修名称 // 报修名称,去掉
if (!detail.repairName) { if (!detail.repairName) {
app.vantNotifyErr(Notify, '输入报修名称!') // app.vantNotifyErr(Notify, '输入报修名称!')
return; // return;
} }
// 故障等级 // 故障等级,去掉
if (!detail.repairLevel) { if (!detail.repairLevel) {
app.vantNotifyErr(Notify, '请选择故障等级!') // app.vantNotifyErr(Notify, '请选择故障等级!')
return; // return;
} }
// 故障时间 // 故障时间,去掉
if (!detail.repairTime) { if (!detail.repairTime) {
app.vantNotifyErr(Notify, '请选择故障时间!') // app.vantNotifyErr(Notify, '请选择故障时间!')
return; // return;
} }
// 故障类型 // 故障类型
if (!detail.typeId) { if (!detail.typeId) {
@ -547,7 +547,7 @@ Page({
} }
// 门牌号 // 门牌号
if (!detail.room) { if (!detail.room) {
app.vantNotifyErr(Notify, '请输入门牌号!') app.vantNotifyErr(Notify, '请输入门牌号(地点)!')
return; return;
} }
// 联系电话 // 联系电话
@ -566,8 +566,8 @@ Page({
return; return;
} }
// 故障描述 // 故障描述
if (!detail.explain && !voiceObj.tempFilePath) { if (!detail.explain) {
app.vantNotifyErr(Notify, '请输入故障描述或录音!') app.vantNotifyErr(Notify, '请输入故障描述!')
return; return;
} }
// //

View File

@ -1,14 +1,14 @@
<view class="containerView public"> <view class="containerView public">
<view class="contentView"> <view class="contentView">
<view class="rowView"> <view class="rowView" style="display: none;">
<view class="label must">报修名称</view> <view class="label must">报修名称</view>
<van-field value="{{ detail.repairName }}" bind:input="fieldInput" data-name="repairName" clearable input-class="input" placeholder="请输入" border="{{ false }}" input-align="right" /> <van-field value="{{ detail.repairName }}" bind:input="fieldInput" data-name="repairName" clearable input-class="input" placeholder="请输入" border="{{ false }}" input-align="right" />
</view> </view>
<view class="rowView"> <view class="rowView" style="display: none;">
<view class="label must">故障等级</view> <view class="label must">故障等级</view>
<van-field value="{{ detail.repairLevel }}" input-class="input" is-link readonly placeholder="请选择" arrow-direction="down" border="{{ false }}" input-align="right" bind:tap="showFaultLevel" /> <van-field value="{{ detail.repairLevel }}" input-class="input" is-link readonly placeholder="请选择" arrow-direction="down" border="{{ false }}" input-align="right" bind:tap="showFaultLevel" />
</view> </view>
<view class="rowView" bind:tap="showRepairTime"> <view class="rowView" bind:tap="showRepairTime" style="display: none;">
<view class="label must">故障时间</view> <view class="label must">故障时间</view>
<van-field value="{{ detail.repairTime }}" input-class="input" is-link readonly placeholder="请选择" border="{{ false }}" arrow-direction="down" input-align="right" /> <van-field value="{{ detail.repairTime }}" input-class="input" is-link readonly placeholder="请选择" border="{{ false }}" arrow-direction="down" input-align="right" />
</view> </view>
@ -21,7 +21,7 @@
<van-field value="{{ detail.address ? detail.address + '/' + detail.floor : '' }}" input-class="input" is-link readonly placeholder="请选择" arrow-direction="down" border="{{ false }}" input-align="right" bind:tap="showAddress" /> <van-field value="{{ detail.address ? detail.address + '/' + detail.floor : '' }}" input-class="input" is-link readonly placeholder="请选择" arrow-direction="down" border="{{ false }}" input-align="right" bind:tap="showAddress" />
</view> </view>
<view class="rowView"> <view class="rowView">
<view class="label must">门牌号</view> <view class="label must">门牌号(地点)</view>
<van-field value="{{ detail.room }}" bind:input="fieldInput" data-name="room" clearable input-class="input" placeholder="请输入" border="{{ false }}" input-align="right" /> <van-field value="{{ detail.room }}" bind:input="fieldInput" data-name="room" clearable input-class="input" placeholder="请输入" border="{{ false }}" input-align="right" />
</view> </view>
<view class="rowView"> <view class="rowView">
@ -34,22 +34,7 @@
</view> </view>
<view class="rowColumnView"> <view class="rowColumnView">
<view class="label must">故障描述</view> <view class="label must">故障描述</view>
<view class="contentView"> <van-field model:value="{{ detail.explain }}" bind:input="fieldInput" data-name="explain" type="textarea" clearable placeholder="请输入" maxlength="{{100}}" show-word-limit border="{{false}}" autosize />
<van-field model:value="{{ detail.explain }}" bind:input="fieldInput" data-name="explain" type="textarea" clearable placeholder="请输入" maxlength="{{100}}" show-word-limit border="{{false}}" autosize input-class="selfTextarea" />
<view class="voiceView1" bind:touchstart="startRecording" bind:touchend="stopRecording">
<view class="voiceView2">
<view class="voiceImg" style="background: no-repeat center/cover url({{IMG_NAME + '/profile/static/repair/index/voice.png'}});"></view>
</view>
</view>
</view>
</view>
<view class="rowView self">
<view class="label">语音</view>
<view class="voiceBtnView" wx:if="{{voiceObj.tempFilePath}}">
<van-icon name="{{innerAudioContextIsPlay ? 'volume' : 'volume-o'}}" color="{{innerAudioContextIsPlay ? '#4e96f8' : 'black'}}" size="40rpx" bind:tap="startAudio"/>
<view class="voiceTimeView" bind:tap="startAudio">{{voiceObj.duration}} s</view>
<van-icon name="close" size="34rpx" bind:tap="clearAudio"/>
</view>
</view> </view>
<view class="rowColumnView"> <view class="rowColumnView">
<view class="label">故障图片/视频</view> <view class="label">故障图片/视频</view>

View File

@ -186,5 +186,5 @@
.selfTextarea { .selfTextarea {
min-height: 140rpx !important; min-height: 140rpx !important;
max-height: 140rpx !important; max-height: 140rpx !important;
width: 450rpx !important; width: 650rpx !important;
} }

2
package-lock.json generated
View File

@ -1,5 +1,5 @@
{ {
"name": "dbd-meeting-wx-small", "name": "haLogistics",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {