问题修复

This commit is contained in:
BianLzhaoMin 2024-12-03 18:07:30 +08:00
parent 98a864868c
commit aaa3488cfd
10 changed files with 518 additions and 321 deletions

4
components.d.ts vendored
View File

@ -18,12 +18,12 @@ declare module 'vue' {
ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
ElCol: typeof import('element-plus/es')['ElCol'] ElCol: typeof import('element-plus/es')['ElCol']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElCountdown: typeof import('element-plus/es')['ElCountdown']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
ElDialog: typeof import('element-plus/es')['ElDialog'] ElDialog: typeof import('element-plus/es')['ElDialog']
ElEmpty: typeof import('element-plus/es')['ElEmpty'] ElEmpty: typeof import('element-plus/es')['ElEmpty']
ElForm: typeof import('element-plus/es')['ElForm'] ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElHeader: typeof import('element-plus/es')['ElHeader']
ElIcon: typeof import('element-plus/es')['ElIcon'] ElIcon: typeof import('element-plus/es')['ElIcon']
ElImage: typeof import('element-plus/es')['ElImage'] ElImage: typeof import('element-plus/es')['ElImage']
ElInput: typeof import('element-plus/es')['ElInput'] ElInput: typeof import('element-plus/es')['ElInput']
@ -38,6 +38,8 @@ declare module 'vue' {
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
ElRow: typeof import('element-plus/es')['ElRow'] ElRow: typeof import('element-plus/es')['ElRow']
ElSelect: typeof import('element-plus/es')['ElSelect'] ElSelect: typeof import('element-plus/es')['ElSelect']
ElStep: typeof import('element-plus/es')['ElStep']
ElSteps: typeof import('element-plus/es')['ElSteps']
ElTable: typeof import('element-plus/es')['ElTable'] ElTable: typeof import('element-plus/es')['ElTable']
ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
ElTag: typeof import('element-plus/es')['ElTag'] ElTag: typeof import('element-plus/es')['ElTag']

3
env/.env.dev vendored
View File

@ -7,7 +7,8 @@ VITE_API_URL = '/proxyApi'
# 开发环境接口地址 # 开发环境接口地址
# VITE_proxyTarget = 'http://10.40.92.74:8080' #盛旭 # VITE_proxyTarget = 'http://10.40.92.74:8080' #盛旭
VITE_proxyTarget = 'http://192.168.2.246:28080' # 马帅 # VITE_proxyTarget = 'http://192.168.2.246:28080' # 马帅
VITE_proxyTarget = 'http://192.168.2.123:28080' # 梁超
# VITE_proxyTarget = 'http://192.168.0.244:28580' # 马帅 # VITE_proxyTarget = 'http://192.168.0.244:28580' # 马帅
# VITE_proxyTarget = 'http://192.168.2.129:18080' # 马帅 # VITE_proxyTarget = 'http://192.168.2.129:18080' # 马帅

View File

@ -10,15 +10,17 @@ const store: any = mainStore()
const userStore = useStore() const userStore = useStore()
const cart = cartStore() const cart = cartStore()
const isType = localStorage.getItem('rolesType') const isType = localStorage.getItem('rolesType')
userStore.editMenuList(1) userStore.editMenuList(1)
const route = useRoute() const route = useRoute()
const router = useRouter() const router = useRouter()
const isRolesSelect = ref<boolean>(false) const isRolesSelect = ref<boolean>(false)
const rolesName = ref<any>('1') const rolesName = ref<any>('1')
rolesName.value = localStorage.getItem('rolesType') rolesName.value = localStorage.getItem('rolesType')
const isAdmin = ref(false)
const roles = store.userInfo.roles
if (roles.length > 0) {
isAdmin.value = roles.some((e: any) => e.roleKey == 'admin')
}
// 退 // 退
const isShowLogout = computed(() => { const isShowLogout = computed(() => {
@ -109,6 +111,7 @@ $bus.on('callBackText', (val) => {
// //
const onRolesCheck = () => { const onRolesCheck = () => {
if (isAdmin.value) return
isRolesSelect.value = true isRolesSelect.value = true
} }
// //
@ -148,6 +151,18 @@ const onCarts = () => {
name: 'cart', name: 'cart',
}) })
} }
const onJumpUser = () => {
const roles = store.userInfo.roles
if (roles.length > 0) {
const isAdmin = roles.some((e: any) => e.roleKey == 'admin')
if (isAdmin) {
window.location.replace(`http://192.168.0.244:17788?token=${store.token}`)
} else {
router.push({ name: 'my-user' })
}
}
}
</script> </script>
<template> <template>
@ -187,7 +202,7 @@ const onCarts = () => {
border-radius: 4px; border-radius: 4px;
" "
> >
{{ rolesName == 1 ? '出租方' : '承租方' }} {{ isAdmin ? '管理方' : rolesName == 1 ? '出租方' : '承租方' }}
</i> </i>
<!-- <el-icon style="margin-left: 10px"><ArrowDownBold /></el-icon> --> <!-- <el-icon style="margin-left: 10px"><ArrowDownBold /></el-icon> -->
</a> </a>
@ -211,14 +226,7 @@ const onCarts = () => {
</div> </div>
<div class="header-item"> <div class="header-item">
<a <a @click="onJumpUser">个人中心</a>
@click="
() => {
router.push({ name: 'my-user' })
}
"
>个人中心</a
>
<div class="line"></div> <div class="line"></div>
</div> </div>
<!-- <div class="header-item last-item"> <!-- <div class="header-item last-item">

View File

@ -437,12 +437,41 @@ const onCartSubmit = async () => {
} }
}) })
const submitParams = { const paramsList: any = []
cost: orderAmountPice.value, cardList.value.forEach((j: any, index: any) => {
detailsList, let itemsArray: any = []
} j.devInfoVoList.forEach((e: any) => {
if (e.isChecked) {
itemsArray.push({
maId: e.maId,
id: e.id,
rentBeginTime: e.rentBeginTime + ' ' + '00:00:00',
rentEndTime: e.rentEndTime + ' ' + '00:00:00',
manageType: e.manageType,
days: e.days,
num: e.num,
costs: e.num * e.days * e.dayLeasePrice,
})
}
})
paramsList[index] = {
cost: 0,
detailsList: itemsArray,
}
})
const res: any = await submitBookCarApi(submitParams) paramsList.forEach((e: any) => {
e.cost = e.detailsList.reduce((accumulator: any, currentValue: any) => {
return accumulator + currentValue.costs
}, 0)
})
// const submitParams = {
// cost: orderAmountPice.value,
// detailsList,
// }
const res: any = await submitBookCarApi(paramsList)
if (res.code === 200) { if (res.code === 200) {
ElMessage({ ElMessage({
showClose: false, showClose: false,
@ -450,7 +479,7 @@ const onCartSubmit = async () => {
type: 'success', type: 'success',
}) })
userStore.editcurrentMenuItem('orderManagementCz') userStore.editcurrentMenuItem('orderManagement')
setTimeout(() => { setTimeout(() => {
router.push({ router.push({
name: 'my-user', name: 'my-user',

View File

@ -356,7 +356,7 @@ const screenChooseList: any = reactive([
}, },
{ {
type: 'companyId', type: 'companyId',
name: '设备所在地:', name: '所属公司',
isShow: true, isShow: true,
list: [ list: [
{ {
@ -467,7 +467,7 @@ const lowerClassData = async () => {
const getCompanyAddressListData = async () => { const getCompanyAddressListData = async () => {
const res: any = await getCompanyListApi() const res: any = await getCompanyListApi()
const addressList = res.data.map((e: any) => { const addressList = res.data.map((e: any) => {
return { ...e, name: e.operateAddress, value: e.companyId, isChecked: false, index: 3 } return { ...e, name: e.companyName, value: e.companyId, isChecked: false, index: 4 }
}) })
screenChooseList[4].list.push(...addressList) screenChooseList[4].list.push(...addressList)
} }
@ -533,7 +533,7 @@ const onClearTags = () => {
screenChooseList.forEach((e: any, i: any) => { screenChooseList.forEach((e: any, i: any) => {
e.list.forEach((j: any, index: number) => { e.list.forEach((j: any, index: number) => {
j.isChecked = false j.isChecked = false
if (i != 4) { if (i != 5) {
if (index === 0) { if (index === 0) {
j.isChecked = true j.isChecked = true
} }
@ -552,8 +552,9 @@ const onClearTags = () => {
// //
const handleClose = (tag: any) => { const handleClose = (tag: any) => {
console.log(tag, '***')
tag.isChecked = false tag.isChecked = false
if (tag.index != 4) { if (tag.index != 5) {
screenChooseList[tag.index].list[0].isChecked = true screenChooseList[tag.index].list[0].isChecked = true
} }
@ -627,14 +628,22 @@ onMounted(() => {
} }
}) })
} }
if (route.query.companyId) {
routeParams = {
companyId: route.query.companyId,
}
screenChooseList[4].list[0].isChecked = false
screenChooseList[4].list.forEach((e: any) => {
if (route.query.companyId == e.companyId) {
e.isChecked = true
}
})
}
getDeviceListData(routeParams, null) getDeviceListData(routeParams, null)
}) })
} }
if (route.query.companyId) {
routeParams = {
companyId: route.query.companyId,
}
}
if (route.query.keyWord) { if (route.query.keyWord) {
routeParams = { routeParams = {
keyWord: route.query.keyWord, keyWord: route.query.keyWord,
@ -663,6 +672,17 @@ onMounted(() => {
screenChooseList[5].list.push(item) screenChooseList[5].list.push(item)
} }
} }
if (route.query.companyId) {
routeParams = {
companyId: route.query.companyId,
}
screenChooseList[4].list[0].isChecked = false
screenChooseList[4].list.forEach((e: any) => {
if (route.query.companyId == e.companyId) {
e.isChecked = true
}
})
}
getDeviceListData(routeParams, null) getDeviceListData(routeParams, null)
}) })
} }

View File

@ -264,7 +264,8 @@ const onLeaseDateChange = (value: any, companyIndex: number, goodsIndex: number)
// //
const onDeleteGoods = (index: number) => { const onDeleteGoods = (index: number) => {
console.log('删除---', index) // console.log('---', index)
orderList.value.splice(index, 1)
} }
// change // change
@ -379,15 +380,15 @@ const onCartSubmit = async () => {
cost: orderAmountPice.value, cost: orderAmountPice.value,
detailsList: [submitInfo], detailsList: [submitInfo],
} }
console.log('submitParams', submitParams) // console.log('submitParams', submitParams)
const res: any = await submitBookCarApi(submitParams) const res: any = await submitBookCarApi([submitParams])
if (res.code === 200) { if (res.code === 200) {
ElMessage({ ElMessage({
showClose: false, showClose: false,
message: '提交成功', message: '提交成功',
type: 'success', type: 'success',
}) })
userStore.editcurrentMenuItem('orderManagementCz') userStore.editcurrentMenuItem('orderManagement')
setTimeout(() => { setTimeout(() => {
router.push({ router.push({
name: 'my-user', name: 'my-user',

View File

@ -492,6 +492,7 @@ const time = ref([])
.goods-info { .goods-info {
display: flex; display: flex;
align-content: center; align-content: center;
border-bottom: 1px solid #00a288;
img { img {
width: 140px; width: 140px;
height: 80px; height: 80px;

View File

@ -2,10 +2,10 @@
import { ref } from 'vue' import { ref } from 'vue'
import PagingComponent from 'components/PagingComponent/index.vue' import PagingComponent from 'components/PagingComponent/index.vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { getOrderListApi,passApi } from 'http/api/usercenter/seekorder' import { getOrderListApi, passApi, failApi } from 'http/api/usercenter/seekorder'
import uploadComponent from 'components/uploadComponent/index.vue' import uploadComponent from 'components/uploadComponent/index.vue'
import previewImg from './previewImg/index.vue' import previewImg from './previewImg/index.vue'
import { ElMessage,ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
import { useStore } from 'store/user' import { useStore } from 'store/user'
import type { FormInstance } from 'element-plus' import type { FormInstance } from 'element-plus'
const store = useStore() const store = useStore()
@ -47,7 +47,7 @@ const statusList = [
// const time = param; // const time = param;
// // Date // // Date
// const dateStart = new Date(time); // const dateStart = new Date(time);
// // // //
// const year = dateStart.getUTCFullYear(); // const year = dateStart.getUTCFullYear();
// const month = (dateStart.getUTCMonth() + 1).toString().padStart(2, '0'); // 01 // const month = (dateStart.getUTCMonth() + 1).toString().padStart(2, '0'); // 01
@ -57,12 +57,11 @@ const statusList = [
// return dateString; // return dateString;
// } // }
/** 查询列表 */ /** 查询列表 */
const getList = async () => { const getList = async () => {
if (time.value.length > 0) { if (time.value.length > 0) {
const dateStart = new Date(time.value[0]); const dateStart = new Date(time.value[0])
const dateEnd = new Date(time.value[1]); const dateEnd = new Date(time.value[1])
queryParams.value.startTime = dateStart.toLocaleDateString('en-CA') queryParams.value.startTime = dateStart.toLocaleDateString('en-CA')
queryParams.value.endTime = dateEnd.toLocaleDateString('en-CA') queryParams.value.endTime = dateEnd.toLocaleDateString('en-CA')
} else { } else {
@ -88,7 +87,7 @@ onMounted(() => {
// //
const queryTableList = () => { const queryTableList = () => {
queryParams.value.pageNum=1 queryParams.value.pageNum = 1
getList() getList()
} }
@ -102,59 +101,60 @@ const resetTableList = (formEl: FormInstance | undefined) => {
// //
const onChangeCompany = (e: boolean, index: number, item: any) => { const onChangeCompany = (e: boolean, index: number, item: any) => {
cardList.value[index].detailsList.forEach((item:any)=>{ cardList.value[index].detailsList.forEach((item: any) => {
if(item.orderStatus=="3"){ if (item.orderStatus == '3') {
item.isChecked = e; item.isChecked = e
} }
}) })
} }
// //
const onChangeGoods = (index: number) => { const onChangeGoods = (index: number) => {
let flag = true; let flag = true
for (let item of cardList.value[index].detailsList) { for (let item of cardList.value[index].detailsList) {
if (item.orderStatus == "3" && item.isChecked != true) { if (item.orderStatus == '3' && item.isChecked != true) {
flag = false; flag = false
break; break
} }
} }
console.log('2222222',cardList.value[index]) console.log('2222222', cardList.value[index])
cardList.value[index].isChecked = flag; cardList.value[index].isChecked = flag
} }
// //
const confirmReceipt = async (index: number) => { const confirmReceipt = async (index: number) => {
ElMessageBox.confirm('是否确定收获?', { ElMessageBox.confirm('是否确定收获?', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
}).then(() => { })
return passApi({'orderId':cardList.value[index].orderId,'orderStatus':4}) .then(() => {
}).then((res) => { return passApi({ orderId: cardList.value[index].orderId, orderStatus: 4 })
})
.then((res) => {
if (res.code === 200) { if (res.code === 200) {
ElMessage({ ElMessage({
type: 'success', type: 'success',
message: '确定收获成功' message: '确定收获成功',
}) })
numberTemp.value = numberTemp.value+1; numberTemp.value = numberTemp.value + 1
getList() getList()
} }
}).catch(() => {}) })
.catch(() => {})
} }
// //
const isExpired=(goods:any)=> { const isExpired = (goods: any) => {
// //
const today = new Date(); const today = new Date()
today.setHours(0, 0, 0, 0); today.setHours(0, 0, 0, 0)
// endtimeDate // endtimeDate
const endTime = new Date(goods.endTime.replace(/-/g, "/")); const endTime = new Date(goods.endTime.replace(/-/g, '/'))
// endtime // endtime
return endTime < today; return endTime < today
} }
const settleinTitle = ref('') const settleinTitle = ref('')
@ -166,23 +166,26 @@ const dialogVisible: any = ref(false)
const dialogImageUrl = ref('') const dialogImageUrl = ref('')
// 退 // 退
const handleViewBack = async (row:any) => { const handleViewBack = async (row: any) => {
ElMessageBox.confirm('是否确定发起退租?', { ElMessageBox.confirm('是否确定发起退租?', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
}).then(() => { })
return passApi({'orderId':row.orderId,'orderStatus':5}) .then(() => {
}).then((res) => { return passApi({ orderId: row.orderId, orderStatus: 5 })
if (res.code === 200) {
ElMessage({
type: 'success',
message: '发起退租成功'
}) })
numberTemp.value = numberTemp.value+1; .then((res) => {
getList() if (res.code === 200) {
} ElMessage({
}).catch(() => {}) type: 'success',
message: '发起退租成功',
})
numberTemp.value = numberTemp.value + 1
getList()
}
})
.catch(() => {})
} }
const moneyParams1: any = ref({ const moneyParams1: any = ref({
@ -196,111 +199,138 @@ const settleListTitle = ref('')
// //
const dialogFormVisibleSettleList: any = ref(false) const dialogFormVisibleSettleList: any = ref(false)
const tableData1: any = ref([ const tableData1: any = ref([
{
name1:'测试1',
name2:'测试1-1',
name3:'3台',
jy1:'100',
jy2:'31',
jy3:'2024-11-25 至2024-12-25',
jy4:'1600',
},
{ {
name1:'测试2', name1: '测试1',
name2:'测试2-1', name2: '测试1-1',
name3:'3台', name3: '3台',
jy1:'100', jy1: '100',
jy2:'31', jy2: '31',
jy3:'2024-11-25 至2024-12-25', jy3: '2024-11-25 至2024-12-25',
jy4:'1600', jy4: '1600',
} },
{
name1: '测试2',
name2: '测试2-1',
name3: '3台',
jy1: '100',
jy2: '31',
jy3: '2024-11-25 至2024-12-25',
jy4: '1600',
},
]) ])
const tableData2: any = ref([ const tableData2: any = ref([
{
name1:'测试2',
name2:'测试2-1',
name3:'3台',
jy1:'类型1',
jy2:'维修中',
jy3:'1500',
},
{ {
name1:'测试2', name1: '测试2',
name2:'测试2-2', name2: '测试2-1',
name3:'3台', name3: '3台',
jy1:'类型2', jy1: '类型1',
jy2:'维修中', jy2: '维修中',
jy3:'1500', jy3: '1500',
} },
{
name1: '测试2',
name2: '测试2-2',
name3: '3台',
jy1: '类型2',
jy2: '维修中',
jy3: '1500',
},
]) ])
const tableData3: any = ref([ const tableData3: any = ref([
{
name1:'测试3',
name2:'测试3-1',
name3:'3台',
jy1:'轻度维修',
jy2:'1400',
},
{ {
name1:'测试3', name1: '测试3',
name2:'测试3-2', name2: '测试3-1',
name3:'3台', name3: '3台',
jy1:'轻度维修', jy1: '轻度维修',
jy2:'1400', jy2: '1400',
} },
{
name1: '测试3',
name2: '测试3-2',
name3: '3台',
jy1: '轻度维修',
jy2: '1400',
},
]) ])
const tableData4: any = ref([ const tableData4: any = ref([
{
name1:'测试4',
name2:'测试4-1',
name3:'3台',
jy1:'1400',
},
{ {
name1:'测试4', name1: '测试4',
name2:'测试4-2', name2: '测试4-1',
name3:'3台', name3: '3台',
jy1:'1400', jy1: '1400',
} },
{
name1: '测试4',
name2: '测试4-2',
name3: '3台',
jy1: '1400',
},
]) ])
// //
const handleViewList = () => { const handleViewList = () => {
settleListTitle.value = '费用清单' settleListTitle.value = '费用清单'
moneyParams1.value = { moneyParams1.value = {
/* 设备状态 */ /* 设备状态 */
maStatus: 15, maStatus: 15,
detectionList: [], detectionList: [],
insureList: [], insureList: [],
picList: [] picList: [],
}
//
dialogFormVisibleSettleList.value = true
} }
//
dialogFormVisibleSettleList.value = true
}
const settleWordTitle = ref('') const settleWordTitle = ref('')
const dialogFormVisibleSettleWord: any = ref(false) const dialogFormVisibleSettleWord: any = ref(false)
// //
const handleViewWord = () => { const handleViewWord = () => {
settleWordTitle.value = '租赁协议' settleWordTitle.value = '租赁协议'
console.log(12313131) console.log(12313131)
moneyParams1.value = { moneyParams1.value = {
/* 设备状态 */ /* 设备状态 */
maStatus: 15, maStatus: 15,
detectionList: [], detectionList: [],
insureList: [], insureList: [],
picList: [] picList: [],
}
//
dialogFormVisibleSettleWord.value = true
} }
//
dialogFormVisibleSettleWord.value = true
}
const confirmFail = async (index: number) => {
ElMessageBox.confirm('是否确定取消?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
return failApi({ orderId: cardList.value[index].orderId, orderStatus: 7 })
// return removeDeviceApi([row.maId])
})
.then((res) => {
if (res.code === 200) {
ElMessage({
type: 'success',
message: '取消成功',
})
numberTemp.value = numberTemp.value + 1
getList()
}
})
.catch(() => {})
}
</script> </script>
<template> <template>
<!-- 订单管理 --> <!-- 订单管理 -->
<div class="container"> <div class="container">
<el-form :model="queryParams" ref="queryFormRef" :inline="true" size="default" label-width="0"> <el-form
:model="queryParams"
ref="queryFormRef"
:inline="true"
size="default"
label-width="0"
>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item prop="deviceName"> <el-form-item prop="deviceName">
@ -405,12 +435,17 @@ const dialogFormVisibleSettleWord: any = ref(false)
</el-checkbox> </el-checkbox>
</div> </div>
</el-col> </el-col>
<el-col :span="22"> <el-col :span="19">
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<div <div
class="item" class="item"
style="flex-shrink: 0; margin-bottom: 5px; font-size: 15px; margin-top: 5px;" style="
flex-shrink: 0;
margin-bottom: 5px;
font-size: 15px;
margin-top: 5px;
"
> >
<span>订单编号:</span> <span>订单编号:</span>
{{ item.code }} {{ item.code }}
@ -419,7 +454,12 @@ const dialogFormVisibleSettleWord: any = ref(false)
<el-col :span="7"> <el-col :span="7">
<div <div
class="item" class="item"
style="flex-shrink: 0; margin-bottom: 5px; font-size: 15px; margin-top: 5px;" style="
flex-shrink: 0;
margin-bottom: 5px;
font-size: 15px;
margin-top: 5px;
"
> >
<span>下单时间:</span> <span>下单时间:</span>
{{ item.orderTime }} {{ item.orderTime }}
@ -428,14 +468,29 @@ const dialogFormVisibleSettleWord: any = ref(false)
<el-col :span="7"> <el-col :span="7">
<div <div
class="item" class="item"
style="flex-shrink: 0; margin-bottom: 5px; font-size: 15px; margin-top: 5px;" style="
flex-shrink: 0;
margin-bottom: 5px;
font-size: 15px;
margin-top: 5px;
"
> >
<span>装备所属公司:</span> <span>装备所属公司:</span>
{{ item.czcompanyName }} {{ item.czcompanyName }}
</div> </div>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<div style="flex-shrink: 0; margin-bottom: 1px; font-size: 7px; display: flex;justify-content: center; margin-top: 5px;"> <div
style="
flex-shrink: 0;
margin-bottom: 1px;
font-size: 7px;
display: flex;
justify-content: center;
margin-top: 5px;
"
>
<el-button <el-button
v-if="item.orderStatus == '3'" v-if="item.orderStatus == '3'"
class="item" class="item"
@ -452,7 +507,12 @@ const dialogFormVisibleSettleWord: any = ref(false)
<el-col :span="6"> <el-col :span="6">
<div <div
class="item" class="item"
style="flex-shrink: 0; margin-bottom: 5px; font-size: 15px; margin-top: 5px;" style="
flex-shrink: 0;
margin-bottom: 5px;
font-size: 15px;
margin-top: 5px;
"
> >
<span>出租方电话:</span> <span>出租方电话:</span>
{{ item.personPhone }} {{ item.personPhone }}
@ -461,7 +521,12 @@ const dialogFormVisibleSettleWord: any = ref(false)
<el-col :span="7"> <el-col :span="7">
<div <div
class="item" class="item"
style="flex-shrink: 0; margin-bottom: 5px; font-size: 15px; margin-top: 5px;" style="
flex-shrink: 0;
margin-bottom: 5px;
font-size: 15px;
margin-top: 5px;
"
> >
<span>承租方电话:</span> <span>承租方电话:</span>
{{ item.phoneNumber }} {{ item.phoneNumber }}
@ -470,7 +535,12 @@ const dialogFormVisibleSettleWord: any = ref(false)
<el-col :span="7"> <el-col :span="7">
<div <div
class="item" class="item"
style="flex-shrink: 0; margin-bottom: 5px; font-size: 15px; margin-top: 5px;" style="
flex-shrink: 0;
margin-bottom: 5px;
font-size: 15px;
margin-top: 5px;
"
> >
<span>承租方地址:</span> <span>承租方地址:</span>
{{ item.companyName }} {{ item.companyName }}
@ -478,40 +548,66 @@ const dialogFormVisibleSettleWord: any = ref(false)
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="4">
<div>
<el-button
v-if="item.orderStatus == '2'"
class="item"
type="primary"
@click="confirmFail(index)"
>取消</el-button
>
</div>
</el-col>
</el-row> </el-row>
<el-row class="cart-listAll" :style="{background: item.orderStatus=='2' ? '#EBEEF5':'white'}"> <el-row
<el-col :span="1" > class="cart-listAll"
:style="{ background: item.orderStatus == '2' ? '#EBEEF5' : 'white' }"
>
<el-col :span="1">
<!-- <div style="text-align: center"> <!-- <div style="text-align: center">
<el-checkbox :key="numberTemp" v-model="goods.isChecked" @change="onChangeGoods(index)" :disabled="goods.orderStatus!='2'"> <el-checkbox :key="numberTemp" v-model="goods.isChecked" @change="onChangeGoods(index)" :disabled="goods.orderStatus!='2'">
</el-checkbox> </el-checkbox>
</div> --> </div> -->
</el-col> </el-col>
<el-col :span="7" > <el-col :span="7">
<el-row class="cart-list" v-for="(goods, j) in item.detailsList" :key="j" > <el-row class="cart-list" v-for="(goods, j) in item.detailsList" :key="j">
<el-col class="goods-info"> <el-col class="goods-info">
<el-col :span="7"> <el-col :span="7">
<img :src="goods.url" alt="" /> <img :src="goods.url" alt="" />
</el-col> </el-col>
<div class="goods-code"> <div class="goods-code">
<div style="font-size: 10px; font-weight: bold">{{ goods.deviceName }}</div> <div style="font-size: 10px; font-weight: bold">
<div>租期{{ goods.days }}{{ ' ' + '天' }}</div> {{ goods.deviceName }}
<div style="display:flex;justify-content:space-between;width:100%;"> </div>
<div style="flex:1;text-align:left;width:220px">租金{{ goods.dayLeasePrice }}{{ ' ' + '元/天' }}</div> <div>租期{{ goods.days }}{{ ' ' + '天' }}</div>
<div style="flex:1;text-align:left;">数量{{ goods.num }}{{ ' ' + '台' }}</div> <div
</div> style="
</div> display: flex;
justify-content: space-between;
width: 100%;
"
>
<div style="flex: 1; text-align: left; width: 220px">
租金{{ goods.dayLeasePrice }}{{ ' ' + '元/天' }}
</div>
<div style="flex: 1; text-align: left">
数量{{ goods.num }}{{ ' ' + '台' }}
</div>
</div>
</div>
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="3" > <el-col :span="3">
<div style="font-size: 14px; font-weight: bold; margin-bottom: 10px"> <div style="font-size: 14px; font-weight: bold; margin-bottom: 10px">
总费用 总费用
</div> </div>
<div class="red-font">{{ item.cost }}</div> <div class="red-font">{{ item.cost }}</div>
</el-col> </el-col>
<el-col :span="4" > <el-col :span="4">
<div style="font-size: 14px; font-weight: bold; margin-bottom: 10px">租期</div> <div style="font-size: 14px; font-weight: bold; margin-bottom: 10px">租期</div>
<div style="color: black; font-weight: bold"> <div style="color: black; font-weight: bold">
{{ item.startTime }} {{ item.startTime }}
@ -528,38 +624,68 @@ const dialogFormVisibleSettleWord: any = ref(false)
</div> </div>
<div <div
v-if="item.orderStatus == '3'" v-if="item.orderStatus == '3'"
style="font-size: 14px; font-weight: bold; margin-bottom: 10px; color: #C76F60" style="
font-size: 14px;
font-weight: bold;
margin-bottom: 10px;
color: #c76f60;
"
> >
{{ '待收货' }} {{ '待收货' }}
</div> </div>
<div <div
v-if="item.orderStatus == '4' && isExpired(item)" v-if="item.orderStatus == '4' && isExpired(item)"
style="font-size: 14px; font-weight: bold; margin-bottom: 10px; color: #008D06" style="
font-size: 14px;
font-weight: bold;
margin-bottom: 10px;
color: #008d06;
"
> >
{{ '租赁中' }} {{ '租赁中' }}
<span style="color: red">(已过期)</span> <span style="color: red">(已过期)</span>
</div> </div>
<div <div
v-if="item.orderStatus == '4' && !isExpired(item)" v-if="item.orderStatus == '4' && !isExpired(item)"
style="font-size: 14px; font-weight: bold; margin-bottom: 10px; color: #008D06" style="
font-size: 14px;
font-weight: bold;
margin-bottom: 10px;
color: #008d06;
"
> >
{{ '租赁中' }} {{ '租赁中' }}
</div> </div>
<div <div
v-if="item.orderStatus == '5'" v-if="item.orderStatus == '5'"
style="font-size: 14px; font-weight: bold; margin-bottom: 10px; color: #5B33CC" style="
font-size: 14px;
font-weight: bold;
margin-bottom: 10px;
color: #5b33cc;
"
> >
{{ '已退租' }} {{ '已退租' }}
</div> </div>
<div <div
v-if="item.orderStatus == '6'" v-if="item.orderStatus == '6'"
style="font-size: 14px; font-weight: bold; margin-bottom: 10px; color: #C00017" style="
font-size: 14px;
font-weight: bold;
margin-bottom: 10px;
color: #c00017;
"
> >
{{ '已完成' }} {{ '已完成' }}
</div> </div>
<div <div
v-if="item.orderStatus == '7'" v-if="item.orderStatus == '7'"
style="font-size: 14px; font-weight: bold; margin-bottom: 10px; color: #797979" style="
font-size: 14px;
font-weight: bold;
margin-bottom: 10px;
color: #797979;
"
> >
{{ '已驳回' }} {{ '已驳回' }}
</div> </div>
@ -583,7 +709,7 @@ const dialogFormVisibleSettleWord: any = ref(false)
租赁协议 租赁协议
</el-button> </el-button>
<el-button <el-button
v-if="item.orderStatus=='4'" v-if="item.orderStatus == '4'"
@click="handleViewBack(item)" @click="handleViewBack(item)"
type="primary" type="primary"
size="small" size="small"
@ -591,8 +717,8 @@ const dialogFormVisibleSettleWord: any = ref(false)
> >
发起退租 发起退租
</el-button> </el-button>
<el-button <el-button
v-if="item.orderStatus=='6'" v-if="item.orderStatus == '6'"
@click="handleViewList(j)" @click="handleViewList(j)"
type="primary" type="primary"
size="small" size="small"
@ -610,16 +736,16 @@ const dialogFormVisibleSettleWord: any = ref(false)
:pageNumber="pageNumber" :pageNumber="pageNumber"
:total="total" :total="total"
/> />
</div> </div>
<!-- 费用清单弹框 --> <!-- 费用清单弹框 -->
<el-dialog <el-dialog
v-model="dialogFormVisibleSettleList" v-model="dialogFormVisibleSettleList"
:title="settleListTitle" :title="settleListTitle"
width="65%" width="65%"
align-center align-center
:close-on-click-modal="false"> :close-on-click-modal="false"
<div style="height: 80px"> >
<div style="height: 80px">
<div <div
class="info" class="info"
style="margin-top: 5px; margin-bottom: 8px; display: flex; flex-wrap: wrap" style="margin-top: 5px; margin-bottom: 8px; display: flex; flex-wrap: wrap"
@ -683,7 +809,7 @@ const dialogFormVisibleSettleWord: any = ref(false)
<span class="title-text">租赁费用明细</span> <span class="title-text">租赁费用明细</span>
</div> </div>
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<el-table <el-table
:data="tableData1" :data="tableData1"
class="table" class="table"
@ -765,26 +891,27 @@ const dialogFormVisibleSettleWord: any = ref(false)
</template> </template>
</el-dialog> </el-dialog>
<!-- 租赁协议 --> <!-- 租赁协议 -->
<el-dialog <el-dialog
v-model="dialogFormVisibleSettleWord" v-model="dialogFormVisibleSettleWord"
:title="settleWordTitle" :title="settleWordTitle"
width="50%" width="50%"
:close-on-click-modal="false"> align-center
<div > destroy-on-close
<img src="@/assets/img/zuLin.png" style=" :close-on-click-modal="false"
width: 600px; >
height: 600px; <div style="display: flex; justify-content: center">
margin-left: 160px; <img src="@/assets/img/zuLin.png" style="width: 100%; height: 600px" />
margin-right: 10px; "/>
</div> </div>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button type="primary" @click="closeDialogBtn"> </el-button> <el-button type="primary" @click="dialogFormVisibleSettleWord = false"
> </el-button
>
<el-button @click="submitBtn" type="success"> 下载 </el-button> <el-button @click="submitBtn" type="success"> 下载 </el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -919,59 +1046,60 @@ const dialogFormVisibleSettleWord: any = ref(false)
} }
} }
.cart-listAll{ .cart-listAll {
margin: 15px 0; margin: 15px 0;
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 13px; font-size: 13px;
div {
text-align: center;
}
.cart-list {
margin: 15px 0;
display: flex;
align-items: center;
font-size: 13px;
div {
text-align: center;
}
.goods-info { div {
text-align: center;
}
.cart-list {
margin: 15px 0;
display: flex; display: flex;
align-content: center; align-items: center;
font-size: 13px;
img { div {
width: 180px; text-align: center;
height: 80px;
} }
.goods-code { .goods-info {
margin-left: 110px;
display: flex; display: flex;
flex-direction: column; align-content: center;
justify-content: space-around; border-bottom: 1px solid #00a288;
div { img {
text-align: left; width: 180px;
height: 80px;
}
.goods-code {
margin-left: 110px;
display: flex;
flex-direction: column;
justify-content: space-around;
div {
text-align: left;
}
} }
} }
}
.lease-date { .lease-date {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
font-size: 12px; font-size: 12px;
} }
.red-font { .red-font {
color: #ff4800; color: #ff4800;
font-weight: bold; font-weight: bold;
}
} }
}
.lease-date { .lease-date {
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@ -501,6 +501,7 @@ const time = ref([])
.goods-info { .goods-info {
display: flex; display: flex;
align-content: center; align-content: center;
border-bottom: 1px solid #00a288;
img { img {
width: 140px; width: 140px;
height: 80px; height: 80px;
@ -553,7 +554,7 @@ const time = ref([])
.goods-info { .goods-info {
display: flex; display: flex;
align-content: center; align-content: center;
border-bottom: 1px solid #00a288;
img { img {
width: 180px; width: 180px;
height: 80px; height: 80px;

View File

@ -790,7 +790,6 @@ const handleViewWord = () => {
v-if="item.orderStatus == '2'" v-if="item.orderStatus == '2'"
class="item" class="item"
type="primary" type="primary"
size="mimi"
@click="confirmPass(index)" @click="confirmPass(index)"
>出库</el-button >出库</el-button
> >
@ -798,7 +797,6 @@ const handleViewWord = () => {
v-if="item.orderStatus == '2'" v-if="item.orderStatus == '2'"
class="item" class="item"
type="primary" type="primary"
size="mimi"
@click="confirmFail(index)" @click="confirmFail(index)"
>取消</el-button >取消</el-button
> >
@ -968,60 +966,66 @@ const handleViewWord = () => {
</div> </div>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<div> <el-row>
<el-button <el-col :span="8">
@click="handleViewOrder(j, item)" <el-button
type="primary" @click="handleViewOrder(j, item)"
size="small" type="primary"
style="color: #blue; font-weight: bold" size="small"
> >
订单详情 订单详情
</el-button> </el-button>
<el-button </el-col>
@click="handleViewWord(j)" <el-col :span="8">
type="primary" <el-button @click="handleViewWord(j)" type="primary" size="small">
size="small" 租赁协议
style="color: #blue; font-weight: bold" </el-button>
> </el-col>
租赁协议 </el-row>
</el-button> <el-row style="margin: 6px 0">
<el-button <el-col :span="8">
v-if="item.orderStatus == '5'" <el-button
@click="handleViewBack(j)" v-if="item.orderStatus == '5'"
type="primary" @click="handleViewBack(j)"
size="small" type="primary"
style="color: #blue; font-weight: bold" size="small"
> >
退租检修 退租检修
</el-button> </el-button>
<el-button </el-col>
v-if="item.orderStatus == '5'" <el-col :span="8">
@click="handleViewMoney(j)" <el-button
type="primary" v-if="item.orderStatus == '5'"
size="small" @click="handleViewMoney(j)"
style="color: #blue; font-weight: bold" type="primary"
> size="small"
费用结算 >
</el-button> 费用结算
<el-button </el-button>
v-if="item.orderStatus == '6'" </el-col>
@click="handleViewRepair(j)" </el-row>
type="primary" <el-row>
size="small" <el-col :span="8">
style="color: #blue; font-weight: bold" <el-button
> v-if="item.orderStatus == '6'"
检修详情 @click="handleViewRepair(j)"
</el-button> type="primary"
<el-button size="small"
v-if="item.orderStatus == '6'" >
@click="handleViewList(j)" 检修详情
type="primary" </el-button>
size="small" </el-col>
style="color: #blue; font-weight: bold" <el-col :span="8">
> <el-button
费用清单 v-if="item.orderStatus == '6'"
</el-button> @click="handleViewList(j)"
</div> type="primary"
size="small"
>
费用清单
</el-button>
</el-col>
</el-row>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@ -1844,17 +1848,18 @@ const handleViewWord = () => {
v-model="dialogFormVisibleSettleWord" v-model="dialogFormVisibleSettleWord"
:title="settleWordTitle" :title="settleWordTitle"
width="50%" width="50%"
align-center
destroy-on-close
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<div> <div style="display: flex; justify-content: center">
<img <img src="@/assets/img/zuLin.png" style="width: 100%; height: 600px" />
src="@/assets/img/zuLin.png"
style="width: 600px; height: 600px; margin-left: 160px; margin-right: 10px"
/>
</div> </div>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button type="primary" @click="closeDialogBtn"> </el-button> <el-button type="primary" @click="dialogFormVisibleSettleWord = false"
> </el-button
>
<el-button @click="submitBtn" type="success"> 下载 </el-button> <el-button @click="submitBtn" type="success"> 下载 </el-button>
</span> </span>
</template> </template>
@ -2015,6 +2020,7 @@ const handleViewWord = () => {
.goods-info { .goods-info {
display: flex; display: flex;
align-content: center; align-content: center;
border-bottom: 1px solid #00a288;
img { img {
width: 180px; width: 180px;