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