<template>
|
<view class="container">
|
<cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="productionTask">
|
<block slot="backText">返回</block>
|
<block slot="content">维修</block>
|
</cu-custom>
|
|
<view style="width: 100%;">
|
<uni-popup ref="popup" background-color="#fff" :type="type">
|
<view class="popupView">
|
<!-- 基础表单校验 -->
|
<uni-forms ref="form" :modelValue="formData" validate-trigger="bind" err-show-type="undertext">
|
<uni-group title="" top="0">
|
<uni-forms-item name="numbers" label="领料申请单号:">
|
<uni-easyinput type="text" v-model="formData.num" placeholder="请输入领料申请单号检索" />
|
</uni-forms-item>
|
<uni-forms-item name="name" label="领料产品:">
|
<uni-easyinput v-model="formData.partNumNameModel" placeholder="请输入领料产品" />
|
</uni-forms-item>
|
</uni-group>
|
</uni-forms>
|
<view class="flex">
|
|
<view
|
class="cuIcon-search flex-sub bg-blue padding-sm margin-xs margin-left-lg margin-right-lg text-sm text-center"
|
@click="getSera">查询
|
</view>
|
<view
|
class="cuIcon-refresh flex-sub bg-white solids padding-sm margin-xs radius text-sm text-center margin-left-lg margin-right-lg"
|
@click="resetTask">重置</view>
|
</view>
|
|
</view>
|
</uni-popup>
|
</view>
|
<view class="container">
|
<mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="top" @down="downCallback" @up="upCallback">
|
<!-- 列表信息开始 -->
|
<view class="content">
|
<uni-card margin="10px" spacing="1px" v-for="(item,index) in msgList" :key="index"
|
@click="onClickProductionTask(item)">
|
|
|
<view class="flex">
|
<view class="flex-sub text-light bg-white padding-xs margin-xs radius">设备编号:</view>
|
<view class="flex-sub bg-white padding-xs margin-xs text-bold radius text-right">
|
{{item.equipmentId_dictText}}
|
</view>
|
</view>
|
<view class="flex">
|
<view class="flex-sub text-light bg-white padding-xs margin-xs radius">故障简称:</view>
|
<view class="flex-sub bg-white padding-xs margin-xs radius text-right">
|
{{item.faultName}}
|
</view>
|
</view>
|
<view class="flex">
|
<view class="flex-sub text-light bg-white padding-xs margin-xs radius">故障开始时间:</view>
|
<view class="flex-sub bg-white padding-xs margin-xs text-blue radius text-right">
|
{{item.faultStartTime}}
|
</view>
|
</view>
|
|
|
<view class="flex">
|
<view class="flex-sub text-light bg-white padding-xs margin-xs radius">操作:</view>
|
<view class="flex-sub bg-blue padding-xs margin-xs radius text-sm text-center"
|
@click.stop="handleStartWork(item)" hover-class="is-hover">领取</view>
|
|
</view>
|
</uni-card>
|
</view>
|
|
</mescroll-uni>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
|
export default {
|
mixins: [MescrollMixin], // 使用mixin
|
data() {
|
return {
|
type: 'top',
|
scrollLeft: 0,
|
formData: {
|
num: '',
|
partNumNameModel: ''
|
},
|
NavBarColor: this.NavBarColor,
|
activeColor: '#5277A6',
|
url: {
|
stallList: "/eam/eamReportRepair/list",
|
add:'/eam/eamRepairOrder/add'
|
},
|
|
upOption: {
|
page: {
|
num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
|
size: 10 // 每页数据的数量
|
},
|
noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
|
empty: {
|
tip: '~ 暂无数据 ~', // 提示
|
},
|
loading: '',
|
text: '全部',
|
isShowNoMore: false,
|
textNoMore: '我是有底线的 >_<'
|
},
|
styles: {
|
color: '#2979FF',
|
borderColor: '#2979FF'
|
},
|
msgList: [], //列表数据
|
announcement1: [],
|
msg1Count: 0,
|
msg2Count: 0,
|
msg1Title: ""
|
}
|
},
|
computed: {
|
top() {
|
return this.CustomBar * 2 + 50
|
},
|
style() {
|
var StatusBar = this.StatusBar;
|
var CustomBar = this.CustomBar;
|
var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
|
return style
|
},
|
},
|
|
|
onShow() {
|
if (this.mescroll) {
|
this.mescroll.resetUpScroll()
|
}
|
},
|
|
created() {},
|
methods: {
|
|
/**
|
* 领取
|
*/
|
handleStartWork(item) {
|
|
this.$tip.loading();
|
this.$http.post(this.url.add, {
|
|
actualEndTime: item.actualEndTime,
|
actualStartTime: item.actualStartTime,
|
createBy: item.actualStartTime,
|
createTime: item.createTime,
|
delFlag: item.delFlag,
|
equipmentId:item.equipmentId,
|
equipmentName: item.equipmentName,
|
faultReason:item.faultReason,
|
id: item.faultReason,
|
imageFiles:item.imageFiles,
|
imageFilesResult:null,
|
outsourcedEndTime:item.outsourcedEndTime,
|
outsourcedFlag:item.outsourcedFlag,
|
outsourcedPerson: item.outsourcedPerson,
|
outsourcedRepairDescription:item.outsourcedRepairDescription,
|
outsourcedStartTime:item.outsourcedStartTime,
|
repairCode:item.repairCode,
|
repairDescription:item.repairDescription,
|
repairStatus:item.repairStatus,
|
repairer:item.repairer,
|
reportId:item.id,
|
updateBy:item.updateBy,
|
updateTime: item.updateTime
|
|
}).then(res => {
|
console.log(res)
|
this.$tip.loaded();
|
if (res.data.success) {
|
uni.showToast({
|
icon: "success",
|
title: '领取成功',
|
duration: 2000
|
});
|
this.mescroll.resetUpScroll()
|
} else {
|
uni.showModal({
|
title: "提示",
|
content: res.data.message,
|
confirmText: '确定',
|
showCancel: false,
|
})
|
}
|
}).catch(() => {
|
this.$tip.loaded();
|
uni.showToast({
|
icon: "error",
|
title: '领取失败',
|
duration: 2000
|
});
|
});
|
},
|
/**
|
* @param {Object} item
|
* 详情页面
|
*/
|
onClickProductionTask(item) {
|
|
uni.navigateTo({
|
url: '/pages/maintenanceReport/maintenanceReportDetils/maintenanceReportDetils?item=' +
|
encodeURIComponent(JSON.stringify(item))
|
|
})
|
},
|
|
search() {
|
this.$refs.popup.open();
|
},
|
|
|
upCallback(page) {
|
this.$http.get(this.url.stallList, {
|
params: {
|
pageNo: page.num,
|
pageSize: page.size,
|
order: 'desc',
|
column: 'createTime',
|
repairStatus: 'WAIT_REPAIR'
|
},
|
|
}).then(res => {
|
this.announcement1 = res.data.result.records
|
this.mescroll.endSuccess(this.announcement1.length);
|
console.log("url", res)
|
//设置列表数据
|
if (res.data.success) {
|
console.log("res", res.data)
|
this.msg1Count = res.data.result.total
|
this.msg1Title = "通知(" + res.data.result.total + ")";
|
for (let annItem of this.announcement1) {
|
this.msgList.push(annItem)
|
}
|
}
|
if (page.num == 1) {
|
this.msgList = []; //如果是第一页需手动制空列表
|
this.msgList = this.msgList.concat(this.announcement1); //追加新数据
|
}
|
|
}).catch(() => {
|
//联网失败, 结束加载
|
this.mescroll.endErr();
|
})
|
|
},
|
|
|
resetTask() {
|
this.formData.num = ''
|
this.formData.partNumNameModel = ''
|
this.$refs.popup.close();
|
this.mescroll.resetUpScroll()
|
|
},
|
/* 检索 */
|
getSera() {
|
this.$refs.popup.close();
|
let keyword = this.TabCur
|
this.msgList = [];
|
|
if (keyword == 0) {
|
this.$http.get(this.url.stallList, {
|
params: {
|
pageNo: 1,
|
pageSize: 999,
|
order: "desc",
|
column: "createTime",
|
num: '*' + this.formData.num + '*',
|
partNumNameModel: '*' + this.formData.partNumNameModel + '*',
|
status: 'published'
|
}
|
}).then(res => {
|
//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
|
|
this.announcement1 = res.data.result.records
|
this.mescroll.endSuccess(this.announcement1.length);
|
console.log("url", res)
|
//设置列表数据
|
if (res.data.success) {
|
console.log("res", res.data)
|
this.msg1Count = res.data.result.total
|
this.msg1Title = "通知(" + res.data.result.total + ")";
|
for (let annItem of this.announcement1) {
|
this.msgList.push(annItem)
|
}
|
}
|
if (page.num == 1) {
|
this.msgList = []; //如果是第一页需手动制空列表
|
this.msgList = this.msgList.concat(this.announcement1); //追加新数据
|
}
|
|
}).catch(() => {
|
//联网失败, 结束加载
|
this.mescroll.endErr();
|
})
|
|
} else if (keyword == 1) {
|
this.$http.get(this.url.stallList, {
|
params: {
|
pageNo: 1,
|
pageSize: 999,
|
order: "desc",
|
column: "createTime",
|
status: 'training',
|
num: '*' + this.formData.num + '*',
|
partNumNameModel: '*' + this.formData.partNumNameModel + '*'
|
|
}
|
}).then(res => {
|
//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
|
|
this.announcement1 = res.data.result.records
|
this.mescroll.endSuccess(this.announcement1.length);
|
console.log("url", res)
|
//设置列表数据
|
if (res.data.success) {
|
console.log("res", res.data)
|
this.msg1Count = res.data.result.total
|
this.msg2Title = "通知(" + res.data.result.total + ")";
|
for (let annItem of this.announcement1) {
|
this.msgList.push(annItem)
|
}
|
}
|
if (page.num == 1) {
|
this.msgList = []; //如果是第一页需手动制空列表
|
this.msgList = this.msgList.concat(this.announcement1); //追加新数据
|
}
|
|
}).catch(() => {
|
//联网失败, 结束加载
|
this.mescroll.endErr();
|
})
|
|
} else if (keyword == 2) {
|
this.$http.get(this.url.stallList, {
|
params: {
|
pageNo: 1,
|
pageSize: 999,
|
order: "desc",
|
column: "createTime",
|
status: 'completed',
|
num: '*' + this.formData.num + '*',
|
partNumNameModel: '*' + this.formData.partNumNameModel + '*'
|
|
}
|
}).then(res => {
|
//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
|
|
this.announcement1 = res.data.result.records
|
this.mescroll.endSuccess(this.announcement1.length);
|
console.log("url", res)
|
//设置列表数据
|
if (res.data.success) {
|
console.log("res", res.data)
|
this.msg3Count = res.data.result.total
|
this.msg1Title = "通知(" + res.data.result.total + ")";
|
for (let annItem of this.announcement1) {
|
this.msgList.push(annItem)
|
}
|
}
|
if (page.num == 1) {
|
this.msgList = []; //如果是第一页需手动制空列表
|
this.msgList = this.msgList.concat(this.announcement1); //追加新数据
|
}
|
|
}).catch(() => {
|
//联网失败, 结束加载
|
this.mescroll.endErr();
|
})
|
|
}
|
|
|
|
|
|
},
|
|
|
mescrollInit(mescroll) {
|
console.log('mescrollInit')
|
this.mescroll = mescroll;
|
},
|
},
|
|
}
|
</script>
|
|
<style>
|
.is-hover {
|
color: rgba(255, 255, 255, 0.6);
|
background-color: #55aaff;
|
border-color: #55aaff;
|
}
|
|
|
|
.content {
|
margin-top: 5px;
|
}
|
|
.content scroll-view {
|
scrollIndicator: "none"
|
}
|
|
.popupView {
|
margin-top: 85px;
|
height: auto;
|
}
|
</style>
|