bug修改
This commit is contained in:
parent
84c5d75ee5
commit
b941f3f81a
File diff suppressed because one or more lines are too long
|
|
@ -96,7 +96,7 @@ const routes: Array<RouteRecordRaw> = [
|
|||
},
|
||||
// 资讯详情
|
||||
{
|
||||
path: '/consultationDetails',
|
||||
path: '/consultationDetails/:id',
|
||||
name: 'consultationDetails',
|
||||
component: () => (import('views/consultationDetails/index.vue'))
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,14 +1,69 @@
|
|||
<script setup lang="ts"></script>
|
||||
|
||||
<template>
|
||||
<!-- 咨询详情页面 -->
|
||||
<div class="consultation-details">咨询详情页面(占位)</div>
|
||||
<div class="consultation-details">
|
||||
<div class="title">
|
||||
{{ data.title }}
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="createTime">
|
||||
发布时间:{{ data.create_time }}
|
||||
</div>
|
||||
<div v-html="data.content"></div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import baseData from "@/assets/baseInformation.json"
|
||||
import {ref} from "vue";
|
||||
import {useRoute} from "vue-router";
|
||||
|
||||
const router = useRoute()
|
||||
const data = ref({})
|
||||
|
||||
|
||||
//根据id获取静态模拟数据
|
||||
const getData = () => {
|
||||
const id = router.params.id
|
||||
|
||||
data.value = baseData.find(key => key.id == id)
|
||||
|
||||
}
|
||||
|
||||
const init = () => {
|
||||
getData()
|
||||
}
|
||||
init()
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.consultation-details {
|
||||
color: #000;
|
||||
background-color: skyblue;
|
||||
height: 200px;
|
||||
.title{
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.line{
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding-top: 20px;
|
||||
margin-bottom: 10px;
|
||||
&:after{
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background: #d1d1d1;
|
||||
}
|
||||
}
|
||||
.createTime{
|
||||
text-align: center;
|
||||
}
|
||||
.notice-content{
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@
|
|||
<el-row>
|
||||
<el-col :span="15">
|
||||
<el-form-item label="设备进场地址" prop="address">
|
||||
<el-cascader :props="addressCascader" v-model="ruleForm.address" />
|
||||
<el-cascader :props="addressCascader" v-model="ruleForm.address"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -161,9 +161,10 @@
|
|||
<el-form-item label="工期时长" prop="duration">
|
||||
<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-option label="天" value="0" />
|
||||
<el-option label="月" value="1" />
|
||||
<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>
|
||||
</template>
|
||||
</el-input>
|
||||
|
|
@ -253,7 +254,7 @@
|
|||
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 {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'
|
||||
|
|
@ -273,7 +274,7 @@ const equipBaseInfoList = reactive([
|
|||
},
|
||||
{
|
||||
label: '设备位置',
|
||||
key: 'city'
|
||||
key: 'provinceStr,cityStr,areaStr'
|
||||
},
|
||||
{
|
||||
label: '配备机手',
|
||||
|
|
@ -394,12 +395,12 @@ const isCollect = ref(false)
|
|||
//推荐列表
|
||||
const hotList = ref([])
|
||||
|
||||
const checkDuration = (rule,value,callback) => {
|
||||
if((value == '' || value == null) && value !== 0) {
|
||||
const checkDuration = (rule, value, callback) => {
|
||||
if ((value == '' || value == null) && value !== 0) {
|
||||
return callback(new Error('请输入工期时长'))
|
||||
}else if(value <= 0){
|
||||
} else if (value <= 0) {
|
||||
return callback(new Error('工期时长需大于0'))
|
||||
}else {
|
||||
} else {
|
||||
return callback()
|
||||
}
|
||||
}
|
||||
|
|
@ -410,7 +411,7 @@ const ruleForm = ref({
|
|||
detailAddress: '',//详细地址
|
||||
entryTime: '',//进场时间
|
||||
duration: null,//工期时长
|
||||
durationUnit:'0',//工期时长单位 0 —> 天 1 -> 月
|
||||
durationUnit: '0',//工期时长单位 0 —> 天 1 -> 月
|
||||
machinist: 0,//是否需要机手
|
||||
invoiceType: '',//发票类型
|
||||
projectDescription: ''//项目说明
|
||||
|
|
@ -426,7 +427,7 @@ const rules = reactive({
|
|||
{required: true, message: '请选择进场时间', trigger: 'blur'},
|
||||
],
|
||||
duration: [
|
||||
{validator:checkDuration, trigger: 'blur'}
|
||||
{validator: checkDuration, trigger: 'blur'}
|
||||
|
||||
],
|
||||
machinist: [
|
||||
|
|
@ -441,7 +442,6 @@ const rules = reactive({
|
|||
})
|
||||
|
||||
|
||||
|
||||
//打开我要租表单
|
||||
const openLease = () => {
|
||||
dialoglease.value = true
|
||||
|
|
@ -450,15 +450,15 @@ const openLease = () => {
|
|||
const collectChange = async () => {
|
||||
isCollect.value = !isCollect.value
|
||||
const params = {
|
||||
maId:pageData.value.maId,
|
||||
isCollect:isCollect.value
|
||||
maId: pageData.value.maId,
|
||||
isCollect: isCollect.value
|
||||
}
|
||||
const res = await equipCollect(params)
|
||||
if(res.code == '200'){
|
||||
if (res.code == '200') {
|
||||
ElMessage({
|
||||
type:'success',
|
||||
duration:1000,
|
||||
message:`装备${isCollect.value ? '收藏' : '取消收藏'}成功`
|
||||
type: 'success',
|
||||
duration: 1000,
|
||||
message: `装备${isCollect.value ? '收藏' : '取消收藏'}成功`
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -474,14 +474,14 @@ const priceChange = computed(() => {
|
|||
// 时长
|
||||
let duration = 0
|
||||
|
||||
if(ruleForm.value.durationUnit == '0'){
|
||||
if (ruleForm.value.durationUnit == '0') {
|
||||
unitPrice = Number(pageData.value.dayLeasePrice)
|
||||
jsPrice = Number(pageData.value.jsDayPrice)
|
||||
}else {
|
||||
} else {
|
||||
unitPrice = Number(pageData.value.monthLeasePrice)
|
||||
jsPrice = Number(pageData.value.jsMonthPrice)
|
||||
}
|
||||
if(!ruleForm.value.machinist){
|
||||
if (!ruleForm.value.machinist) {
|
||||
jsPrice = 0
|
||||
}
|
||||
|
||||
|
|
@ -500,7 +500,7 @@ const openPhone = () => {
|
|||
|
||||
// 打开新标签页查看pdf
|
||||
const openPdf = (name) => {
|
||||
if(name){
|
||||
if (name) {
|
||||
window.open(name)
|
||||
}
|
||||
}
|
||||
|
|
@ -510,23 +510,23 @@ const that = {
|
|||
|
||||
|
||||
const addressCascader = {
|
||||
lazy:true,
|
||||
label:'name',
|
||||
value:'id',
|
||||
lazyLoad: async (node,resolve) =>{
|
||||
const { level,data } = node
|
||||
lazy: true,
|
||||
label: 'name',
|
||||
value: 'id',
|
||||
lazyLoad: async (node, resolve) => {
|
||||
const {level, data} = node
|
||||
let nodes = []
|
||||
if(level == 0){
|
||||
if (level == 0) {
|
||||
const arr = await getAddressData()
|
||||
nodes = arr
|
||||
}else if(level == 1){
|
||||
} else if (level == 1) {
|
||||
const arr = await getAddressData(data.code)
|
||||
nodes = arr
|
||||
}else if(level == 2){
|
||||
} else if (level == 2) {
|
||||
const arr = await getAddressData(data.code)
|
||||
nodes = arr.map((item) => ({
|
||||
...item,
|
||||
leaf:true
|
||||
leaf: true
|
||||
}))
|
||||
}
|
||||
resolve(nodes)
|
||||
|
|
@ -537,8 +537,8 @@ const addressCascader = {
|
|||
//获取地址列表
|
||||
const getAddressData = async (code = '') => {
|
||||
let params = {}
|
||||
if(code){
|
||||
params = { code }
|
||||
if (code) {
|
||||
params = {code}
|
||||
}
|
||||
|
||||
const res = await apiGetAddressList(params)
|
||||
|
|
@ -566,8 +566,8 @@ const getData = async () => {
|
|||
//获取推荐列表
|
||||
const gethotList = async () => {
|
||||
const params = {
|
||||
pageNum:1,
|
||||
pageSize:3
|
||||
pageNum: 1,
|
||||
pageSize: 3
|
||||
}
|
||||
const res = await getHotList(params)
|
||||
hotList.value = res.rows
|
||||
|
|
@ -576,13 +576,12 @@ const gethotList = async () => {
|
|||
//获取详情数据
|
||||
const goDetail = (val) => {
|
||||
router.push({
|
||||
path:`/equipDetail/${val.id}`
|
||||
path: `/equipDetail/${val.id}`
|
||||
})
|
||||
}
|
||||
|
||||
//提交申请
|
||||
const submit = async() => {
|
||||
console.log(ruleForm.value)
|
||||
const submit = async () => {
|
||||
const params = {
|
||||
addressId: ruleForm.value.address[2],
|
||||
address: ruleForm.value.detailAddress,
|
||||
|
|
@ -591,34 +590,35 @@ const submit = async() => {
|
|||
isMachinist: ruleForm.value.machinist,
|
||||
invoiceType: ruleForm.value.invoiceType,
|
||||
description: ruleForm.value.projectDescription,
|
||||
durationType: ruleForm.value.durationUnit
|
||||
durationType: ruleForm.value.durationUnit,
|
||||
cost: priceChange.value
|
||||
}
|
||||
|
||||
const res = await apiSubmitLease(params)
|
||||
|
||||
if(res.code == '200'){
|
||||
if (res.code == '200') {
|
||||
ElMessage({
|
||||
message:'提交租赁申请成功',
|
||||
type:'success',
|
||||
duration:1500
|
||||
message: '提交租赁申请成功',
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
}
|
||||
dialoglease.value = false
|
||||
}
|
||||
|
||||
const init = async () => {
|
||||
const init = async () => {
|
||||
await gethotList()
|
||||
await getData()
|
||||
}
|
||||
init()
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
:deep(.dialoglease){
|
||||
margin: 10px auto 0 !important;
|
||||
min-width: 855px !important;
|
||||
:deep(.dialoglease) {
|
||||
margin: 10px auto 0 !important;
|
||||
min-width: 855px !important;
|
||||
}
|
||||
|
||||
:deep(.el-form-item){
|
||||
:deep(.el-form-item) {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
|
||||
|
|
@ -647,34 +647,38 @@ init()
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
overflow: hidden;
|
||||
|
||||
.equipInfo {
|
||||
display: flex;
|
||||
|
||||
.left {
|
||||
margin-right: 5px;
|
||||
width: 62%;
|
||||
|
||||
.title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.name {
|
||||
font-size: 24px;
|
||||
font-family: PingFangSC, PingFang SC;
|
||||
font-weight: 600;
|
||||
color: #000000;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.tag {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
|
||||
.item {
|
||||
font-size: 13px;
|
||||
font-family: PingFangSC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #005af2;
|
||||
margin-left: 15px;
|
||||
margin-right: 15px;
|
||||
padding: 2px 10px;
|
||||
border: 1px solid #005af2;
|
||||
border-radius: 4px;
|
||||
|
|
|
|||
|
|
@ -303,7 +303,7 @@ const tagClear = () => {
|
|||
key.select = []
|
||||
key.index = 0
|
||||
})
|
||||
|
||||
getTypeData()
|
||||
getData()
|
||||
}
|
||||
|
||||
|
|
@ -389,15 +389,13 @@ const getTypeData = async (typeId = null) => {
|
|||
}
|
||||
)
|
||||
|
||||
|
||||
|
||||
screenChooseList[index].list[screenChooseList[index].index].select = list
|
||||
}
|
||||
|
||||
//获取列表
|
||||
const getData = async (text = '') => {
|
||||
//地址信息
|
||||
const address = screenChooseList.find(key => key.name == 'address').select.slice(-1)[0] || null
|
||||
const address = screenChooseList.find(key => key.name == 'address').select
|
||||
//类别信息
|
||||
const type = screenChooseList.find(key => key.name == 'type').select.slice(-1)[0] || null
|
||||
//租金信息
|
||||
|
|
@ -408,13 +406,17 @@ const getData = async (text = '') => {
|
|||
const time = screenChooseList.find(key => key.name == 'time').select.slice(-1)[0] || null
|
||||
|
||||
|
||||
console.log('addres',address)
|
||||
|
||||
const params = {
|
||||
keyWord: text,
|
||||
pageSize: pageData.pageSize,
|
||||
pageNum: pageData.pageNum,
|
||||
updateTimeOrderBy: '',
|
||||
monthLeasePriceOrderBy: '',
|
||||
location: address ? address.id : '',
|
||||
provinceId:address[0]?.id || '',
|
||||
cityId:address[1]?.id || '',
|
||||
areaId:address[2]?.id || '',
|
||||
typeId: type ? type.typeId : '',
|
||||
monthLeasePriceMin: '',
|
||||
monthLeasePriceMax: '',
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
import { useStore } from 'store/main'
|
||||
import { getHotList } from 'http/api/equip'
|
||||
import {reactive} from "vue";
|
||||
import baseData from "@/assets/baseInformation.json"
|
||||
|
||||
const router = useRouter()
|
||||
|
||||
const leftNavList = ref([])
|
||||
|
|
@ -33,26 +35,26 @@
|
|||
})
|
||||
}
|
||||
|
||||
const detailsList = ref([
|
||||
{
|
||||
v_title: '实锤了,确实挖掘技术强!山东用挖掘机在海外市场“挖呀挖”',
|
||||
v_content_info:
|
||||
'天眼查数据显示,截至今年4月中旬,全国存天眼查数据显示,截至今年4月中旬,全国存天眼查数据显示,截至今年4月中旬,全国存',
|
||||
v_time: '[2023/11/28]'
|
||||
},
|
||||
{
|
||||
v_title: '实锤了,确实挖掘技术强!山东用挖掘机在海外市场“挖呀挖”',
|
||||
v_content_info:
|
||||
'天眼查数据显示,截至今年4月中旬,全国存天眼查数据显示,截至今年4月中旬,全国存天眼查数据显示,截至今年4月中旬,全国存',
|
||||
v_time: '[2023/11/28]'
|
||||
},
|
||||
{
|
||||
v_title: '实锤了,确实挖掘技术强!山东用挖掘机在海外市场“挖呀挖”',
|
||||
v_content_info:
|
||||
'天眼查数据显示,截至今年4月中旬,全国存天眼查数据显示,截至今年4月中旬,全国存天眼查数据显示,截至今年4月中旬,全国存',
|
||||
v_time: '[2023/11/28]'
|
||||
}
|
||||
])
|
||||
const goInformation = (id) => {
|
||||
router.push({
|
||||
path:`/consultationDetails/${id}`
|
||||
})
|
||||
}
|
||||
|
||||
const detailsList = ref([])
|
||||
|
||||
const handelInformation = () => {
|
||||
detailsList.value = baseData.map(item => {
|
||||
return {
|
||||
v_title:item.title,
|
||||
v_content_info:'',
|
||||
v_time:`[${item.create_time}]`,
|
||||
id:item.id
|
||||
}
|
||||
})
|
||||
}
|
||||
handelInformation()
|
||||
|
||||
|
||||
const hotDeviceList: any = ref([])
|
||||
|
||||
|
|
@ -127,7 +129,7 @@
|
|||
@onClick="onClick"
|
||||
:company="item.companyName || '安徽博诺斯有限公司'"
|
||||
:price="item.monthLeasePrice"
|
||||
:tags="['待租', '合肥市']"
|
||||
:tags="[item.maStatusStr || '待租', item.cityStr || '合肥']"
|
||||
:name="item.modelName + item.deviceName"
|
||||
:url="item.picUrl"
|
||||
:id="item.maId" />
|
||||
|
|
@ -164,11 +166,11 @@
|
|||
<div class="right-consult">
|
||||
<div
|
||||
class="consult-box"
|
||||
@click="$router.push('/consultationDetails')"
|
||||
@click="goInformation(item.id)"
|
||||
v-for="item in detailsList"
|
||||
:key="item.v_time">
|
||||
<div class="consult-title">
|
||||
<h2>{{ item.v_title }}</h2>
|
||||
<h3>{{ item.v_title }}</h3>
|
||||
<span>{{ item.v_time }}</span>
|
||||
</div>
|
||||
|
||||
|
|
@ -356,9 +358,10 @@
|
|||
flex: 1;
|
||||
width: calc(100% - 340px);
|
||||
// padding-left: 35px;
|
||||
|
||||
overflow-y: auto;
|
||||
.consult-box {
|
||||
height: 70px;
|
||||
margin-bottom: 10px;
|
||||
//height: 70px;
|
||||
padding-left: 15px;
|
||||
cursor: pointer;
|
||||
.consult-title {
|
||||
|
|
@ -379,7 +382,7 @@
|
|||
|
||||
.consult-info {
|
||||
width: calc(100% - 100px);
|
||||
height: 40px;
|
||||
height: 10px;
|
||||
line-height: 40px;
|
||||
border-bottom: 1px dashed #979797;
|
||||
overflow: hidden;
|
||||
|
|
|
|||
Loading…
Reference in New Issue