消息接口调整

test
zhangdi 1 year ago
parent adb590dd0e
commit 3d16c6cff2
  1. 28
      api/api.js
  2. 12
      pages/home/index.vue
  3. 2
      pages/inspection/quest.vue
  4. 209
      pages/inspection/questOrder.vue
  5. 64
      pages/notice/index.vue
  6. 63
      pages/submission/records.vue
  7. 10
      pages/submission/sendOrders.vue

@ -358,8 +358,34 @@ const install = (Vue, vm) => {
authorizations: true,
isparams: false
})
// 巡检 新加签名和备注字段接口
let updateSign = (params) => http.post('/task-serviceman-update-sign', params, {
authorizations: true,
isparams: false
})
// 获取消息列表
let getMesseageList = (params) => http.get('/messeage/list', params, {
authorizations: true,
isparams: false
})
// 一键已读
let getMesseageAll = (params) => http.post('/messeage/updateStatusAll', params, {
authorizations: true,
isparams: false
})
// 更改消息状态
let ipdateMesseageStatus = (params) => http.post('/messeage/updateStatus', params, {
authorizations: true,
isparams: false
})
// 更改消息状态
let getMesseageTotal = (params) => http.get('//messeage/total', params, {
authorizations: true,
isparams: false
})
// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
vm.$u.api = { getTenantInfo, login, logout, registerUser, getworkbench, getLoginRecords, getEditRecords, subEditRecords, getChildList, getDeviceList, workOrderSave, getWorkOrderRecords, getBreakdownInfo, workOrderupdate, evaluateSign, getRepairPersons, getGoodsList, getDictionaryList, getUserList, workList, deviceList, upkeepStat, pieStat, getUserInfo, overview, sendOrders, cloneOrder, editData, repairReject, applySave, sendVerify, serviceman, servicemanReceive, servicemanSubmit, supervisorReject, supervisorconfirm, customerConfirm, customerReject, servicemanRepairSubmit, evaluateRepairReject, getDeviceDetail, getTaskPage, getTaskDetail, taskSupervisorconfirm, taskServicemanreceive, updateCoordinate, taskServicemanUpdateTime, getPlanDetail, getRepairPage, updateDetaile, taskServicemanSubmit, taskCustomerConfirm, taskCustomerRefuse, taskSolutionSave, taskSolutionSubmit, repairSolutionSupervisor, repairSolutionRefuse, repairSolutionCustomer, repairCustomerRefuse, repairServicemanSubmit,repairConfirmFinish,repairRefuseFinish ,confirmPayment,getPosition,getRepairDetail,updatePosition,resetPwd,getNoticeList};
vm.$u.api = { getTenantInfo, login, logout, registerUser, getworkbench, getLoginRecords, getEditRecords, subEditRecords, getChildList, getDeviceList, workOrderSave, getWorkOrderRecords, getBreakdownInfo, workOrderupdate, evaluateSign, getRepairPersons, getGoodsList, getDictionaryList, getUserList, workList, deviceList, upkeepStat, pieStat, getUserInfo, overview, sendOrders, cloneOrder, editData, repairReject, applySave, sendVerify, serviceman, servicemanReceive, servicemanSubmit, supervisorReject, supervisorconfirm, customerConfirm, customerReject, servicemanRepairSubmit, evaluateRepairReject, getDeviceDetail, getTaskPage, getTaskDetail, taskSupervisorconfirm, taskServicemanreceive, updateCoordinate, taskServicemanUpdateTime, getPlanDetail, getRepairPage, updateDetaile, taskServicemanSubmit, taskCustomerConfirm, taskCustomerRefuse, taskSolutionSave, taskSolutionSubmit, repairSolutionSupervisor, repairSolutionRefuse, repairSolutionCustomer, repairCustomerRefuse, repairServicemanSubmit,repairConfirmFinish,repairRefuseFinish ,confirmPayment,getPosition,getRepairDetail,updatePosition,resetPwd,getNoticeList,updateSign,getMesseageList,getMesseageAll,ipdateMesseageStatus,getMesseageTotal};
}
export default {

@ -2,7 +2,7 @@
<view class="page-css">
<u-navbar :is-back="false" title="工作台">
<view slot="right" @click="goPage('/pages/notice/index')">
<u-badge size="mini" type="error" count="7"></u-badge>
<u-badge size="mini" type="error" :count="messageCount" v-if="messageCount>0"></u-badge>
<u-icon name="chat" size="60" color="#3a62d7" :is-center="true" style="padding-right: 20rpx;">
</u-icon>
</view>
@ -68,6 +68,7 @@ export default {
swiperList: [],
workList: [],
pieInfo: {},//
messageCount:0,//
};
},
onShow() {
@ -83,7 +84,7 @@ export default {
this.pieStat()
this.getUserInfo()
this.getoverview()
this.getMesseageTotal()
},
methods: {
// overview
@ -160,6 +161,13 @@ export default {
}
})
},
//
getMesseageTotal(){
this.$u.api.getMesseageTotal().then(res=>{
console.log(res.data)
this.messageCount = res.data
})
}
},
};
</script>

