This commit is contained in:
syruan 2025-10-14 17:26:53 +08:00
parent 6b36be4d64
commit 0aa1425a9d
10 changed files with 150 additions and 265 deletions

View File

@ -122,7 +122,7 @@ const navMenuClick = (name: any) => {
</script> </script>
<template> <template>
<ul class="nav-menu"> <ul class="nav-menu" style="display: none">
<li <li
v-for="item in navMenuList" v-for="item in navMenuList"
:key="item.name" :key="item.name"

View File

@ -14,8 +14,8 @@
</li> </li>
</ul> </ul>
<div style="margin: 10px 0; padding-right: 15px; text-align: right"> <div style="margin: 10px 0; padding-right: 15px; text-align: right; ">
<span style="text-align: right; color: #ff4800"> <span style="text-align: right; color: #ff4800; display: none">
<i style="font-size: 14px"></i> <i style="font-size: 14px"></i>
<i style="margin: 0 6px; font-size: 18px; font-weight: bold">{{ price }}</i> <i style="margin: 0 6px; font-size: 18px; font-weight: bold">{{ price }}</i>
<i style="font-size: 14px">/ </i> <i style="font-size: 14px">/ </i>
@ -42,10 +42,6 @@ const props: any = defineProps({
type: String, type: String,
default: '安徽某科技有限公司', default: '安徽某科技有限公司',
}, },
price: {
type: [String, Number],
default: 99,
},
timeUnit: { timeUnit: {
type: String, type: String,
default: '月', default: '月',

View File

@ -7,11 +7,14 @@
<ul class="item-details"> <ul class="item-details">
<li class="address"> <li class="address">
<span>{{ operateAddress }}</span> <span>{{ operateAddress }}</span>
<span style="text-align: right; color: #ff4800"> <!-- <span style="text-align: right; color: #ff4800; display: none" >-->
<i style="font-size: 10px"></i> <!-- <i style="font-size: 10px"></i>-->
<i style="font-size: 14px; font-weight: bold">{{ price }}</i> <!-- <i style="font-size: 14px; font-weight: bold">{{ price }}</i>-->
<i style="font-size: 10px">/ </i> <!-- <i style="font-size: 10px">/ </i>-->
</span> <!-- </span>-->
</li>
<li>
<span>状态{{ statusText }}</span>
</li> </li>
<li> <li>
<span>13867865678</span> <span>13867865678</span>
@ -30,6 +33,7 @@
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { computed } from 'vue'
import { addBookCarApi } from 'http/api/equip' import { addBookCarApi } from 'http/api/equip'
import { useRoute, useRouter } from 'vue-router' import { useRoute, useRouter } from 'vue-router'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
@ -90,6 +94,10 @@ const props: any = defineProps({
type: [String, Number], type: [String, Number],
default: '', default: '',
}, },
ma_status: {
type: [String, Number],
default: '',
},
}) })
const emit = defineEmits(['onClick']) const emit = defineEmits(['onClick'])
@ -124,13 +132,31 @@ const onHandelLessee = () => {
.catch(() => {}) .catch(() => {})
} }
const statusText = computed(() => {
const code = Number(props.ma_status)
switch (code) {
case 1:
return '入库'
case 2:
return '出库(自用)'
case 3:
return '出库(共享)'
case 4:
return '退役'
case 5:
return '维修'
default:
return '未知'
}
})
// //
const onAddCart = async () => { const onAddCart = async () => {
const addParams = { const addParams = {
maId: props.id, maId: props.id,
orderCompany: props.companyId, orderCompany: props.companyId,
} }
const res = await addBookCarApi(addParams) const res: any = await addBookCarApi(addParams)
if (res.code === 200) { if (res.code === 200) {
ElMessage({ ElMessage({
type: 'success', type: 'success',

View File

@ -68,12 +68,13 @@ const handlerLogout = () => {
if (import.meta.env.VITE_API_URL == '/proxyApi') { if (import.meta.env.VITE_API_URL == '/proxyApi') {
router.push('/login') // - router.push('/login') // -
} else { } else {
// - router.push('/login') // -
setTimeout(() => { // // -
window.location.replace( // setTimeout(() => {
'http://sgwpdm.ah.sgcc.com.cn/iws/cas/login?appId=3874dcb953f184dc75450e33d6d6d4fa&service=http://sgwpdm.ah.sgcc.com.cn/iws/mall-view/', // window.location.replace(
) // 'http://sgwpdm.ah.sgcc.com.cn/iws/cas/login?appId=3874dcb953f184dc75450e33d6d6d4fa&service=http://sgwpdm.ah.sgcc.com.cn/iws/mall-view/',
}, 500) // )
// }, 500)
} }
}) })
.catch(() => { .catch(() => {
@ -259,7 +260,7 @@ onMounted(() => {
<template> <template>
<!-- 头部个人信息 收藏夹 手机版等图标 --> <!-- 头部个人信息 收藏夹 手机版等图标 -->
<div class="header-container"> <div class="header-container">
<div class="header-user-info"> <div class="header-user-info" style="display: none">
<div class="header-box"> <div class="header-box">
<el-image <el-image
style="width: 190px; cursor: pointer" style="width: 190px; cursor: pointer"

View File

@ -476,7 +476,7 @@ onUnmounted(() => {
<template> <template>
<!-- 头部个人信息 收藏夹 手机版等图标 --> <!-- 头部个人信息 收藏夹 手机版等图标 -->
<div class="header-container"> <div class="header-container">
<div class="header-user-info"> <div class="header-user-info" style="display: none">
<div class="header-box"> <div class="header-box">
<div class="header-item" v-if="isShowLogout"> <div class="header-item" v-if="isShowLogout">
<a class="user-name"> <a class="user-name">
@ -544,7 +544,8 @@ onUnmounted(() => {
<!-- 中间logo 部分 --> <!-- 中间logo 部分 -->
<div class="logo-ipt-container"> <div class="logo-ipt-container">
<div class="home-logo" @click="$router.push('/home')"></div> <div class="home-logo" @click="$router.push('/equipList')"></div>
<!-- <div class="home-logo"></div>-->
<div class="home-search" ref="homeSearchRef"> <div class="home-search" ref="homeSearchRef">
<input <input
:placeholder="searchTypeName === '装备' ? '搜索装备关键词' : '搜索需求关键词'" :placeholder="searchTypeName === '装备' ? '搜索装备关键词' : '搜索需求关键词'"

View File

@ -5,7 +5,7 @@
</div> </div>
<div class="container"> <div class="container">
<el-breadcrumb separator="/" class="primary-lease"> <el-breadcrumb separator="/" class="primary-lease">
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item> <el-breadcrumb-item :to="{ path: '/equipList' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>预约车</el-breadcrumb-item> <el-breadcrumb-item>预约车</el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
@ -26,21 +26,18 @@
<el-col :span="9"> <el-col :span="9">
<div>装备信息</div> <div>装备信息</div>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="4">
<div>租期</div> <div>租期</div>
</el-col> </el-col>
<el-col :span="2">
<div>日租金/</div>
</el-col>
<el-col :span="2"> <el-col :span="2">
<div>天数</div> <div>天数</div>
</el-col> </el-col>
<el-col :span="2"> <el-col :span="4">
<div>数量</div> <div>数量</div>
</el-col> </el-col>
<el-col :span="2"> <!-- <el-col :span="2">-->
<div>总金额/</div> <!-- <div>总金额/</div>-->
</el-col> <!-- </el-col>-->
<el-col :span="2"> <el-col :span="2">
<div>操作</div> <div>操作</div>
</el-col> </el-col>
@ -93,7 +90,7 @@
<div>装备型号 {{ goods.typeName }}</div> <div>装备型号 {{ goods.typeName }}</div>
</div> </div>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="5">
<div class="lease-date"> <div class="lease-date">
<div style="margin-bottom: 8px"> <div style="margin-bottom: 8px">
{{ goods.rentBeginTime }} {{ goods.rentBeginTime }}
@ -101,16 +98,6 @@
{{ goods.rentEndTime }} {{ goods.rentEndTime }}
</div> </div>
<!-- <el-date-picker
style="width: 100px; margin-top: 10px"
v-model="goods.lease_date"
type="daterange"
size="small"
value-format="YYYY-MM-DD"
@change="onLeaseDateChange($event, goods)"
>
</el-date-picker> -->
<CustomDatePickerButton <CustomDatePickerButton
:modelValue="goods.lease_date" :modelValue="goods.lease_date"
:companyIndex="index" :companyIndex="index"
@ -123,17 +110,12 @@
/> />
</div> </div>
</el-col> </el-col>
<el-col :span="2">
<div class="red-font">
{{ goods.dayLeasePrice }}
</div>
</el-col>
<el-col :span="2"> <el-col :span="2">
<div class="red-font" style="color: #0062ff"> <div class="red-font" style="color: #0062ff">
{{ goods.days }} {{ goods.days }}
</div> </div>
</el-col> </el-col>
<el-col :span="2"> <el-col :span="4">
<div> <div>
<el-input-number <el-input-number
v-model="goods.num" v-model="goods.num"
@ -145,21 +127,8 @@
/> />
</div> </div>
</el-col> </el-col>
<el-col :span="2">
<div class="red-font">
{{ goods.num * goods.days * goods.dayLeasePrice }}
</div>
</el-col>
<el-col :span="2"> <el-col :span="2">
<div> <div>
<!-- <el-button
link
@click="onDeleteGoods(goods.id)"
style="color: #ff4800; font-weight: bold"
>
删除
</el-button> -->
<el-popconfirm <el-popconfirm
width="220" width="220"
:icon="InfoFilled" :icon="InfoFilled"
@ -183,7 +152,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row style="display: none">
<el-col :span="16"> <el-col :span="16">
<div class="checkbox-container"> <div class="checkbox-container">
<el-checkbox v-model="item.protocolChecked"> <el-checkbox v-model="item.protocolChecked">
@ -260,13 +229,13 @@
件装备 件装备
</div> </div>
</el-col> </el-col>
<el-col :span="3"> <!-- <el-col :span="3">-->
<div class="red-font"> <!-- <div class="red-font">-->
订单总金额<span style="color: #ff4800; font-weight: bold" <!-- 订单总金额<span style="color: #ff4800; font-weight: bold"-->
>{{ orderAmountPice }} </span <!-- >{{ orderAmountPice }} </span-->
> <!-- >-->
</div> <!-- </div>-->
</el-col> <!-- </el-col>-->
<el-col :span="2"> <el-col :span="2">
<div style="text-align: right"> <div style="text-align: right">
<el-button <el-button
@ -920,7 +889,8 @@ const handleViewWord = async (index: any) => {
if (import.meta.env.VITE_API_URL == '/proxyApi') { if (import.meta.env.VITE_API_URL == '/proxyApi') {
wordUrl.value = res.data.url wordUrl.value = res.data.url
} else { } else {
wordUrl.value = 'http://sgwpdm.ah.sgcc.com.cn/iws/ahbns/' + res.data.url wordUrl.value = res.data.url
// wordUrl.value = 'http://sgwpdm.ah.sgcc.com.cn/iws/ahbns/' + res.data.url
} }
console.log('🚀 ~ handleViewWord ~ wordUrl.value:', wordUrl.value) console.log('🚀 ~ handleViewWord ~ wordUrl.value:', wordUrl.value)
dialogFormVisibleSettleWord.value = true dialogFormVisibleSettleWord.value = true

View File

@ -105,16 +105,16 @@
<div class="right"> <div class="right">
<div class="Top"> <div class="Top">
<div class="price"> <div class="price">
<!-- -->
<span>{{ pageData.dayLeasePrice }}</span> <!-- <span>{{ pageData.dayLeasePrice }}</span>-->
/ <!-- /-->
</div> </div>
</div> </div>
<div class="phone"> <div class="phone" style="margin-top: 100px;margin-right: 30px;">
<svg class="icon" aria-hidden="true" style="width: 24px; height: 24px"> <svg class="icon" aria-hidden="true" style="width: 24px; height: 24px">
<use xlink:href="#icon-dianhua"></use> <use xlink:href="#icon-dianhua"></use>
</svg> </svg>
<div style="font-size: 20px">{{ pageData.personPhone }}</div> <div style="font-size: 30px">{{ pageData.personPhone }}</div>
</div> </div>
<div style="text-align: right"> <div style="text-align: right">
<el-button <el-button
@ -676,10 +676,10 @@ const equipBaseInfoList = reactive([
label: '装备类目', label: '装备类目',
key: 'groupName', key: 'groupName',
}, },
{ // {
label: '装备品牌', // label: '',
key: 'brand', // key: 'brand',
}, // },
{ {
label: '装备型号', label: '装备型号',
key: 'typeName', key: 'typeName',
@ -732,12 +732,12 @@ const equipDetailKeyList = reactive([
fn: '', fn: '',
arg: '', arg: '',
}, },
{ // {
label: '装备品牌', // label: '',
key: 'brand', // key: 'brand',
fn: '', // fn: '',
arg: '', // arg: '',
}, // },
{ {
label: '装备类目', label: '装备类目',
key: 'groupName', key: 'groupName',

View File

@ -49,18 +49,18 @@
</div> </div>
</template> </template>
<div v-if="i == 3" style="display: flex; align-items: center"> <!-- <div v-if="i == 3" style="display: flex; align-items: center">-->
<el-input v-model="startPrice" style="width: 60px" size="small" /> <!-- <el-input v-model="startPrice" style="width: 60px" size="small" />-->
<span style="margin: 0 5px">-</span> <!-- <span style="margin: 0 5px">-</span>-->
<el-input v-model="endPrice" style="width: 60px" size="small" /> <!-- <el-input v-model="endPrice" style="width: 60px" size="small" />-->
<el-button <!-- <el-button-->
@click.stop="onConfirmPrice" <!-- @click.stop="onConfirmPrice"-->
size="small" <!-- size="small"-->
type="primary" <!-- type="primary"-->
style="margin-left: 20px" <!-- style="margin-left: 20px"-->
>确定</el-button <!-- >确定</el-button-->
> <!-- >-->
</div> <!-- </div>-->
</div> </div>
</div> </div>
</template> </template>
@ -139,33 +139,12 @@
:typeName="v.typeName" :typeName="v.typeName"
@click="onHandleDetails(v.maId)" @click="onHandleDetails(v.maId)"
/> />
<!-- <equip-card
class="card"
v-for="(v, i) in equipList"
:key="i"
:url="v.picUrl"
:company="v.companyName"
:tags="[v.maStatusStr, v.cityStr || '合肥市']"
:name="`${v.modelName}${v.deviceName}`"
:price="v.monthLeasePrice"
:id="v.maId"
time-unit="月"
@on-click="toDetail"
></equip-card> -->
</div> </div>
<div class="noData" v-else> <div class="noData" v-else>
<el-empty :image-size="200" /> <el-empty :image-size="200" />
</div> </div>
<div class="pagination"> <div class="pagination">
<!-- <el-pagination
v-model:current-page="pageData.pageNum"
:page-size="pageData.pageSize"
@current-change="pageChange"
:pager-count="5"
layout="prev, pager, next"
/> -->
<el-pagination <el-pagination
size="small" size="small"
background background
@ -310,62 +289,6 @@ const screenChooseList: any = reactive([
}, },
], ],
}, },
{
type: 'leasePrice',
name: '租金(天/元)',
isShow: true,
list: [
{
name: '全部',
value: '',
isChecked: true,
index: 3,
isShow: true,
},
{
name: '0-500',
value: [0, 500],
isChecked: false,
index: 3,
isShow: true,
},
{
name: '500-1000',
value: [500, 1000],
isChecked: false,
index: 3,
isShow: true,
},
{
name: '1000-1500',
value: [1000, 1500],
isChecked: false,
index: 3,
isShow: true,
},
{
name: '1500-2000',
value: [1500, 2000],
isChecked: false,
index: 3,
isShow: true,
},
{
name: '2000-2500',
value: [2000, 2500],
isChecked: false,
index: 3,
isShow: true,
},
{
name: '2500-3000',
value: [2500, 3000],
isChecked: false,
index: 3,
isShow: true,
},
],
},
{ {
type: 'companyId', type: 'companyId',
name: '所属公司', name: '所属公司',
@ -409,7 +332,7 @@ const screenOptionList: any = reactive([
sort: '', sort: '',
}, },
{ {
name: '租金', name: '共享剩余时间',
id: 1, id: 1,
sort: 'DESC', sort: 'DESC',
}, },

View File

@ -310,62 +310,62 @@ const screenChooseList: any = reactive([
}, },
], ],
}, },
{ // {
type: 'leasePrice', // type: 'leasePrice',
name: '租金(天/元)', // name: '(/)',
isShow: true, // isShow: true,
list: [ // list: [
{ // {
name: '全部', // name: '',
value: '', // value: '',
isChecked: true, // isChecked: true,
index: 3, // index: 3,
isShow: true, // isShow: true,
}, // },
{ // {
name: '0-500', // name: '0-500',
value: [0, 500], // value: [0, 500],
isChecked: false, // isChecked: false,
index: 3, // index: 3,
isShow: true, // isShow: true,
}, // },
{ // {
name: '500-1000', // name: '500-1000',
value: [500, 1000], // value: [500, 1000],
isChecked: false, // isChecked: false,
index: 3, // index: 3,
isShow: true, // isShow: true,
}, // },
{ // {
name: '1000-1500', // name: '1000-1500',
value: [1000, 1500], // value: [1000, 1500],
isChecked: false, // isChecked: false,
index: 3, // index: 3,
isShow: true, // isShow: true,
}, // },
{ // {
name: '1500-2000', // name: '1500-2000',
value: [1500, 2000], // value: [1500, 2000],
isChecked: false, // isChecked: false,
index: 3, // index: 3,
isShow: true, // isShow: true,
}, // },
{ // {
name: '2000-2500', // name: '2000-2500',
value: [2000, 2500], // value: [2000, 2500],
isChecked: false, // isChecked: false,
index: 3, // index: 3,
isShow: true, // isShow: true,
}, // },
{ // {
name: '2500-3000', // name: '2500-3000',
value: [2500, 3000], // value: [2500, 3000],
isChecked: false, // isChecked: false,
index: 3, // index: 3,
isShow: true, // isShow: true,
}, // },
], // ],
}, // },
// { // {
// type: 'companyId', // type: 'companyId',
// name: '', // name: '',

View File

@ -297,17 +297,7 @@ const getOrderListData = async () => {
} }
orderList.value.push(orderInfo) orderList.value.push(orderInfo)
// orderList.value.forEach((e: any) => {
// e.isChecked = false
// e.goods_num = 1
// e.lease_day = 1
// // e.devInfoVoList.forEach((j: any) => {
// // j.isChecked = false
// // })
// })
// console.log(orderList.value, '***********')
// console.log(res, '')
} }
onMounted(() => { onMounted(() => {
@ -316,11 +306,6 @@ onMounted(() => {
}, 500) }, 500)
}) })
// change
// const onLeaseDateChange = (e: any, item: any) => {
// item.lease_date_string = `${e[0]}${e[1]}`
// item.lease_day = moment(e[1]).diff(e[0], 'day')
// }
const onLeaseDateChange = (value: any, companyIndex: number, goodsIndex: number) => { const onLeaseDateChange = (value: any, companyIndex: number, goodsIndex: number) => {
orderList.value.forEach((e: any) => { orderList.value.forEach((e: any) => {
if (!value) { if (!value) {
@ -377,15 +362,7 @@ const allChecked = computed(() => {
// //
const amountDevice = computed(() => { const amountDevice = computed(() => {
// let amountNum = 0
// orderList.value.forEach((e) => {
// if (e.isChecked) {
// amountNum++
// }
// })
return orderList.value.length return orderList.value.length
// return 1
}) })
// //
const amountDeviceList = computed(() => { const amountDeviceList = computed(() => {
@ -412,16 +389,6 @@ const orderAmountPice = computed(() => {
// //
const onCartSubmit = debounce(async () => { const onCartSubmit = debounce(async () => {
// ElMessage.closeAll()
// if (amountDevice.value < 1) {
// ElMessage({
// showClose: false,
// message: '',
// type: 'error',
// })
// return
// }
// console.log(amountDeviceList.value[0].lease_date == undefined)
if (orderList.value[0].days < 1) { if (orderList.value[0].days < 1) {
ElMessage({ ElMessage({
showClose: false, showClose: false,
@ -574,7 +541,8 @@ const handleViewWord = async (index: any) => {
if (import.meta.env.VITE_API_URL == '/proxyApi') { if (import.meta.env.VITE_API_URL == '/proxyApi') {
wordUrl.value = res.data.url wordUrl.value = res.data.url
} else { } else {
wordUrl.value = 'http://sgwpdm.ah.sgcc.com.cn/iws/ahbns/' + res.data.url wordUrl.value = res.data.url
// wordUrl.value = 'http://sgwpdm.ah.sgcc.com.cn/iws/ahbns/' + res.data.url
} }
dialogFormVisibleSettleWord.value = true dialogFormVisibleSettleWord.value = true