订单管理优化

This commit is contained in:
songyang 2023-12-08 17:38:59 +08:00
parent 3ee01f9594
commit 852539478b
9 changed files with 188 additions and 165 deletions

2
components.d.ts vendored
View File

@ -10,13 +10,13 @@ declare module 'vue' {
ElButton: typeof import('element-plus/es')['ElButton'] ElButton: typeof import('element-plus/es')['ElButton']
ElCarousel: typeof import('element-plus/es')['ElCarousel'] ElCarousel: typeof import('element-plus/es')['ElCarousel']
ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem'] ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem']
ElCascader: typeof import('element-plus/es')['ElCascader']
ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
ElCol: typeof import('element-plus/es')['ElCol'] ElCol: typeof import('element-plus/es')['ElCol']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
ElDialog: typeof import('element-plus/es')['ElDialog'] ElDialog: typeof import('element-plus/es')['ElDialog']
ElDivider: typeof import('element-plus/es')['ElDivider'] ElDivider: typeof import('element-plus/es')['ElDivider']
ElEmpty: typeof import('element-plus/es')['ElEmpty']
ElForm: typeof import('element-plus/es')['ElForm'] ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElIcon: typeof import('element-plus/es')['ElIcon'] ElIcon: typeof import('element-plus/es')['ElIcon']

1
env.d.ts vendored
View File

@ -1,2 +1,3 @@
/// <reference types="vite/client" /> /// <reference types="vite/client" />
declare module "nprogress" declare module "nprogress"

View File

@ -11,7 +11,7 @@
{ name: '企业专区', routerName: '/home' } { name: '企业专区', routerName: '/home' }
] ]
const navMenuClick = (name) => { const navMenuClick = (name: any) => {
router.push({ name }) router.push({ name })
} }
</script> </script>

View File

