机具定损完善
This commit is contained in:
parent
b95f54c00c
commit
dc121fb045
|
|
@ -343,6 +343,13 @@
|
|||
"navigationBarTitleText": "定损任务查看"
|
||||
}
|
||||
},
|
||||
// 定损查看明细
|
||||
{
|
||||
"path": "pages/repair/equipAssessment/view-detail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "定损任务查看"
|
||||
}
|
||||
},
|
||||
// 3. 编码维修 展示
|
||||
{
|
||||
"path": "pages/repair/equipAssessment/code-view",
|
||||
|
|
|
|||
|
|
@ -421,7 +421,7 @@ const saveCodeApi = async () => {
|
|||
partType: partItems.value[j].partType,
|
||||
partId: partItems.value[j].partId,
|
||||
partNum: partItems.value[j].partNum,
|
||||
storageNum: partItems.value[j].storageNum,
|
||||
partPrice: partItems.value[j].partPrice,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
<scroll-view scroll-y @scrolltolower="onScrollTolower" class="scroll-container">
|
||||
<view class="table-list-item" :key="index" @click="handleItem(item)" v-for="(item, index) in tableList">
|
||||
<uni-swipe-action>
|
||||
<uni-swipe-action-item @click="onClick($event, item)" :right-options="options">
|
||||
<uni-swipe-action-item @click="onClick($event, item)" :right-options="active==1 ? options : []">
|
||||
<div class="title">
|
||||
<div class="title-left">
|
||||
<span class="code">{{ item.repairCode }}</span>
|
||||
|
|
@ -99,8 +99,8 @@
|
|||
|
||||
<script setup>
|
||||
import { ref, computed } from 'vue'
|
||||
import { getRepairListAPI, repairSubmitAPI, repairRejectAPI } from '@/services/repair/repair.js'
|
||||
import { getLossAssessmentListAPI, } from '@/services/repair/equipAssessment.js'
|
||||
// import { getRepairListAPI, repairSubmitAPI, repairRejectAPI } from '@/services/repair/repair.js'
|
||||
import { getLossAssessmentListAPI,repairSubmitAPI,repairRejectAPI } from '@/services/repair/equipAssessment.js'
|
||||
import { onShow } from '@dcloudio/uni-app'
|
||||
import { debounce } from 'lodash-es'
|
||||
|
||||
|
|
@ -236,7 +236,20 @@ const changeTab = (index) => {
|
|||
const handleItem = (item) => {
|
||||
console.log(item)
|
||||
if(item.repairStatusCode=="0"){
|
||||
uni.navigateTo({ url: `/pages/repair/equipAssessment/details?taskId=${item.taskId}` })
|
||||
// 弹出确认弹窗
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '是否确认进行定损?',
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
// 用户点击确认,进行页面跳转
|
||||
uni.navigateTo({ url: `/pages/repair/equipAssessment/details?taskId=${item.taskId}` })
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消')
|
||||
}
|
||||
}
|
||||
})
|
||||
// uni.navigateTo({ url: `/pages/repair/equipAssessment/details?taskId=${item.taskId}` })
|
||||
}else{
|
||||
uni.navigateTo({ url: `/pages/repair/equipAssessment/view?taskId=${item.taskId}` })
|
||||
}
|
||||
|
|
|
|||
|
|
@ -425,10 +425,11 @@ const saveNumAll = async () => {
|
|||
partType: partItems.value[i].partType,
|
||||
partId: partItems.value[i].partId,
|
||||
partNum: partItems.value[i].partNum,
|
||||
partPrice: partItems.value[i].partPrice,
|
||||
dsNum:partItems.value[i].repairNum,
|
||||
})
|
||||
}
|
||||
|
||||
console.log("yyyyyyyyyy",rowData.value)
|
||||
saveLossAssessmentRow(rowData.value.repairDeviceList).then(async (response) => {
|
||||
if (response.code == 200) {
|
||||
uni.showToast({ title: '保存成功', icon: 'none' })
|
||||
|
|
|
|||
|
|
@ -0,0 +1,292 @@
|
|||
<template>
|
||||
<view class="page-container">
|
||||
<uni-row :gutter="24" class="search-form">
|
||||
<uni-col :span="12">
|
||||
<view>
|
||||
<uni-easyinput placeholder="请输入内容" />
|
||||
</view>
|
||||
</uni-col>
|
||||
<uni-col :span="4">
|
||||
<view class="search">查询</view>
|
||||
</uni-col>
|
||||
<!-- <uni-col :span="4">
|
||||
<view class="search" style="background: #19be6b" @click="onQualified">合格</view>
|
||||
</uni-col> -->
|
||||
</uni-row>
|
||||
<view class="table-list-item">
|
||||
<uni-row :gutter="24">
|
||||
<uni-col :span="6">物资名称:</uni-col>
|
||||
<uni-col :span="18"
|
||||
><view class="cont">{{ queryParams.typeName }}</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
<uni-row :gutter="24">
|
||||
<uni-col :span="6">物资类型:</uni-col>
|
||||
<uni-col :span="18"
|
||||
><view class="cont">{{ queryParams.type }}</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
<uni-row :gutter="24">
|
||||
<uni-col :span="6">待修数量:</uni-col>
|
||||
<uni-col :span="18"
|
||||
><view class="cont">{{ Number(queryParams.typeRepairNum)-Number(queryParams.typeRepairedNum)-Number(queryParams.typeScrapNum)}}</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
<uni-row :gutter="24">
|
||||
<uni-col :span="6">已修数量:</uni-col>
|
||||
<uni-col :span="18"><view class="cont">{{queryParams.typeRepairedNum}}</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
<!-- <uni-row :gutter="24" v-if="queryParams.manageType==1">
|
||||
<uni-col :span="6">维修人:</uni-col>
|
||||
<uni-col :span="18"><view class="cont">111</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
<uni-row :gutter="24" v-if="queryParams.manageType==1">
|
||||
<uni-col :span="6">维修时间:</uni-col>
|
||||
<uni-col :span="18"><view class="cont">222</view>
|
||||
</uni-col>
|
||||
</uni-row> -->
|
||||
</view>
|
||||
<scroll-view scroll-y @scrolltolower="onScrollTolower" style="padding-bottom: 90rpx">
|
||||
<view class="table-list-item" v-for="item in repairDeviceList" :key="item.maId">
|
||||
<uni-row :gutter="24" v-if="queryParams.manageType==0" >
|
||||
<uni-col :span="6">设备编码:</uni-col>
|
||||
<uni-col :span="16">
|
||||
<view class="cont">{{ item.maCode }}</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
<uni-row :gutter="24">
|
||||
<uni-col :span="6">维修人员:</uni-col>
|
||||
<uni-col :span="16">
|
||||
<view class="cont">{{ item.repairer||"" }}</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
<uni-row :gutter="24">
|
||||
<uni-col :span="6">配件:</uni-col>
|
||||
<uni-col :span="16">
|
||||
<view class="cont">{{ item.partName||"" }}</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
<uni-row :gutter="24">
|
||||
<uni-col :span="6">操作人:</uni-col>
|
||||
<uni-col :span="16">
|
||||
<view class="cont">{{ item.createBy||"" }}</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
<uni-row :gutter="24">
|
||||
<uni-col :span="6">操作时间:</uni-col>
|
||||
<uni-col :span="16">
|
||||
<view class="cont">{{item.createTime||""}}</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<!-- <div v-for="(item, index) in repairDeviceList" :key="index">
|
||||
<view class="code-list-item">
|
||||
<uni-row :gutter="24">
|
||||
<uni-col :span="2">{{ index + 1 }}.</uni-col>
|
||||
<uni-col :span="16">{{ item.code }}</uni-col>
|
||||
<uni-col :span="6">
|
||||
<view class="cont" v-if="item.status == '1'" style="color: green">已完成</view>
|
||||
<view class="cont" v-if="item.status == '0'" style="color: red">未完成</view>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
</view>
|
||||
</div> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { computed, ref } from 'vue'
|
||||
import { auditRepairPass } from '@/services/repair/repair.js'
|
||||
import { getDetailsListApi } from '@/services/repair/equipAssessment.js'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
// const query = defineProps() // 获取上级页面传递的由参数
|
||||
// const queryParams = JSON.parse(query.queryParams)
|
||||
const queryParams = ref({})
|
||||
// console.log(queryParams)
|
||||
const allChecked = ref(false)
|
||||
const repairDeviceList = ref([])
|
||||
onLoad((options) => {
|
||||
queryParams.value = JSON.parse(options.queryParams)
|
||||
console.log(queryParams.value)
|
||||
getDetailsList()
|
||||
// repairDeviceList.value=queryParams.value.repairDeviceList;
|
||||
// console.log(repairDeviceList.value)
|
||||
})
|
||||
|
||||
// 点击跳转维修页面
|
||||
const getDetailsList = async () => {
|
||||
let param = {
|
||||
typeId:queryParams.value.typeId,
|
||||
taskId:queryParams.value.taskId
|
||||
}
|
||||
console.log("yyyyyyyy",param)
|
||||
const res = await getDetailsListApi(param)
|
||||
console.log(res)
|
||||
repairDeviceList.value = res.rows
|
||||
}
|
||||
|
||||
const onQualified = async () => {
|
||||
console.log(queryParams.value.ids[1])
|
||||
let id = [queryParams.value.ids[1]]
|
||||
const res = await auditRepairPass(id)
|
||||
if (res.code === 200) {
|
||||
uni.showToast({
|
||||
title: '操作成功!',
|
||||
icon: 'none',
|
||||
})
|
||||
uni.navigateBack({
|
||||
delta: 1, // 返回到已存在的页面
|
||||
success() {
|
||||
uni.$emit('onUpdate')
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.page-container {
|
||||
display: flex;
|
||||
height: 100vh;
|
||||
padding: 24rpx;
|
||||
flex-direction: column;
|
||||
background-color: #f7f8fa;
|
||||
|
||||
// 搜索区域
|
||||
.search-form {
|
||||
margin-bottom: 24rpx;
|
||||
|
||||
:deep(.uni-easyinput__content) {
|
||||
background-color: #fff;
|
||||
border-radius: 12rpx;
|
||||
height: 88rpx;
|
||||
padding: 0 24rpx;
|
||||
transition: all 0.3s ease;
|
||||
|
||||
&:focus-within {
|
||||
border-color: #3784fb;
|
||||
box-shadow: 0 0 0 2rpx rgba(55, 132, 251, 0.1);
|
||||
}
|
||||
}
|
||||
|
||||
.search {
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-size: 28rpx;
|
||||
font-weight: 600;
|
||||
border-radius: 12rpx;
|
||||
transition: all 0.3s ease;
|
||||
background: linear-gradient(135deg, #4b8eff 0%, #3784fb 100%);
|
||||
box-shadow: 0 6rpx 20rpx rgba(55, 132, 251, 0.2);
|
||||
|
||||
&:active {
|
||||
transform: scale(0.98);
|
||||
opacity: 0.9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 基本信息卡片
|
||||
.table-list-item {
|
||||
background-color: #fff;
|
||||
border-radius: 20rpx;
|
||||
padding: 24rpx;
|
||||
margin-bottom: 24rpx;
|
||||
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
|
||||
|
||||
// 信息行
|
||||
.uni-row {
|
||||
padding: 16rpx 0;
|
||||
font-size: 28rpx;
|
||||
border-bottom: 2rpx solid #f5f5f5;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.uni-col-6 {
|
||||
color: #8c8c8c;
|
||||
}
|
||||
|
||||
.cont {
|
||||
color: #262626;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 编码列表项
|
||||
.code-list-item {
|
||||
background-color: #fff;
|
||||
border-radius: 20rpx;
|
||||
padding: 24rpx;
|
||||
margin-bottom: 24rpx;
|
||||
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
|
||||
transition: all 0.3s ease;
|
||||
cursor: pointer;
|
||||
|
||||
&:active {
|
||||
transform: scale(0.99);
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.uni-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 28rpx;
|
||||
|
||||
.uni-col-2 {
|
||||
color: #8c8c8c;
|
||||
}
|
||||
|
||||
.uni-col-16 {
|
||||
color: #262626;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.uni-col-6 {
|
||||
text-align: right;
|
||||
|
||||
.cont {
|
||||
display: inline-block;
|
||||
padding: 4rpx 16rpx;
|
||||
border-radius: 8rpx;
|
||||
font-size: 24rpx;
|
||||
|
||||
&[style*="color: green"] {
|
||||
color: #52c41a !important;
|
||||
background-color: rgba(82, 196, 26, 0.1);
|
||||
}
|
||||
|
||||
&[style*="color: red"] {
|
||||
color: #f5222d !important;
|
||||
background-color: rgba(245, 34, 45, 0.1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 加载提示文字
|
||||
.loading-text {
|
||||
text-align: center;
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
padding: 20rpx 0;
|
||||
}
|
||||
|
||||
.outbound-btn {
|
||||
width: 70%;
|
||||
margin: 25rpx auto;
|
||||
height: 65rpx;
|
||||
line-height: 65rpx;
|
||||
text-align: center;
|
||||
background-color: #19be6b;
|
||||
border-radius: 12rpx;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -118,6 +118,7 @@
|
|||
<script setup>
|
||||
import { ref, onUnmounted, computed } from 'vue'
|
||||
import { getRepairDetailsAPI, auditRepairPass } from '@/services/repair/repair.js'
|
||||
import { getLossAssessmentDetailsAPI, } from '@/services/repair/equipAssessment.js'
|
||||
import { onLoad, onShow } from '@dcloudio/uni-app'
|
||||
const detailsList = ref([])
|
||||
// const query = defineProps() // 获取上级页面传递的路由参数
|
||||
|
|
@ -129,7 +130,8 @@ const search = () => {
|
|||
}
|
||||
// 获取列表详情
|
||||
const getRepairDetailsData = async () => {
|
||||
const res = await getRepairDetailsAPI({ taskId: taskId.value,keyword:keyWord.value })
|
||||
const res = await getLossAssessmentDetailsAPI({ taskId: taskId.value,keyword:keyWord.value })
|
||||
console.log("xxxxxxxxx",res)
|
||||
detailsList.value = res.data
|
||||
detailsList.value = detailsList.value.map((e) => {
|
||||
return { ...e, isChecked: false }
|
||||
|
|
@ -193,7 +195,7 @@ const onQualified = async () => {
|
|||
// 点击跳转维修页面
|
||||
const onRepairItem = (item) => {
|
||||
console.log(item)
|
||||
let codingUrl = '/pages/repair/repairManage/view-detail'
|
||||
let codingUrl = '/pages/repair/equipAssessment/view-detail'
|
||||
uni.navigateTo({ url: `${codingUrl}?queryParams=${JSON.stringify(item)}` })
|
||||
}
|
||||
onShow(() => {
|
||||
|
|
|
|||
|
|
@ -121,6 +121,7 @@ const getDetailsList = async () => {
|
|||
typeId:queryParams.value.typeId,
|
||||
taskId:queryParams.value.taskId
|
||||
}
|
||||
console.log("yyyyyyyyy",param)
|
||||
const res = await getDetailsListApi(param)
|
||||
console.log(res)
|
||||
repairDeviceList.value = res.rows
|
||||
|
|
|
|||
|
|
@ -32,3 +32,34 @@ export const saveLossAssessmentRow = (data) => {
|
|||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 定损 ---- 提交
|
||||
*/
|
||||
export const repairSubmitAPI = (data) => {
|
||||
return http({
|
||||
method: 'POST',
|
||||
url: '/material/lossAssessment/endLossAssessmentTask',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 定损 ---- 驳回
|
||||
*/
|
||||
export const repairRejectAPI = (id) => {
|
||||
return http({
|
||||
method: 'delete',
|
||||
url: '/material/lossAssessment/' + id,
|
||||
data: [id],
|
||||
})
|
||||
}
|
||||
|
||||
//获取查看明细
|
||||
export const getDetailsListApi = (data) => {
|
||||
return http({
|
||||
method: 'GET',
|
||||
url: '/material/lossAssessment/getDetailsListApp',
|
||||
data,
|
||||
})
|
||||
}
|
||||
Loading…
Reference in New Issue