问题清单修复
This commit is contained in:
parent
8d2d9bf7ad
commit
a854312c1b
|
|
@ -26,7 +26,6 @@ declare module 'vue' {
|
|||
ElEmpty: typeof import('element-plus/es')['ElEmpty']
|
||||
ElForm: typeof import('element-plus/es')['ElForm']
|
||||
ElFormItem: typeof import('element-plus/es')['ElFormItem']
|
||||
ElHeader: typeof import('element-plus/es')['ElHeader']
|
||||
ElIcon: typeof import('element-plus/es')['ElIcon']
|
||||
ElImage: typeof import('element-plus/es')['ElImage']
|
||||
ElInput: typeof import('element-plus/es')['ElInput']
|
||||
|
|
@ -34,7 +33,6 @@ declare module 'vue' {
|
|||
ElMenu: typeof import('element-plus/es')['ElMenu']
|
||||
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
|
||||
ElOption: typeof import('element-plus/es')['ElOption']
|
||||
ElPageHeader: typeof import('element-plus/es')['ElPageHeader']
|
||||
ElPagination: typeof import('element-plus/es')['ElPagination']
|
||||
ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm']
|
||||
ElProgress: typeof import('element-plus/es')['ElProgress']
|
||||
|
|
|
|||
|
|
@ -173,6 +173,41 @@
|
|||
</div>
|
||||
|
||||
<div class="protocol-handle" v-if="cardList.length > 0">
|
||||
<el-row style="margin: 15px 0">
|
||||
<el-col :span="24">
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item :title="addressTitle" name="1">
|
||||
<template v-if="addressList.length > 0">
|
||||
<div
|
||||
:key="index"
|
||||
class="address-item"
|
||||
@click="onSelectAddress(item.addressName)"
|
||||
v-for="(item, index) in addressList"
|
||||
>
|
||||
{{ item.addressName }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template v-else>
|
||||
<div style="width: 100%; text-align: center; font-size: 14px">
|
||||
当前没有收货地址...
|
||||
<a
|
||||
style="
|
||||
color: #00a288;
|
||||
cursor: pointer;
|
||||
margin-left: 5px;
|
||||
text-decoration: underline;
|
||||
"
|
||||
@click="onAddAddress"
|
||||
>
|
||||
点击新增
|
||||
</a>
|
||||
</div>
|
||||
</template>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="display: flex; align-items: center">
|
||||
<el-col :span="16">
|
||||
<div class="checkbox-container">
|
||||
|
|
@ -229,6 +264,7 @@ import {
|
|||
import moment, { max } from 'moment'
|
||||
import { InfoFilled } from '@element-plus/icons-vue'
|
||||
import CustomDatePickerButton from './components/date-picker-button.vue'
|
||||
import { getAddressListApi } from 'http/api/address-manage/index'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { useStore } from '../../store/user'
|
||||
const userStore = useStore()
|
||||
|
|
@ -236,6 +272,9 @@ const router = useRouter()
|
|||
const protocolChecked = ref<boolean>(false)
|
||||
const allKey = ref(0)
|
||||
const cardList = ref<any>([])
|
||||
const activeNames = ref('')
|
||||
const addressTitle = ref('请选择收货地址')
|
||||
const addressList = ref<any>([])
|
||||
const getBookCarDetailsData = async () => {
|
||||
const res: any = await getBookCarDetailsApi()
|
||||
|
||||
|
|
@ -410,6 +449,14 @@ const onCartSubmit = async () => {
|
|||
})
|
||||
return
|
||||
}
|
||||
if (addressTitle.value === '请选择收货地址') {
|
||||
ElMessage({
|
||||
showClose: false,
|
||||
message: '请选择收货地址',
|
||||
type: 'error',
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
let isDays = false
|
||||
try {
|
||||
|
|
@ -461,6 +508,7 @@ const onCartSubmit = async () => {
|
|||
})
|
||||
paramsList[index] = {
|
||||
cost: 0,
|
||||
address: addressTitle.value.split(':')[1],
|
||||
detailsList: itemsArray,
|
||||
}
|
||||
})
|
||||
|
|
@ -495,6 +543,32 @@ const onCartSubmit = async () => {
|
|||
}
|
||||
// console.log(res, '预约车提交结果')
|
||||
}
|
||||
|
||||
// 获取收货地址
|
||||
const getReceiptGoodsAddress = async () => {
|
||||
const res: any = await getAddressListApi({})
|
||||
addressList.value = res.rows.map((e: any) => {
|
||||
return {
|
||||
addressName: `${e.provinceName}${e.cityName}${e.areaName}${e.address}`,
|
||||
}
|
||||
})
|
||||
}
|
||||
// 选择收货地址
|
||||
const onSelectAddress = (address: any) => {
|
||||
addressTitle.value = '收货地址:' + address
|
||||
activeNames.value = ''
|
||||
}
|
||||
// 去往地址管理
|
||||
const onAddAddress = () => {
|
||||
userStore.editcurrentMenuItem('address-manage')
|
||||
setTimeout(() => {
|
||||
router.push({
|
||||
name: 'my-user',
|
||||
})
|
||||
}, 500)
|
||||
}
|
||||
|
||||
getReceiptGoodsAddress()
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
|
@ -608,4 +682,13 @@ const onCartSubmit = async () => {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.address-item {
|
||||
margin: 0 auto;
|
||||
padding: 6px 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.address-item:hover {
|
||||
background-color: #c9e7e5;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@
|
|||
:preview-src-list="[item.fileUrl]"
|
||||
:initial-index="0"
|
||||
fit="cover"
|
||||
z-index="9999999999"
|
||||
:z-index="9999999999"
|
||||
:preview-teleported="true"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -230,7 +230,7 @@
|
|||
:preview-src-list="[item.fileUrl]"
|
||||
:initial-index="0"
|
||||
fit="cover"
|
||||
z-index="9999999999"
|
||||
:z-index="9999999999"
|
||||
:preview-teleported="true"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,17 @@
|
|||
active: val.isChecked,
|
||||
}"
|
||||
>
|
||||
<span v-if="i != 4">{{ val.name }}</span>
|
||||
<span v-else>
|
||||
{{ val.name }}
|
||||
{{
|
||||
index == 0
|
||||
? ''
|
||||
: val.maCount
|
||||
? `(${val.maCount})`
|
||||
: '(0)'
|
||||
}}
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -148,15 +148,9 @@
|
|||
<div class="protocol-handle">
|
||||
<el-row style="margin: 15px 0">
|
||||
<el-col :span="24">
|
||||
<!-- 收货地址:
|
||||
<el-button
|
||||
size="small"
|
||||
style="padding: 6px 24px; background-color: #1abc9c; color: #fff"
|
||||
>选择收货地址</el-button
|
||||
> -->
|
||||
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item :title="addressTitle" name="1">
|
||||
<template v-if="addressList.length > 0">
|
||||
<div
|
||||
:key="index"
|
||||
class="address-item"
|
||||
|
|
@ -165,6 +159,24 @@
|
|||
>
|
||||
{{ item.addressName }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template v-else>
|
||||
<div style="width: 100%; text-align: center; font-size: 14px">
|
||||
当前没有收货地址...
|
||||
<a
|
||||
style="
|
||||
color: #00a288;
|
||||
cursor: pointer;
|
||||
margin-left: 5px;
|
||||
text-decoration: underline;
|
||||
"
|
||||
@click="onAddAddress"
|
||||
>
|
||||
点击新增
|
||||
</a>
|
||||
</div>
|
||||
</template>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-col>
|
||||
|
|
@ -215,6 +227,7 @@ import FooterInfo from '../../components/FooterInfo/index.vue'
|
|||
import { ElMessage } from 'element-plus'
|
||||
import { getBookCarDetailByMaId, submitBookCarApi } from '../../http/api/order/index'
|
||||
import CustomDatePickerButton from '../cart/components/date-picker-button.vue'
|
||||
import { getAddressListApi } from 'http/api/address-manage/index'
|
||||
import { getDetail } from 'http/api/equip'
|
||||
import moment from 'moment'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
|
|
@ -229,12 +242,7 @@ const activeNames = ref('')
|
|||
const protocolChecked = ref<boolean>(false)
|
||||
const orderList = ref<any>([])
|
||||
const addressTitle = ref('请选择收货地址')
|
||||
const addressList = ref([
|
||||
{ addressName: '安徽省合肥市蜀山区---' },
|
||||
{ addressName: '安徽省合肥市庐阳区---' },
|
||||
{ addressName: '安徽省合肥市滨湖区---' },
|
||||
{ addressName: '安徽省合肥市瑶海区---' },
|
||||
])
|
||||
const addressList = ref<any>([])
|
||||
|
||||
const getOrderListData = async () => {
|
||||
const addParams = {
|
||||
|
|
@ -396,6 +404,15 @@ const onCartSubmit = async () => {
|
|||
return
|
||||
}
|
||||
|
||||
if (addressTitle.value === '请选择收货地址') {
|
||||
ElMessage({
|
||||
showClose: false,
|
||||
message: '请选择收货地址',
|
||||
type: 'error',
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
const orderInfo = orderList.value[0]
|
||||
const submitInfo = {
|
||||
maId: orderInfo.maId,
|
||||
|
|
@ -410,6 +427,7 @@ const onCartSubmit = async () => {
|
|||
|
||||
const submitParams = {
|
||||
cost: orderAmountPice.value,
|
||||
address: addressTitle.value.split(':')[1],
|
||||
detailsList: [submitInfo],
|
||||
}
|
||||
// console.log('submitParams', submitParams)
|
||||
|
|
@ -433,11 +451,32 @@ const onCartSubmit = async () => {
|
|||
}
|
||||
}
|
||||
|
||||
// 获取收货地址
|
||||
const getReceiptGoodsAddress = async () => {
|
||||
const res: any = await getAddressListApi({})
|
||||
addressList.value = res.rows.map((e: any) => {
|
||||
return {
|
||||
addressName: `${e.provinceName}${e.cityName}${e.areaName}${e.address}`,
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 去往地址管理
|
||||
const onAddAddress = () => {
|
||||
userStore.editcurrentMenuItem('address-manage')
|
||||
setTimeout(() => {
|
||||
router.push({
|
||||
name: 'my-user',
|
||||
})
|
||||
}, 500)
|
||||
}
|
||||
// 选择收货地址
|
||||
const onSelectAddress = (address: any) => {
|
||||
addressTitle.value = address
|
||||
addressTitle.value = '收货地址:' + address
|
||||
activeNames.value = ''
|
||||
}
|
||||
|
||||
getReceiptGoodsAddress()
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
|
|
|||
|
|
@ -237,6 +237,7 @@ const getDetailData = async (row: any) => {
|
|||
insurancePdf,
|
||||
examinationPdf,
|
||||
devInfoProperties,
|
||||
identifyCode,
|
||||
} = res
|
||||
|
||||
Object.assign(addAndEditForm, {
|
||||
|
|
@ -265,8 +266,6 @@ const getDetailData = async (row: any) => {
|
|||
Object.assign(addAndEditForm, {
|
||||
maId: row.maId,
|
||||
})
|
||||
|
||||
console.log(row.maId, '****')
|
||||
}
|
||||
|
||||
descriptionFormList.value = []
|
||||
|
|
@ -276,6 +275,7 @@ const getDetailData = async (row: any) => {
|
|||
insuranceATempPdf: [],
|
||||
examinationPdfs: [],
|
||||
examinationTempPdf: [],
|
||||
identifyCode,
|
||||
})
|
||||
descriptionFormList.value[0].insurancePdfs = insurancePdf
|
||||
descriptionFormList.value[0].examinationPdfs = examinationPdf
|
||||
|
|
@ -427,6 +427,7 @@ const dialogTypeChange = async () => {
|
|||
isDisabled.value = true
|
||||
addAndEditForm.unitName = deviceTypeList[0].data.unitName
|
||||
addAndEditForm.dayLeasePrice = deviceTypeList[0].data.leasePrice
|
||||
addAndEditFormRef.value.clearValidate(['unitName', 'dayLeasePrice'])
|
||||
}
|
||||
//获取所属公司下拉数据
|
||||
const getCompanyList = async () => {
|
||||
|
|
@ -539,6 +540,7 @@ const getProertyValueRules = (item: any) => {
|
|||
}
|
||||
|
||||
const descriptionRules = ref({
|
||||
identifyCode: [{ required: true, message: '请填写装备唯一标识符', trigger: 'blur' }],
|
||||
insurancePdfs: [{ required: true, message: '请上传合格证', trigger: 'change' }],
|
||||
examinationPdfs: [{ required: true, message: '请上传检测证明', trigger: 'change' }],
|
||||
})
|
||||
|
|
@ -613,11 +615,13 @@ const submitFun = (type: any) => {
|
|||
addAndEditFormRef.value.validate(async (valid: any) => {
|
||||
if (valid) {
|
||||
let isDescription = false
|
||||
addAndEditForm.identifyCodes = []
|
||||
descriptionFormList.value.forEach((e: any, index: number) => {
|
||||
e.insurancePdfs = [...e.insurancePdfs, ...e.insuranceATempPdf]
|
||||
e.examinationPdfs = [...e.examinationPdfs, ...e.examinationTempPdf]
|
||||
|
||||
if (type == 3 || type == 4) {
|
||||
addAndEditForm.identifyCode = e.identifyCode
|
||||
addAndEditForm.insurancePdf = e.insurancePdfs.map((e: any) => {
|
||||
return { fileNam: e.fileName, fileUrl: e.fileUrl }
|
||||
})
|
||||
|
|
@ -627,6 +631,7 @@ const submitFun = (type: any) => {
|
|||
} else {
|
||||
addAndEditForm.insurancePdfs[index] = e.insurancePdfs
|
||||
addAndEditForm.examinationPdfs[index] = e.examinationPdfs
|
||||
addAndEditForm.identifyCodes.push(e.identifyCode)
|
||||
}
|
||||
})
|
||||
|
||||
|
|
@ -876,6 +881,7 @@ const onAddDescription = () => {
|
|||
insuranceATempPdf: [],
|
||||
examinationPdfs: [],
|
||||
examinationTempPdf: [],
|
||||
identifyCode: '',
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -904,6 +910,7 @@ const addAndEditForm = reactive<any>({
|
|||
insurancePdfs: [],
|
||||
examinationPdfs: [],
|
||||
devInfoProperties: [],
|
||||
identifyCodes: [],
|
||||
})
|
||||
// const addAndEditFormTemp = reactive<any>()
|
||||
const uploadUrl = import.meta.env.VITE_API_URL + '/file/upload'
|
||||
|
|
@ -916,6 +923,7 @@ const descriptionFormList = ref<any>([
|
|||
insuranceATempPdf: [],
|
||||
examinationPdfs: [],
|
||||
examinationTempPdf: [],
|
||||
identifyCode: '',
|
||||
},
|
||||
])
|
||||
const descriptionFormRefList = ref<any>([])
|
||||
|
|
@ -1012,6 +1020,7 @@ const onDialogClose = () => {
|
|||
examinationPdf: [],
|
||||
insurancePdfs: [],
|
||||
examinationPdfs: [],
|
||||
identifyCodes: [],
|
||||
})
|
||||
}
|
||||
const propertyNames = ref<any>([])
|
||||
|
|
@ -1161,7 +1170,11 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
"
|
||||
/>
|
||||
<el-table-column label="序号" align="center" width="80" type="index"></el-table-column>
|
||||
<el-table-column align="center" prop="deviceName" label="装备名称" />
|
||||
<el-table-column align="center" label="装备名称">
|
||||
<template #default="{ row }">
|
||||
{{ `${row.deviceName} ${row.identifyCode}` }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="code" label="装备编号" />
|
||||
<el-table-column align="center" prop="typeName" label="装备类目">
|
||||
<template #default="{ row }">
|
||||
|
|
@ -1289,7 +1302,6 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
<el-form-item label="装备名称:" prop="deviceName">
|
||||
<el-input
|
||||
autocomplete="off"
|
||||
style="width: 850px"
|
||||
maxlength="30"
|
||||
v-model="addAndEditForm.deviceName"
|
||||
clearable
|
||||
|
|
@ -1306,10 +1318,10 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
filterable
|
||||
clearable
|
||||
collapse-tags
|
||||
style="width: 350px"
|
||||
placeholder="请选择装备类目"
|
||||
ref="dialogTypeCascader"
|
||||
@change="dialogTypeChange"
|
||||
style="width: 100%"
|
||||
></el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -1319,7 +1331,6 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
<el-form-item label="装备单位:" prop="unitName">
|
||||
<el-input
|
||||
autocomplete="off"
|
||||
style="width: 350px"
|
||||
maxlength="20"
|
||||
v-model="addAndEditForm.unitName"
|
||||
clearable
|
||||
|
|
@ -1333,7 +1344,6 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
v-model="addAndEditForm.brand"
|
||||
autocomplete="off"
|
||||
maxlength="20"
|
||||
style="width: 350px"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -1347,7 +1357,7 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
placeholder="请选择出厂日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
type="date"
|
||||
style="width: 350px"
|
||||
style="width: 100%"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
|
@ -1363,7 +1373,6 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
clearable
|
||||
maxlength="20"
|
||||
:disabled="isDisabled || isEditForm"
|
||||
style="width: 350px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -1376,7 +1385,6 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
placeholder="请输入联系人"
|
||||
clearable
|
||||
maxlength="20"
|
||||
style="width: 350px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -1387,7 +1395,6 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
placeholder="请输入联系电话"
|
||||
clearable
|
||||
maxlength="20"
|
||||
style="width: 350px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -1400,7 +1407,7 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
placeholder="请选择校验日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
type="date"
|
||||
style="width: 350px"
|
||||
style="width: 100%"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
|
@ -1415,7 +1422,6 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
placeholder="请输入校验周期(数字)"
|
||||
clearable
|
||||
maxlength="20"
|
||||
style="width: 350px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -1452,7 +1458,6 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
v-model="item.propertyName"
|
||||
placeholder="请输入"
|
||||
maxlength="20"
|
||||
style="width: 350px"
|
||||
disabled
|
||||
>
|
||||
</el-input>
|
||||
|
|
@ -1464,7 +1469,6 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
v-model="item.propertyValue"
|
||||
placeholder="请输入"
|
||||
maxlength="20"
|
||||
style="width: 350px"
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
@ -1626,6 +1630,21 @@ const onPreviewImg = (fileUrl: any) => {
|
|||
:model="item"
|
||||
:key="item.newId"
|
||||
>
|
||||
<el-row :gutter="20" style="margin-top: 12px">
|
||||
<el-col :span="12">
|
||||
<el-form-item
|
||||
style="font-weight: bold"
|
||||
label="装备唯一标识符:"
|
||||
prop="identifyCode"
|
||||
>
|
||||
<el-input
|
||||
v-model="item.identifyCode"
|
||||
placeholder="请输入"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" v-if="!isViewForm">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="1" style="margin-bottom: 0" class="upload-tip">
|
||||
|
|
|
|||
|
|
@ -1,106 +1,21 @@
|
|||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { getOrderListInfoApi } from 'http/api/usercenter/seekorder'
|
||||
import { getOverhaulApi } from 'http/api/rent-termination/index'
|
||||
|
||||
import TitleTip from 'components/TitleTip/index.vue'
|
||||
const route = useRoute()
|
||||
/* 查询参数 */
|
||||
const cardList = ref<any>({})
|
||||
const orderDetailDtoList = ref<any>([])
|
||||
const scrapRecordList = ref<any>([])
|
||||
const lossRecordList = ref<any>([])
|
||||
const repairRecordList = ref<any>([])
|
||||
const fileListAll = ref<any>([])
|
||||
const viewFileInfoList = ref<any>([])
|
||||
const overhaulDetails = ref<any>({})
|
||||
const innerVisible = ref(false)
|
||||
|
||||
const orderStatusTemp = ref<number>(0)
|
||||
const idTemp = ref<string>('')
|
||||
const titleStaus = ref<any>('')
|
||||
//描述信息
|
||||
const operationDetails = ref<any>({
|
||||
1: { title: '已出库', preOutboundUser: '', preOutboundTime: '' },
|
||||
2: { title: '已收货', takeOverUser: '', takeOverTime: '' },
|
||||
3: { title: '租赁结束', rentOverUser: '', rentOverTime: '' },
|
||||
})
|
||||
// 根据步骤的 Id 返回对应的标题
|
||||
const getStepTitle = (stepId: number) => {
|
||||
if (orderStatusTemp.value === 2) {
|
||||
titleStaus.value = '待出库'
|
||||
return stepId === 1 ? '待出库' : ''
|
||||
} else if (orderStatusTemp.value === 3) {
|
||||
titleStaus.value = '待收货'
|
||||
return stepId === 1 ? '已出库' : stepId === 2 ? '待收货' : ''
|
||||
} else if (orderStatusTemp.value === 4) {
|
||||
titleStaus.value = '租赁中'
|
||||
return stepId === 1 ? '已出库' : stepId === 2 ? '已收货' : stepId === 3 ? '租赁中' : ''
|
||||
} else if (orderStatusTemp.value === 5) {
|
||||
titleStaus.value = '已退租'
|
||||
return stepId === 1
|
||||
? '已出库'
|
||||
: stepId === 2
|
||||
? '已收货'
|
||||
: stepId === 3
|
||||
? '租赁结束'
|
||||
: stepId === 4
|
||||
? '已退租'
|
||||
: ''
|
||||
} else if (orderStatusTemp.value === 6) {
|
||||
titleStaus.value = '已完成'
|
||||
return stepId === 1
|
||||
? '已出库'
|
||||
: stepId === 2
|
||||
? '已收货'
|
||||
: stepId === 3
|
||||
? '租赁结束'
|
||||
: stepId === 4
|
||||
? '已退租'
|
||||
: stepId === 5
|
||||
? '已完成'
|
||||
: ''
|
||||
} else if (orderStatusTemp.value === 7) {
|
||||
titleStaus.value = '已驳回'
|
||||
return stepId === 1 ? '已驳回' : ''
|
||||
}
|
||||
titleStaus.value = ''
|
||||
return '' // 默认返回空字符串
|
||||
}
|
||||
|
||||
// 根据步骤的 Id 返回对应的描述
|
||||
const getDescription = (desId: number) => {
|
||||
const operation = operationDetails.value[desId]
|
||||
if (operation.title == '已出库' && titleStaus.value != '待出库') {
|
||||
return `
|
||||
操作人:${operation.preOutboundUser == null ? ' ' : operation.preOutboundUser}
|
||||
操作时间:${operation.preOutboundTime == null ? ' ' : operation.preOutboundTime}
|
||||
`
|
||||
} else if (
|
||||
operation.title == '已收货' &&
|
||||
titleStaus.value != '待收货' &&
|
||||
titleStaus.value != '待出库'
|
||||
) {
|
||||
return `
|
||||
操作人:${operation.takeOverUser == null ? ' ' : operation.takeOverUser}
|
||||
操作时间:${operation.takeOverTime == null ? ' ' : operation.takeOverTime}
|
||||
`
|
||||
} else if (
|
||||
operation.title == '租赁结束' &&
|
||||
titleStaus.value != '待收货' &&
|
||||
titleStaus.value != '待出库' &&
|
||||
titleStaus.value != '租赁中'
|
||||
) {
|
||||
return `
|
||||
操作人:${operation.rentOverUser == null ? ' ' : operation.rentOverUser}
|
||||
操作时间:${operation.rentOverTime == null ? ' ' : operation.rentOverTime}
|
||||
`
|
||||
}
|
||||
return '' // 默认返回空描述
|
||||
}
|
||||
|
||||
// 计算是否过期
|
||||
const isExpired = (goods: any) => {
|
||||
// 获取当前日期并去掉时间部分
|
||||
const today = new Date()
|
||||
today.setHours(0, 0, 0, 0)
|
||||
|
||||
// 将endtime转为Date对象
|
||||
const endTime = new Date(goods.endTime.replace(/-/g, '/'))
|
||||
|
||||
// 判断endtime是否早于今天
|
||||
return endTime < today
|
||||
}
|
||||
|
||||
const getId = () => {
|
||||
orderStatusTemp.value = Number(route.query.orderStatusTemp)
|
||||
|
|
@ -109,24 +24,19 @@ const getId = () => {
|
|||
const orderDetails = ref<any>({})
|
||||
/** 查询列表 */
|
||||
const getList = async () => {
|
||||
let params = {
|
||||
orderId: idTemp.value,
|
||||
}
|
||||
|
||||
console.log(props.orderId, 'props.orderId')
|
||||
|
||||
const res: any = await getOrderListInfoApi({ orderId: props.orderId })
|
||||
|
||||
console.log(res, '详情')
|
||||
orderDetails.value = res.data
|
||||
// setStepType(res.data.orderStatus)
|
||||
// console.log(res, '订单详情---')
|
||||
// cardList.value = res.data
|
||||
// operationDetails.value[1].preOutboundUser = res.data.detailsList[0].preOutboundUser
|
||||
// operationDetails.value[1].preOutboundTime = res.data.detailsList[0].preOutboundTime
|
||||
// operationDetails.value[2].takeOverUser = res.data.detailsList[0].takeOverUser
|
||||
// operationDetails.value[2].takeOverTime = res.data.detailsList[0].takeOverTime
|
||||
// operationDetails.value[3].rentOverUser = res.data.detailsList[0].rentOverUser
|
||||
// operationDetails.value[3].rentOverTime = res.data.detailsList[0].rentOverTime
|
||||
|
||||
if (props.orderStatus == 20) {
|
||||
const { data: result }: any = await getOverhaulApi(props.orderId)
|
||||
orderDetailDtoList.value = result.orderDetailDtoList
|
||||
repairRecordList.value = result.repairRecordList
|
||||
scrapRecordList.value = result.scrapRecordList
|
||||
lossRecordList.value = result.lossRecordList
|
||||
fileListAll.value = result.fileInfoList
|
||||
overhaulDetails.value = result
|
||||
}
|
||||
}
|
||||
|
||||
onBeforeMount(() => {
|
||||
|
|
@ -155,7 +65,6 @@ const onOrderManage = () => {
|
|||
|
||||
console.log(props.orderStatus, 'orderStatus', props.orderId, 'orderId')
|
||||
|
||||
const time = ref([])
|
||||
const currentActive = ref(0)
|
||||
const stepList = ref([
|
||||
{
|
||||
|
|
@ -245,6 +154,12 @@ if (props.orderStatus == 99) {
|
|||
stepList.value[6].title = '订单取消'
|
||||
isReject.value = true
|
||||
}
|
||||
|
||||
const onViewFileImg = (row: any, index: number) => {
|
||||
viewFileInfoList.value = []
|
||||
viewFileInfoList.value = fileListAll.value.filter((e: any) => e.fileType == index)
|
||||
innerVisible.value = true
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
@ -275,36 +190,6 @@ if (props.orderStatus == 99) {
|
|||
</el-steps>
|
||||
</div>
|
||||
<TitleTip :titleText="`租赁信息`" />
|
||||
|
||||
<!-- <div class="section">
|
||||
<el-header>
|
||||
<el-row type="flex" justify="space-between" align="middle">
|
||||
<el-col :span="3">
|
||||
<span>订单流程</span>
|
||||
</el-col>
|
||||
<el-col
|
||||
:span="2"
|
||||
style="text-align: right; margin-right: 80px; font-size: 20px"
|
||||
>
|
||||
<div style="color: green">{{ titleStaus }}</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-header>
|
||||
|
||||
<el-steps
|
||||
class="step"
|
||||
:space="600"
|
||||
:active="orderStatusTemp === 7 ? 1 : orderStatusTemp - 2"
|
||||
finish-status="success"
|
||||
>
|
||||
<el-step :title="getStepTitle(1)" :description="getDescription(1)"></el-step>
|
||||
<el-step :title="getStepTitle(2)" :description="getDescription(2)"></el-step>
|
||||
<el-step :title="getStepTitle(3)" :description="getDescription(3)"></el-step>
|
||||
<el-step :title="getStepTitle(4)"></el-step>
|
||||
<el-step :title="getStepTitle(5)"></el-step>
|
||||
</el-steps>
|
||||
</div> -->
|
||||
|
||||
<el-row style="padding: 4px 40px; font-size: 14px">
|
||||
<el-col :span="8">
|
||||
<span> 订单编号: </span>
|
||||
|
|
@ -455,8 +340,158 @@ if (props.orderStatus == 99) {
|
|||
<div class="red-font">{{ orderDetails.cost }} 元</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<TitleTip :titleText="`退租检测/费用结算信息`" v-if="props.orderStatus == 20" />
|
||||
|
||||
<div style="padding: 0 15px" v-if="props.orderStatus == 20">
|
||||
<div style="padding: 6px 0 0 0; font-size: 18px; font-weight: bold; color: #eb190a">
|
||||
总费用(元): <span>{{ overhaulDetails.totalCost }}</span>
|
||||
</div>
|
||||
<TitleTip :titleText="`租赁费用明细`" />
|
||||
<el-table
|
||||
border
|
||||
:data="orderDetailDtoList"
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
color: '#fff',
|
||||
background: '#00a288',
|
||||
}"
|
||||
>
|
||||
<el-table-column prop="deviceName" align="center" label="装备名称" />
|
||||
<el-table-column prop="typeName" align="center" label="型号" />
|
||||
<el-table-column prop="num" align="center" label="数量" />
|
||||
<el-table-column align="center" label="租赁单价(元/天)">
|
||||
<template #default="{ row }">
|
||||
<span style="color: #eb190a">
|
||||
{{ row.dayLeasePrice }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="days" align="center" label="租赁天数" />
|
||||
<el-table-column prop="days" align="center" label="租期">
|
||||
<template #default="{ row }">
|
||||
{{ `${row.preOutboundTime}至${row.rentOverTime} ` }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="costs" align="center" label="租赁费用(元)" width="160">
|
||||
</el-table-column>
|
||||
<el-table-column prop="changeCost" align="center" label="改价后费用(元)" />
|
||||
</el-table>
|
||||
|
||||
<TitleTip :titleText="`维修费用明细`" />
|
||||
<el-table
|
||||
:data="repairRecordList"
|
||||
border
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
background: '#00a288',
|
||||
color: '#fff',
|
||||
}"
|
||||
>
|
||||
<el-table-column prop="deviceName" align="center" label="装备名称" />
|
||||
<el-table-column prop="typeName" align="center" label="型号" />
|
||||
<el-table-column prop="repairNum" align="center" label="维修数量" />
|
||||
<el-table-column align="center" prop="repairPrice" label="维修费用(元)">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="repairChangePrice"
|
||||
align="center"
|
||||
label="改价后费用(元)"
|
||||
/>
|
||||
<el-table-column align="center" label="附件" width="160">
|
||||
<template #default="{ row }">
|
||||
<el-button type="primary" size="small" @click="onViewFileImg(row, 0)"
|
||||
>查看</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<TitleTip :titleText="`报废费用明细`" />
|
||||
<el-table
|
||||
:data="scrapRecordList"
|
||||
border
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
background: '#00a288',
|
||||
color: '#fff',
|
||||
}"
|
||||
>
|
||||
<el-table-column prop="deviceName" align="center" label="装备名称" />
|
||||
<el-table-column prop="typeName" align="center" label="型号" />
|
||||
<el-table-column prop="scrapNum" align="center" label="报废数量" />
|
||||
<el-table-column prop="scrapReason" align="center" label="报废原因" />
|
||||
<el-table-column prop="scrapPrice" align="center" label="报废费用(元)">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="scrapChangePrice"
|
||||
align="center"
|
||||
label="改价后费用(元)"
|
||||
/>
|
||||
<el-table-column align="center" label="附件" width="160">
|
||||
<template #default="{ row }">
|
||||
<el-button type="primary" size="small" @click="onViewFileImg(row, 1)"
|
||||
>查看</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<TitleTip :titleText="`丢失费用明细`" />
|
||||
<el-table
|
||||
:data="lossRecordList"
|
||||
border
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
background: '#00a288',
|
||||
color: '#fff',
|
||||
}"
|
||||
>
|
||||
<el-table-column prop="deviceName" align="center" label="装备名称" />
|
||||
<el-table-column prop="typeName" align="center" label="型号" />
|
||||
<el-table-column prop="lossNum" align="center" label="丢失数量" />
|
||||
<el-table-column prop="lossPrice" align="center" label="丢失费用(元)">
|
||||
</el-table-column>
|
||||
<el-table-column prop="lossChangePrice" align="center" label="改价后费用(元)" />
|
||||
<el-table-column align="center" label="附件" width="160">
|
||||
<template #default="{ row }">
|
||||
<el-button type="primary" size="small" @click="onViewFileImg(row, 2)">
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog v-model="innerVisible" width="500" title="附件详情" append-to-body>
|
||||
<el-table
|
||||
:data="viewFileInfoList"
|
||||
border
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
background: '#00a288',
|
||||
color: '#fff',
|
||||
}"
|
||||
>
|
||||
<el-table-column prop="fileName" align="center" label="文件名称" />
|
||||
<el-table-column align="center" label="操作" width="120">
|
||||
<template #default="{ row }">
|
||||
<el-image
|
||||
style="width: 60px; height: 60px"
|
||||
:src="row.fileUrl"
|
||||
:zoom-rate="1.2"
|
||||
:max-scale="7"
|
||||
:min-scale="0.2"
|
||||
:preview-src-list="[row.fileUrl]"
|
||||
:initial-index="0"
|
||||
fit="cover"
|
||||
:z-index="9999999999"
|
||||
:preview-teleported="true"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
|
|
|||
|
|
@ -573,7 +573,7 @@ const costSubmit = () => {
|
|||
<el-col :span="8">
|
||||
<span> 承租方地址: </span>
|
||||
<span>
|
||||
{{ item.czcompanyName }}
|
||||
{{ item.address }}
|
||||
</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@
|
|||
:preview-src-list="[row.fileUrl]"
|
||||
:initial-index="0"
|
||||
fit="cover"
|
||||
z-index="9999999999"
|
||||
:z-index="9999999999"
|
||||
:preview-teleported="true"
|
||||
/>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,106 +1,21 @@
|
|||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { getOrderListInfoApi } from 'http/api/usercenter/seekorder'
|
||||
import { getOverhaulApi } from 'http/api/rent-termination/index'
|
||||
|
||||
import TitleTip from 'components/TitleTip/index.vue'
|
||||
const route = useRoute()
|
||||
/* 查询参数 */
|
||||
const cardList = ref<any>({})
|
||||
const orderDetailDtoList = ref<any>([])
|
||||
const scrapRecordList = ref<any>([])
|
||||
const lossRecordList = ref<any>([])
|
||||
const repairRecordList = ref<any>([])
|
||||
const fileListAll = ref<any>([])
|
||||
const viewFileInfoList = ref<any>([])
|
||||
const overhaulDetails = ref<any>({})
|
||||
const innerVisible = ref(false)
|
||||
|
||||
const orderStatusTemp = ref<number>(0)
|
||||
const idTemp = ref<string>('')
|
||||
const titleStaus = ref<any>('')
|
||||
//描述信息
|
||||
const operationDetails = ref<any>({
|
||||
1: { title: '已出库', preOutboundUser: '', preOutboundTime: '' },
|
||||
2: { title: '已收货', takeOverUser: '', takeOverTime: '' },
|
||||
3: { title: '租赁结束', rentOverUser: '', rentOverTime: '' },
|
||||
})
|
||||
// 根据步骤的 Id 返回对应的标题
|
||||
const getStepTitle = (stepId: number) => {
|
||||
if (orderStatusTemp.value === 2) {
|
||||
titleStaus.value = '待出库'
|
||||
return stepId === 1 ? '待出库' : ''
|
||||
} else if (orderStatusTemp.value === 3) {
|
||||
titleStaus.value = '待收货'
|
||||
return stepId === 1 ? '已出库' : stepId === 2 ? '待收货' : ''
|
||||
} else if (orderStatusTemp.value === 4) {
|
||||
titleStaus.value = '租赁中'
|
||||
return stepId === 1 ? '已出库' : stepId === 2 ? '已收货' : stepId === 3 ? '租赁中' : ''
|
||||
} else if (orderStatusTemp.value === 5) {
|
||||
titleStaus.value = '已退租'
|
||||
return stepId === 1
|
||||
? '已出库'
|
||||
: stepId === 2
|
||||
? '已收货'
|
||||
: stepId === 3
|
||||
? '租赁结束'
|
||||
: stepId === 4
|
||||
? '已退租'
|
||||
: ''
|
||||
} else if (orderStatusTemp.value === 6) {
|
||||
titleStaus.value = '已完成'
|
||||
return stepId === 1
|
||||
? '已出库'
|
||||
: stepId === 2
|
||||
? '已收货'
|
||||
: stepId === 3
|
||||
? '租赁结束'
|
||||
: stepId === 4
|
||||
? '已退租'
|
||||
: stepId === 5
|
||||
? '已完成'
|
||||
: ''
|
||||
} else if (orderStatusTemp.value === 7) {
|
||||
titleStaus.value = '已驳回'
|
||||
return stepId === 1 ? '已驳回' : ''
|
||||
}
|
||||
titleStaus.value = ''
|
||||
return '' // 默认返回空字符串
|
||||
}
|
||||
|
||||
// 根据步骤的 Id 返回对应的描述
|
||||
const getDescription = (desId: number) => {
|
||||
const operation = operationDetails.value[desId]
|
||||
if (operation.title == '已出库' && titleStaus.value != '待出库') {
|
||||
return `
|
||||
操作人:${operation.preOutboundUser == null ? ' ' : operation.preOutboundUser}
|
||||
操作时间:${operation.preOutboundTime == null ? ' ' : operation.preOutboundTime}
|
||||
`
|
||||
} else if (
|
||||
operation.title == '已收货' &&
|
||||
titleStaus.value != '待收货' &&
|
||||
titleStaus.value != '待出库'
|
||||
) {
|
||||
return `
|
||||
操作人:${operation.takeOverUser == null ? ' ' : operation.takeOverUser}
|
||||
操作时间:${operation.takeOverTime == null ? ' ' : operation.takeOverTime}
|
||||
`
|
||||
} else if (
|
||||
operation.title == '租赁结束' &&
|
||||
titleStaus.value != '待收货' &&
|
||||
titleStaus.value != '待出库' &&
|
||||
titleStaus.value != '租赁中'
|
||||
) {
|
||||
return `
|
||||
操作人:${operation.rentOverUser == null ? ' ' : operation.rentOverUser}
|
||||
操作时间:${operation.rentOverTime == null ? ' ' : operation.rentOverTime}
|
||||
`
|
||||
}
|
||||
return '' // 默认返回空描述
|
||||
}
|
||||
|
||||
// 计算是否过期
|
||||
const isExpired = (goods: any) => {
|
||||
// 获取当前日期并去掉时间部分
|
||||
const today = new Date()
|
||||
today.setHours(0, 0, 0, 0)
|
||||
|
||||
// 将endtime转为Date对象
|
||||
const endTime = new Date(goods.endTime.replace(/-/g, '/'))
|
||||
|
||||
// 判断endtime是否早于今天
|
||||
return endTime < today
|
||||
}
|
||||
|
||||
const getId = () => {
|
||||
orderStatusTemp.value = Number(route.query.orderStatusTemp)
|
||||
|
|
@ -109,24 +24,19 @@ const getId = () => {
|
|||
const orderDetails = ref<any>({})
|
||||
/** 查询列表 */
|
||||
const getList = async () => {
|
||||
let params = {
|
||||
orderId: idTemp.value,
|
||||
}
|
||||
|
||||
console.log(props.orderId, 'props.orderId')
|
||||
|
||||
const res: any = await getOrderListInfoApi({ orderId: props.orderId })
|
||||
|
||||
console.log(res, '详情')
|
||||
orderDetails.value = res.data
|
||||
// setStepType(res.data.orderStatus)
|
||||
// console.log(res, '订单详情---')
|
||||
// cardList.value = res.data
|
||||
// operationDetails.value[1].preOutboundUser = res.data.detailsList[0].preOutboundUser
|
||||
// operationDetails.value[1].preOutboundTime = res.data.detailsList[0].preOutboundTime
|
||||
// operationDetails.value[2].takeOverUser = res.data.detailsList[0].takeOverUser
|
||||
// operationDetails.value[2].takeOverTime = res.data.detailsList[0].takeOverTime
|
||||
// operationDetails.value[3].rentOverUser = res.data.detailsList[0].rentOverUser
|
||||
// operationDetails.value[3].rentOverTime = res.data.detailsList[0].rentOverTime
|
||||
|
||||
if (props.orderStatus == 20) {
|
||||
const { data: result }: any = await getOverhaulApi(props.orderId)
|
||||
orderDetailDtoList.value = result.orderDetailDtoList
|
||||
repairRecordList.value = result.repairRecordList
|
||||
scrapRecordList.value = result.scrapRecordList
|
||||
lossRecordList.value = result.lossRecordList
|
||||
fileListAll.value = result.fileInfoList
|
||||
overhaulDetails.value = result
|
||||
}
|
||||
}
|
||||
|
||||
onBeforeMount(() => {
|
||||
|
|
@ -155,7 +65,6 @@ const onOrderManage = () => {
|
|||
|
||||
console.log(props.orderStatus, 'orderStatus', props.orderId, 'orderId')
|
||||
|
||||
const time = ref([])
|
||||
const currentActive = ref(0)
|
||||
const stepList = ref([
|
||||
{
|
||||
|
|
@ -245,6 +154,12 @@ if (props.orderStatus == 99) {
|
|||
stepList.value[6].title = '订单取消'
|
||||
isReject.value = true
|
||||
}
|
||||
|
||||
const onViewFileImg = (row: any, index: number) => {
|
||||
viewFileInfoList.value = []
|
||||
viewFileInfoList.value = fileListAll.value.filter((e: any) => e.fileType == index)
|
||||
innerVisible.value = true
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
@ -275,36 +190,6 @@ if (props.orderStatus == 99) {
|
|||
</el-steps>
|
||||
</div>
|
||||
<TitleTip :titleText="`租赁信息`" />
|
||||
|
||||
<!-- <div class="section">
|
||||
<el-header>
|
||||
<el-row type="flex" justify="space-between" align="middle">
|
||||
<el-col :span="3">
|
||||
<span>订单流程</span>
|
||||
</el-col>
|
||||
<el-col
|
||||
:span="2"
|
||||
style="text-align: right; margin-right: 80px; font-size: 20px"
|
||||
>
|
||||
<div style="color: green">{{ titleStaus }}</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-header>
|
||||
|
||||
<el-steps
|
||||
class="step"
|
||||
:space="600"
|
||||
:active="orderStatusTemp === 7 ? 1 : orderStatusTemp - 2"
|
||||
finish-status="success"
|
||||
>
|
||||
<el-step :title="getStepTitle(1)" :description="getDescription(1)"></el-step>
|
||||
<el-step :title="getStepTitle(2)" :description="getDescription(2)"></el-step>
|
||||
<el-step :title="getStepTitle(3)" :description="getDescription(3)"></el-step>
|
||||
<el-step :title="getStepTitle(4)"></el-step>
|
||||
<el-step :title="getStepTitle(5)"></el-step>
|
||||
</el-steps>
|
||||
</div> -->
|
||||
|
||||
<el-row style="padding: 4px 40px; font-size: 14px">
|
||||
<el-col :span="8">
|
||||
<span> 订单编号: </span>
|
||||
|
|
@ -455,8 +340,158 @@ if (props.orderStatus == 99) {
|
|||
<div class="red-font">{{ orderDetails.cost }} 元</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<TitleTip :titleText="`退租检测/费用结算信息`" v-if="props.orderStatus == 20" />
|
||||
|
||||
<div style="padding: 0 15px" v-if="props.orderStatus == 20">
|
||||
<div style="padding: 6px 0 0 0; font-size: 18px; font-weight: bold; color: #eb190a">
|
||||
总费用(元): <span>{{ overhaulDetails.totalCost }}</span>
|
||||
</div>
|
||||
<TitleTip :titleText="`租赁费用明细`" />
|
||||
<el-table
|
||||
border
|
||||
:data="orderDetailDtoList"
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
color: '#fff',
|
||||
background: '#00a288',
|
||||
}"
|
||||
>
|
||||
<el-table-column prop="deviceName" align="center" label="装备名称" />
|
||||
<el-table-column prop="typeName" align="center" label="型号" />
|
||||
<el-table-column prop="num" align="center" label="数量" />
|
||||
<el-table-column align="center" label="租赁单价(元/天)">
|
||||
<template #default="{ row }">
|
||||
<span style="color: #eb190a">
|
||||
{{ row.dayLeasePrice }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="days" align="center" label="租赁天数" />
|
||||
<el-table-column prop="days" align="center" label="租期">
|
||||
<template #default="{ row }">
|
||||
{{ `${row.preOutboundTime}至${row.rentOverTime} ` }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="costs" align="center" label="租赁费用(元)" width="160">
|
||||
</el-table-column>
|
||||
<el-table-column prop="changeCost" align="center" label="改价后费用(元)" />
|
||||
</el-table>
|
||||
|
||||
<TitleTip :titleText="`维修费用明细`" />
|
||||
<el-table
|
||||
:data="repairRecordList"
|
||||
border
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
background: '#00a288',
|
||||
color: '#fff',
|
||||
}"
|
||||
>
|
||||
<el-table-column prop="deviceName" align="center" label="装备名称" />
|
||||
<el-table-column prop="typeName" align="center" label="型号" />
|
||||
<el-table-column prop="repairNum" align="center" label="维修数量" />
|
||||
<el-table-column align="center" prop="repairPrice" label="维修费用(元)">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="repairChangePrice"
|
||||
align="center"
|
||||
label="改价后费用(元)"
|
||||
/>
|
||||
<el-table-column align="center" label="附件" width="160">
|
||||
<template #default="{ row }">
|
||||
<el-button type="primary" size="small" @click="onViewFileImg(row, 0)"
|
||||
>查看</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<TitleTip :titleText="`报废费用明细`" />
|
||||
<el-table
|
||||
:data="scrapRecordList"
|
||||
border
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
background: '#00a288',
|
||||
color: '#fff',
|
||||
}"
|
||||
>
|
||||
<el-table-column prop="deviceName" align="center" label="装备名称" />
|
||||
<el-table-column prop="typeName" align="center" label="型号" />
|
||||
<el-table-column prop="scrapNum" align="center" label="报废数量" />
|
||||
<el-table-column prop="scrapReason" align="center" label="报废原因" />
|
||||
<el-table-column prop="scrapPrice" align="center" label="报废费用(元)">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="scrapChangePrice"
|
||||
align="center"
|
||||
label="改价后费用(元)"
|
||||
/>
|
||||
<el-table-column align="center" label="附件" width="160">
|
||||
<template #default="{ row }">
|
||||
<el-button type="primary" size="small" @click="onViewFileImg(row, 1)"
|
||||
>查看</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<TitleTip :titleText="`丢失费用明细`" />
|
||||
<el-table
|
||||
:data="lossRecordList"
|
||||
border
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
background: '#00a288',
|
||||
color: '#fff',
|
||||
}"
|
||||
>
|
||||
<el-table-column prop="deviceName" align="center" label="装备名称" />
|
||||
<el-table-column prop="typeName" align="center" label="型号" />
|
||||
<el-table-column prop="lossNum" align="center" label="丢失数量" />
|
||||
<el-table-column prop="lossPrice" align="center" label="丢失费用(元)">
|
||||
</el-table-column>
|
||||
<el-table-column prop="lossChangePrice" align="center" label="改价后费用(元)" />
|
||||
<el-table-column align="center" label="附件" width="160">
|
||||
<template #default="{ row }">
|
||||
<el-button type="primary" size="small" @click="onViewFileImg(row, 2)">
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog v-model="innerVisible" width="500" title="附件详情" append-to-body>
|
||||
<el-table
|
||||
:data="viewFileInfoList"
|
||||
border
|
||||
show-overflow-tooltip
|
||||
:header-cell-style="{
|
||||
background: '#00a288',
|
||||
color: '#fff',
|
||||
}"
|
||||
>
|
||||
<el-table-column prop="fileName" align="center" label="文件名称" />
|
||||
<el-table-column align="center" label="操作" width="120">
|
||||
<template #default="{ row }">
|
||||
<el-image
|
||||
style="width: 60px; height: 60px"
|
||||
:src="row.fileUrl"
|
||||
:zoom-rate="1.2"
|
||||
:max-scale="7"
|
||||
:min-scale="0.2"
|
||||
:preview-src-list="[row.fileUrl]"
|
||||
:initial-index="0"
|
||||
fit="cover"
|
||||
:z-index="9999999999"
|
||||
:preview-teleported="true"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ const getList = async () => {
|
|||
|
||||
const emit = defineEmits(['onOpenOrderDetails'])
|
||||
//订单详情
|
||||
const handleViewOrder = (index: Number, row: any) => {
|
||||
const handleViewOrder = (row: any) => {
|
||||
// router.push({
|
||||
// name: 'orderManagementInfoBuy',
|
||||
// query: { orderStatusTemp: Number(row.orderStatus), idTemp: row.orderId },
|
||||
|
|
@ -964,11 +964,7 @@ const wordUrl = ref('')
|
|||
>出库</el-button
|
||||
>
|
||||
|
||||
<el-button
|
||||
@click="handleViewOrder(j, item)"
|
||||
type="primary"
|
||||
size="small"
|
||||
>
|
||||
<el-button @click="handleViewOrder(item)" type="primary" size="small">
|
||||
订单详情
|
||||
</el-button>
|
||||
<el-button @click="handleViewWord(j, item)" type="primary" size="small">
|
||||
|
|
|
|||
|
|
@ -531,7 +531,7 @@
|
|||
:min-scale="0.2"
|
||||
:src="row.fileUrl"
|
||||
:initial-index="0"
|
||||
z-index="9999999999"
|
||||
:z-index="9999999999"
|
||||
:preview-teleported="true"
|
||||
:preview-src-list="[row.fileUrl]"
|
||||
style="width: 60px; height: 60px"
|
||||
|
|
|
|||
Loading…
Reference in New Issue