7.12宁夏添加综合服务中心审核

This commit is contained in:
FrancisHu 2024-07-12 13:28:45 +08:00
parent d1a84753e3
commit e7ab390cfb
11 changed files with 602 additions and 38 deletions

View File

@ -259,7 +259,7 @@ const fetchExam = {
const newInStore = {
async fetchNewInStoreList (data = {} , header = {}){
return await Http.get(
HttpConfig.basePath,
HttpConfig.materialPath,
HttpConfig.serviceUrl.newInStore.fetchNewInStoreList,
data,
header
@ -852,6 +852,33 @@ const preCrashList = {
},
}
const serviceCenterExam = {
async fetchCenterList(data = {}, header = {}) {
return await Http.get(
HttpConfig.materialPath,
HttpConfig.serviceUrl.serviceCenterExam.fetchCenterList,
data,
header
)
},
async fetchCenterDetail(data = {}, header = {}) {
return await Http.get(
HttpConfig.materialPath,
HttpConfig.serviceUrl.serviceCenterExam.fetchCenterDetail,
data,
header
)
},
async examCenterRecord(data = {}, header = {}) {
return await Http.put(
HttpConfig.materialPath,
HttpConfig.serviceUrl.serviceCenterExam.examCenterRecord,
data,
header
)
},
}
const url = HttpConfig.systemPath
export default{
@ -878,5 +905,6 @@ export default{
indexScan,
preCrashExam,
preCrashList,
serviceCenterExam,
url
}

View File

@ -10,7 +10,7 @@ class HttpConfig {
// baseUrl = "http://10.40.92.8:8080"
// baseUrl = "http://10.40.92.52:28080"
// baseUrl = "http://10.40.92.78:28080"
// baseUrl = "http://192.168.2.122:28080"
// baseUrl = "http://192.168.2.248:28080"
// baseUrl = "https://z.csgmall.com.cn/gl"
// baseUrl = "http://10.40.92.141:28080"
// #endif
@ -91,7 +91,7 @@ class HttpConfig {
rejectExitExam: '/back_apply/refuse', // 拒绝单个审核
},
newInStore: {
fetchNewInStoreList: '/purchaseInput/list', // 获取新购入库列表
fetchNewInStoreList: '/purchaseCheckInfo/putInList', // 获取新购入库列表
fetchNewBuyDetail: '/purchaseInput/putinDetails', // 获取新购入库详情
subNewBuy: '/purchaseInput/manageStatus', // 新购明细提交审核
},
@ -171,6 +171,11 @@ class HttpConfig {
fetchPreSubList: '/scrap/getScrapTaskListApp', // 获取预报废提交列表
fetchDeptTree: '/user/deptTree', // 获取部门树状结构
submitCrashTask: '/scrap/submitScrapTask', // 预报废列表提交报废
},
serviceCenterExam: {
fetchCenterList: '/purchaseCheckServiceCenter/putInList', // 获取综合服务中心审核列表
fetchCenterDetail: '/purchaseCheckServiceCenter/putinDetails', //获取综合服务中心列表详情
examCenterRecord: '/purchaseCheckServiceCenter/manageStatus', // 审核综合服务中心任务
}
}
}

View File

@ -507,6 +507,14 @@
}
}
,{
"path" : "pages/serviceCenterExamDetail/serviceCenterExamDetail",
"style" :
{
"navigationBarTitleText": "综合服务中心审核详情"
}
}
],
"tabBar": {
"color": "#2c2c2c",

View File

@ -431,25 +431,32 @@
//
that.$api.crashExam.crashExamList().then(res => {
console.log(res);
if (res.data.total != 0) {
res.data.rows.forEach(item => {
item.ableExam = true
item.scrapAuditorSetList.forEach(roleList => {
if (roleList.deptId == uni.getStorageSync('userInfo').sysUser.deptId) {
if (roleList.status != '0') {
item.already = '0'
if (res.data.code == 200) {
if (res.data.total != 0) {
res.data.rows.forEach(item => {
item.ableExam = true
item.scrapAuditorSetList.forEach(roleList => {
if (roleList.deptId == uni.getStorageSync('userInfo').sysUser.deptId) {
if (roleList.status != '0') {
item.already = '0'
}
} else {
item.ableExam = false
}
} else {
item.ableExam = false
}
})
})
})
that.fetchMaterialList = res.data.rows
console.log(that.fetchMaterialList);
that.fetchMaterialList = res.data.rows
console.log(that.fetchMaterialList);
} else {
uni.showToast({
icon: 'none',
title: '暂无数据!'
})
}
} else {
uni.showToast({
icon: 'none',
title: '暂无数据!'
title: res.data.msg
})
}
}).catch(err => {

View File

@ -272,7 +272,9 @@ import { basePath } from '../../public'
onShow() {
let that = this
//
that.$api.fix.fixList().then(res => {
that.$api.fix.fixList({
backSource: 2
}).then(res => {
console.log(res);
if (res.data.code == 200) {
if (res.data.data.length == 0) {
@ -281,11 +283,11 @@ import { basePath } from '../../public'
title: '未查询到相关数据!'
})
} else {
for (let i = 0; i < res.data.data.length; i++) {
if (res.data.data[i].repairStatus != '维修完成') {
res.data.data[i].checked = false
res.data.data.forEach(item => {
if (item.repairStatus != '维修完成') {
item.checked = false
}
}
})
that.fetchMaterialList = res.data.data
console.log(that.fetchMaterialList);
}

View File

@ -230,7 +230,7 @@
that.$api.newInStore.fetchNewInStoreList().then(res => {
console.log(res);
if (res.data.code == 200) {
that.fetchMaterialList = res.data.data
that.fetchMaterialList = res.data.rows
} else {
uni.showToast({
icon: 'none',

View File

@ -311,7 +311,7 @@ import { basePath } from '../../public';
})
let setArr = []
that.totalGoods.forEach(list => {
setArr.push(list.manageType)
setArr.push(list.companyId)
})
console.log(setArr);
let set = new Set(setArr)

View File

@ -1,6 +1,95 @@
<template>
<view>
<view class="search-bar">
<uni-easyinput suffixIcon="search" v-model="centerIpt" placeholder="请输入关键字" @iconClick="searchKeyword"></uni-easyinput>
</view>
<view
class="single-fetch"
v-for="(list, index) in centerExamList"
:key="list.id"
>
<view class="fetch-upper">
<!-- <checkbox-group
v-show="pre.taskStatus == 58"
style="margin-right: 15rpx;"
@change="checkClick(pre)"
>
<checkbox :checked="pre.checked" />
</checkbox-group> -->
<view class="upper-lef">
{{ list.createBy == null ? '' : list.createBy.slice(0, 1) }}
</view>
<view class="upper-rig">
<h4 style="font-size: 16px;">{{ list.createBy }}</h4>
<!-- <h4 style="color: #989898;">{{ list.unitName }}</h4> -->
</view>
</view>
<view class="fetch-lower">
<view>
<span>采购单号</span>
<h4>{{ list.code }}</h4>
</view>
<view>
<span>采购日期</span>
<h4>{{ list.purchaseTime }}</h4>
</view>
<view>
<span>到货日期</span>
<h4>{{ list.arrivalTime }}</h4>
</view>
<view>
<span>采购机具设备</span>
<h4>{{ list.purchasingTypeName }}</h4>
</view>
<view>
<span>采购员</span>
<h4>{{ list.purchaserName == null ? '-' : list.purchaserName }}</h4>
</view>
<view>
<span>提交时间</span>
<h4>{{ list.createTime }}</h4>
</view>
<view>
<span>备注</span>
<h4>{{ list.remark }}</h4>
</view>
</view>
<view class="fetch-btns">
<view
style="background-color: #3788FF;"
@click="seeCenterDetail(list.taskId)"
>
<uni-icons style="color: #fff;" type="eye"></uni-icons>
查看
</view>
<view
style="background-color: #FCA30D;"
v-show="list.taskStatus == 122"
@click="examCenterDetail(list.taskId)"
>
<uni-icons style="color: #fff;" type="auth"></uni-icons>
审核
</view>
<!-- <view
style="background-color: #FCA30D;"
v-show="pre.taskStatus == '121' && ifRole"
@click="examPreDetail(pre.taskId)"
>
<uni-icons style="color: #fff;" type="auth"></uni-icons>
审核
</view> -->
</view>
<view class="sticky-area">
<h4
:class="[
{ red: list.taskStatus == 106 || list.taskStatus == 107 },
{ green: list.taskStatus == 28 }
]"
>
{{ list.taskMark }}
</h4>
</view>
</view>
</view>
</template>
@ -8,15 +97,196 @@
export default {
data() {
return {
centerIpt: '',
centerExamList: []
}
},
methods: {
searchKeyword () {
this.getCenterList(this.centerIpt)
},
seeCenterDetail (taskId) {
console.log(taskId);
uni.navigateTo({
url: `/pages/serviceCenterExamDetail/serviceCenterExamDetail?taskId=${taskId}`
})
},
examCenterDetail (taskId) {
console.log(taskId);
uni.navigateTo({
url: `/pages/serviceCenterExamDetail/serviceCenterExamDetail?taskId=${taskId}&showExam=0`
})
},
getCenterList (keyWord) {
let that = this
that.$api.serviceCenterExam.fetchCenterList({
flag: 1,
keyWord
}).then(res => {
console.log(res);
if (res.data.code == 200) {
res.data.data.forEach(item => {
switch (item.taskStatus) {
case 26:
item.taskMark = '待审核'
break;
case 28:
item.taskMark = '已全部入库'
break;
case 105:
item.taskMark = '入库审核中'
break;
case 106:
item.taskMark = '综合服务中心未通过'
break;
case 107:
item.taskMark = '入库审核未通过'
break;
case 122:
item.taskMark = '待审核'
break;
case 123:
item.taskMark = '部分已入库'
break;
}
})
that.centerExamList = res.data.data
} else {
uni.showToast({
icon: 'none',
title: res.data.msg
})
}
}).catch(err => {
console.log(err);
})
}
},
onShow() {
this.centerIpt = ''
this.getCenterList('')
}
}
</script>
<style>
<style lang="scss">
body{
background-color: #f8f8f8;
box-sizing: border-box;
padding-bottom: 10vh;
}
.search-bar{
width: 95%;
margin: 20rpx auto;
}
.single-fetch{
width: 95%;
margin: 20rpx auto;
background-color: #fff;
border-radius: 15rpx;
box-sizing: border-box;
padding: 15rpx;
position: relative;
.fetch-upper{
width: 100%;
box-sizing: border-box;
padding: 15rpx;
border-bottom: 1px solid #D7D7D7;
display: flex;
align-items: center;
.upper-lef{
width: 12%;
height: 5vh;
border-radius: 15rpx;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
font-size: 24px;
background-color: #3788FF;
color: #fff;
}
.upper-rig{
flex: 1;
box-sizing: border-box;
padding: 10rpx 20rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
h4{
font-weight: normal;
font-size: 14px;
}
}
}
.fetch-lower{
width: 100%;
box-sizing: border-box;
padding: 15rpx;
border-bottom: 1px solid #D7D7D7;
view{
width: 100%;
display: flex;
align-items: center;
margin-bottom: 15rpx;
font-size: 14px;
span{
color: #9D9D9D;
padding-right: 20rpx;
}
h4{
color: #000;
font-size: 14px;
font-weight: normal;
}
}
view:last-child{
margin-bottom: 0;
}
}
.fetch-btns{
width: 100%;
box-sizing: border-box;
padding: 15rpx;
display: flex;
justify-content: flex-end;
view{
box-sizing: border-box;
padding: 8rpx 25rpx;
border-radius: 15rpx;
margin-right: 15rpx;
color: #fff;
font-size: 14px;
}
}
.sticky-area{
position: absolute;
top: 20rpx;
right: 20rpx;
/* width: 11vh;
height: 10vh;
image{
width: 100%;
height: 100%;
} */
h4{
box-sizing: border-box;
padding: 8rpx 20rpx;
border-radius: 15rpx;
font-size: 14px;
font-weight: normal;
background-color: #fff;
border: 1px solid #3788FF;
color: #3788FF;
}
.red{
border-color: #FF4141;
color: #FF4141;
}
.green{
border-color: #1BD30B;
color: #1BD30B;
}
}
}
</style>

View File

@ -0,0 +1,242 @@
<template>
<view>
<view
class="single-fetch"
v-for="(list, index) in detailList"
:key="index"
>
<view>
<span>机具类型</span>
<h4>{{ list.typeName }}</h4>
</view>
<view>
<span>规格型号</span>
<h4>{{ list.specificationType }}</h4>
</view>
<view>
<span>数量</span>
<h4>{{ list.checkNum }}</h4>
</view>
<view>
<span>编号</span>
<h4>{{ list.maCode == null ? '-' : list.maCode }}</h4>
</view>
<view>
<span>状态</span>
<h4>{{ list.taskMark }}</h4>
</view>
</view>
<view class="btm-sticky" v-show="showExam == '0'">
<view style="display: flex;">
<view
class="exam"
@click="clickExam"
style="margin-right: 15rpx;"
>
审核
</view>
</view>
</view>
<uni-popup
ref="popup"
type="center"
:mask-click="false"
>
<view class="popup">
<view class="pop-top">
<h4>审批</h4>
<uni-icons
style="color: #AAAAAA; font-weight: bold;"
type="closeempty"
@click="closePopup"
>
</uni-icons>
</view>
<h4 style="width: 85%; margin: 2vh auto; font-weight: normal; text-align: center;">是否通过审批</h4>
<view class="select-area">
<view @click="modalExam('1')">通过</view>
<view @click="modalExam('2')">驳回</view>
</view>
</view>
</uni-popup>
<u-loading-page :loading="showLoading" color="#000" loading-text="提交中,请稍后..."></u-loading-page>
</view>
</template>
<script>
export default {
data() {
return {
showLoading: false,
taskId: '',
detailList: [],
showExam: ''
}
},
methods: {
getListDetail (taskId) {
let that = this
that.$api.serviceCenterExam.fetchCenterDetail({
taskId
}).then(res => {
console.log(res);
if (res.data.code == 200) {
res.data.rows.forEach(item => {
switch (item.status) {
case '0':
item.taskMark = '待审核'
break;
case '1':
item.taskMark = '已入库'
break;
case '2':
item.taskMark = '入库驳回'
break;
case '3':
item.taskMark = '入库待审核'
break;
case '4':
item.taskMark = '已驳回'
break;
}
})
that.detailList = res.data.rows
}
}).catch(err => {
console.log(err);
})
},
clickExam () {
this.openPopup()
},
modalExam (checkResult) {
let that = this
let subObj = {
checkResult,
inputRecordList: that.detailList,
taskId: that.taskId
}
that.subExam(subObj)
},
subExam (obj) {
let that = this
that.showLoading = true
that.closePopup()
that.$api.serviceCenterExam.examCenterRecord(obj).then(res => {
console.log(res);
if (res.data.code == 200) {
that.showLoading = false
uni.showToast({
icon: 'none',
title: '提交成功!',
success: () => {
uni.navigateBack()
}
})
} else {
that.showLoading = false
uni.showToast({
icon: 'none',
title: res.data.msg
})
}
}).catch(err => {
console.log(err);
})
},
openPopup () {
this.$refs.popup.open()
},
closePopup () {
this.$refs.popup.close()
}
},
onLoad(params) {
console.log(params);
this.taskId = params.taskId
this.showExam = params.showExam
this.getListDetail(params.taskId)
}
}
</script>
<style lang="scss">
body{
box-sizing: border-box;
padding-bottom: 10vh;
}
.single-fetch{
width: 100%;
box-sizing: border-box;
padding: 20rpx 35rpx;
border-bottom: 1px solid #DDDDDD;
view{
display: flex;
align-items: center;
margin-bottom: 25rpx;
span{
color: #A7A7A7;
padding-right: 20rpx;
}
h4{
font-size: 14px;
font-weight: normal;
}
}
view:last-child{
margin-bottom: 0;
}
}
.btm-sticky{
position: fixed;
bottom: 0;
left: 0;
width: 100%;
box-sizing: border-box;
padding: 15rpx 30rpx;
background-color: #fff;
display: flex;
justify-content: right;
align-items: center;
.exam{
box-sizing: border-box;
padding: 10rpx 50rpx;
border-radius: 30rpx;
background-color: #3788FF;
font-size: 14px;
color: #fff;
}
}
.popup{
width: 80vw;
height: 20vh;
background-color: #fff;
border-radius: 15rpx;
overflow: hidden;
background: linear-gradient(#D9E7FE, #fff, #fff, #fff);
.pop-top{
width: 100%;
height: 5vh;
box-sizing: border-box;
padding: 0 25rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.select-area{
width: 85%;
margin: 40rpx auto;
display: flex;
justify-content: space-around;
align-items: center;
view{
box-sizing: border-box;
font-size: 30rpx;
padding: 12rpx 24rpx;
background-color: #3788FF;
color: #fff;
border-radius: 20rpx;
}
}
}
</style>

View File

@ -67,16 +67,11 @@
pic: '/static/qrcodeBinding.png',
url: 'qrcodeBinding'
},
/* {
name: '新购验收',
pic: '/static/newCheck.png',
url: 'newCheck'
}, */
/* {
{
name: '综合服务中心审核',
pic: '/static/serviceCenterExam.png',
url: 'serviceCenterExam'
}, */
},
{
name: '新购入库',
pic: '/static/newInStore.png',
@ -107,7 +102,7 @@
pic: '/static/fix.png',
url: 'fix'
},
/* {
{
name: '预报废审核',
pic: '/static/preCrashExam.png',
url: 'preCrashExam'
@ -116,7 +111,7 @@
name: '预报废列表',
pic: '/static/preCrashList.png',
url: 'preCrashList'
}, */
},
{
name: '报废审核',
pic: '/static/crashExam.png',

View File

@ -461,6 +461,13 @@ const router = createRouter({
"meta": {
"needAuth": "true"
}
},
{
"path" : "/pages/serviceCenterExamDetail/serviceCenterExamDetail",
"name": 'serviceCenterExamDetail',
"meta": {
"needAuth": "true"
}
}
]
})