Compare commits

...

2 Commits

Author SHA1 Message Date
syruan b0d60a8a67 Merge remote-tracking branch 'origin/ah-simple' into ah-simple 2025-10-14 17:31:17 +08:00
syruan 0aa1425a9d 商城 2025-10-14 17:26:53 +08:00
10 changed files with 150 additions and 265 deletions

View File

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

View File

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

View File

@ -7,11 +7,14 @@
<ul class="item-details">
<li class="address">
<span>{{ operateAddress }}</span>
<span style="text-align: right; color: #ff4800">
<i style="font-size: 10px"></i>
<i style="font-size: 14px; font-weight: bold">{{ price }}</i>
<i style="font-size: 10px">/ </i>
</span>
<!-- <span style="text-align: right; color: #ff4800; display: none" >-->
<!-- <i style="font-size: 10px"></i>-->
<!-- <i style="font-size: 14px; font-weight: bold">{{ price }}</i>-->
<!-- <i style="font-size: 10px">/ </i>-->
<!-- </span>-->
</li>
<li>
<span>状态{{ statusText }}</span>
</li>
<li>
<span>13867865678</span>
@ -30,6 +33,7 @@
</div>
</template>
<script lang="ts" setup>
import { computed } from 'vue'
import { addBookCarApi } from 'http/api/equip'
import { useRoute, useRouter } from 'vue-router'
import { ElMessage, ElMessageBox } from 'element-plus'
@ -90,6 +94,10 @@ const props: any = defineProps({
type: [String, Number],
default: '',
},
ma_status: {
type: [String, Number],
default: '',
},
})
const emit = defineEmits(['onClick'])
@ -124,13 +132,31 @@ const onHandelLessee = () => {
.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 addParams = {
maId: props.id,
orderCompany: props.companyId,
}
const res = await addBookCarApi(addParams)
const res: any = await addBookCarApi(addParams)
if (res.code === 200) {
ElMessage({
type: 'success',

View File

@ -68,12 +68,13 @@ const handlerLogout = () => {
if (import.meta.env.VITE_API_URL == '/proxyApi') {
router.push('/login') // -
} else {
// -
setTimeout(() => {
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)
router.push('/login') // -
// // -
// setTimeout(() => {
// 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)
}
})
.catch(() => {
@ -259,7 +260,7 @@ onMounted(() => {
<template>
<!-- 头部个人信息 收藏夹 手机版等图标 -->
<div class="header-container">
<div class="header-user-info">
<div class="header-user-info" style="display: none">
<div class="header-box">
<el-image
style="width: 190px; cursor: pointer"

View File

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

View File

@ -5,7 +5,7 @@
</div>
<div class="container">
<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>
@ -26,21 +26,18 @@
<el-col :span="9">
<div>装备信息</div>
</el-col>
<el-col :span="3">
<el-col :span="4">
<div>租期</div>
</el-col>
<el-col :span="2">
<div>日租金/</div>
</el-col>
<el-col :span="2">
<div>天数</div>
</el-col>
<el-col :span="2">
<el-col :span="4">
<div>数量</div>
</el-col>
<el-col :span="2">
<div>总金额/</div>
</el-col>
<!-- <el-col :span="2">-->
<!-- <div>总金额/</div>-->
<!-- </el-col>-->
<el-col :span="2">
<div>操作</div>
</el-col>
@ -93,7 +90,7 @@
<div>装备型号 {{ goods.typeName }}</div>
</div>
</el-col>
<el-col :span="4">
<el-col :span="5">
<div class="lease-date">
<div style="margin-bottom: 8px">
{{ goods.rentBeginTime }}
@ -101,16 +98,6 @@
{{ goods.rentEndTime }}
</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
:modelValue="goods.lease_date"
:companyIndex="index"
@ -123,17 +110,12 @@
/>
</div>
</el-col>
<el-col :span="2">
<div class="red-font">
{{ goods.dayLeasePrice }}
</div>
</el-col>
<el-col :span="2">
<div class="red-font" style="color: #0062ff">
{{ goods.days }}
</div>
</el-col>
<el-col :span="2">
<el-col :span="4">
<div>
<el-input-number
v-model="goods.num"
@ -145,21 +127,8 @@
/>
</div>
</el-col>
<el-col :span="2">
<div class="red-font">
{{ goods.num * goods.days * goods.dayLeasePrice }}
</div>
</el-col>
<el-col :span="2">
<div>
<!-- <el-button
link
@click="onDeleteGoods(goods.id)"
style="color: #ff4800; font-weight: bold"
>
删除
</el-button> -->
<el-popconfirm
width="220"
:icon="InfoFilled"
@ -183,7 +152,7 @@
</el-col>
</el-row>
<el-row>
<el-row style="display: none">
<el-col :span="16">
<div class="checkbox-container">
<el-checkbox v-model="item.protocolChecked">
@ -260,13 +229,13 @@
件装备
</div>
</el-col>
<el-col :span="3">
<div class="red-font">
订单总金额<span style="color: #ff4800; font-weight: bold"
>{{ orderAmountPice }} </span
>
</div>
</el-col>
<!-- <el-col :span="3">-->
<!-- <div class="red-font">-->
<!-- 订单总金额<span style="color: #ff4800; font-weight: bold"-->
<!-- >{{ orderAmountPice }} </span-->
<!-- >-->
<!-- </div>-->
<!-- </el-col>-->
<el-col :span="2">
<div style="text-align: right">
<el-button
@ -920,7 +889,8 @@ const handleViewWord = async (index: any) => {
if (import.meta.env.VITE_API_URL == '/proxyApi') {
wordUrl.value = res.data.url
} 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)
dialogFormVisibleSettleWord.value = true

View File

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

View File

@ -49,18 +49,18 @@
</div>
</template>
<div v-if="i == 3" style="display: flex; align-items: center">
<el-input v-model="startPrice" style="width: 60px" size="small" />
<span style="margin: 0 5px">-</span>
<el-input v-model="endPrice" style="width: 60px" size="small" />
<el-button
@click.stop="onConfirmPrice"
size="small"
type="primary"
style="margin-left: 20px"
>确定</el-button
>
</div>
<!-- <div v-if="i == 3" style="display: flex; align-items: center">-->
<!-- <el-input v-model="startPrice" style="width: 60px" size="small" />-->
<!-- <span style="margin: 0 5px">-</span>-->
<!-- <el-input v-model="endPrice" style="width: 60px" size="small" />-->
<!-- <el-button-->
<!-- @click.stop="onConfirmPrice"-->
<!-- size="small"-->
<!-- type="primary"-->
<!-- style="margin-left: 20px"-->
<!-- >确定</el-button-->
<!-- >-->
<!-- </div>-->
</div>
</div>
</template>
@ -139,33 +139,12 @@
:typeName="v.typeName"
@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 class="noData" v-else>
<el-empty :image-size="200" />
</div>
<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
size="small"
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',
name: '所属公司',
@ -409,7 +332,7 @@ const screenOptionList: any = reactive([
sort: '',
},
{
name: '租金',
name: '共享剩余时间',
id: 1,
sort: 'DESC',
},

View File

@ -310,62 +310,62 @@ 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: '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',
// name: '',

View File

@ -297,17 +297,7 @@ const getOrderListData = async () => {
}
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(() => {
@ -316,11 +306,6 @@ onMounted(() => {
}, 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) => {
orderList.value.forEach((e: any) => {
if (!value) {
@ -377,15 +362,7 @@ const allChecked = computed(() => {
//
const amountDevice = computed(() => {
// let amountNum = 0
// orderList.value.forEach((e) => {
// if (e.isChecked) {
// amountNum++
// }
// })
return orderList.value.length
// return 1
})
//
const amountDeviceList = computed(() => {
@ -412,16 +389,6 @@ const orderAmountPice = computed(() => {
//
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) {
ElMessage({
showClose: false,
@ -574,7 +541,8 @@ const handleViewWord = async (index: any) => {
if (import.meta.env.VITE_API_URL == '/proxyApi') {
wordUrl.value = res.data.url
} 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