@ -91,7 +91,7 @@
</view>
</view>
<u-loadmore margin-top="10" margin-bottom="40" :status="loadingState" />
<betone-tabbar ref="tabbarRef" v-if="!planOrderId" />
<!-- 分派人员-->
<u-select v-model="sendOrdersShow" :list="sendOrdersList" @confirm="sendOrdersConfirm" :isShowsearch="true"

@ -15,12 +15,14 @@
<view class="info_title">巡检配置</view>
<u-form labelPosition="left" ref="sendOrderForm" :model="detailForm" :label-width="200" class="repair_form">
<u-form-item label="巡检内容:" prop="dispatchTime" :border-bottom="false">
<u-input v-model="detailForm.taskContent" :disabled="true" :border="true" class="sp-new-input-diabled" />
<u-input v-model="detailForm.taskContent" :disabled="true" :border="true"
class="sp-new-input-diabled" />
</u-form-item>
<u-form-item label="任务开始时间:" prop="dispatchTime" :border-bottom="false">
<u-input v-model="detailForm.startTime" :disabled="true" :border="true" class="sp-new-input-diabled" />
<u-input v-model="detailForm.startTime" :disabled="true" :border="true"
class="sp-new-input-diabled" />
</u-form-item>
<u-form-item label="预约上门时间:" prop="customerOpinion" :border-bottom="false">
<u-input v-if="reservationDisabled" v-model="reservationTime" type="select"
@ -76,6 +78,16 @@
</u-collapse-item>
</u-collapse>
</view>
<view class="info"
v-if="detailForm.repairStatus == 100 || detailForm.repairStatus == 101 || detailForm.repairStatus == 102">
<view class="info_title" v-if="detailForm.repairStatus == 100">维修人员驳回</view>
<view class="info_title" v-if="detailForm.repairStatus == 101">主管驳回</view>
<view class="info_title" v-if="detailForm.repairStatus == 102">客户驳回</view>
<view class="info_item">
<text class="item_left_txt">驳回原因</text>
<text class="item_right_txt">{{ detailForm.approveRemark }}</text>
</view>
</view>
<!-- 填写内容 -->
<view class="info" v-if="!reservationDisabled">
<view class="info_title">巡检任务</view>
@ -89,12 +101,13 @@
<view v-for="(s, sindex) in v.details" :key="sindex" class="n-box">
<u-tag :text="sindex + 1" type="info" class="left-tag" />
<!-- <u-tag text="已检" type="success" class="right-tag" /> -->
<view class="n-box-title"> {{ s.checkContent }}</view>
<view class="n-box-info"> {{ s.craft }}</view>
<view class="n-box-title">设备 {{ s.deviceName }}</view>
<view class="n-box-title">内容 {{ s.checkContent }}</view>
<view class="n-box-info">工艺 {{ s.craft }}</view>
<view class="info_item">
<text class="item_left_txt">状态</text>
<text class="item_right_txt">
<u-radio-group v-model="s.status">
<u-radio-group v-model="s.status" :disabled="taskDisabled">
<u-radio name="0">正常</u-radio>
<u-radio name="1">异常</u-radio>
</u-radio-group>
@ -105,34 +118,22 @@
<text class="item_left_txt">现场照片</text>
<text class="item_right_txt" v-if="s.picUrl == ''">
<view class="btn" @click="uploadImg(index, vindex, sindex)">上传照片</view>
<view class="btn" v-if="!taskDisabled" @click="uploadImg(index, vindex, sindex)">
上传照片</view>
<view v-else></view>
</text>
<text class="item_right_txt" v-else>
<image @click="uploadImg(index, vindex, sindex)" class="item_right_img"
:src="s.picUrl"></image>
</text>
</view>
<view class="info_item">
<text class="item_left_txt">使用人签字</text>
<text class="item_right_txt">
<u-input :border="true" v-model="s.signUrl" :placeholder="'请输入'" />
<!-- <image v-if="s.qianzi" :src="s.qianzi" style="width: 144px;height: 77rpx;"
mode="widthFix" @click="toPop1(index, vindex, sindex)"></image>
<view v-else class="btn" @click="toPop1(index, vindex, sindex)">签字</view> -->
</text>
</view>
<view class="info_item">
<text class="item_left_txt">备注</text>
<text class="item_right_txt">
<u-input :border="true" type="textarea" v-model="s.remark" :placeholder="'请输入'" />
</text>
</view>
<view class="info_item">
<view class="info_item"
v-if="(dataTypes == 4 && (detailForm.repairStatus == 1 || detailForm.repairStatus == 101)) || (dataTypes == 3 && (detailForm.repairStatus == 2 || detailForm.repairStatus == 102))">
<text class="item_left_txt">价格</text>
<text class="item_right_txt">
<u-input v-model="s.price" type="number" :border="true" />
<u-input v-model="s.price" type="number" :border="true" :disabled="priceDisabled"
:class="priceDisabled ? 'sp-new-input-diabled' : ''" />
</text>
</view>
<view class="info_item" v-if="dataTypes == 1 && detailForm.repairStatus == 3">
@ -149,6 +150,22 @@
</u-collapse-item>
</u-collapse>
</view>
<view class="info">
<u-form labelPosition="left" ref="sendOrderForm" :model="detailForm" :label-width="120" class="repair_form">
<u-form-item label="签字:" prop="signUrl" :border-bottom="false" :required="true">
<u-input :border="true" v-model="signUrl" :placeholder="'请输入'"
:class="taskDisabled ? 'sp-new-input-diabled' : ''" :disabled="taskDisabled" />
<!-- <image v-if="s.qianzi" :src="s.qianzi" style="width: 144px;height: 77rpx;"
mode="widthFix" @click="toPop1(index, vindex, sindex)"></image>
<view v-else class="btn" @click="toPop1(index, vindex, sindex)">签字</view> -->
</u-form-item>
<u-form-item label="备注:" prop="remark" :border-bottom="false">
<u-input :border="true" v-model="remark" :placeholder="'请输入'" type="textarea" :height="120"
class="taskDisabled?'sp-new-input-diabled':''" :disabled="taskDisabled" />
</u-form-item>
</u-form>
</view>
<!-- 客户巡检任务 确认审批 -->
<view class="info" v-if="dataTypes == 1 && detailForm.taskStatus == 3">
<view class="info_title">巡检确认</view>
@ -161,12 +178,13 @@
</u-form-item>
<u-form-item label="意见:" prop="reportPeople" :border-bottom="false"
v-if="approveInfo.approveText == '未完成'">
<u-input v-model="approveInfo.approveRemark" :border="true" placeholder="请输入" type="textarea" :height="120" />
<u-input v-model="approveInfo.approveRemark" :border="true" placeholder="请输入" type="textarea"
:height="120" />
</u-form-item>
</u-form>
</view>
<!-- 维修负责人 巡检维修方案审批 -->
<view class="info" v-if="dataTypes == 3 && detailForm.repairStatus == 2">
<view class="info" v-if="dataTypes == 3 && (detailForm.repairStatus == 2 || detailForm.repairStatus == 102)">
<view class="info_title">维修方案审批</view>
<u-form labelPosition="left" ref="repairInfoForm" :model="repairApproveInfo" :label-width="140"
class="repair_form">
@ -178,7 +196,8 @@
</u-form-item>
<u-form-item label="审批意见:" prop="reportPeople" :border-bottom="false"
v-if="repairApproveInfo.approveText == '驳回'">
<u-input v-model="repairApproveInfo.approveRemark" :border="true" placeholder="请输入" type="textarea" :height="120" />
<u-input v-model="repairApproveInfo.approveRemark" :border="true" placeholder="请输入" type="textarea"
:height="120" />
</u-form-item>
</u-form>
</view>
@ -196,45 +215,46 @@
</u-form-item>
<u-form-item label="审批意见:" prop="reportPeople" :border-bottom="false"
v-if="customerApproveInfo.approveText == '驳回'">
<u-input v-model="customerApproveInfo.approveRemark" :border="true" placeholder="请输入" type="textarea" :height="120" />
<u-input v-model="customerApproveInfo.approveRemark" :border="true" placeholder="请输入"
type="textarea" :height="120" />
</u-form-item>
</u-form>
</view>
<!-- 维修人员接收任务单 -->
<view class="repair-btn" style="margin-right: 32rpx;width:100%"
v-if="dataTypes == 4 && detailForm.taskStatus == 1&&detailsType=='task'">
v-if="dataTypes == 4 && detailForm.taskStatus == 1 && detailsType == 'task'">
<u-button size="medium" @click="endOrderCancel()">取消</u-button>
<u-button size="medium" type="primary" @click="receiveQuest()">接单</u-button>
</view>
<!-- 维修人员提交巡检详情 -->
<view class="repair-btn" style="margin-right: 32rpx;width:100%"
v-if="dataTypes == 4 && detailForm.taskStatus == 2&&detailsType=='task'">
v-if="dataTypes == 4 && detailForm.taskStatus == 2 && detailsType == 'task'">
<u-button size="medium" @click="endOrderCancel()">取消</u-button>
<u-button size="medium" type="primary" @click="submitQuest()">提交</u-button>
</view>
<!-- 客户 确认巡检任务是否完成提交 -->
<view class="repair-btn" style="margin-right: 32rpx;width:100%"
v-if="dataTypes == 1 && detailForm.taskStatus == 3&&detailsType=='task'">
v-if="dataTypes == 1 && detailForm.taskStatus == 3 && detailsType == 'task'">
<u-button size="medium" @click="endOrderCancel()">取消</u-button>
<u-button size="medium" type="primary" @click="customerQuest()">提交</u-button>
</view>
<!-- 维修人员 提交维修方案 -->
<view class="repair-btn" style="margin-right: 32rpx;width:100%"
v-if="dataTypes == 4 && detailForm.repairStatus == 1&&detailsType=='repair'">
v-if="dataTypes == 4 && detailForm.repairStatus == 1 && detailsType == 'repair'">
<u-button size="medium" @click="endOrderCancel()">取消</u-button>
<u-button size="medium" type="primary" @click="solutionSubmit()">提交方案</u-button>
</view>
<!-- 维修主管审批 巡检 维修方案 -->
<view class="repair-btn" style="margin-right: 32rpx;width:100%"
v-if="dataTypes == 3 && detailForm.repairStatus == 2&&detailsType=='repair'">
v-if="dataTypes == 3 && detailForm.repairStatus == 2 && detailsType == 'repair'">
<u-button size="medium" @click="endOrderCancel()">取消</u-button>
<u-button size="medium" type="primary" @click="repairApproveSubmit()">提交</u-button>
</view>
<!-- 客户审批 巡检 维修方案 确认是否维修-->
<view class="repair-btn" style="margin-right: 32rpx;width:100%"
v-if="dataTypes == 1 && detailForm.repairStatus == 3&&detailsType=='repair'">
v-if="dataTypes == 1 && detailForm.repairStatus == 3 && detailsType == 'repair'">
<u-button size="medium" @click="endOrderCancel()">取消</u-button>
<u-button size="medium" type="primary" @click="customerApproveSubmit()">提交</u-button>
</view>
@ -257,7 +277,12 @@ export default {
reservationDisabled() {
return (this.dataTypes == 4 && this.detailForm.taskStatus == 1) || (this.type == 'view') ? true : false
},
taskDisabled() {
return (this.dataTypes == 4 && (this.detailForm.taskStatus == 2)) ? false : true
},
priceDisabled() {
return this.dataTypes == 4 && (this.detailForm.repairStatus == 1 || this.detailForm.repairStatus == 101) ? false : true
}
},
data() {
return {
@ -270,6 +295,8 @@ export default {
maxDate: null,
calendarShow: false,//
collapseData: [],
signUrl: '',//
remark: '',//
approveInfo: {//
approvePerson: '',// id
approveRemark: '',//
@ -331,6 +358,7 @@ export default {
this.$u.api.getTaskDetail(query).then(res => {
if (res.code == 200) {
this.detailForm = res.data
this.updateData(res.data.details)
this.collapseData = JSON.parse(JSON.stringify(res.data.details))
}
})
@ -338,12 +366,24 @@ export default {
this.$u.api.getRepairDetail(query).then(res => {
if (res.code == 200) {
this.detailForm = res.data
this.updateData(res.data.details)
this.collapseData = JSON.parse(JSON.stringify(res.data.details))
}
})
}
},
// -1
updateData(data) {
if (data.length > 0) {
for (let i = 0; i < data.length; i++) {
data[i].price = data[i].price < 0 ? null : data[i].price
if (data[i].details.length > 0) {
this.updateData(data[i].details)
}
}
}
},
endOrderCancel() {
uni.navigateBack({
delta: 1 // 1退
@ -383,7 +423,7 @@ export default {
sizeType: ["original", "compressed"], //
sourceType: ["album", "camera"], //
success: (res) => {
// this.BetLoading.show()
this.$refs.BetLoading.show()
//
const tempFilePaths = res.tempFilePaths;
this.uploadFile(tempFilePaths[0], index, vindex, sindex);
@ -406,10 +446,11 @@ export default {
let info = JSON.parse(res.data);
console.log("上传成功", info); //
this.detailForm.details[index].details[vindex].details[sindex].picUrl = info.data.link
// this.BetLoading.hide()
this.itemCollapseChange()
this.$refs.BetLoading.hide()
},
error: (uploadFileRes) => {
// this.BetLoading.hide()
this.$refs.BetLoading.hide()
},
});
},
@ -419,43 +460,51 @@ export default {
let status = newArr.every((item) => {
return item.status != null
})
let signUrl = newArr.every((item) => {
return item.signUrl !== ''
})
if (!status) {
uni.showToast({ title: "请选择设备状态", icon: "none" });
return false
}
if (!signUrl) {
if (this.signUrl == '') {
uni.showToast({ title: "请填写使用人", icon: "none" });
return false
}
let queryData = []
newArr.forEach(item => {
// item.id=this.detailForm.id
queryData.push({
id: this.detailForm.id,
id: item.id,
status: item.status,
signUrl: item.signUrl,
remark: item.remark
// signUrl: item.signUrl,
// remark: item.remark,
picUrl: item.picUrl,
taskId: this.detailForm.id
})
})
this.$u.api.updateDetaile(queryData).then(res => {
if (res.code == 200) {
let query = {
id: this.detailForm.id,
let signInfo={
id:this.detailForm.id,
signUrl:this.signUrl,
remark:this.remark
}
this.$u.api.taskServicemanSubmit(query).then(res => {
this.$u.api.updateSign(signInfo).then(res => {
if (res.code == 200) {
uni.showToast({ title: "提交成功", icon: "none" });
setTimeout(() => {
uni.navigateBack({
delta: 1 // 1退
})
}, 500)
let query = {
id: this.detailForm.id,
}
// this.$u.api.taskServicemanSubmit(query).then(res => {
// if (res.code == 200) {
// uni.showToast({ title: "", icon: "none" });
// setTimeout(() => {
// uni.navigateBack({
// delta: 1 // 1退
// })
// }, 500)
// }
// })
}
})
}
})
},
@ -590,17 +639,20 @@ export default {
let isRepair = newArr.every((item) => {
return item.isRepair == -1
})
if (isRepair) {
uni.showToast({ title: "请选择异常设备是否维修", icon: "none" });
return false
}
if (this.customerApproveInfo.approveResult == null) {
uni.showToast({ title: "请选择审核结果", icon: "none" });
return false
}
if (this.customerApproveInfo.approveResult == 0 && this.customerApproveInfo.approveRemark == '') {
uni.showToast({ title: "请填写驳回原因", icon: "none" });
return false
if (this.customerApproveInfo.approveResult == 1) {
if (isRepair) {
uni.showToast({ title: "请选择异常设备是否维修", icon: "none" });
return false
}
if (this.customerApproveInfo.approveResult == 0 && this.customerApproveInfo.approveRemark == '') {
uni.showToast({ title: "请填写驳回原因", icon: "none" });
return false
}
}
if (this.customerApproveInfo.approveResult == 1) {//
@ -627,14 +679,14 @@ export default {
approveTime: dateFormat("yyyy-MM-dd hh:mm:ss", new Date()),//
approveRemark: this.customerApproveInfo.approveRemark,//
}
// this.$u.api.repairCustomerRefuse(query_).then(res => {
// if (res.code == 200) {
// uni.showToast({ title: "", icon: "none" });
// setTimeout(() => {
// this.endOrderCancel()
// }, 500)
// }
// })
this.$u.api.repairCustomerRefuse(query_).then(res => {
if (res.code == 200) {
uni.showToast({ title: "驳回成功", icon: "none" });
setTimeout(() => {
this.endOrderCancel()
}, 500)
}
})
}
},
@ -692,6 +744,12 @@ export default {
calendarChange(e) {
this.reservationTime = e.result
}
},
//
itemCollapseChange() {
this.$nextTick(() => {
this.$refs.collapseTask.init()
})
}
}
</script>
@ -744,8 +802,9 @@ export default {
}
.item_right_img {
width: 100%;
height: 200rpx;
width: 140rpx;
height: 140rpx;
border-radius: 8rpx;
}
}
}

@ -12,9 +12,9 @@
<view class="title">
<view class="text">
<view>{{ item.title }}</view>
<view class="mark" v-if="!item.readStatus"></view>
<view class="mark" v-if="item.status == 0"></view>
</view>
<view style="flex-shrink: 0;color: #999999;">{{ item.createdAt }}</view>
<view style="flex-shrink: 0;color: #999999;">{{ item.type == 1 ? '维修' : '维保' }}</view>
</view>
<view>
{{ item.content }}
@ -25,6 +25,7 @@
<uni-load-more :status="scrollType"></uni-load-more>
</view>
</scroll-view>
<betone-loading ref="BetLoading"></betone-loading>
</view>
</template>
<script>
@ -41,8 +42,8 @@ export default {
padding: '0 32rpx'
},
search: {
pageNo: 1,
pageSize: 20,
current: 1,
size: 20,
readStatus: ''
},
scrollType: '',
@ -54,45 +55,62 @@ export default {
this.getList()
},
onShow() {
console.log(this.refreshNeed);
if (this.refreshNeed) {
this.reSearch()
}
},
methods: {
/**
* @description 全部设为已读
*/
markReadAll() {
// this.$wx_http.post(requestName['updateReadStatus'], [-1]).then(res => {
// if (res.code == 0) {
// this.reSearch()
// }
// })
this.$refs.BetLoading.show()
this.$u.api.getMesseageAll().then(res => {
this.$refs.BetLoading.hide()
this.getList()
})
},
getList() {
// this.$wx_http.get(requestName['pageNotice'], this.search).then(res => {
// let data = res.data.records
// this.scrollType = ''
// this.triggered = false
// if (data.length >= this.search.pageSize) {
// this.scrollType = 'more'
// }
// this.dataList = this.dataList.concat(data)
// })
this.$u.api.getMesseageList(this.search).then(res => {
if (res.code == 200) {
let data = res.data.records
this.scrollType = ''
this.triggered = false
if (data.length >= this.search.size) {
this.scrollType = 'more'
}
this.dataList = this.dataList.concat(data)
}
})
},
updateStatus(item) {
this.$refs.BetLoading.show()
if (item.status == 1) {
let query = {
id: item.id,
status: 1,
}
this.$u.api.ipdateMesseageStatus(query).then(res => {
if (res.code == 200) {
this.$refs.BetLoading.hide()
this.getList()
}
})
}
},
reSearch() {
this.search.pageNo = 1
this.search.current = 1
this.dataList = []
this.getList()
},
onListBottom() {
if (this.scrollType == 'more') {
this.search.pageNo += 1
this.search.current += 1
this.getList()
}
},
@ -133,7 +151,7 @@ export default {
height: 32rpx;
display: block;
margin-right: 20rpx;
fill:#004BAA
fill: #004BAA
}
}

@ -2,8 +2,14 @@
<view class="page-css">
<!-- <betone-list type="submission" ref="tablist"></betone-list> -->
<u-navbar v-if="type != ''" title="报送记录" back-icon-color="rgb(0, 0, 0)" back-icon-size="54" :title-bold="true"
:title-size="38" title-color="rgb(0, 0, 0)"></u-navbar>
<view class="page-header-txt" v-if="type == ''">科研医疗建筑运维平台</view>
:title-size="38" title-color="rgb(0, 0, 0)"></u-navbar>
<u-navbar v-if="type == ''" :is-back="false" title="科研医疗建筑运维平台">
<view slot="right" @click="goPage('/pages/notice/index')">
<u-badge size="mini" type="error" :count="messageCount" v-if="messageCount > 0"></u-badge>
<u-icon name="chat" size="60" color="#3a62d7" :is-center="true" style="padding-right: 20rpx;">
</u-icon>
</view>
</u-navbar>
<view class="page-box">
<view class="page-search-top">
<betone-new-input v-model="searchInfo.requirementCode" :placeholder="dataTypes == 1 ? '搜索单号' : '搜索单号或单位名称'"
@ -59,8 +65,8 @@
<block v-if="dataTypes == 2">
<!-- 查看的提报单 -->
<u-button v-if="item.status == 0||item.status == 100" size="mini" :plain="true" style="margin-right:16rpx"
@click.stop="sendOrders(item)" type="primary">接单</u-button>
<u-button v-if="item.status == 0 || item.status == 100" size="mini" :plain="true"
style="margin-right:16rpx" @click.stop="sendOrders(item)" type="primary">接单</u-button>
<u-button v-if="item.status == 7" size="mini" :plain="true" style="margin-right:16rpx"
@click.stop="openModel(item, 'paymentInfo')" type="primary">确认付款</u-button>
<u-button v-if="item.status == 0" size="mini" plain type="primary" style="margin-right:16rpx"
@ -72,8 +78,9 @@
<block v-if="dataTypes == 3">
<!-- 查看维修详情 -->
<u-button v-if="item.status == 3||item.status == 102" size="mini" :plain="true" style="margin-right:16rpx"
:hair-line="true" type="primary" @click="orderConfirm(item)">审批</u-button>
<u-button v-if="item.status == 3 || item.status == 102" size="mini" :plain="true"
style="margin-right:16rpx" :hair-line="true" type="primary"
@click="orderConfirm(item)">审批</u-button>
</block>
<!-- 维修人员 -->
@ -83,8 +90,8 @@
@click="orderConfirm(item)">确认</u-button>
<u-button v-if="item.status == 1" size="mini" :plain="true" style="margin-right:16rpx" type="primary"
@click="openModel(item, 'turn')">驳回</u-button>
<u-button v-if="item.status == 2||item.status ==101" size="mini" :plain="true" style="margin-right:16rpx" type="primary"
@click="orderConfirm(item)">提交</u-button>
<u-button v-if="item.status == 2 || item.status == 101" size="mini" :plain="true"
style="margin-right:16rpx" type="primary" @click="orderConfirm(item)">提交</u-button>
<u-button v-if="item.status == 5" size="mini" :plain="true" style="margin-right:16rpx" type="primary"
@click="openModel(item, 'repair')">维修完成</u-button>
</block>
@ -135,7 +142,8 @@
<betone-loading ref="BetLoading" />
<betone-modal v-model="detailsShow" v-if="detailsShow" :title="'下载内容'" @confirm="detailsShowFn" @cancel="detailsShow = false">
<betone-modal v-model="detailsShow" v-if="detailsShow" :title="'下载内容'" @confirm="detailsShowFn"
@cancel="detailsShow = false">
<recordsDetails :data="rowInfo" :detailId="rowInfo.id" id="capture"></recordsDetails>
</betone-modal>
<sp-html2pdf-render domId="capture" ref="renderRef" @renderOver="renderOver" pdfFileName="这是一个pdf文件"
@ -191,6 +199,7 @@ export default {
detailsShow: false,//
tabList: [],//tab
messageCount: 0,//
};
},
computed: {
@ -219,12 +228,12 @@ export default {
this.getRecordsList();
},
onLoad(options) {
this.type = options.type?options.type:''
this.type = options.type ? options.type : ''
},
onShow() {
this.$nextTick(() => {
if(this.type==''){
this.getMesseageTotal()
if (this.type == '') {
this.$refs.tabbarRef.getPermission();
}
this.changeTab(1)
@ -295,20 +304,20 @@ export default {
return sta.includes(item + '')
})
if(this.dataTypes==2||this.dataTypes==3||this.dataTypes==4){
if(item==100){
if (this.dataTypes == 2 || this.dataTypes == 3 || this.dataTypes == 4) {
if (item == 100) {
return '维修驳回'
}
if(item==101){
if (item == 101) {
return '主管驳回'
}
if(item==102){
if (item == 102) {
return '客户驳回'
}
}
return newArr.length<=0?'':newArr[0].name
return newArr.length <= 0 ? '' : newArr[0].name
}
},
@ -519,6 +528,21 @@ export default {
// epdf
console.log("==== successSavePDF :", path);
},
//
getMesseageTotal() {
this.$u.api.getMesseageTotal().then(res => {
console.log(res.data)
this.messageCount = res.data
})
},
goPage(item) {
uni.navigateTo({
url: item,
});
},
},
};
</script>
@ -527,6 +551,7 @@ export default {
.page-css {
padding: 0;
padding-top: var(--status-bar-height);
.page-box {
padding: 0;

@ -81,6 +81,16 @@
</u-form-item>
</u-form>
</view>
<view class="repair_detail" v-if="detailForm.status == 100 || detailForm.status == 101 || detailForm.status == 102">
<view class="repair_title" v-if="detailForm.status == 100">维修人员驳回</view>
<view class="repair_title" v-if="detailForm.status == 101">主管驳回</view>
<view class="repair_title" v-if="detailForm.status == 102">客户驳回</view>
<u-form labelPosition="left" ref="sendOrderForm" :model="detailForm" :label-width="200" class="repair_form">
<u-form-item label="驳回原因:" prop="customerOpinion" :border-bottom="false">
<view>{{ detailForm.approveRemark }}</view>
</u-form-item>
</u-form>
</view>
<!-- 维修详情 待提交维修方案 展示 -->
<view class="repair_detail"
v-if="(dataTypes == 4 && (detailForm.status == 2||detailForm.status == 101)) || (dataTypes == 3 && (detailForm.status == 3||detailForm.status == 102)) || (dataTypes == 1 && detailForm.status == 4)">

Loading…
Cancel
Save