冲突合并

This commit is contained in:
songyang 2023-12-07 17:55:09 +08:00
commit cc90a75d85
17 changed files with 1901 additions and 1358 deletions

21
components.d.ts vendored
View File

@ -10,39 +10,60 @@ declare module 'vue' {
ElButton: typeof import('element-plus/es')['ElButton']
ElCarousel: typeof import('element-plus/es')['ElCarousel']
ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem']
ElCascader: typeof import('element-plus/es')['ElCascader']
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
ElCol: typeof import('element-plus/es')['ElCol']
<<<<<<< HEAD
<<<<<<< HEAD
=======
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
>>>>>>> dev-sjf-2023-12-5
=======
ElCollapseTransition: typeof import('element-plus/es')['ElCollapseTransition']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
>>>>>>> dev-songyang
ElDialog: typeof import('element-plus/es')['ElDialog']
ElDivider: typeof import('element-plus/es')['ElDivider']
ElDrawer: typeof import('element-plus/es')['ElDrawer']
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']
ElImg: typeof import('element-plus/es')['ElImg']
ElInput: typeof import('element-plus/es')['ElInput']
ElMenu: typeof import('element-plus/es')['ElMenu']
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
ElOption: typeof import('element-plus/es')['ElOption']
ElPageHeader: typeof import('element-plus/es')['ElPageHeader']
ElPagination: typeof import('element-plus/es')['ElPagination']
ElProgress: typeof import('element-plus/es')['ElProgress']
<<<<<<< HEAD
<<<<<<< HEAD
=======
ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
>>>>>>> dev-sjf-2023-12-5
=======
ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
>>>>>>> dev-songyang
ElRow: typeof import('element-plus/es')['ElRow']
ElSelect: typeof import('element-plus/es')['ElSelect']
ElTable: typeof import('element-plus/es')['ElTable']
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
ElTag: typeof import('element-plus/es')['ElTag']
<<<<<<< HEAD
<<<<<<< HEAD
=======
ElTimeline: typeof import('element-plus/es')['ElTimeline']
ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
>>>>>>> dev-sjf-2023-12-5
=======
ElTimeline: typeof import('element-plus/es')['ElTimeline']
ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
>>>>>>> dev-songyang
ElUpload: typeof import('element-plus/es')['ElUpload']
EquipCard: typeof import('./src/components/equipCard.vue')['default']
EquipDetailTable: typeof import('./src/components/equipDetailTable.vue')['default']

View File

@ -22,6 +22,7 @@
<template>
<!-- 表格组件 -->
<el-table
show-overflow-tooltip
@selection-change="handleSelectionChange"
:data="tableData"
max-height="400"

View File

@ -20,6 +20,7 @@
:list-type="props.listType">
<!-- 上传的按钮 或者 icon 通过具名插槽的方式 -->
<slot name="default"></slot>
<slot name="textContent"></slot>
</el-upload>
<el-progress v-if="showProcessFlag && processFlag" :percentage="loadProcess"></el-progress>
</div>

247
src/layout/header.vue Normal file
View File

@ -0,0 +1,247 @@
<script setup lang="ts">
import $bus from '@/utils/bus'
const route = useRoute()
const router = useRouter()
//
const keywordIptValue = ref('')
// dom
const inputRef: any = ref(null)
//
const searchHistoryList = ref([
{ name: '220E履带挖掘机' },
{ name: '3443挖掘机' },
{ name: '塔式起重机' },
{ name: '轮式牵引铲运机' }
])
//
const searchKeywordBtn = () => {
if (route.path == '/equipList') {
$bus.emit('search', keywordIptValue.value)
} else {
router.push({
name: 'equipList',
state: { keyWord: keywordIptValue.value }
})
}
}
//
const handleHistory = (hisValue: any) => {
keywordIptValue.value = hisValue
inputRef.value.focus()
}
//
$bus.on('callBackText', (val) => {
nextTick(() => {
keywordIptValue.value = val
})
})
</script>
<template>
<!-- 头部个人信息 收藏夹 手机版等图标 -->
<div class="header-container">
<div class="header-user-info">
<div class="header-box wapper">
<div class="header-item">
<a class="a-border-none" @click="$router.push('/login')">登录</a>
<span style="margin: 0 3px">/</span>
<a>注册</a>
</div>
<div class="header-item">
<a @click="$router.push({ name: 'myuser' })">个人中心</a>
</div>
<div class="header-item">
<img src="../assets/img/home/2023_12_01_beijing2/shoucang.png" alt="" />
<a @click="$router.push('/collect')">收藏夹</a>
</div>
<div class="header-item last-item">
<img src="../assets/img/home/2023_12_01_beijing2/shouji.png" alt="" />
<a class="a-border-none">手机版</a>
<!-- 二维码弹框 -->
<div class="qr-code">
<el-image
src="https://img.xjishu.com/img/zl/2017/10/212257159687020.gif"
fit="cover" />
扫二维码查看xxx
</div>
</div>
</div>
</div>
<!-- 中间logo 部分 -->
<div class="logo-ipt-container wapper">
<img
src="@/assets/img/home/2023_12_01_beijing2/logo.png"
alt="首页"
title="首页"
@click="$router.push('/home')" />
<input
placeholder="输入设备关键词"
type="text"
v-model="keywordIptValue"
@keydown.enter="searchKeywordBtn"
ref="inputRef" />
<button class="search-btn" @click="searchKeywordBtn">搜索</button>
<div class="ipt-down">
<a
v-for="item in searchHistoryList"
:key="item.name"
@click="handleHistory(item.name)">
{{ item.name }}
</a>
</div>
</div>
</div>
</template>
<style lang="scss" scoped>
.header-container {
position: sticky;
top: 0;
left: 0;
z-index: 999;
.header-user-info {
background-color: #f5f5f5;
}
/* 头部个人信息部分 */
.header-box {
height: 37px;
display: flex;
align-items: center;
justify-content: flex-end;
}
.header-item {
margin-left: 15px;
height: 37px;
display: flex;
align-items: center;
padding-left: 18px;
color: #6d6d6d;
font-size: 14px;
cursor: pointer;
img {
vertical-align: middle;
}
a {
border-right: 1px solid #666655;
padding-right: 33px;
}
a:hover {
color: #2282ff;
}
.a-border-none {
border: none;
padding: 0;
}
}
.last-item {
position: relative;
z-index: 998;
.qr-code {
position: absolute;
left: -70px;
top: -140px;
width: 140px;
height: 140px;
background-color: #fff;
visibility: hidden;
padding: 10px;
box-shadow: 0 2px 2px 2px #ccc;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: #333;
.el-image {
width: 120px;
height: 120px;
margin-bottom: 5px;
}
}
}
.last-item:hover > .qr-code {
visibility: visible;
transform: translateY(177px);
transition: all 0.6s;
}
/* 中间logo 搜索框部分 */
.logo-ipt-container {
position: relative;
display: flex;
background-color: #eeeff6;
padding: 30px 0;
img {
width: 176px;
height: 58px;
cursor: pointer;
}
input {
width: 700px;
height: 45px;
border: 1px solid #5ca4ff;
border-radius: 45px;
margin-left: 70px;
line-height: 45px;
color: transparent;
text-shadow: 0 0 0 #333;
padding-left: 30px;
}
input:focus {
outline: 1px solid #5ca4ff;
}
input::-webkit-input-placeholder {
color: #949494;
}
.search-btn {
width: 100px;
height: 39px;
transform: translate(-110px, 4px);
border-radius: 39px;
background: linear-gradient(132deg, #6de7ff 0%, #348cff 100%);
box-shadow: 0px 2px 4px 0px rgba(20, 175, 255, 0.5);
border: none;
color: #fff;
cursor: pointer;
font-size: 18px;
}
.ipt-down {
position: absolute;
bottom: 20px;
left: 21%;
overflow: hidden;
a {
padding: 0 10px;
color: #727272;
font-size: 14px;
cursor: pointer;
}
}
}
}
</style>

View File

@ -119,6 +119,8 @@ const routes: Array<RouteRecordRaw> = [
},
redirect: '/myuser/baseInfo',
children: [
/* 基础信息 */
{
path: 'baseInfo',
name: 'baseInfo',
@ -129,12 +131,36 @@ const routes: Array<RouteRecordRaw> = [
AuthFlag: false
},
},
/* 订单管理(求租方) */
{
path: 'orderManagement',
name: 'orderManagement',
component: () => import('views/user/orderManagement/index.vue'),
meta: {
title: '基础信息',
title: '订单管理(求租)',
keepAlive: true,
AuthFlag: false
},
},
/* 订单管理(退租) */
{
path: 'rentinTermination',
name: 'rentinTermination',
component: () => import('views/user/orderManagement/orderCom/rentinTermination.vue'),
meta: {
title: '订单管理(退租)',
keepAlive: true,
AuthFlag: false
},
},
/* 订单管理(续租) */
{
path: 'renewalOfLease',
name: 'renewalOfLease',
component: () => import('views/user/orderManagement/orderCom/renewalOfLease.vue'),
meta: {
title: '订单管理(续租)',
keepAlive: true,
AuthFlag: false
},
@ -144,7 +170,7 @@ const routes: Array<RouteRecordRaw> = [
name: 'subAccount',
component: () => import('views/user/subAccount/index.vue'),
meta: {
title: '基础信息',
title: '子账号管理',
keepAlive: true,
AuthFlag: false
},

View File

@ -1,7 +1,9 @@
<script setup lang="ts">
import HeaderCom from '../layout/header.vue'
import FooterInfo from '../components/FooterInfo/index.vue'
import {useRouter} from "vue-router";
import $bus from "@/utils/bus"
import { useRouter } from 'vue-router'
import $bus from '@/utils/bus'
const route = useRoute()
const router = useRouter()
//
@ -26,12 +28,12 @@
//
const searchKeywordBtn = (e) => {
if(route.path == '/equipList'){
$bus.emit('search',keywordIptValue.value)
}else {
if (route.path == '/equipList') {
$bus.emit('search', keywordIptValue.value)
} else {
router.push({
name:'equipList',
state:{keyWord: keywordIptValue.value}
name: 'equipList',
state: { keyWord: keywordIptValue.value }
})
}
}
@ -41,81 +43,20 @@
keywordIptValue.value = hisValue
}
//
$bus.on('callBackText',(val) => {
$bus.on('callBackText', (val) => {
nextTick(() => {
keywordIptValue.value = val
})
})
onMounted(() => {
})
</script>
<template>
<div class="shop-header">
<div class="header-box">
<ul class="header-wapper">
<li>
<span>
<a @click="$router.push('/login')">登录</a>
/
<a style="color: #6d6d6d">注册</a>
</span>
</li>
<li>
<span @click="$router.push({ name: 'myuser' })">个人中心</span>
</li>
<li @click="$router.push('/collect')">
<img src="./assets/img/home/2023_12_01_beijing2/shoucang.png" alt="" />
<span>收藏夹</span>
</li>
<li>
<img src="./assets/img/home/2023_12_01_beijing2/shouji.png" alt="" />
<span class="last-span">手机版</span>
</li>
</ul>
</div>
<!-- 菜单 -->
<div class="shop-menu-box">
<div class="shop-menu">
<div class="left-logo" @click="$router.push('/home')">
<!-- 首页Logo -->
<img
src="@/assets/img/home/2023_12_01_beijing2/logo.png"
alt="首页"
title="首页" />
</div>
<input
placeholder="输入设备关键词"
type="text"
v-model="keywordIptValue"
@keydown.enter="searchKeywordBtn" />
<button class="search-btn" @click="searchKeywordBtn">搜索</button>
<div class="erweima">
<div class="tilte">手机扫码登录</div>
<img src="" alt="" />
</div>
<div class="ipt-down">
<a
@click="handleHistory(item.name)"
v-for="item in searchHistoryList"
:key="item.name">
{{ item.name }}
</a>
</div>
</div>
</div>
</div>
<HeaderCom />
<div class="container">
<RouterView />
</div>
<FooterInfo v-if="isMyInfoPage()" />
<!-- <FooterInfo /> -->
</template>
<style scoped lang="scss">
@ -128,144 +69,4 @@
padding: 20px 30px;
box-sizing: border-box;
}
.shop-header {
// height: 157px;
width: 100%;
position: sticky;
top: 0;
left: 0;
z-index: 999;
.header-box {
background-color: #f5f5f5;
width: 100%;
.header-wapper {
width: 1200px;
height: 37px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: flex-end;
li {
display: flex;
align-items: center;
justify-content: center;
height: 37px;
cursor: pointer;
margin-left: 20px;
span {
color: #6d6d6d;
font-size: 14px;
padding: 0 20px 0 3px;
border-right: 1px solid #666655;
&:hover {
color: #2282ff;
}
a {
text-decoration: none;
color: #2282ff;
}
}
.last-span {
border: none;
padding: 0;
}
}
}
}
.shop-menu-box {
background-color: #edeef6;
.shop-menu {
position: relative;
width: 1200px;
height: 140px;
margin: 0 auto;
display: flex;
align-items: center;
.left-logo {
color: #999999;
font-weight: bold;
font-size: 20px;
img {
width: 176px;
height: 58px;
cursor: pointer;
}
}
input {
width: 700px;
height: 45px;
border: 1px solid #5ca4ff;
border-radius: 45px;
margin-left: 70px;
line-height: 45px;
color: transparent;
text-shadow: 0 0 0 #333;
padding-left: 30px;
}
input:focus {
outline: 1px solid #5ca4ff;
}
input::-webkit-input-placeholder {
color: #949494;
}
.search-btn {
width: 100px;
height: 39px;
transform: translateX(-110px);
border-radius: 39px;
background: linear-gradient(132deg, #6de7ff 0%, #348cff 100%);
box-shadow: 0px 2px 4px 0px rgba(20, 175, 255, 0.5);
border: none;
color: #fff;
cursor: pointer;
font-size: 18px;
}
.erweima {
display: none;
width: 100px;
height: 80px;
margin-left: -20px;
padding: 10px;
background-color: #fff;
.tilte {
font-size: 14px;
color: #1f88ff;
text-align: center;
}
}
.ipt-down {
position: absolute;
bottom: 20px;
left: 22%;
overflow: hidden;
a {
padding: 0 10px;
color: #727272;
font-size: 14px;
cursor: pointer;
}
}
}
}
}
</style>

View File

@ -4,8 +4,8 @@
<div class="top">
<div class="title">企业基本信息</div>
<div class="options">
<el-button size="small" type="primary">我的邀请码</el-button>
<el-button size="small" type="primary">编辑</el-button>
<!-- <el-button size="small" type="primary">我的邀请码</el-button>
<el-button size="small" type="primary">编辑</el-button> -->
</div>
</div>
<el-form class="baseForm">
@ -199,7 +199,7 @@
</template>
</uploadComponent>
<div class="previewExample">
<span>预览</span>
<!-- <span>预览</span> -->
<span>查看示例</span>
</div>
</el-form-item>
@ -220,7 +220,7 @@
</template>
</uploadComponent>
<div class="previewExample">
<span>预览</span>
<!-- <span>预览</span> -->
<span>查看示例</span>
</div>
</el-form-item>
@ -239,7 +239,7 @@
</template>
</uploadComponent>
<div class="previewExample">
<span>预览</span>
<!-- <span>预览</span> -->
<span>查看示例</span>
</div>
</el-form-item>
@ -345,13 +345,13 @@
</template>
</uploadComponent>
<div class="previewExample">
<span>预览</span>
<!-- <span>预览</span> -->
<span>查看示例</span>
</div>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="被授权人身份证国徽面000000">
<el-form-item label="被授权人身份证国徽面">
<!-- <upload-img width="80" @onClick="test" /> -->
<uploadComponent
:maxLimit="3"
@ -364,7 +364,7 @@
</template>
</uploadComponent>
<div class="previewExample">
<span>预览</span>
<!-- <span>预览</span> -->
<span>查看示例</span>
</div>
</el-form-item>
@ -385,8 +385,8 @@
</template>
</uploadComponent>
<div class="previewExample">
<span>预览</span>
<span>查看示例</span>
<!-- <span>预览</span> -->
<span @click="previewPic">查看示例999</span>
</div>
</el-form-item>
</el-col>
@ -411,7 +411,52 @@
<span class="tip">开户行许可示例</span>
</div>
</div>
<el-row class="header">
<el-table border :data="bankTableList">
<el-table-column align="center" label="开户行">
<template #default="{ row }">
<el-input v-model="row.v_kaihu"></el-input>
</template>
</el-table-column>
<el-table-column align="center" label="账号名称">
<template #default="{ row }">
<el-input></el-input>
</template>
</el-table-column>
<el-table-column align="center" label="银行账号">
<template #default="{ row }">
<el-input></el-input>
</template>
</el-table-column>
<el-table-column align="center" label="开户行所在地">
<template #default="{ row }">
<el-input></el-input>
</template>
</el-table-column>
<el-table-column align="center" label="开户许可证核准号(基本存款账号编号)">
<template #default="{ row }">
<el-input></el-input>
</template>
</el-table-column>
<el-table-column align="center" label="开户许可证/基本存款账号信息">
<template #default="{ row }">
<a>
<uploadComponent
:maxLimit="1"
listType="picture-card"
:acceptTypeList="['.jpg', '.jpeg', '.png']"
height="30px">
<template v-slot:default>
<!-- <el-icon size="48" color="#aaa"><Plus /></el-icon> -->
上传附件
</template>
</uploadComponent>
</a>
</template>
</el-table-column>
</el-table>
<!-- <el-row class="header">
<el-col :span="v.span" v-for="(v, i) in bankTableHeader" :key="i">
<div
class="item border-top-left"
@ -439,18 +484,24 @@
上传附件
</div>
</el-col>
</el-row>
</el-row> -->
</div>
<el-row style="padding-top: 15px">
<el-form-item>
<el-button @click="handlerSubmitBtn"> </el-button>
<el-button @click="handlerCloseBtn"> </el-button>
<el-button type="success" @click="handlerSubmitBtn"> </el-button>
<el-button type="warning" @click="handlerCloseBtn"> </el-button>
</el-form-item>
</el-row>
<el-dialog v-model="picItemVisible" title="图片示例" width="40%">
<el-image
style="width: 100%; height: 220px; margin: auto"
src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
fit="cover" />
</el-dialog>
</div>
</template>
<script lang="ts" setup>
import uploadImg from 'components/uploadImg.vue'
import uploadComponent from 'components/uploadComponent/index.vue'
import { ElMessage } from 'element-plus'
import { reactive, ref } from 'vue'
@ -470,6 +521,16 @@
store.getcompanyLtdList()
})
const picItemVisible = ref(false)
//
const previewPic = () => {
picItemVisible.value = true
}
//
const bankTableList = ref([{ v_kaihu: '', v_admin: '' }])
//
const AssemblyRegisterAddress: any = reactive([])
@ -710,8 +771,8 @@
.enterpriseCertification {
height: 100%;
background: #f2f2f2;
padding: 15px 10px;
/* background: #f2f2f2;
padding: 15px 10px; */
.card {
border-radius: 5px;

File diff suppressed because it is too large Load Diff

View File

@ -100,6 +100,30 @@
orderConunt: 1
}
])
/* 装备统计 */
const equipChart = ref([
{
v_name: '已上架',
imgSrc: '../../../assets/img/home/2023_12_01_beijing2/fankuixinxi.png',
orderConunt: 1
},
{
v_name: '已下架',
imgSrc: '../../../assets/img/home/2023_12_01_beijing2/dingdanxinxi.png',
orderConunt: 1
},
{
v_name: '已提交',
imgSrc: '../../../assets/img/home/2023_12_01_beijing2/lishijishi.png',
orderConunt: 1
},
{
v_name: '全部装备',
imgSrc: '../../../assets/img/home/2023_12_01_beijing2/fuwuxiangmu.png',
orderConunt: 1
}
])
//
const closeAuthenticationDialog = (val: any) => {
certificationVisible.value = val
@ -143,7 +167,7 @@
<span class="enterprise-name">安徽博诺斯信息科技有限公司 (申请被驳回)</span>
</div>
</div>
<h2>订单交易</h2>
<!-- 订单交易信息 -->
<div class="goods-box">
<ul class="goods-count">
@ -155,6 +179,18 @@
</ul>
</div>
<h2>装备统计</h2>
<!-- 装备统计 -->
<div class="goods-box">
<ul class="goods-count">
<li v-for="item in equipChart" :key="item.v_name">
<img :src="getImg(item.imgSrc)" alt="" class="img-chart" />
<span class="item">{{ item.v_name }}</span>
<span>{{ item.orderConunt }}</span>
</li>
</ul>
</div>
<!-- 修改手机号码弹框 -->
<el-dialog v-model="editDialogTableVisible" title="修改手机号码" width="30%">
<el-form
@ -253,11 +289,20 @@
}
}
h2 {
margin: 15px 0;
font-size: 18px;
color: #333;
}
.goods-box {
padding: 30px 0;
background-color: #f5f5f5;
}
.goods-count {
display: flex;
background-clip: #f5f5f5;
padding-top: 30px;
align-items: center;
justify-content: space-around;
li {
width: 120px;
display: flex;
@ -265,8 +310,8 @@
align-items: center;
img {
width: 30px;
height: 30px;
width: 40px;
height: 40px;
}
span:last-child {
@ -279,5 +324,9 @@
color: #2282ff;
margin-top: 5px;
}
.img-chart {
border-radius: 50%;
}
}
</style>

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import { ref } from 'vue'
const queryParams = ref({})
import PagingComponent from 'components/PagingComponent/index.vue'
import uploadComponent from 'components/uploadComponent/index.vue'
const queryParams = ref({})
const pageSize = 20
const pageNumber = 1
const total: any = 20
@ -95,29 +95,32 @@
<el-input autocomplete="off" placeholder="请输入新手机号码" style="width: 290px" />
</el-form-item>
<el-form-item label="身份证照片">
<el-upload>
<img />
<el-icon class="avatar-uploader-icon">
<Plus />
</el-icon>
上传头像面
</el-upload>
<el-upload>
<img />
<el-icon class="avatar-uploader-icon">
<Plus />
</el-icon>
上传国徽面
</el-upload>
<uploadComponent
:maxLimit="1"
listType="picture-card"
:acceptTypeList="['.jpg', '.jpeg', '.png']"
height="120px"
width="150px">
<template v-slot:textContent>+ 上传头像面</template>
</uploadComponent>
<uploadComponent
:maxLimit="1"
listType="picture-card"
:acceptTypeList="['.jpg', '.jpeg', '.png']"
height="120px"
width="150px">
<template v-slot:textContent>+ 上传国徽面</template>
</uploadComponent>
</el-form-item>
<el-form-item label="持证信息">
<el-upload>
<img />
<el-icon class="avatar-uploader-icon">
<Plus />
</el-icon>
上传证件信息
</el-upload>
<uploadComponent
:maxLimit="1"
listType="picture-card"
:acceptTypeList="['.jpg', '.jpeg', '.png']"
height="120px"
width="150px">
<template v-slot:textContent>+ 上传证件信息</template>
</uploadComponent>
</el-form-item>
<el-form-item>
<el-button type="success"> </el-button>

View File

@ -1,16 +1,18 @@
<script setup lang="ts">
import { ref } from 'vue'
const queryParams = ref({})
import PagingComponent from 'components/PagingComponent/index.vue'
import { useRouter } from 'vue-router'
import { useStore } from 'store/main'
import { getOrderListApi } from 'http/api/usercenter/seekorder'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
const queryParams = ref({})
const userStore = useStore()
const router = useRouter()
const route = useRoute()
import PagingComponent from 'components/PagingComponent/index.vue'
const pageSize = 20
const pageNumber = 1
const total: any = ref(0)
import { getOrderListApi } from 'http/api/usercenter/seekorder'
//
const getList = async () => {
const res: any = await getOrderListApi()
@ -19,69 +21,112 @@
total.value = res.total
}
getList()
// getList()
//
const queryTableList = () => {
getList()
}
const tableData = ref([])
const tableData = ref([{ supplierCompany: '供应商' }])
/* 退租按钮 */
const clickRentingTermination = () => {
router.push({ name: 'rentinTermination' })
console.log('退租')
}
/* 查看按钮 */
const clickPreviewDetails = () => {
console.log('查看')
router.push({ name: 'orderDetails' })
}
/* 续租按钮 */
const clickRenewalOfLease = () => {
console.log('续租')
router.push({ name: 'renewalOfLease' })
}
/* 确认收货 */
const clickConfirmReceipt = () => {
console.log('确认收货')
router.push({ name: 'orderDetails' })
}
const time = ref([])
</script>
<template>
<!-- 订单管理 -->
<el-config-provider :locale="zhCn">
<el-form :model="queryParams" :inline="true" size="small">
<el-form-item label="订单编号:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="创建时间:" prop="menuName">
<el-date-picker
v-model="time"
type="daterange"
unlink-panels
range-separator="-"
start-placeholder="开始时间"
end-placeholder="结束时间"
style="width: 180px" />
</el-form-item>
<el-form-item label="状态:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="装备类型:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="装备名称:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="queryTableList">查询</el-button>
<el-button type="success">保存</el-button>
</el-form-item>
</el-form>
<el-form :model="queryParams" :inline="true" label-width="auto" size="small">
<el-form-item label="订单编号:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="创建时间:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="状态:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="装备类型:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="装备名称:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="queryTableList">查询</el-button>
<el-button type="success">保存</el-button>
</el-form-item>
</el-form>
<!-- 表格 -->
<el-table
:data="tableData"
style="width: 100%"
:header-cell-style="{
background: '#3E98FF',
color: '#fff'
}">
<el-table-column align="center" prop="code" label="订单编号" />
<el-table-column align="center" prop="supplierCompany" label="供应商" />
<el-table-column align="center" prop="createTime" label="订单创建日期" />
<el-table-column align="center" prop="payType" label="装备类型" />
<el-table-column align="center" prop="deviceName" label="装备名称" />
<el-table-column align="center" prop="orderStatus" label="订单状态" />
<el-table-column align="center" prop="name" label="操作" width="320px">
<template #default="scope">
<el-button size="small" type="primary" @click="clickPreviewDetails">
查看
</el-button>
<el-button size="small" type="danger" @click="clickRentingTermination">
退租
</el-button>
<el-button size="small" type="warning" @click="clickRenewalOfLease">
续租
</el-button>
<el-button size="small" type="success" @click="clickConfirmReceipt">
确认收货
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 表格 -->
<el-table
:data="tableData"
style="width: 100%"
:header-cell-style="{
background: '#3E98FF',
color: '#fff'
}">
<el-table-column align="center" prop="code" label="订单编号" />
<el-table-column align="center" prop="supplierCompany" label="供应商" />
<el-table-column align="center" prop="createTime" label="订单创建日期" />
<el-table-column align="center" prop="payType" label="装备类型" />
<el-table-column align="center" prop="deviceName" label="装备名称" />
<el-table-column align="center" prop="orderStatus" label="订单状态" />
<el-table-column align="center" prop="name" label="操作" width="260px">
<template #default="scope">
<el-button size="small" type="primary">退租</el-button>
<el-button size="small" type="success">查看</el-button>
<el-button size="small" type="danger">续租</el-button>
</template>
</el-table-column>
</el-table>
<PagingComponent
@getList="getList"
:pageSize="pageSize"
:pageNumber="pageNumber"
:total="total" />
<PagingComponent
@getList="getList"
:pageSize="pageSize"
:pageNumber="pageNumber"
:total="total" />
</el-config-provider>
</template>
<style>

View File

@ -1,42 +1,28 @@
<template>
<el-page-header @back="goBack">
<el-page-header @back="goBack" @click="$router.go(-1)">
<template #content>
<span>详情 </span>
<span>详情</span>
</template>
</el-page-header>
<timeLineHorizontal themeColor="#2282fe" :timeLineList="timeLineList.list"></timeLineHorizontal>
<el-form label-width="130px" inline="true" style="padding: 0 20px 0px 20px;width: 865px;" size="small">
<el-form
label-width="130px"
inline="true"
style="padding: 0 20px 0px 20px; width: 865px"
size="small">
<!-- <el-form-item label="订单编号" style="width: 600px;">
xxxxx
</el-form-item> -->
<el-form-item label="需求单位" class="table_item">
xxxxx
</el-form-item>
<el-form-item label="联系电话" class="table_item">
xxxxx
</el-form-item>
<el-form-item label="租赁时长" class="table_item">
xxxxx
</el-form-item>
<el-form-item label="设备进场地址:" class="table_item">
xxxxx
</el-form-item>
<el-form-item label="进场时间:" class="table_item">
xxxxx
</el-form-item>
<el-form-item label="是否需求机手:" class="table_item">
xxxxx
</el-form-item>
<el-form-item label="详细地址:" class="table_item">
xxxxx
</el-form-item>
<el-form-item label="工期时长:" class="table_item">
xxxxx
</el-form-item>
<el-form-item label="发票类型:" class="table_item">
xxxxx
</el-form-item>
<el-form-item label="项目说明:" style="width: 800px;">
<el-form-item label="需求单位" class="table_item">xxxxx</el-form-item>
<el-form-item label="联系电话" class="table_item">xxxxx</el-form-item>
<el-form-item label="租赁时长" class="table_item">xxxxx</el-form-item>
<el-form-item label="设备进场地址:" class="table_item">xxxxx</el-form-item>
<el-form-item label="进场时间:" class="table_item">xxxxx</el-form-item>
<el-form-item label="是否需求机手:" class="table_item">xxxxx</el-form-item>
<el-form-item label="详细地址:" class="table_item">xxxxx</el-form-item>
<el-form-item label="工期时长:" class="table_item">xxxxx</el-form-item>
<el-form-item label="发票类型:" class="table_item">xxxxx</el-form-item>
<el-form-item label="项目说明:" style="width: 800px">
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
</el-form-item>
<!-- <el-form-item label="订单起止时间:" style="width: 800px;">
@ -48,21 +34,21 @@
<h1>6666</h1>
</template> -->
<template v-slot:rentMoney>
<div style="margin-left:80px;">
<div style="margin-left: 80px">
<div>
<span>装备</span> <span style="color:#f00;"> ¥{{ tableInfo.money }}</span>/{{ tableInfo.unit }}
<span>装备</span>
<span style="color: #f00">¥{{ tableInfo.money }}</span>
/{{ tableInfo.unit }}
</div>
<div>
<span></span> <span style="color:#f00;"> ¥{{ tableInfo.money }}</span>/{{ tableInfo.unit }}
<span></span>
<span style="color: #f00">¥{{ tableInfo.money }}</span>
/{{ tableInfo.unit }}
</div>
</div>
</template>
</orderTable>
<div class="total_money">
合计234234
</div>
<div class="total_money">合计234234</div>
<!-- <el-form-item label="订单合同:" style="width: 800px;margin-top:12px;">
xxxxxxxxxxxx.pdf
</el-form-item>
@ -75,35 +61,56 @@
<el-form-item label="物流司机电话:" style="width: 800px;">
xxxxx
</el-form-item> -->
<el-form-item label="订单合同:" style="width: 800px;" v-if="stepVal == '1'">
<uploadComponent :maxLimit="1" listType="text" :acceptTypeList="['.pdf']" width="72px" height="24px">
<el-form-item label="订单合同:" style="width: 800px" v-if="stepVal == '1'">
<uploadComponent
:maxLimit="1"
listType="text"
:acceptTypeList="['.pdf']"
width="72px"
height="24px">
<template v-slot:default>
<el-button type="primary">上传文件</el-button>
</template>
</uploadComponent>
</el-form-item>
<div v-else-if="stepVal == '2'">
<el-form-item label="机手姓名:" style="width: 300px;">
<el-select v-model="submitInfo.driver" placeholder="请选择机手姓名" clearable filterable style="width: 100%;">
<el-option v-for="item in driverInfo.list" :key="item.value" :label="item.label" :value="item.value" />
<el-form-item label="机手姓名:" style="width: 300px">
<el-select
v-model="submitInfo.driver"
placeholder="请选择机手姓名"
clearable
filterable
style="width: 100%">
<el-option
v-for="item in driverInfo.list"
:key="item.value"
:label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="联系电话:" style="width: 300px;">
<el-input v-model.trim="submitInfo.driverPhone" placeholder="请输入模版编号" clearable maxlength="30" />
<el-form-item label="联系电话:" style="width: 300px">
<el-input
v-model.trim="submitInfo.driverPhone"
placeholder="请输入模版编号"
clearable
maxlength="30" />
</el-form-item>
<el-form-item label="物流司机电话:" style="width: 300px;">
<el-input v-model.trim="submitInfo.deliverPhone" placeholder="请输入模版编号" clearable maxlength="30" />
<el-form-item label="物流司机电话:" style="width: 300px">
<el-input
v-model.trim="submitInfo.deliverPhone"
placeholder="请输入模版编号"
clearable
maxlength="30" />
</el-form-item>
</div>
<div v-else-if="stepVal == '3'">
<el-form-item label="机手姓名:" style="width: 300px;">
<el-form-item label="机手姓名:" style="width: 300px">
{{ submitInfo.driver }}
</el-form-item>
<el-form-item label="联系电话:" style="width: 300px;">
<el-form-item label="联系电话:" style="width: 300px">
{{ submitInfo.driverPhone }}
</el-form-item>
<el-form-item label="物流司机电话:" style="width: 300px;">
<el-form-item label="物流司机电话:" style="width: 300px">
{{ submitInfo.deliverPhone }}
</el-form-item>
</div>
@ -126,137 +133,127 @@
</el-form>
</template>
<script setup lang="ts">
import orderTable from "./orderTable.vue"
import { reactive } from "vue"
import { MoreFilled } from '@element-plus/icons-vue'
import timeLineHorizontal from "./timeLineHorizontal.vue"
import uploadComponent from 'components/uploadComponent/index.vue'
import {ElMessageBoxOpert} from "utils/elementCom"
const tableInfo = reactive({
v_equipment_title: "220E履带挖掘机",
v_equipment_code: "88888",
v_equipment_group_type: "挖掘机械",
v_equipment_brand: "挖掘机",
v_equipment_weight: "22吨",
v_equipment_volume: "1立方米",
v_equipment_address: '广东省广州市',
money: '2000',
unit: '月',
imgUrl: ""
})
import orderTable from './orderTable.vue'
import { reactive } from 'vue'
import { MoreFilled } from '@element-plus/icons-vue'
import timeLineHorizontal from './timeLineHorizontal.vue'
import uploadComponent from 'components/uploadComponent/index.vue'
import { ElMessageBoxOpert } from 'utils/elementCom'
const tableInfo = reactive({
v_equipment_title: '220E履带挖掘机',
v_equipment_code: '88888',
v_equipment_group_type: '挖掘机械',
v_equipment_brand: '挖掘机',
v_equipment_weight: '22吨',
v_equipment_volume: '1立方米',
v_equipment_address: '广东省广州市',
money: '2000',
unit: '月',
imgUrl: ''
})
const stepVal = ref('1')
const stepVal = ref('1')
const timeLineList = reactive({
list: [
{
title: '订单需求审核',
content: '开工阶段',
done: true,
},
{
title: '合同上传',
content: '请填写公司详细信息',
done: true,
},
{
title: '装备发货',
content: '请填写公司财务信息',
done: true,
}
]
})
const driverInfo = reactive({
list: [{
value: 'Option1',
label: 'Option1',
},
{
value: 'Option2',
label: 'Option2',
}]
})
const submitInfo = reactive({
driver: '',
driverPhone: '',
deliverPhone: ''
})
const demandConfirmFn = () => {
stepVal.value = '2'
}
const editCallBack = (row: any, value: any) => {
console.log("editCallBack", row, value)
}
const demandRejectFn = (row:any) => {
ElMessageBoxOpert(
'驳回原因',
'填写驳回原因',
'确定',
'取消',
(val: any) => {
if (!val) {
return "请填写类型模板"
}
},
"请填写类型模板",
editCallBack,
row,
'textarea'
)
}
const nextFn = () => {
stepVal.value = '3'
}
const confirmSendFn = () => {
}
const timeLineList = reactive({
list: [
{
title: '订单需求审核',
content: '开工阶段',
done: true
},
{
title: '合同上传',
content: '请填写公司详细信息',
done: true
},
{
title: '装备发货',
content: '请填写公司财务信息',
done: true
}
]
})
const driverInfo = reactive({
list: [
{
value: 'Option1',
label: 'Option1'
},
{
value: 'Option2',
label: 'Option2'
}
]
})
const submitInfo = reactive({
driver: '',
driverPhone: '',
deliverPhone: ''
})
const demandConfirmFn = () => {
stepVal.value = '2'
}
const editCallBack = (row: any, value: any) => {
console.log('editCallBack', row, value)
}
const demandRejectFn = (row: any) => {
ElMessageBoxOpert(
'驳回原因',
'填写驳回原因',
'确定',
'取消',
(val: any) => {
if (!val) {
return '请填写类型模板'
}
},
'请填写类型模板',
editCallBack,
row,
'textarea'
)
}
const nextFn = () => {
stepVal.value = '3'
}
const confirmSendFn = () => {}
</script>
<style scoped lang="scss">
.table_item {
width: 250px;
height: 20px;
}
.table_item {
width: 250px;
height: 20px;
}
.table_item_sub {
width: 250px;
height: 20px;
}
.table_item_sub {
width: 250px;
height: 20px;
}
.time_line_item {
display: flex;
justify-content: space-between;
.time_line_item {
display: flex;
justify-content: space-between;
.btn_c {}
}
.btn_c {
}
}
.total_money {
display: flex;
justify-content: flex-end;
height: 32px;
line-height: 32px;
width: 760px;
}
.total_money {
display: flex;
justify-content: flex-end;
height: 32px;
line-height: 32px;
width: 760px;
}
.btn_opert {
width: 760px;
display: flex;
justify-content: flex-end;
}
.btn_opert {
width: 760px;
display: flex;
justify-content: flex-end;
}
</style>

View File

@ -1,78 +1,87 @@
<template>
<el-page-header @back="goBack">
<el-page-header @back="goBack" @click="$router.go(-1)">
<template #content>
<span>详情 </span>
<span>详情</span>
</template>
</el-page-header>
<el-form label-width="130px" inline="true" style="padding: 0 20px 0px 20px;width: 865px;" size="small">
<el-form-item label="订单编号" style="width: 600px;">
{{ detailsInfo.code}}
<el-form
label-width="130px"
inline="true"
style="padding: 0 20px 0px 20px; width: 865px"
size="small">
<el-form-item label="订单编号" style="width: 600px">
{{ detailsInfo.code }}
</el-form-item>
<el-form-item label="需求单位" class="table_item">
{{ detailsInfo.needCompany}}
{{ detailsInfo.needCompany }}
</el-form-item>
<el-form-item label="联系电话" class="table_item">
{{ detailsInfo.phone}}
{{ detailsInfo.phone }}
</el-form-item>
<el-form-item label="租赁时长" class="table_item">
<!-- {{ detailsInfo.}} -->
<!-- 暂无 -->
<!-- {{ detailsInfo.}} -->
<!-- 暂无 -->
</el-form-item>
<el-form-item label="设备进场地址:" class="table_item">
{{ detailsInfo.addressId}}
{{ detailsInfo.addressId }}
</el-form-item>
<el-form-item label="进场时间:" class="table_item">
{{ detailsInfo.realStartTime}}
{{ detailsInfo.realStartTime }}
</el-form-item>
<el-form-item label="是否需求机手:" class="table_item">
{{ detailsInfo.isMachinist}}
<!-- 枚举值 待确认-->
{{ detailsInfo.isMachinist }}
<!-- 枚举值 待确认-->
</el-form-item>
<el-form-item label="详细地址:" class="table_item">
{{ detailsInfo.address}}
{{ detailsInfo.address }}
</el-form-item>
<el-form-item label="工期时长:" class="table_item">
{{ detailsInfo.duration}}
{{ detailsInfo.duration }}
</el-form-item>
<el-form-item label="发票类型:" class="table_item">
{{ detailsInfo.invoiceType}}
{{ detailsInfo.invoiceType }}
</el-form-item>
<el-form-item label="项目说明:" style="width: 800px;">
{{ detailsInfo.description}}
<el-form-item label="项目说明:" style="width: 800px">
{{ detailsInfo.description }}
</el-form-item>
<el-form-item label="订单起止时间:" style="width: 800px;">
{{ detailsInfo.realStartTime}}-{{ detailsInfo.duration }}
<!-- 枚举值 待确认-->
<el-form-item label="订单起止时间:" style="width: 800px">
{{ detailsInfo.realStartTime }}-{{ detailsInfo.duration }}
<!-- 枚举值 待确认-->
</el-form-item>
<!-- 表格 -->
<orderTable :tableInfo="tableInfo">
<template v-slot:rentMoney>
<div>
<span style="color:#f00;"> {{ tableInfo.money }}</span>/{{ tableInfo.unit }}
<span style="color: #f00">{{ tableInfo.money }}</span>
/{{ tableInfo.unit }}
</div>
</template>
</orderTable>
<el-form-item label="订单合同:" style="width: 800px;margin-top:12px;">
<el-button type="text" @click="pdfPreview(detailsInfo.orderContract)">pdf文件</el-button>
<el-form-item label="订单合同:" style="width: 800px; margin-top: 12px">
<el-button type="text" @click="pdfPreview(detailsInfo.orderContract)">
pdf文件
</el-button>
</el-form-item>
<el-form-item label="机手姓名:" class="table_item_sub">
{{ detailsInfo.machinistName}}
{{ detailsInfo.machinistName }}
</el-form-item>
<el-form-item label="联系电话:" class="table_item_sub">
{{ detailsInfo.phone}}
{{ detailsInfo.phone }}
</el-form-item>
<el-form-item label="物流司机电话:" style="width: 800px;">
{{ detailsInfo.logisticsPhone}}
<el-form-item label="物流司机电话:" style="width: 800px">
{{ detailsInfo.logisticsPhone }}
</el-form-item>
<el-timeline style="margin-left:20px;width:560px;">
<el-timeline-item v-for="(item, index) in activities" :key="index" :icon="item.icon" :type="item.type"
:color="item.color" :size="item.size" :hollow="item.hollow" :timestamp="item.timestamp">
<el-timeline style="margin-left: 20px; width: 560px">
<el-timeline-item
v-for="(item, index) in activities"
:key="index"
:icon="item.icon"
:type="item.type"
:color="item.color"
:size="item.size"
:hollow="item.hollow"
:timestamp="item.timestamp">
<div class="time_line_item">
<div class="title">
{{ item.content }}
@ -86,105 +95,102 @@
</el-form>
</template>
<script setup lang="ts">
import { reactive } from "vue"
import orderTable from "./orderTable.vue"
import { MoreFilled } from '@element-plus/icons-vue'
import { apiOrderDetails,apiOrderInfoList } from "http/api/usercenter/order"
import dataJson from "./json/details.json"
const tableInfo = reactive({
v_equipment_title: "220E履带挖掘机",
v_equipment_code: "88888",
v_equipment_group_type: "挖掘机械",
v_equipment_brand: "挖掘机",
v_equipment_weight: "22吨",
v_equipment_volume: "1立方米",
v_equipment_address: '广东省广州市',
money: '2000',
unit: '月',
imgUrl: ""
})
const activities = [
{
content: '订单状态',
timestamp: '需求已提交,等待供应商审核。',
size: 'large',
type: 'primary',
icon: MoreFilled,
},
{
content: '订单状态',
timestamp: '订单已确认,供应商会与您联系,签订合同。',
color: '#0bbd87',
},
{
content: '订单状态',
timestamp: '装备已发出,到货后请及时确认。',
size: 'large',
},
{
content: '订单状态',
timestamp: '租赁进行中。',
type: 'primary',
hollow: true,
last: true
},
{
content: 'Default node',
timestamp: '2018-04-03 20:46',
},
]
const detailsInfo:any =reactive({
})
const initApiOrderDetails = async () => {
let id = '1'
const res:any = await apiOrderDetails(id)
// const res:any = dataJson
console.log("res-apiOrderDetails", res)
Object.assign(detailsInfo,res.data)
}
const initApiOrderInfoList = async () => {
let params = {
orderId:'1'
import { reactive } from 'vue'
import orderTable from './orderTable.vue'
import { MoreFilled } from '@element-plus/icons-vue'
import { apiOrderDetails, apiOrderInfoList } from 'http/api/usercenter/order'
import dataJson from './json/details.json'
const tableInfo = reactive({
v_equipment_title: '220E履带挖掘机',
v_equipment_code: '88888',
v_equipment_group_type: '挖掘机械',
v_equipment_brand: '挖掘机',
v_equipment_weight: '22吨',
v_equipment_volume: '1立方米',
v_equipment_address: '广东省广州市',
money: '2000',
unit: '月',
imgUrl: ''
})
const activities = [
{
content: '订单状态',
timestamp: '需求已提交,等待供应商审核。',
size: 'large',
type: 'primary',
icon: MoreFilled
},
{
content: '订单状态',
timestamp: '订单已确认,供应商会与您联系,签订合同。',
color: '#0bbd87'
},
{
content: '订单状态',
timestamp: '装备已发出,到货后请及时确认。',
size: 'large'
},
{
content: '订单状态',
timestamp: '租赁进行中。',
type: 'primary',
hollow: true,
last: true
},
{
content: 'Default node',
timestamp: '2018-04-03 20:46'
}
]
const detailsInfo: any = reactive({})
const initApiOrderDetails = async () => {
let id = '1'
const res: any = await apiOrderDetails(id)
// const res:any = dataJson
console.log('res-apiOrderDetails', res)
Object.assign(detailsInfo, res.data)
}
const res:any = await apiOrderInfoList(params)
// const res:any = dataJson
console.log("res-apiOrderInfoList", res)
}
const pdfPreview=(url:any)=>{
window.open(url,"_blank")
}
const initApiOrderInfoList = async () => {
let params = {
orderId: '1'
}
const res: any = await apiOrderInfoList(params)
// const res:any = dataJson
console.log('res-apiOrderInfoList', res)
}
onBeforeMount(()=>{
initApiOrderDetails()
initApiOrderInfoList()
})
const pdfPreview = (url: any) => {
window.open(url, '_blank')
}
onBeforeMount(() => {
initApiOrderDetails()
initApiOrderInfoList()
})
onBeforeMount(() => {
initApiOrderDetails()
})
</script>
<style scoped lang="scss">
.table_item {
width: 250px;
height: 20px;
}
.table_item {
width: 250px;
height: 20px;
}
.table_item_sub {
width: 250px;
height: 20px;
}
.table_item_sub {
width: 250px;
height: 20px;
}
.time_line_item {
display: flex;
justify-content: space-between;
.time_line_item {
display: flex;
justify-content: space-between;
.btn_c {}
}
.btn_c {
}
}
</style>

View File

@ -0,0 +1,65 @@
<script setup lang="ts">
import orderTable from './orderTable.vue'
const tableInfo = reactive({
v_equipment_title: '220E履带挖掘机',
v_equipment_code: '88888',
v_equipment_group_type: '挖掘机械',
v_equipment_brand: '挖掘机',
v_equipment_weight: '22吨',
v_equipment_volume: '1立方米',
v_equipment_address: '广东省广州市',
money: '2000',
unit: '月',
imgUrl: ''
})
</script>
<template>
<!-- 退租页面 -->
<el-page-header @back="goBack" @click="$router.go(-1)">
<template #content>
<span>退租</span>
</template>
</el-page-header>
<el-form :inline="true" label-width="120px" style="padding-left: 50px">
<el-row>
<el-form-item label="设备进场地址:">
<el-input />
</el-form-item>
</el-row>
<el-row>
<el-form-item label="详细地址:">
<el-input />
</el-form-item>
</el-row>
<el-row>
<el-form-item label="延长时间:">
<el-input />
</el-form-item>
</el-row>
<el-row>
<el-form-item label="续租说明:">
<el-input type="textarea" :rows="5" />
</el-form-item>
</el-row>
<orderTable>
<template v-slot:rentMoney>
<div>
<span style="color: #f00">{{ tableInfo.money }}</span>
/{{ tableInfo.unit }}
</div>
</template>
</orderTable>
<el-row>
<el-form-item>
<el-button type="success">提交</el-button>
</el-form-item>
</el-row>
</el-form>
</template>
<style></style>

View File

@ -0,0 +1,78 @@
<script setup lang="ts">
import orderTable from './orderTable.vue'
const tableInfo = reactive({
v_equipment_title: '220E履带挖掘机',
v_equipment_code: '88888',
v_equipment_group_type: '挖掘机械',
v_equipment_brand: '挖掘机',
v_equipment_weight: '22吨',
v_equipment_volume: '1立方米',
v_equipment_address: '广东省广州市',
money: '2000',
unit: '月',
imgUrl: ''
})
</script>
<template>
<!-- 退租页面 -->
<el-page-header @back="goBack" @click="$router.go(-1)">
<template #content>
<span>退租</span>
</template>
</el-page-header>
<el-form :inline="true" label-width="120px" style="padding-left: 50px">
<el-row>
<el-form-item>设备进场地址 xxxxx12134566</el-form-item>
</el-row>
<el-row>
<el-form-item>详细地址 xxxxx12134566</el-form-item>
</el-row>
<el-row>
<el-form-item>进场时间 xxxxx12134566</el-form-item>
</el-row>
<el-row>
<el-form-item>工期时常 xxxxx12134566</el-form-item>
</el-row>
<el-row>
<el-form-item>需要机手 xxxxx12134566</el-form-item>
</el-row>
<el-row>
<el-form-item>发票类型 xxxxx12134566</el-form-item>
</el-row>
<el-row>
<el-form-item>项目说明 xxxxx12134566</el-form-item>
</el-row>
<el-row>
<el-form-item>开始日期 xxxxx12134566</el-form-item>
</el-row>
<el-row>
<el-form-item>结束日期 xxxxx12134566</el-form-item>
</el-row>
<orderTable>
<template v-slot:rentMoney>
<div>
<span style="color: #f00">{{ tableInfo.money }}</span>
/{{ tableInfo.unit }}
</div>
</template>
</orderTable>
<el-row>
<el-form-item>上传设备照片</el-form-item>
</el-row>
<el-row>
<el-form-item>上传设备运行视频</el-form-item>
</el-row>
<el-row>
<el-form-item>
<el-button type="success">提交</el-button>
</el-form-item>
</el-row>
</el-form>
</template>
<style></style>

View File

@ -2,92 +2,112 @@
import { ref } from 'vue'
const queryParams = ref({})
import PagingComponent from 'components/PagingComponent/index.vue'
import { getOrderListApi } from 'http/api/usercenter/seekorder'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
const router = useRouter()
const pageSize = 20
const pageNumber = 1
const total: any = 20
//
const getList = () => {
console.log('获取数据列表***')
const getList = async () => {
const res: any = await getOrderListApi()
console.log('获取数据列表***', res)
tableData.value = res.rows
total.value = res.total
}
const tableData = [
{
date: '2016-05-02',
name: '123xxx',
address: '合肥市蜀山区'
},
{
date: '2016-05-02',
name: '123xxx',
address: '合肥市蜀山区'
},
{
date: '2016-05-04',
name: '123xxx',
address: '合肥市蜀山区'
},
{
date: '2016-05-01',
name: '123xxx',
address: '合肥市蜀山区'
}
]
getList()
/* 结算按钮 */
const settlementBtn = () => {
router.push('/myuser/settlement')
}
/* 确认按钮 */
const confirmBtn = () => {
router.push('/myuser/orderConfirm')
}
/* 查看按钮 */
const clickPreviewDetails = () => {
console.log('查看')
router.push({ name: 'orderDetails' })
}
const tableData: any = ref([{ address: '客户单位' }])
const time = ref([])
</script>
<template>
<!-- 订单管理 -->
<!-- 订单管理(承租方) -->
<el-form :model="queryParams" :inline="true" label-width="auto" size="small">
<el-form-item label="订单编号:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="创建时间:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="状态:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="装备类型:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="装备名称:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item>
<el-button type="primary">查询</el-button>
<el-button type="success">保存</el-button>
</el-form-item>
</el-form>
<el-config-provider :locale="zhCn">
<el-form :model="queryParams" :inline="true" label-width="auto" size="small">
<el-form-item label="订单编号:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="创建时间:" prop="menuName">
<el-date-picker
v-model="time"
type="daterange"
unlink-panels
range-separator="-"
start-placeholder="开始时间"
end-placeholder="结束时间"
style="width: 180px" />
</el-form-item>
<el-form-item label="状态:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="装备类型:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item label="装备名称:" prop="menuName">
<el-input />
</el-form-item>
<el-form-item>
<el-button type="primary">查询</el-button>
<el-button type="success">保存</el-button>
</el-form-item>
</el-form>
<!-- 表格 -->
<el-table
:data="tableData"
:header-cell-style="{
background: '#3E98FF',
color: '#fff'
}"
fit>
<el-table-column align="center" prop="name" label="订单编号" />
<el-table-column align="center" prop="address" label="客户单位" />
<el-table-column align="center" prop="date" label="订单创建日期" />
<el-table-column align="center" prop="name" label="联系方式" />
<el-table-column align="center" prop="name" label="装备类型" />
<el-table-column align="center" prop="name" label="装备名称" />
<el-table-column align="center" prop="name" label="订单状态" />
<el-table-column align="center" prop="name" label="操作" width="260px">
<template #default="{ row }">
<el-button size="small" type="primary" @click="row">确认</el-button>
<el-button size="small" type="success">查看</el-button>
<el-button size="small" type="danger">删除</el-button>
</template>
</el-table-column>
</el-table>
<PagingComponent
@getList="getList"
:pageSize="pageSize"
:pageNumber="pageNumber"
:total="total" />
<!-- 表格 -->
<el-table
:data="tableData"
:header-cell-style="{
background: '#3E98FF',
color: '#fff'
}"
fit>
<el-table-column align="center" prop="name" label="订单编号" />
<el-table-column align="center" prop="address" label="客户单位" />
<el-table-column align="center" prop="date" label="订单创建日期" />
<el-table-column align="center" prop="name" label="联系方式" />
<el-table-column align="center" prop="name" label="装备类型" />
<el-table-column align="center" prop="name" label="装备名称" />
<el-table-column align="center" prop="name" label="订单状态" />
<el-table-column align="center" prop="name" label="操作" width="260px">
<template #default="{ row }">
<el-button size="small" type="primary" @click="confirmBtn(row)">确认</el-button>
<el-button size="small" type="warning" @click="clickPreviewDetails">
查看
</el-button>
<el-button size="small" type="danger">删除</el-button>
<el-button size="small" type="success" @click="settlementBtn">结算</el-button>
</template>
</el-table-column>
</el-table>
<PagingComponent
@getList="getList"
:pageSize="pageSize"
:pageNumber="pageNumber"
:total="total" />
</el-config-provider>
</template>
<style>

View File

@ -1,6 +1,11 @@
<script setup lang="ts"></script>
<template>
<el-page-header @back="goBack" @click="$router.go(-1)">
<template #content>
<span>结算</span>
</template>
</el-page-header>
<el-form :inline="true" label-width="120px">
<el-row>
<el-form-item>订单编号 xxxxx12134566</el-form-item>