bug修改

This commit is contained in:
wlikett 2023-12-09 15:37:20 +08:00
parent 84c5d75ee5
commit b941f3f81a
6 changed files with 176 additions and 89 deletions

File diff suppressed because one or more lines are too long

View File

@ -96,7 +96,7 @@ const routes: Array<RouteRecordRaw> = [
},
// 资讯详情
{
path: '/consultationDetails',
path: '/consultationDetails/:id',
name: 'consultationDetails',
component: () => (import('views/consultationDetails/index.vue'))
},

View File

@ -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>

View File

@ -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;

View File

@ -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: '',

View File

@ -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;