问题清单修复

This commit is contained in:
BianLzhaoMin 2024-12-16 17:04:41 +08:00
parent a854312c1b
commit 3a18b18490
6 changed files with 227 additions and 22 deletions

2
components.d.ts vendored
View File

@ -20,7 +20,6 @@ declare module 'vue' {
ElCollapse: typeof import('element-plus/es')['ElCollapse']
ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElCountdown: typeof import('element-plus/es')['ElCountdown']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
ElDialog: typeof import('element-plus/es')['ElDialog']
ElEmpty: typeof import('element-plus/es')['ElEmpty']
@ -42,7 +41,6 @@ declare module 'vue' {
ElSelect: typeof import('element-plus/es')['ElSelect']
ElStep: typeof import('element-plus/es')['ElStep']
ElSteps: typeof import('element-plus/es')['ElSteps']
ElSwitch: typeof import('element-plus/es')['ElSwitch']
ElTable: typeof import('element-plus/es')['ElTable']
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
ElTag: typeof import('element-plus/es')['ElTag']

View File

@ -35,8 +35,8 @@
active: val.isChecked,
}"
>
<span v-if="i != 4">{{ val.name }}</span>
<span v-else>
<span>{{ val.name }}</span>
<!-- <span v-else>
{{ val.name }}
{{
index == 0
@ -45,7 +45,7 @@
? `(${val.maCount})`
: '(0)'
}}
</span>
</span> -->
</div>
</template>

View File

@ -242,6 +242,7 @@ const onSelectItem = (type: number) => {
@click="onSharedHallByCompany(item.companyId, item.companyName)"
>
{{ item.companyName }}
{{ item.maCount ? `(${item.maCount})` : '(0)' }}
</li>
</div>
</template>

View File

@ -160,6 +160,10 @@ const onViewFileImg = (row: any, index: number) => {
viewFileInfoList.value = fileListAll.value.filter((e: any) => e.fileType == index)
innerVisible.value = true
}
const isOrderComplete = computed(() => {
if (props.orderStatus == 20) return 'text-decoration: line-through'
})
</script>
<template>
@ -258,7 +262,7 @@ const onViewFileImg = (row: any, index: number) => {
border-radius: 20px;
"
>
<el-col :span="14" style="padding-left: 30px">
<el-col :span="12" style="padding-left: 30px">
<div
v-for="(goods, j) in orderDetails.detailsList"
:key="j"
@ -292,7 +296,14 @@ const onViewFileImg = (row: any, index: number) => {
</el-row>
<el-row>
<el-col :span="3"> 租期 :</el-col>
<el-col :span="18"> {{ goods.days }}{{ ' ' + '天' }} </el-col>
<el-col :span="18">
<span style="margin-right: 10px" :style="isOrderComplete">
{{ goods.days }}{{ ' ' + '天' }}
</span>
<span v-if="props.orderStatus == 20">
{{ 3 }}{{ ' ' + '天' }}
</span>
</el-col>
</el-row>
<el-row>
<el-col :span="3"> 租金 </el-col>
@ -306,7 +317,7 @@ const onViewFileImg = (row: any, index: number) => {
</div>
</el-col>
<el-col :span="5" class="order-items-info">
<el-col :span="7" class="order-items-info">
<div
v-for="(goods, j) in orderDetails.detailsList"
:key="j"
@ -328,23 +339,35 @@ const onViewFileImg = (row: any, index: number) => {
"
>
<div>租期</div>
<div style="font-weight: bold; margin-top: 10px">
<div
style="font-weight: bold; margin-top: 10px"
:style="isOrderComplete"
>
{{ goods.rentBeginTime }}{{ goods.rentEndTime }}
</div>
<div
style="font-weight: bold; margin-top: 10px"
v-if="props.orderStatus == 20"
>
{{ goods.takeOverTime.slice(0, 10) }}{{
goods.rentOverTime.slice(0, 10)
}}
</div>
</div>
</div>
</el-col>
<el-col :span="5" class="order-items-info" style="border: none; font-size: 13px">
<div>总费用</div>
<div class="red-font">{{ orderDetails.cost }} </div>
<div>租赁总费用</div>
<div class="red-font" :style="isOrderComplete">{{ orderDetails.cost }} </div>
<div class="red-font" v-if="props.orderStatus == 20">{{ 800 }} </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">
<div style="padding: 6px 0 0 0; font-size: 18px; color: #eb190a; font-weight: bold">
总费用() <span>{{ overhaulDetails.totalCost }}</span>
</div>
<TitleTip :titleText="`租赁费用明细`" />
@ -375,7 +398,7 @@ const onViewFileImg = (row: any, index: number) => {
</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-column prop="changeCost" align="center" label="改价后实际费用(元)" />
</el-table>
<TitleTip :titleText="`维修费用明细`" />
@ -396,7 +419,7 @@ const onViewFileImg = (row: any, index: number) => {
<el-table-column
prop="repairChangePrice"
align="center"
label="改价后费用(元)"
label="改价后实际费用(元)"
/>
<el-table-column align="center" label="附件" width="160">
<template #default="{ row }">

View File

@ -258,7 +258,7 @@ const onViewFileImg = (row: any, index: number) => {
border-radius: 20px;
"
>
<el-col :span="14" style="padding-left: 30px">
<el-col :span="12" style="padding-left: 30px">
<div
v-for="(goods, j) in orderDetails.detailsList"
:key="j"
@ -306,7 +306,7 @@ const onViewFileImg = (row: any, index: number) => {
</div>
</el-col>
<el-col :span="5" class="order-items-info">
<el-col :span="7" class="order-items-info">
<div
v-for="(goods, j) in orderDetails.detailsList"
:key="j"

View File

@ -1,7 +1,7 @@
<template>
<!-- 新增修改对话框 -->
<el-dialog
width="65%"
width="90%"
@close="onClose"
destroy-on-close
:title="dialogTitle"
@ -26,15 +26,172 @@
{{ orderDetails.maNumber }}
</span>
</div>
<div>
<!-- <div>
<span>退租时间</span>
<span>
{{ orderDetails.rentEndTime }}
</span>
</div>
</div> -->
</el-row>
<TitleTip :titleText="`维修费用`" />
<el-table
border
:data="orderDetails.detailsList"
show-overflow-tooltip
:header-cell-style="{
background: '#f2f2f2',
color: '#333',
}"
>
<el-table-column align="center" label="装备信息" width="320">
<template #default="{ row }">
<div
style="
display: flex;
align-items: center;
font-size: 12px;
color: #000;
width: 100%;
"
>
<div>
<el-image
:src="row.url"
style="width: 90px; height: 60px"
fit="cover"
/>
</div>
<div
style="
display: flex;
flex-direction: column;
align-items: flex-start;
margin-left: 5px;
"
>
<span>
{{ row.deviceName }}
</span>
<span> 型号{{ row.typeName }} </span>
<span> 租期{{ row.rentBeginTime }}{{ row.rentEndTime }} </span>
</div>
</div>
</template>
</el-table-column>
<el-table-column align="center" label="装备状态">
<template #default="{ row }">
<el-tag
style="padding: 6px 12px"
:type="orderType(row.orderStatus)"
effect="light"
>{{ orderText(row.orderStatus) }}</el-tag
>
</template>
</el-table-column>
<el-table-column align="center" label="维修费用">
<template #default="{ row }">
<el-input
inputmode="numeric"
v-model="row.repairPrice"
placeholder="请输入"
/>
</template>
</el-table-column>
<el-table-column align="center" label="维修附件">
<template #default="{ row }">
<UploadComponentNew
:maxSize="2"
:minLimit="0"
width="100px"
height="100px"
:max-limit="4"
:multiple="true"
:autoUpload="true"
:actionUrl="uploadUrl"
:acceptTypeList="['.jpg', '.png']"
@onFileChange="onRepairFileChange"
>
<template v-slot:default>
<el-button type="primary" size="small" class="primary-lease">
上传
</el-button>
</template>
</UploadComponentNew>
</template>
</el-table-column>
<el-table-column align="center" label="报废费用">
<template #default="{ row }">
<el-input inputmode="numeric" v-model="row.scrapPrice" placeholder="请输入"
/></template>
</el-table-column>
<el-table-column align="center" label="报废附件">
<template #default="{ row }">
<UploadComponentNew
:maxSize="2"
:minLimit="0"
width="100px"
height="100px"
:max-limit="4"
:multiple="true"
:autoUpload="true"
:actionUrl="uploadUrl"
:acceptTypeList="['.jpg', '.png']"
@onFileChange="onRepairFileChange"
>
<template v-slot:default>
<el-button type="primary" size="small" class="primary-lease">
上传
</el-button>
</template>
</UploadComponentNew>
</template>
</el-table-column>
<el-table-column align="center" label="丢失费用">
<template #default="{ row }">
<el-input
inputmode="numeric"
v-model="row.lossPrice"
placeholder="请输入"
/>
</template>
</el-table-column>
<el-table-column align="center" label="丢失附件">
<template #default="{ row }">
<UploadComponentNew
:maxSize="2"
:minLimit="0"
width="100px"
height="100px"
:max-limit="4"
:multiple="true"
:autoUpload="true"
:actionUrl="uploadUrl"
:acceptTypeList="['.jpg', '.png']"
@onFileChange="onRepairFileChange"
>
<template v-slot:default>
<el-button type="primary" size="small" class="primary-lease">
上传
</el-button>
</template>
</UploadComponentNew>
</template>
</el-table-column>
<el-table-column align="center" label="操作">
<template #default="scope">
<el-button
type="primary"
size="small"
@click="onEditDeviceInfo(scope)"
class="primary-lease"
>
编辑
</el-button>
</template>
</el-table-column>
</el-table>
<!-- <TitleTip :titleText="`维修费用`" />
<el-form
:model="item"
:key="item.newId"
@ -388,9 +545,9 @@
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<div style="text-align: right">
<div style="text-align: right; margin-top: 10px">
<el-button type="primary" class="primary-lease" @click="onCancel">取消</el-button>
<el-button type="primary" class="primary-lease" @click="onSubmit(false)">
保存
@ -593,6 +750,30 @@ const props = defineProps({
default: 1,
},
})
const statusList: any = [
{ id: '1', name: '待接单' },
{ id: '2', name: '待出库' },
{ id: '3', name: '待收货' },
{ id: '4', name: '租赁中' },
{ id: '5', name: '已退租' },
{ id: '6', name: '已退租' },
{ id: '15', name: '结算待确认' },
{ id: '7', name: '已完成' },
{ id: '8', name: '已驳回' },
{ id: '10', name: '已检修待结算' },
{ id: '20', name: '已完成' },
{ id: '99', name: '已取消' },
]
const orderText = (status: any) => {
return statusList.filter((e: any) => e.id == status)[0].name
}
const orderType = (status: any) => {
if (status == 1 || status == 2 || status == 3 || status == 5) return 'primary'
if (status == 4 || status == 7) return 'success'
if (status == 5 || status == 6) return 'warning'
if (status == 8) return 'danger'
}
const emits = defineEmits(['update:addOrEditDialogVisible', 'onChangeGetList'])
@ -955,6 +1136,8 @@ const onViewFileImg = (row: any, index: number) => {
innerVisible.value = true
}
// const onEditDeviceInfo
watch(
() => props.orderId,
(newValue) => {