@ -1,5 +1,4 @@
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router' import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
import test from './module/test' import test from './module/test'
import myInfo from './module/myInfo' import myInfo from './module/myInfo'
@ -81,7 +80,7 @@ const routes: Array<RouteRecordRaw> = [
{ {
path: '/equipList', path: '/equipList',
name: 'equipList', name: 'equipList',
component: () => import('@/views/equip/list.vue'), component: () => import('views/equip/list.vue'),
meta: { meta: {
title: '' title: ''
} }

View File

@ -327,7 +327,7 @@
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="被授权人邮箱"> <el-form-item label="被授权人邮箱">
<el-input></el-input> <el-input placeholder="请输入被授权人邮箱" clearable>></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -405,14 +405,14 @@
</div> </div>
<div class="bankInfo card"> <div class="bankInfo card">
<div class="top"> <!-- <div class="top">
<div class="title"> <div class="title">
银行账号信息 银行账号信息
<span class="tip">开户行许可示例</span> <span class="tip">开户行许可示例</span>
</div> </div>
</div> </div>
<!-- <el-table border :data="bankTableList"> <el-table border :data="bankTableList">
<el-table-column align="center" label="开户行"> <el-table-column align="center" label="开户行">
<template #default="{ row }"> <template #default="{ row }">
<el-input v-model="row.v_kaihu"></el-input> <el-input v-model="row.v_kaihu"></el-input>
@ -451,8 +451,8 @@
</a> </a>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table> -->
</div> --> </div>
<el-row style="padding-top: 15px"> <el-row style="padding-top: 15px">
<el-form-item> <el-form-item>
<el-button type="success" @click="handlerSubmitBtn"> </el-button> <el-button type="success" @click="handlerSubmitBtn"> </el-button>

View File

@ -44,9 +44,14 @@
} }
/* 续租按钮 */ /* 续租按钮 */
const clickRenewalOfLease = () => { const clickRenewalOfLease = ({ row }: any) => {
console.log('续租') console.log('续租', row)
router.push({ name: 'renewalOfLease' }) router.push({
name: 'renewalOfLease',
query: {
orderId: row.orderId
}
})
} }
/* 确认收货 */ /* 确认收货 */
@ -108,12 +113,14 @@
<el-table-column align="center" prop="time" label="订单创建日期" /> <el-table-column align="center" prop="time" label="订单创建日期" />
<el-table-column align="center" prop="payType" label="装备类型" /> <el-table-column align="center" prop="payType" label="装备类型" />
<el-table-column align="center" prop="deviceName" label="装备名称" /> <el-table-column align="center" prop="deviceName" label="装备名称" />
<el-table-column align="center" prop="orderStatus" label="订单状态"> <el-table-column align="center" label="订单状态">
<template #default="{ row }"> <template #default="{ row }">
<el-tag v-if="row.orderStatus === 31">待确认</el-tag> <el-tag effect="dark" type="info" v-if="row.orderStatus == 31">待确认</el-tag>
<el-tag v-if="row.orderStatus === 32">待合同上传</el-tag> <el-tag effect="dark" type="warning" v-if="row.orderStatus == 32">
<el-tag v-if="row.orderStatus === 35">待收货</el-tag> 待合同上传
<el-tag v-if="row.orderStatus === 36">进行中</el-tag> </el-tag>
<el-tag effect="dark" type="success" v-if="row.orderStatus == 35">待收货</el-tag>
<el-tag effect="dark" v-if="row.orderStatus == 36">进行中</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="name" label="操作" width="320px"> <el-table-column align="center" prop="name" label="操作" width="320px">
@ -122,7 +129,9 @@
<el-button size="small" type="danger" @click="clickRentingTermination"> <el-button size="small" type="danger" @click="clickRentingTermination">
退租 退租
</el-button> </el-button>
<el-button size="small" type="warning" @click="clickRenewalOfLease">续租</el-button> <el-button size="small" type="warning" @click="clickRenewalOfLease(scope)">
续租
</el-button>
<el-button size="small" type="success" @click="clickConfirmReceipt"> <el-button size="small" type="success" @click="clickConfirmReceipt">
确认收货 确认收货
</el-button> </el-button>

View File

@ -19,7 +19,7 @@
<!-- 退租页面 --> <!-- 退租页面 -->
<el-page-header @back="goBack" @click="$router.go(-1)"> <el-page-header @back="goBack" @click="$router.go(-1)">
<template #content> <template #content>
<span>退</span> <span></span>
</template> </template>
</el-page-header> </el-page-header>

View File

@ -3,9 +3,13 @@
<div class="title">工程进度</div> <div class="title">工程进度</div>
<el-divider /> <el-divider />
<div class="timelineProcessBox"> <div class="timelineProcessBox">
<el-timeline class="timeline" :color="props.themeColor" > <el-timeline class="timeline" :color="props.themeColor">
<el-timeline-item class="lineitem" :class="item.done ? 'active' : 'inactive'" <el-timeline-item
v-for="(item, index) in props.timeLineList" :key="index" :timestamp="item.content"> class="lineitem"
:class="item.done ? 'active' : 'inactive'"
v-for="(item, index) in props.timeLineList"
:key="index"
:timestamp="item.content">
<div> <div>
{{ item.title }} {{ item.title }}
</div> </div>
@ -15,11 +19,10 @@
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
const props: any = defineProps({
const props = defineProps({ themeColor: {
themeColor:{ type: String,
type:String, default: '#2282fe'
default:'#2282fe'
}, },
timeLineList: { timeLineList: {
type: Array, type: Array,
@ -27,11 +30,10 @@ const props = defineProps({
return [] return []
} }
} }
}) })
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.processBox { .processBox {
background-color: #fff; background-color: #fff;
height: 210px; height: 210px;
@ -54,30 +56,30 @@ const props = defineProps({
} }
} }
} }
} }
:deep(.el-timeline-item__tail) { :deep(.el-timeline-item__tail) {
border-left: none; border-left: none;
border-top: 2px solid #e4e7ed; border-top: 2px solid #e4e7ed;
width: 100%; width: 100%;
position: absolute; position: absolute;
top: 6px; top: 6px;
} }
:deep(.el-timeline-item__wrapper) { :deep(.el-timeline-item__wrapper) {
padding-left: 0; padding-left: 0;
position: absolute; position: absolute;
top: 20px; top: 20px;
transform: translateX(-50%); transform: translateX(-50%);
text-align: center; text-align: center;
} }
:deep(.el-timeline-item__timestamp) { :deep(.el-timeline-item__timestamp) {
font-size: 14px; font-size: 14px;
font-weight: normal; font-weight: normal;
} }
.active { .active {
border: none !important; border: none !important;
:deep(.el-timeline-item__node) { :deep(.el-timeline-item__node) {
@ -89,12 +91,12 @@ const props = defineProps({
// border-color: $main-color; // border-color: $main-color;
// background-color: v-bind('props.themeColor'); // background-color: v-bind('props.themeColor');
} }
} }
// activeli // activeli
.active+li { .active + li {
:deep(.el-timeline-item__node) { :deep(.el-timeline-item__node) {
background-color: v-bind('props.themeColor'); background-color: v-bind('props.themeColor');
} }
} }
</style> </style>

View File

@ -3,12 +3,12 @@
const queryParams = ref({}) const queryParams = ref({})
import PagingComponent from 'components/PagingComponent/index.vue' import PagingComponent from 'components/PagingComponent/index.vue'
import { getOrderListApi } from 'http/api/usercenter/seekorder' import { getOrderListApi } from 'http/api/usercenter/seekorder'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' // import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
const router = useRouter() const router = useRouter()
const pageSize = ref(20) const pageSize: any = ref(20)
const pageNumber = ref(1) const pageNumber: any = ref(1)
const total: any = ref(0) const total: any = ref(0)
// //
@ -27,19 +27,24 @@
} }
/* 确认按钮 */ /* 确认按钮 */
const confirmBtn = (row:any) => { const confirmBtn = (row: any) => {
router.push({ name: 'orderConfirm',query:{ router.push({
orderId:row.orderId name: 'orderConfirm',
} }) query: {
orderId: row.orderId
}
})
} }
/* 查看按钮 */ /* 查看按钮 */
const clickPreviewDetails = (row:any) => { const clickPreviewDetails = (row: any) => {
console.log('查看') console.log('查看')
router.push({ name: 'orderDetails',query:{ router.push({
orderId:row.orderId name: 'orderDetails',
} }) query: {
orderId: row.orderId
}
})
} }
const tableData: any = ref([{ address: '客户单位' }]) const tableData: any = ref([{ address: '客户单位' }])
@ -50,7 +55,6 @@
<template> <template>
<!-- 订单管理(承租方) --> <!-- 订单管理(承租方) -->
<el-config-provider :locale="zhCn">
<el-form :model="queryParams" :inline="true" size="small"> <el-form :model="queryParams" :inline="true" size="small">
<el-form-item label="订单编号:" prop="menuName"> <el-form-item label="订单编号:" prop="menuName">
<el-input /> <el-input />
@ -94,7 +98,16 @@
<el-table-column align="center" prop="orderPhone" label="联系方式" /> <el-table-column align="center" prop="orderPhone" label="联系方式" />
<el-table-column align="center" prop="typeName" label="装备类型" /> <el-table-column align="center" prop="typeName" label="装备类型" />
<el-table-column align="center" prop="deviceName" label="装备名称" /> <el-table-column align="center" prop="deviceName" label="装备名称" />
<el-table-column align="center" prop="orderStatus" label="订单状态" /> <el-table-column align="center" label="订单状态">
<template #default="{ row }">
<el-tag effect="dark" type="info" v-if="row.orderStatus == 31">待确认</el-tag>
<el-tag effect="dark" type="warning" v-if="row.orderStatus == 32">
待合同上传
</el-tag>
<el-tag effect="dark" type="success" v-if="row.orderStatus == 35">待收货</el-tag>
<el-tag effect="dark" v-if="row.orderStatus == 36">进行中</el-tag>
</template>
</el-table-column>
<el-table-column align="center" prop="name" label="操作" width="260px"> <el-table-column align="center" prop="name" label="操作" width="260px">
<template #default="{ row }"> <template #default="{ row }">
<el-button size="small" type="primary" @click="confirmBtn(row)">确认</el-button> <el-button size="small" type="primary" @click="confirmBtn(row)">确认</el-button>
@ -112,7 +125,6 @@
:pageSize="pageSize" :pageSize="pageSize"
:pageNumber="pageNumber" :pageNumber="pageNumber"
:total="total" /> :total="total" />
</el-config-provider>
</template> </template>
<style> <style>