问题修复

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']
ElCol: typeof import('element-plus/es')['ElCol']
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']
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']
@ -38,6 +38,8 @@ declare module 'vue' {
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
ElRow: typeof import('element-plus/es')['ElRow']
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']
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
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://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.2.129:18080' # 马帅

View File

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

View File

@ -437,12 +437,41 @@ const onCartSubmit = async () => {
}
})
const submitParams = {
cost: orderAmountPice.value,
detailsList,
}
const paramsList: any = []
cardList.value.forEach((j: any, index: any) => {
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) {
ElMessage({
showClose: false,
@ -450,7 +479,7 @@ const onCartSubmit = async () => {
type: 'success',
})
userStore.editcurrentMenuItem('orderManagementCz')
userStore.editcurrentMenuItem('orderManagement')
setTimeout(() => {
router.push({
name: 'my-user',

View File

@ -356,7 +356,7 @@ const screenChooseList: any = reactive([
},
{
type: 'companyId',
name: '设备所在地:',
name: '所属公司',
isShow: true,
list: [
{
@ -467,7 +467,7 @@ const lowerClassData = async () => {
const getCompanyAddressListData = async () => {
const res: any = await getCompanyListApi()
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)
}
@ -533,7 +533,7 @@ const onClearTags = () => {
screenChooseList.forEach((e: any, i: any) => {
e.list.forEach((j: any, index: number) => {
j.isChecked = false
if (i != 4) {
if (i != 5) {
if (index === 0) {
j.isChecked = true
}
@ -552,8 +552,9 @@ const onClearTags = () => {
//
const handleClose = (tag: any) => {
console.log(tag, '***')
tag.isChecked = false
if (tag.index != 4) {
if (tag.index != 5) {
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)
})
}
if (route.query.companyId) {
routeParams = {
companyId: route.query.companyId,
}
}
if (route.query.keyWord) {
routeParams = {
keyWord: route.query.keyWord,
@ -663,6 +672,17 @@ onMounted(() => {
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)
})
}

View File

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

View File

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

View File

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

View File

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

View File

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