zhang_li
9 months ago
20 changed files with 1024 additions and 204 deletions
@ -0,0 +1,8 @@ |
|||
import request from '@/utils/request' |
|||
// 获取库位
|
|||
export function getLocation(number) { |
|||
return request({ |
|||
url: '/eam/location/scanCodeByNumber?number='+number, |
|||
'method': 'GET', |
|||
}) |
|||
} |
@ -0,0 +1,24 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
// 备件领用审批列表
|
|||
export function sparePartsApplicationApprovePage(params) { |
|||
return request({ |
|||
url: '/eam/item-apply-main/getAppApprovePage', |
|||
'method': 'GET', |
|||
params |
|||
}) |
|||
} |
|||
// 通过申请
|
|||
export function sparePartsApplicationAgree(id) { |
|||
return request({ |
|||
url: '/eam/item-apply-main/agree?id='+id, |
|||
'method': 'GET' |
|||
}) |
|||
} |
|||
// 驳回申请
|
|||
export function sparePartsApplicationReject(id) { |
|||
return request({ |
|||
url: '/eam/item-apply-main/disAgree?id='+id, |
|||
'method': 'GET' |
|||
}) |
|||
} |
@ -0,0 +1,187 @@ |
|||
<template> |
|||
<!-- 备件领用申请 --> |
|||
<view class="container"> |
|||
<view class="list"> |
|||
<view class="item" v-for="(item,index) in list" :key="index" @click="openDetail(item)"> |
|||
<view class="title"> |
|||
<view class="title-txt"> |
|||
{{item.name}} |
|||
</view> |
|||
<view class="time"> |
|||
{{`${$time.formatDate(item.createTime)}`}} |
|||
</view> |
|||
</view> |
|||
<view class="dec"> |
|||
申请单号:<span>{{item.number}}</span> |
|||
</view> |
|||
<view class="dec"> |
|||
申 请 人:<span>{{item.applyName}}</span> |
|||
</view> |
|||
<view class="dec" v-if="item.status!=0"> |
|||
审批时间:<span>{{`${$time.formatDate(item.approveTime)}`}}</span> |
|||
</view> |
|||
<view class="dec" v-if="item.status!=0"> |
|||
审 批 人:<span>{{item.approveName}}</span> |
|||
</view> |
|||
<view class="bottom"> |
|||
<view class="status"> |
|||
<u-tag text="待审批" v-if="item.status==0" bg-color='rgba(255,255,255,0)' color='#fe8463' |
|||
border-color='#fe8463' type="primary" shape='circle' /> |
|||
<u-tag text="审批通过" v-else-if="item.status==1" bg-color='rgba(255,255,255,0)' color='#2EC7C9' |
|||
border-color='#2EC7C9' type="info" shape='circle' /> |
|||
<u-tag text="审批驳回" v-else-if="item.status==2" bg-color='rgba(255,255,255,0)' color='#e01f54' |
|||
border-color='#e01f54' type="success" shape='circle' /> |
|||
<u-tag text="出库中" v-else-if="item.status==3" bg-color='rgba(255,255,255,0)' color='#005eaa' |
|||
border-color='#005eaa ' type="error" shape='circle' /> |
|||
<u-tag text="完成" v-else-if="item.status==4" bg-color='rgba(255,255,255,0)' color='#2ba471' |
|||
border-color='#2ba471' type="info" shape='circle' /> |
|||
<u-tag text="撤单" v-else-if="item.status==5" bg-color='rgba(255,255,255,0)' color='#d7d7d7' |
|||
border-color='#d7d7d7 ' type="warning" shape='circle' /> |
|||
</view> |
|||
|
|||
</view> |
|||
</view> |
|||
<view style="height: 94rpx;padding-top: 30rpx;"> |
|||
<u-loadmore :status="status" v-if="status != 'loadmore'" /> |
|||
</view> |
|||
</view> |
|||
|
|||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import * as sparePartsApplicationApi from "@/api/sparePartsApplication.js" |
|||
export default { |
|||
data() { |
|||
return { |
|||
params: { |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
flag:'' |
|||
}, |
|||
status: 'loadmore', //是否显示没有更多了 |
|||
list: [], |
|||
|
|||
} |
|||
}, |
|||
methods: { |
|||
// 筛选 |
|||
screen() { |
|||
this.$tab.navigateTo(`/pages/sparePartsApplication/screen`) |
|||
}, |
|||
addForm() { |
|||
this.$tab.navigateTo(`/pages/sparePartsApplication/addForm`) |
|||
}, |
|||
openDetail(item){ |
|||
this.$tab.navigateTo(`/pages/sparePartsApplication/detail?number=${item.number}&from=1`) |
|||
}, |
|||
// 获取备件领用列表 |
|||
async getList() { |
|||
if (this.status == 'nomore') return; |
|||
this.status = 'loading'; |
|||
this.$modal.loading('加载中') |
|||
await sparePartsApplicationApi.sparePartsApplicationPage(this.params).then((res) => { |
|||
this.$modal.closeLoading() |
|||
if (res.data.list.length > 0) { |
|||
this.list = this.list.concat(res.data.list); |
|||
this.params.pageNo++; |
|||
this.status = 'loadmore' |
|||
} else { |
|||
this.status = 'nomore' |
|||
} |
|||
}) |
|||
}, |
|||
// 撤销 |
|||
cancle(item) { |
|||
this.$modal.confirm('确定撤回申请吗?').then(() => { |
|||
this.$modal.loading('加载中') |
|||
sparePartsApplicationApi.sparePartsApplicationCancle(item.id).then(async (res) => { |
|||
this.$modal.closeLoading() |
|||
this.params.pageNo = 1 |
|||
this.list = [] |
|||
this.status = 'loadmore' |
|||
await this.getList() |
|||
this.$modal.showToast('撤回成功') |
|||
}) |
|||
|
|||
}) |
|||
|
|||
} |
|||
}, |
|||
onLoad(option) { |
|||
if (option.flag) this.params.flag = option.flag; |
|||
if(this.params.flag == 2){ |
|||
uni.setNavigationBarTitle({ |
|||
title:'领用申请审批' |
|||
}) |
|||
} |
|||
}, |
|||
onShow() { |
|||
this.params.pageNo = 1 |
|||
this.list = [] |
|||
this.status = 'loadmore' |
|||
this.getList() |
|||
|
|||
|
|||
}, |
|||
onReachBottom() { |
|||
this.getList() |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.list { |
|||
background: #f5f5f5; |
|||
margin-top: 20rpx; |
|||
|
|||
.item { |
|||
padding: 30rpx 30rpx 0px 30rpx; |
|||
margin-top: 20rpx; |
|||
background: white; |
|||
position: relative; |
|||
|
|||
.title { |
|||
display: flex; |
|||
align-items: center; |
|||
padding-bottom: 20rpx; |
|||
|
|||
.title-txt { |
|||
color: #409eff; |
|||
font-weight: bold; |
|||
font-size: 36rpx; |
|||
width: 0px; |
|||
flex: 1; |
|||
} |
|||
|
|||
.time { |
|||
color: #919191; |
|||
|
|||
} |
|||
} |
|||
|
|||
.dec { |
|||
padding-bottom: 20rpx; |
|||
|
|||
span { |
|||
color: #999999; |
|||
} |
|||
} |
|||
|
|||
.last { |
|||
padding-bottom: 30rpx; |
|||
} |
|||
|
|||
.bottom { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
border-top: 1px solid #E4E4E4; |
|||
padding: 20rpx 0px; |
|||
height: 90rpx; |
|||
|
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,192 @@ |
|||
<template> |
|||
<!-- 备件领用申请审批 --> |
|||
<view class="container"> |
|||
<u-navbar back-icon-color='#fff' :background="{ background: '#409eff'}" back-text="" title-color='#fff' |
|||
title="领用申请审批"> |
|||
</u-navbar> |
|||
<!-- <Search @search='search' @screen='screen' /> --> |
|||
<view class="list"> |
|||
<view class="item" v-for="(item,index) in list" :key="index" @click="openDetail(item)"> |
|||
<view class="title"> |
|||
<view class="title-txt"> |
|||
{{item.name}} |
|||
</view> |
|||
<view class="time"> |
|||
{{`${$time.formatDate(item.createTime)}`}} |
|||
</view> |
|||
</view> |
|||
<view class="dec"> |
|||
申请单号:<span>{{item.number}}</span> |
|||
</view> |
|||
<view class="dec"> |
|||
申 请 人:<span>{{item.applyName}}</span> |
|||
</view> |
|||
<view class="bottom"> |
|||
<view class="status"> |
|||
<u-tag text="待审批" v-if="item.status==0" bg-color='rgba(255,255,255,0)' color='#fe8463' |
|||
border-color='#fe8463' type="primary" shape='circle' /> |
|||
<u-tag text="审批通过" v-else-if="item.status==1" bg-color='rgba(255,255,255,0)' color='#2EC7C9' |
|||
border-color='#2EC7C9' type="info" shape='circle' /> |
|||
<u-tag text="审批驳回" v-else-if="item.status==2" bg-color='rgba(255,255,255,0)' color='#e01f54' |
|||
border-color='#e01f54' type="success" shape='circle' /> |
|||
<u-tag text="出库中" v-else-if="item.status==3" bg-color='rgba(255,255,255,0)' color='#005eaa' |
|||
border-color='#005eaa ' type="error" shape='circle' /> |
|||
<u-tag text="完成" v-else-if="item.status==4" bg-color='rgba(255,255,255,0)' color='#2ba471' |
|||
border-color='#2ba471' type="info" shape='circle' /> |
|||
<u-tag text="撤单" v-else-if="item.status==5" bg-color='rgba(255,255,255,0)' color='#d7d7d7' |
|||
border-color='#d7d7d7 ' type="warning" shape='circle' /> |
|||
</view> |
|||
<view class="button"> |
|||
<u-button shape="circle" size="mini" style="min-width: 120rpx;" |
|||
v-if="item.status==0" @click="reject(item)">驳回</u-button> |
|||
<u-button shape="circle" type="primary" size="mini" style="min-width: 120rpx;margin-left: 20rpx;" |
|||
v-if="item.status==0" @click="agree(item)">通过</u-button> |
|||
</view> |
|||
|
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import * as sparePartsApplicationApproveApi from "@/api/sparePartsApplicationApprove.js" |
|||
export default { |
|||
data() { |
|||
return { |
|||
params: { |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
}, |
|||
status: 'loadmore', //是否显示没有更多了 |
|||
list: [], |
|||
|
|||
} |
|||
}, |
|||
methods: { |
|||
// 筛选 |
|||
screen() { |
|||
this.$tab.navigateTo(`/pages/sparePartsApplication/screen`) |
|||
}, |
|||
addForm() { |
|||
this.$tab.navigateTo(`/pages/sparePartsApplication/addForm`) |
|||
}, |
|||
openDetail(item){ |
|||
this.$tab.navigateTo(`/pages/sparePartsApplication/detail?number=${item.number}`) |
|||
}, |
|||
// 获取备件领用列表 |
|||
async getList() { |
|||
if (this.status == 'nomore') return; |
|||
this.status = 'loading'; |
|||
this.$modal.loading('加载中') |
|||
await sparePartsApplicationApproveApi.sparePartsApplicationApprovePage(this.params).then((res) => { |
|||
this.$modal.closeLoading() |
|||
if (res.data.list.length > 0) { |
|||
this.list = this.list.concat(res.data.list); |
|||
this.params.pageNo++; |
|||
this.status = 'loadmore' |
|||
} else { |
|||
this.status = 'nomore' |
|||
} |
|||
}) |
|||
}, |
|||
// 通过 |
|||
agree(item) { |
|||
this.$modal.confirm('确定通过申请吗?').then(() => { |
|||
this.$modal.loading('加载中') |
|||
sparePartsApplicationApproveApi.sparePartsApplicationAgree(item.id).then(async (res) => { |
|||
this.$modal.closeLoading() |
|||
this.params.pageNo = 1 |
|||
this.list = [] |
|||
this.status = 'loadmore' |
|||
await this.getList() |
|||
this.$modal.showToast('审核成功') |
|||
}) |
|||
|
|||
}) |
|||
}, |
|||
// 驳回 |
|||
reject(item) { |
|||
this.$modal.confirm('确定驳回申请吗?').then(() => { |
|||
this.$modal.loading('加载中') |
|||
sparePartsApplicationApproveApi.sparePartsApplicationReject(item.id).then(async (res) => { |
|||
this.$modal.closeLoading() |
|||
this.params.pageNo = 1 |
|||
this.list = [] |
|||
this.status = 'loadmore' |
|||
await this.getList() |
|||
this.$modal.showToast('已驳回') |
|||
}) |
|||
|
|||
}) |
|||
}, |
|||
|
|||
}, |
|||
onLoad(option) { |
|||
if (option.type) this.params.type = option.type; |
|||
}, |
|||
onShow() { |
|||
this.params.pageNo = 1 |
|||
this.list = [] |
|||
this.status = 'loadmore' |
|||
this.getList() |
|||
|
|||
}, |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.list { |
|||
background: #f5f5f5; |
|||
margin-top: 20rpx; |
|||
|
|||
.item { |
|||
padding: 30rpx 30rpx 0px 30rpx; |
|||
margin-top: 20rpx; |
|||
background: white; |
|||
position: relative; |
|||
|
|||
.title { |
|||
display: flex; |
|||
align-items: center; |
|||
padding-bottom: 20rpx; |
|||
|
|||
.title-txt { |
|||
color: #409eff; |
|||
font-weight: bold; |
|||
font-size: 36rpx; |
|||
width: 0px; |
|||
flex: 1; |
|||
} |
|||
|
|||
.time { |
|||
color: #919191; |
|||
|
|||
} |
|||
} |
|||
|
|||
.dec { |
|||
padding-bottom: 20rpx; |
|||
|
|||
span { |
|||
color: #999999; |
|||
} |
|||
} |
|||
|
|||
.last { |
|||
padding-bottom: 30rpx; |
|||
} |
|||
|
|||
.bottom { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
border-top: 1px solid #E4E4E4; |
|||
padding: 20rpx 0px; |
|||
height: 90rpx; |
|||
|
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,169 @@ |
|||
<template> |
|||
<!-- 备件领用申请 --> |
|||
<view class="container"> |
|||
<view class="list"> |
|||
<view class="item" v-for="(item,index) in list" :key="index"> |
|||
<view class="title"> |
|||
<view class="title-txt"> |
|||
{{item.itemName}} |
|||
</view> |
|||
<view class="time"> |
|||
{{`${$time.formatDate(item.createTime)}`}} |
|||
</view> |
|||
</view> |
|||
<view class="dec"> |
|||
<view>申请单号:</view><view>{{item.number}}</view> |
|||
</view> |
|||
<view class="dec"> |
|||
<view>备件单号:</view><view>{{item.itemNumber}}</view> |
|||
</view> |
|||
<view class="dec"> |
|||
<view>数量:</view><view>{{item.qty}}</view> |
|||
</view> |
|||
<view class="dec"> |
|||
<view>维修结果:</view><view>{{item.result == 'YES'?'完成':'未完成'}}</view> |
|||
</view> |
|||
<view class="dec"> |
|||
<view>维修原因:</view><view>{{item.reasons}}</view> |
|||
</view> |
|||
<!-- <view class="bottom"> |
|||
<view class="status"> |
|||
<u-tag text="待审批" v-if="item.status==0" bg-color='rgba(255,255,255,0)' color='#fe8463' |
|||
border-color='#fe8463' type="primary" shape='circle' /> |
|||
<u-tag text="审批通过" v-else-if="item.status==1" bg-color='rgba(255,255,255,0)' color='#2EC7C9' |
|||
border-color='#2EC7C9' type="info" shape='circle' /> |
|||
<u-tag text="审批驳回" v-else-if="item.status==2" bg-color='rgba(255,255,255,0)' color='#e01f54' |
|||
border-color='#e01f54' type="success" shape='circle' /> |
|||
<u-tag text="出库中" v-else-if="item.status==3" bg-color='rgba(255,255,255,0)' color='#005eaa' |
|||
border-color='#005eaa ' type="error" shape='circle' /> |
|||
<u-tag text="完成" v-else-if="item.status==4" bg-color='rgba(255,255,255,0)' color='#2ba471' |
|||
border-color='#2ba471' type="info" shape='circle' /> |
|||
<u-tag text="撤单" v-else-if="item.status==5" bg-color='rgba(255,255,255,0)' color='#d7d7d7' |
|||
border-color='#d7d7d7 ' type="warning" shape='circle' /> |
|||
</view> |
|||
<view class="button"> |
|||
<u-button shape="circle" type="primary" size="mini" style="min-width: 120rpx;" |
|||
v-if="item.status==0" @click="cancle(item)">撤回</u-button> |
|||
</view> |
|||
|
|||
</view> --> |
|||
</view> |
|||
<view style="height: 94rpx;padding-top: 30rpx;"> |
|||
<u-loadmore :status="status" v-if="status != 'loadmore'" /> |
|||
</view> |
|||
</view> |
|||
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import * as sparePartsServiceWorkOrderListApi from "@/api/sparePartsServiceWorkOrderList.js" |
|||
export default { |
|||
data() { |
|||
return { |
|||
params: { |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
flag:1 |
|||
}, |
|||
status: 'loadmore', //是否显示没有更多了 |
|||
list: [], |
|||
|
|||
} |
|||
}, |
|||
methods: { |
|||
// 获取备件领用列表 |
|||
async getList() { |
|||
if (this.status == 'nomore') return; |
|||
this.status = 'loading'; |
|||
this.$modal.loading('加载中') |
|||
await sparePartsServiceWorkOrderListApi.sparePartsServiceWorkOrderListPage(this.params).then((res) => { |
|||
this.$modal.closeLoading() |
|||
if (res.data.list.length > 0) { |
|||
this.list = this.list.concat(res.data.list); |
|||
this.params.pageNo++; |
|||
this.status = 'loadmore' |
|||
} else { |
|||
this.status = 'nomore' |
|||
} |
|||
}) |
|||
}, |
|||
}, |
|||
onLoad(option) { |
|||
}, |
|||
onShow() { |
|||
this.params.pageNo = 1 |
|||
this.list = [] |
|||
this.status = 'loadmore' |
|||
this.getList() |
|||
}, |
|||
onReachBottom() { |
|||
this.getList() |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.list { |
|||
background: #f5f5f5; |
|||
margin-top: 20rpx; |
|||
|
|||
.item { |
|||
padding: 30rpx 30rpx 0px 30rpx; |
|||
margin-top: 20rpx; |
|||
background: white; |
|||
position: relative; |
|||
|
|||
.title { |
|||
display: flex; |
|||
align-items: center; |
|||
padding-bottom: 20rpx; |
|||
|
|||
.title-txt { |
|||
color: #409eff; |
|||
font-weight: bold; |
|||
font-size: 36rpx; |
|||
width: 0px; |
|||
flex: 1; |
|||
} |
|||
|
|||
.time { |
|||
color: #919191; |
|||
|
|||
} |
|||
} |
|||
|
|||
.dec { |
|||
padding-bottom: 20rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
|
|||
view { |
|||
&:nth-child(1){ |
|||
width: 160rpx;; |
|||
} |
|||
&:nth-child(2){ |
|||
color: #999999; |
|||
flex: 1; |
|||
width: 0px; |
|||
word-wrap: break-word; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.last { |
|||
padding-bottom: 30rpx; |
|||
} |
|||
|
|||
.bottom { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
border-top: 1px solid #E4E4E4; |
|||
padding: 20rpx 0px; |
|||
height: 90rpx; |
|||
|
|||
} |
|||
} |
|||
} |
|||
</style> |
Loading…
Reference in new issue