Merge branch 'dev-songyang'
This commit is contained in:
commit
164f4d64d3
|
|
@ -29,3 +29,4 @@ coverage
|
|||
*.sw?
|
||||
.prettierrc.js
|
||||
auto-imports.d.ts
|
||||
components.d.ts
|
||||
|
|
|
|||
|
|
@ -12,11 +12,15 @@ declare module 'vue' {
|
|||
ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem']
|
||||
ElCol: typeof import('element-plus/es')['ElCol']
|
||||
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
|
||||
ElEmpty: typeof import('element-plus/es')['ElEmpty']
|
||||
ElForm: typeof import('element-plus/es')['ElForm']
|
||||
ElFormItem: typeof import('element-plus/es')['ElFormItem']
|
||||
ElIcon: typeof import('element-plus/es')['ElIcon']
|
||||
ElImage: typeof import('element-plus/es')['ElImage']
|
||||
ElInput: typeof import('element-plus/es')['ElInput']
|
||||
ElPagination: typeof import('element-plus/es')['ElPagination']
|
||||
ElRow: typeof import('element-plus/es')['ElRow']
|
||||
ElTag: typeof import('element-plus/es')['ElTag']
|
||||
EquipCard: typeof import('./src/components/equipCard.vue')['default']
|
||||
EquipDetailTable: typeof import('./src/components/equipDetailTable.vue')['default']
|
||||
FooterInfo: typeof import('./src/components/FooterInfo/index.vue')['default']
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
const navMenuList = [
|
||||
{ name: '首页', routerName: 'home' },
|
||||
{ name: '自选直租', routerName: 'equipList' },
|
||||
{ name: '寻源比价', routerName: '/home' },
|
||||
{ name: '寻源比价', routerName: 'parity' },
|
||||
{ name: '二手交易', routerName: '/home' },
|
||||
{ name: '保险业务', routerName: '/home' },
|
||||
{ name: '检验业务', routerName: '/home' },
|
||||
{ name: '企业专区', routerName: '/home' }
|
||||
{ name: '企业专区', routerName: 'enterpriseZone' }
|
||||
]
|
||||
|
||||
const navMenuClick = (name: any) => {
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
<span v-if="!isShowLogout">
|
||||
<a class="a-border-none" @click="$router.push('/login')">登录</a>
|
||||
<span style="margin: 0 3px">/</span>
|
||||
<a>注册</a>
|
||||
<a @click="$router.push('/register')">注册</a>
|
||||
</span>
|
||||
<span v-else>
|
||||
<a @click="handlerLogout">退出登录</a>
|
||||
|
|
|
|||
|
|
@ -122,6 +122,28 @@ const routes: Array<RouteRecordRaw> = [
|
|||
},
|
||||
component: () => import('views/collect/index.vue')
|
||||
},
|
||||
// 寻源比价页面
|
||||
{
|
||||
path: '/parity',
|
||||
name: 'parity',
|
||||
meta: {
|
||||
title: '寻源比较',
|
||||
isLogin: true,
|
||||
AuthFlag: false
|
||||
},
|
||||
component: () => import('views/parity/index.vue')
|
||||
},
|
||||
// 企业专区页面
|
||||
{
|
||||
path: '/enterpriseZone',
|
||||
name: 'enterpriseZone',
|
||||
meta: {
|
||||
title: '企业专区',
|
||||
isLogin: true,
|
||||
AuthFlag: false
|
||||
},
|
||||
component: () => import('views/enterpriseZone/index.vue')
|
||||
},
|
||||
// 个人中心
|
||||
{
|
||||
path: '/myuser', // 主路由地址
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
<script setup lang="ts"></script>
|
||||
|
||||
<template>
|
||||
<div>企业专区---</div>
|
||||
</template>
|
||||
|
||||
<style></style>
|
||||
|
|
@ -9,7 +9,9 @@
|
|||
<div class="equipInfo">
|
||||
<div class="left">
|
||||
<div class="title">
|
||||
<div class="name">{{ pageData.modelName }}{{ pageData.deviceName }}</div>
|
||||
<div class="name">
|
||||
{{ pageData.modelName }}{{ pageData.deviceName }}
|
||||
</div>
|
||||
<div class="tag">
|
||||
<div class="item otherItem">{{ pageData.maStatusStr }}</div>
|
||||
<div class="item">已审核</div>
|
||||
|
|
@ -19,10 +21,14 @@
|
|||
<div class="infoBox">
|
||||
<div class="item" v-for="(v, i) in equipBaseInfoList" :key="i">
|
||||
<div class="label">{{ v.label }}:</div>
|
||||
<div class="value">{{
|
||||
v.key.split(',').map(key => {
|
||||
<div class="value">
|
||||
{{
|
||||
v.key
|
||||
.split(',')
|
||||
.map((key) => {
|
||||
return pageData[key]
|
||||
}).join('')
|
||||
})
|
||||
.join('')
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -55,9 +61,7 @@
|
|||
<img class="bgCar" src="@/assets/img/equipDetail/gouwu.png" />
|
||||
|
||||
<div class="business">
|
||||
<img
|
||||
src="@/assets/img/bns-logo.png"
|
||||
class="avatar"/>
|
||||
<img src="@/assets/img/bns-logo.png" class="avatar" />
|
||||
<div class="fonts">
|
||||
<div class="name">{{ pageData.companyName }}</div>
|
||||
<div class="other">
|
||||
|
|
@ -78,9 +82,10 @@
|
|||
<div class="list publicContent">
|
||||
<div class="item" v-for="(v, i) in equipDetailKeyList" :key="i">
|
||||
<div class="label">{{ v.label }}:</div>
|
||||
<div :class="v.fn ? 'fnValue' : 'value'" @click="handelDetailListClick(v.fn,pageData[v.arg])">{{
|
||||
pageData[v.key]
|
||||
}}
|
||||
<div
|
||||
:class="v.fn ? 'fnValue' : 'value'"
|
||||
@click="handelDetailListClick(v.fn, pageData[v.arg])">
|
||||
{{ pageData[v.key] }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -89,7 +94,7 @@
|
|||
<div class="publicTitle">装备外观</div>
|
||||
<div class="publicLine"></div>
|
||||
<div class="urlList publicContent">
|
||||
<img :src="v" v-for="(v, i) in (pageData.pictures || [])" :key="i"/>
|
||||
<img :src="v" v-for="(v, i) in pageData.pictures || []" :key="i" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="recommend">
|
||||
|
|
@ -99,7 +104,8 @@
|
|||
<div class="change" @click="randomHotList">换一批</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<equip-card class="item"
|
||||
<equip-card
|
||||
class="item"
|
||||
@on-click="goDetail"
|
||||
v-for="(v, i) in hotList"
|
||||
:key="i"
|
||||
|
|
@ -118,8 +124,7 @@
|
|||
title="填写租赁信息"
|
||||
lock-scroll
|
||||
class="dialoglease"
|
||||
width="60%"
|
||||
>
|
||||
width="60%">
|
||||
<el-config-provider :locale="zhCn">
|
||||
<el-form
|
||||
ref="ruleFormRef"
|
||||
|
|
@ -127,9 +132,7 @@
|
|||
:rules="rules"
|
||||
label-width="120px"
|
||||
class="demo-ruleForm"
|
||||
status-icon
|
||||
>
|
||||
|
||||
status-icon>
|
||||
<el-row>
|
||||
<el-col :span="15">
|
||||
<el-form-item label="设备进场地址" prop="address">
|
||||
|
|
@ -140,7 +143,9 @@
|
|||
<el-row>
|
||||
<el-col :span="15">
|
||||
<el-form-item label="详细地址" prop="detailAddress">
|
||||
<el-input placeholder="请输入地址" v-model="ruleForm.detailAddress"></el-input>
|
||||
<el-input
|
||||
placeholder="请输入地址"
|
||||
v-model="ruleForm.detailAddress"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -151,18 +156,23 @@
|
|||
v-model="ruleForm.entryTime"
|
||||
value-format="YYYY-MM-DD"
|
||||
type="date"
|
||||
placeholder="请选择"
|
||||
/>
|
||||
placeholder="请选择" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="15">
|
||||
<el-form-item label="工期时长" prop="duration">
|
||||
<el-input v-model.number="ruleForm.duration" type="number" placeholder="请输入工期时长">
|
||||
<el-input
|
||||
v-model.number="ruleForm.duration"
|
||||
type="number"
|
||||
placeholder="请输入工期时长">
|
||||
<template #append>
|
||||
<el-select v-model="ruleForm.durationUnit" placeholder="Select"
|
||||
style="width: 85px" @change="priceChange">
|
||||
<el-select
|
||||
v-model="ruleForm.durationUnit"
|
||||
placeholder="Select"
|
||||
style="width: 85px"
|
||||
@change="priceChange">
|
||||
<el-option label="天" value="0" />
|
||||
<el-option label="月" value="1" />
|
||||
</el-select>
|
||||
|
|
@ -178,24 +188,16 @@
|
|||
<el-radio-button :label="1" :disabled="!pageData.isOperator">
|
||||
是
|
||||
</el-radio-button>
|
||||
<el-radio-button :label="0">
|
||||
否
|
||||
</el-radio-button>
|
||||
<el-radio-button :label="0">否</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="发票类型" prop="invoiceType">
|
||||
<el-radio-group v-model="ruleForm.invoiceType">
|
||||
<el-radio-button label="">
|
||||
不需要
|
||||
</el-radio-button>
|
||||
<el-radio-button :label="1">
|
||||
增值税普票
|
||||
</el-radio-button>
|
||||
<el-radio-button :label="2">
|
||||
增值税专票
|
||||
</el-radio-button>
|
||||
<el-radio-button label="">不需要</el-radio-button>
|
||||
<el-radio-button :label="1">增值税普票</el-radio-button>
|
||||
<el-radio-button :label="2">增值税专票</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -203,7 +205,10 @@
|
|||
<el-row>
|
||||
<el-col :span="15">
|
||||
<el-form-item label="项目说明" prop="projectDescription">
|
||||
<el-input placeholder="请填写项目说明" rows="5" type="textarea"
|
||||
<el-input
|
||||
placeholder="请填写项目说明"
|
||||
rows="5"
|
||||
type="textarea"
|
||||
v-model="ruleForm.projectDescription"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -211,43 +216,39 @@
|
|||
</el-form>
|
||||
</el-config-provider>
|
||||
<equipDetailTable
|
||||
:price="`${ruleForm.durationUnit == '1' ? pageData.monthLeasePrice : pageData.dayLeasePrice }`"
|
||||
:price="`${
|
||||
ruleForm.durationUnit == '1' ? pageData.monthLeasePrice : pageData.dayLeasePrice
|
||||
}`"
|
||||
:name="`${pageData.modelName}${pageData.deviceName}`"
|
||||
:company="pageData.companyName"
|
||||
:url="pageData.picUrl"
|
||||
:brand="pageData.brand"
|
||||
:code="pageData.code"
|
||||
:group="pageData.groupName"
|
||||
:position="`${pageData.provinceStr}${pageData.cityStr || ''}${pageData.areaStr || ''}`"
|
||||
:position="`${pageData.provinceStr}${pageData.cityStr || ''}${
|
||||
pageData.areaStr || ''
|
||||
}`"
|
||||
:specifications="pageData.specification"
|
||||
:type="pageData.typeName"
|
||||
:unit="ruleForm.durationUnit == '1' ? '月' : '天'"
|
||||
></equipDetailTable>
|
||||
:unit="ruleForm.durationUnit == '1' ? '月' : '天'"></equipDetailTable>
|
||||
<div class="countPrice">
|
||||
合计总价:<span>{{ priceChange }}元</span>
|
||||
合计总价:
|
||||
<span>{{ priceChange }}元</span>
|
||||
</div>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button type="primary" @click="submit(ruleFormRef)">
|
||||
提交
|
||||
</el-button>
|
||||
<el-button type="primary" @click="submit(ruleFormRef)">提交</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
v-model="dialogPhone"
|
||||
title="服务电话"
|
||||
width="30%"
|
||||
>
|
||||
<div style="font-size: 16px;font-weight: 600;">
|
||||
<el-dialog v-model="dialogPhone" title="服务电话" width="30%">
|
||||
<div style="font-size: 16px; font-weight: 600">
|
||||
{{ pageData.authPhone }}
|
||||
</div>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button type="primary" @click="openPhone">
|
||||
确认
|
||||
</el-button>
|
||||
<el-button type="primary" @click="openPhone">确认</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
|
@ -257,12 +258,18 @@
|
|||
import ShowImg from './comoonents/showImg.vue'
|
||||
import { computed, reactive, ref } from 'vue'
|
||||
import EquipCard from 'components/equipCard.vue'
|
||||
import {getDetail, getHotList, equipCollect, apiSubmitLease, apiGetAddressList} from "@/http/api/equip"
|
||||
import {useRoute, useRouter} from "vue-router";
|
||||
import {
|
||||
getDetail,
|
||||
getHotList,
|
||||
equipCollect,
|
||||
apiSubmitLease,
|
||||
apiGetAddressList
|
||||
} from '@/http/api/equip'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import Navmenu from '@/components/Navmenu/index.vue'
|
||||
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
|
||||
import equipDetailTable from '@/components/equipDetailTable.vue'
|
||||
import {ElMessage} from "element-plus";
|
||||
import { ElMessage } from 'element-plus'
|
||||
|
||||
import { mainStore } from '@/store/main'
|
||||
|
||||
|
|
@ -390,7 +397,6 @@ const equipDetailKeyList = reactive([
|
|||
//
|
||||
const dialogPhone = ref(false)
|
||||
|
||||
|
||||
//装备详情数据
|
||||
const pageData = ref({})
|
||||
|
||||
|
|
@ -427,31 +433,15 @@ const ruleForm = ref({
|
|||
projectDescription: '' //项目说明
|
||||
})
|
||||
const rules = reactive({
|
||||
address: [
|
||||
{required: true, message: '请输入进场地址', trigger: 'blur'}
|
||||
],
|
||||
detailAddress: [
|
||||
{required: true, message: '请输入详细地址', trigger: 'blur'}
|
||||
],
|
||||
entryTime: [
|
||||
{required: true, message: '请选择进场时间', trigger: 'blur'},
|
||||
],
|
||||
duration: [
|
||||
{validator: checkDuration, trigger: 'blur'}
|
||||
|
||||
],
|
||||
machinist: [
|
||||
{required: true, message: '请输入进场地址', trigger: 'blur'}
|
||||
],
|
||||
invoiceType: [
|
||||
|
||||
],
|
||||
projectDescription: [
|
||||
{required: true, message: '请输入项目说明', trigger: 'blur'}
|
||||
],
|
||||
address: [{ required: true, message: '请输入进场地址', trigger: 'blur' }],
|
||||
detailAddress: [{ required: true, message: '请输入详细地址', trigger: 'blur' }],
|
||||
entryTime: [{ required: true, message: '请选择进场时间', trigger: 'blur' }],
|
||||
duration: [{ validator: checkDuration, trigger: 'blur' }],
|
||||
machinist: [{ required: true, message: '请输入进场地址', trigger: 'blur' }],
|
||||
invoiceType: [],
|
||||
projectDescription: [{ required: true, message: '请输入项目说明', trigger: 'blur' }]
|
||||
})
|
||||
|
||||
|
||||
//打开我要租表单
|
||||
const openLease = () => {
|
||||
dialoglease.value = true
|
||||
|
|
@ -505,7 +495,6 @@ const priceChange = computed(() => {
|
|||
//打开商家电话弹窗
|
||||
const openPhone = () => {
|
||||
dialogPhone.value = !dialogPhone.value
|
||||
|
||||
}
|
||||
|
||||
// 打开新标签页查看pdf
|
||||
|
|
@ -518,7 +507,6 @@ const that = {
|
|||
openPdf
|
||||
}
|
||||
|
||||
|
||||
const addressCascader = {
|
||||
lazy: true,
|
||||
label: 'name',
|
||||
|
|
@ -543,7 +531,6 @@ const addressCascader = {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
//获取地址列表
|
||||
const getAddressData = async (code = '') => {
|
||||
let params = {}
|
||||
|
|
@ -585,17 +572,17 @@ const gethotList = async () => {
|
|||
}
|
||||
|
||||
const randomHotList = () => {
|
||||
showHotList.value = random().map(key => {
|
||||
showHotList.value = random().map((key) => {
|
||||
return hotList.value[key]
|
||||
})
|
||||
}
|
||||
|
||||
const random = () => {
|
||||
let numbers = new Set();
|
||||
let numbers = new Set()
|
||||
while (numbers.size < 3) {
|
||||
numbers.add(Math.floor(Math.random() * 10));
|
||||
numbers.add(Math.floor(Math.random() * 10))
|
||||
}
|
||||
return Array.from(numbers);
|
||||
return Array.from(numbers)
|
||||
}
|
||||
|
||||
//获取详情数据
|
||||
|
|
@ -639,11 +626,8 @@ const submit = async (Ref) => {
|
|||
}
|
||||
dialoglease.value = false
|
||||
} else {
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
const init = async () => {
|
||||
|
|
@ -707,7 +691,6 @@ init()
|
|||
width: 62%;
|
||||
|
||||
.title {
|
||||
|
||||
.name {
|
||||
font-size: 24px;
|
||||
font-family: PingFangSC, PingFang SC;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
<script setup lang="ts"></script>
|
||||
|
||||
<template>
|
||||
<div>寻源比价---</div>
|
||||
</template>
|
||||
|
||||
<style></style>
|
||||
Loading…
Reference in New Issue