退租管理页面功能完善
This commit is contained in:
parent
02145d5b8e
commit
d8d997c167
|
|
@ -9,6 +9,8 @@ declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
Breadcrumb: typeof import('./src/components/Breadcrumb/index.vue')['default']
|
Breadcrumb: typeof import('./src/components/Breadcrumb/index.vue')['default']
|
||||||
ElBadge: typeof import('element-plus/es')['ElBadge']
|
ElBadge: typeof import('element-plus/es')['ElBadge']
|
||||||
|
ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
|
||||||
|
ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
|
||||||
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']
|
||||||
|
|
@ -16,11 +18,13 @@ declare module 'vue' {
|
||||||
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']
|
||||||
|
ElCountdown: typeof import('element-plus/es')['ElCountdown']
|
||||||
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']
|
||||||
ElEmpty: typeof import('element-plus/es')['ElEmpty']
|
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']
|
||||||
|
ElHeader: typeof import('element-plus/es')['ElHeader']
|
||||||
ElIcon: typeof import('element-plus/es')['ElIcon']
|
ElIcon: typeof import('element-plus/es')['ElIcon']
|
||||||
ElImage: typeof import('element-plus/es')['ElImage']
|
ElImage: typeof import('element-plus/es')['ElImage']
|
||||||
ElInput: typeof import('element-plus/es')['ElInput']
|
ElInput: typeof import('element-plus/es')['ElInput']
|
||||||
|
|
@ -28,11 +32,16 @@ declare module 'vue' {
|
||||||
ElMenu: typeof import('element-plus/es')['ElMenu']
|
ElMenu: typeof import('element-plus/es')['ElMenu']
|
||||||
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
|
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
|
||||||
ElOption: typeof import('element-plus/es')['ElOption']
|
ElOption: typeof import('element-plus/es')['ElOption']
|
||||||
|
ElPageHeader: typeof import('element-plus/es')['ElPageHeader']
|
||||||
ElPagination: typeof import('element-plus/es')['ElPagination']
|
ElPagination: typeof import('element-plus/es')['ElPagination']
|
||||||
ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm']
|
ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm']
|
||||||
ElProgress: typeof import('element-plus/es')['ElProgress']
|
ElProgress: typeof import('element-plus/es')['ElProgress']
|
||||||
|
ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
|
||||||
|
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
|
||||||
ElRow: typeof import('element-plus/es')['ElRow']
|
ElRow: typeof import('element-plus/es')['ElRow']
|
||||||
ElSelect: typeof import('element-plus/es')['ElSelect']
|
ElSelect: typeof import('element-plus/es')['ElSelect']
|
||||||
|
ElStep: typeof import('element-plus/es')['ElStep']
|
||||||
|
ElSteps: typeof import('element-plus/es')['ElSteps']
|
||||||
ElTable: typeof import('element-plus/es')['ElTable']
|
ElTable: typeof import('element-plus/es')['ElTable']
|
||||||
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
|
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
|
||||||
ElTag: typeof import('element-plus/es')['ElTag']
|
ElTag: typeof import('element-plus/es')['ElTag']
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@ VITE_API_URL = '/proxyApi'
|
||||||
# 开发环境接口地址
|
# 开发环境接口地址
|
||||||
# VITE_proxyTarget = 'http://10.40.92.74:8080' #盛旭
|
# VITE_proxyTarget = 'http://10.40.92.74:8080' #盛旭
|
||||||
|
|
||||||
# VITE_proxyTarget = 'http://192.168.2.246:28080' # 马帅
|
VITE_proxyTarget = 'http://192.168.2.246:28080' # 马帅
|
||||||
# VITE_proxyTarget = 'http://192.168.2.123:28080' # 梁超
|
# VITE_proxyTarget = 'http://192.168.2.123:28080' # 梁超
|
||||||
VITE_proxyTarget = 'http://192.168.0.244:28580' # 测试服务
|
# VITE_proxyTarget = 'http://192.168.0.244:28580' # 测试服务
|
||||||
# VITE_proxyTarget = 'http://192.168.2.129:18080' # 马帅
|
# VITE_proxyTarget = 'http://192.168.2.129:18080' # 马帅
|
||||||
|
|
||||||
# VITE_proxyTarget = 'http://10.40.92.185:9206' # 赵福海 ( 设备类型)
|
# VITE_proxyTarget = 'http://10.40.92.185:9206' # 赵福海 ( 设备类型)
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,11 @@ const props = defineProps({
|
||||||
type: Number || String,
|
type: Number || String,
|
||||||
default: 10,
|
default: 10,
|
||||||
},
|
},
|
||||||
|
currentIndex: {
|
||||||
|
// 文件上传的最大体积 M
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
disabledFlag: {
|
disabledFlag: {
|
||||||
//是否禁用
|
//是否禁用
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
|
|
@ -185,7 +190,7 @@ const successUpload = (response: any, file: any) => {
|
||||||
}
|
}
|
||||||
Object.assign(fileInfo, response.data)
|
Object.assign(fileInfo, response.data)
|
||||||
fileListNew.value.push(fileInfo)
|
fileListNew.value.push(fileInfo)
|
||||||
emit('onFileChange', fileListNew.value)
|
emit('onFileChange', fileListNew.value, props.currentIndex)
|
||||||
|
|
||||||
// console.log(fileListNew.value, '-----------3333333333333')
|
// console.log(fileListNew.value, '-----------3333333333333')
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -242,7 +247,7 @@ const handleExceed = (files: any, fileList: any) => {
|
||||||
// 移除文件
|
// 移除文件
|
||||||
const removeFile = (file: any, data: any) => {
|
const removeFile = (file: any, data: any) => {
|
||||||
fileListNew.value = fileListNew.value.filter((e: any) => e.uid != file.uid)
|
fileListNew.value = fileListNew.value.filter((e: any) => e.uid != file.uid)
|
||||||
emit('onFileChange', fileListNew.value)
|
emit('onFileChange', fileListNew.value, props.currentIndex)
|
||||||
}
|
}
|
||||||
// 预览
|
// 预览
|
||||||
const preview = (data: any) => {
|
const preview = (data: any) => {
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,30 @@ import { post, get, put } from 'http/index'
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @param data 查询参数 获取退租列表
|
* @param data 查询参数 获取退租列表
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export const getRentTerminationListApi = (data: any = {}) => {
|
export const getRentTerminationListApi = (data: any = {}) => {
|
||||||
return get(`/material-mall/lease-repair/list`, data)
|
return get(`/material-mall/lease-repair/list`, data)
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @param orderId 查询参数 获取退租详情 订单ID
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export const getOrderDetailsByIdApi = (orderId: any) => {
|
||||||
|
return get(`/material-mall/order/getOrderDetailsById`, { orderId })
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @param data 退租检修提交 获取退租详情 data参数
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export const setAddLeaseRepairApi = (data: any) => {
|
||||||
|
return post(`/material-mall/lease-repair/add`, data)
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @param orderId 退租检修提交 获取检修详情 订单ID
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export const getOverhaulApi = (orderId: any) => {
|
||||||
|
return get(`/material-mall/lease-repair/getById`, { orderId })
|
||||||
|
}
|
||||||
|
|
@ -4,15 +4,16 @@
|
||||||
{{ displayDate }}
|
{{ displayDate }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="selectedDate"
|
|
||||||
:type="pickerType"
|
|
||||||
:placeholder="placeholder"
|
|
||||||
:format="format"
|
|
||||||
:value-format="valueFormat"
|
|
||||||
:style="{ visibility: 'hidden' }"
|
|
||||||
@change="handleDateChange"
|
|
||||||
style="margin-top: -100px"
|
|
||||||
ref="datePicker"
|
ref="datePicker"
|
||||||
|
:format="format"
|
||||||
|
:type="pickerType"
|
||||||
|
v-model="selectedDate"
|
||||||
|
style="margin-top: -100px"
|
||||||
|
:placeholder="placeholder"
|
||||||
|
@change="handleDateChange"
|
||||||
|
:value-format="valueFormat"
|
||||||
|
:disabled-date="disabledDate"
|
||||||
|
:style="{ visibility: 'hidden' }"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -20,6 +21,11 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed, watch, nextTick } from 'vue'
|
import { ref, computed, watch, nextTick } from 'vue'
|
||||||
import { ElDatePicker, ElButton } from 'element-plus'
|
import { ElDatePicker, ElButton } from 'element-plus'
|
||||||
|
const disabledDate = (date) => {
|
||||||
|
const today = new Date()
|
||||||
|
// 禁用今天之前的日期
|
||||||
|
return date.getTime() < today.getTime()
|
||||||
|
}
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
modelValue: {
|
modelValue: {
|
||||||
|
|
@ -76,11 +82,6 @@ const handleDateChange = (value) => {
|
||||||
showPicker.value = false
|
showPicker.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
// const onVisibleChange = () => {
|
|
||||||
// console.log('关闭')
|
|
||||||
// showPicker.value = false
|
|
||||||
// }
|
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
showPicker,
|
showPicker,
|
||||||
(newValue) => {
|
(newValue) => {
|
||||||
|
|
@ -111,7 +112,6 @@ watch(
|
||||||
}
|
}
|
||||||
|
|
||||||
.date-picker-button {
|
.date-picker-button {
|
||||||
/* min-width: 120px; */
|
|
||||||
background-color: #1abc9c;
|
background-color: #1abc9c;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
|
|
|
||||||
|
|
@ -227,7 +227,6 @@ import { useRoute, useRouter } from 'vue-router'
|
||||||
import { useStore } from '../../store/user'
|
import { useStore } from '../../store/user'
|
||||||
const userStore = useStore()
|
const userStore = useStore()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
const protocolChecked = ref<boolean>(false)
|
const protocolChecked = ref<boolean>(false)
|
||||||
const allKey = ref(0)
|
const allKey = ref(0)
|
||||||
const cardList = ref<any>([])
|
const cardList = ref<any>([])
|
||||||
|
|
|
||||||
|
|
@ -403,7 +403,7 @@ import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
import { mainStore } from '@/store/main'
|
import { mainStore } from '@/store/main'
|
||||||
import { getBookCarDetailsApi } from 'http/api/home/index'
|
import { getBookCarDetailsApi } from 'http/api/home/index'
|
||||||
|
|
||||||
const router = useRouter()
|
const router: any = useRouter()
|
||||||
const route: any = useRoute()
|
const route: any = useRoute()
|
||||||
const store = mainStore()
|
const store = mainStore()
|
||||||
const ruleFormRef = ref()
|
const ruleFormRef = ref()
|
||||||
|
|
@ -425,18 +425,21 @@ const viewImgUrl = computed(() => {
|
||||||
|
|
||||||
if (router.options.history.state.back) {
|
if (router.options.history.state.back) {
|
||||||
backPath.value = router.options.history.state.back
|
backPath.value = router.options.history.state.back
|
||||||
|
|
||||||
|
console.log(router.options.history.state.back, 'router.options.history.state.back')
|
||||||
const previousRoute: any = []
|
const previousRoute: any = []
|
||||||
|
|
||||||
if (router.options.history.state.back === '/home') {
|
if (router.options.history.state.back === '/home') {
|
||||||
backName.value = '首页'
|
backName.value = '首页'
|
||||||
}
|
}
|
||||||
router.options.routes.forEach((route: any) => {
|
router.options.routes.forEach((route: any) => {
|
||||||
if (route.path === router.options.history.state.back) {
|
if (router.options.history.state.back.indexOf(router.path) != -1) {
|
||||||
previousRoute.push(route)
|
previousRoute.push(route)
|
||||||
} else {
|
} else {
|
||||||
if (route.children && route.children.length > 0) {
|
if (route.children && route.children.length > 0) {
|
||||||
route.children.forEach((r: any) => {
|
route.children.forEach((r: any) => {
|
||||||
if (r.path === router.options.history.state.back) {
|
console.log(r.path, 'route.path ')
|
||||||
|
if (router.options.history.state.back.indexOf(r.path) != -1) {
|
||||||
previousRoute.push(r)
|
previousRoute.push(r)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -12,7 +12,7 @@
|
||||||
<el-form-item prop="leaseName">
|
<el-form-item prop="leaseName">
|
||||||
<el-input
|
<el-input
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="请输入需求名称"
|
placeholder="请输入订单编号"
|
||||||
v-model="searchParams.leaseName"
|
v-model="searchParams.leaseName"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
|
|
@ -100,13 +100,14 @@
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<el-table-column align="center" label="序号" type="index" width="80" />
|
<el-table-column align="center" label="序号" type="index" width="80" />
|
||||||
<el-table-column align="center" prop="leaseCode" label="需求编号" />
|
<el-table-column align="center" prop="leaseCode" label="订单编号" />
|
||||||
<el-table-column align="center" prop="leaseName" label="需求名称" />
|
<el-table-column align="center" prop="leaseName" label="承租人" />
|
||||||
<el-table-column align="center" prop="areaName" label="项目所在地" />
|
<el-table-column align="center" prop="areaName" label="承租单位" />
|
||||||
<el-table-column align="center" prop="publishUser" label="发布人" />
|
<el-table-column align="center" prop="publishUser" label="联系电话" />
|
||||||
<el-table-column align="center" prop="orderUser" label="操作人" />
|
<el-table-column align="center" prop="orderUser" label="下单时间" />
|
||||||
<el-table-column align="center" prop="endTime" label="需求截止日期" />
|
<el-table-column align="center" prop="endTime" label="订单状态" />
|
||||||
<el-table-column align="center" prop="orderTime" label="接单时间" />
|
<el-table-column align="center" prop="orderTime" label="租赁金额(元)" />
|
||||||
|
<el-table-column align="center" prop="orderTime" label="总金额(元)" />
|
||||||
<!-- <el-table-column align="center" prop="leaseStatusName" label="需求状态" />
|
<!-- <el-table-column align="center" prop="leaseStatusName" label="需求状态" />
|
||||||
<el-table-column align="center" label="操作" :width="220">
|
<el-table-column align="center" label="操作" :width="220">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
|
|
@ -160,9 +161,11 @@
|
||||||
/> -->
|
/> -->
|
||||||
|
|
||||||
<PagingComponent
|
<PagingComponent
|
||||||
@getList="getLeaseListData"
|
@getListChange="getLeaseListData"
|
||||||
:pageSize="searchParams.pageSize"
|
:pageSize="searchParams.pageSize"
|
||||||
:pageNumber="searchParams.pageNum"
|
:pageNumber="searchParams.pageNum"
|
||||||
|
:size="searchParams.pageSize"
|
||||||
|
:page="searchParams.pageNum"
|
||||||
:total="total"
|
:total="total"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,20 +10,20 @@
|
||||||
<el-col :span="4">
|
<el-col :span="4">
|
||||||
<el-form-item prop="leaseName">
|
<el-form-item prop="leaseName">
|
||||||
<el-input
|
<el-input
|
||||||
|
clearable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="请输入需求名称"
|
placeholder="请输入需求名称"
|
||||||
v-model="searchParams.leaseName"
|
v-model="searchParams.leaseName"
|
||||||
clearable
|
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4">
|
<el-col :span="4">
|
||||||
<el-form-item prop="leaseCode">
|
<el-form-item prop="leaseCode">
|
||||||
<el-input
|
<el-input
|
||||||
|
clearable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="请输入需求编号"
|
placeholder="请输入需求编号"
|
||||||
v-model="searchParams.leaseCode"
|
v-model="searchParams.leaseCode"
|
||||||
clearable
|
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
@ -44,9 +44,9 @@
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
style="width: 100%"
|
|
||||||
v-model="endTime"
|
v-model="endTime"
|
||||||
type="daterange"
|
type="daterange"
|
||||||
|
style="width: 100%"
|
||||||
range-separator="-"
|
range-separator="-"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
start-placeholder="截止开始日期"
|
start-placeholder="截止开始日期"
|
||||||
|
|
@ -57,9 +57,9 @@
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="releaseTime"
|
|
||||||
style="width: 100%"
|
|
||||||
type="daterange"
|
type="daterange"
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="releaseTime"
|
||||||
range-separator="-"
|
range-separator="-"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
start-placeholder="发布开始日期"
|
start-placeholder="发布开始日期"
|
||||||
|
|
@ -77,9 +77,9 @@
|
||||||
<el-button
|
<el-button
|
||||||
@click="
|
@click="
|
||||||
() => {
|
() => {
|
||||||
addOrEditDialogVisible = true
|
|
||||||
isRepublish = true
|
isRepublish = true
|
||||||
dialogTitle = '新增'
|
dialogTitle = '新增'
|
||||||
|
addOrEditDialogVisible = true
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
type="primary"
|
type="primary"
|
||||||
|
|
@ -95,8 +95,8 @@
|
||||||
:data="leaseList"
|
:data="leaseList"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
:header-cell-style="{
|
:header-cell-style="{
|
||||||
background: '#00a288',
|
|
||||||
color: '#fff',
|
color: '#fff',
|
||||||
|
background: '#00a288',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<el-table-column align="center" label="序号" type="index" width="80" />
|
<el-table-column align="center" label="序号" type="index" width="80" />
|
||||||
|
|
@ -121,19 +121,18 @@
|
||||||
<el-table-column align="center" label="操作" :width="220">
|
<el-table-column align="center" label="操作" :width="220">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button
|
<el-button
|
||||||
text
|
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
|
class="primary-lease"
|
||||||
v-if="row.leaseStatus === 2"
|
v-if="row.leaseStatus === 2"
|
||||||
@click="onRepublish(row.id, false)"
|
@click="onRepublish(row.id, false)"
|
||||||
>
|
>
|
||||||
重新发布
|
重新发布
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
text
|
|
||||||
size="small"
|
size="small"
|
||||||
class="primary-lease"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
|
class="primary-lease"
|
||||||
v-if="row.leaseStatus === 2 || row.leaseStatus === 0"
|
v-if="row.leaseStatus === 2 || row.leaseStatus === 0"
|
||||||
@click="onRepublish(row.id, true, row.leaseStatus)"
|
@click="onRepublish(row.id, true, row.leaseStatus)"
|
||||||
>
|
>
|
||||||
|
|
@ -148,7 +147,7 @@
|
||||||
v-if="row.leaseStatus != 1"
|
v-if="row.leaseStatus != 1"
|
||||||
>
|
>
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button size="small" text type="primary" class="primary-lease">
|
<el-button size="small" type="primary" class="primary-lease">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -170,47 +169,23 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<!-- <el-pagination
|
|
||||||
size="small"
|
|
||||||
background
|
|
||||||
layout="prev, pager, next"
|
|
||||||
:page-size="searchParams.pageSize"
|
|
||||||
:total="total"
|
|
||||||
class="mt-4"
|
|
||||||
@current-change="onCurrentChange"
|
|
||||||
v-if="total > 0"
|
|
||||||
/> -->
|
|
||||||
|
|
||||||
<!-- <el-pagination
|
|
||||||
style="text-align: right"
|
|
||||||
background
|
|
||||||
small="small"
|
|
||||||
:total="total"
|
|
||||||
:page-sizes="[10, 20, 50, 100]"
|
|
||||||
v-model:page-size="searchParams.pageSize"
|
|
||||||
v-model:current-page="searchParams.pageNum"
|
|
||||||
layout="total, prev, pager, next,sizes"
|
|
||||||
@size-change="getLeaseListData"
|
|
||||||
@current-change="getLeaseListData"
|
|
||||||
/> -->
|
|
||||||
|
|
||||||
<PagingComponent
|
<PagingComponent
|
||||||
@getListChange="getLeaseListData"
|
:total="total"
|
||||||
v-model:page-size="searchParams.pageSize"
|
|
||||||
v-model:page-num="searchParams.pageNum"
|
|
||||||
:size="searchParams.pageSize"
|
:size="searchParams.pageSize"
|
||||||
:page="searchParams.pageNum"
|
:page="searchParams.pageNum"
|
||||||
:total="total"
|
@getListChange="getLeaseListData"
|
||||||
|
v-model:page-num="searchParams.pageNum"
|
||||||
|
v-model:page-size="searchParams.pageSize"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 新增修改对话框 -->
|
<!-- 新增修改对话框 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
:title="dialogTitle"
|
|
||||||
width="60%"
|
width="60%"
|
||||||
align-center
|
align-center
|
||||||
destroy-on-close
|
|
||||||
v-model="addOrEditDialogVisible"
|
|
||||||
@close="onClose"
|
@close="onClose"
|
||||||
|
destroy-on-close
|
||||||
|
:title="dialogTitle"
|
||||||
|
v-model="addOrEditDialogVisible"
|
||||||
>
|
>
|
||||||
<el-form
|
<el-form
|
||||||
label-width="auto"
|
label-width="auto"
|
||||||
|
|
@ -246,7 +221,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<!-- <el-form-item label="租赁公司" prop="companyId">
|
<el-form-item label="租赁公司" prop="companyId">
|
||||||
<el-select
|
<el-select
|
||||||
clearable
|
clearable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
|
@ -254,26 +229,10 @@
|
||||||
v-model="addOrEditForm.companyId"
|
v-model="addOrEditForm.companyId"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in companyOptions"
|
|
||||||
:key="item.companyId"
|
:key="item.companyId"
|
||||||
:label="item.companyName"
|
|
||||||
:value="item.companyId"
|
:value="item.companyId"
|
||||||
/>
|
:label="item.companyName"
|
||||||
</el-select>
|
v-for="item in companyOptions"
|
||||||
</el-form-item> -->
|
|
||||||
|
|
||||||
<el-form-item label="项目所在地" prop="areaId">
|
|
||||||
<el-select
|
|
||||||
clearable
|
|
||||||
style="width: 100%"
|
|
||||||
placeholder="请选择项目所在地"
|
|
||||||
v-model="addOrEditForm.areaId"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in areaList"
|
|
||||||
:key="item.areaId"
|
|
||||||
:label="item.areaName"
|
|
||||||
:value="item.areaId"
|
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -307,8 +266,8 @@
|
||||||
clearable
|
clearable
|
||||||
:max="9999"
|
:max="9999"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="addOrEditForm.leaseDay"
|
|
||||||
placeholder="请输入预估租期"
|
placeholder="请输入预估租期"
|
||||||
|
v-model="addOrEditForm.leaseDay"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
@ -319,8 +278,8 @@
|
||||||
:min="1"
|
:min="1"
|
||||||
:max="9999"
|
:max="9999"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="addOrEditForm.leaseNum"
|
|
||||||
placeholder="请输入预估数量"
|
placeholder="请输入预估数量"
|
||||||
|
v-model="addOrEditForm.leaseNum"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
@ -333,12 +292,29 @@
|
||||||
type="date"
|
type="date"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
|
:disabled-date="disabledDate"
|
||||||
v-model="addOrEditForm.endTime"
|
v-model="addOrEditForm.endTime"
|
||||||
placeholder="请选择需求截止日期"
|
placeholder="请选择需求截止日期"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="项目所在地" prop="areaId">
|
||||||
|
<el-select
|
||||||
|
clearable
|
||||||
|
style="width: 100%"
|
||||||
|
placeholder="请选择项目所在地"
|
||||||
|
v-model="addOrEditForm.areaId"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
:key="item.areaId"
|
||||||
|
:value="item.areaId"
|
||||||
|
:label="item.areaName"
|
||||||
|
v-for="item in areaList"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
|
|
@ -367,17 +343,17 @@
|
||||||
</div>
|
</div>
|
||||||
<UploadComponentNew
|
<UploadComponentNew
|
||||||
:maxSize="2"
|
:maxSize="2"
|
||||||
:minLimit="minLimit"
|
|
||||||
:max-limit="4"
|
:max-limit="4"
|
||||||
width="120px"
|
width="120px"
|
||||||
height="120px"
|
height="120px"
|
||||||
:autoUpload="true"
|
|
||||||
:multiple="true"
|
:multiple="true"
|
||||||
:fileListN="addOrEditForm.fileInfoList"
|
:autoUpload="true"
|
||||||
listType="picture-card"
|
:minLimit="minLimit"
|
||||||
:acceptTypeList="['.jpg', '.png']"
|
|
||||||
:actionUrl="uploadUrl"
|
:actionUrl="uploadUrl"
|
||||||
|
listType="picture-card"
|
||||||
@onFileChange="onFileChange"
|
@onFileChange="onFileChange"
|
||||||
|
:acceptTypeList="['.jpg', '.png']"
|
||||||
|
:fileListN="addOrEditForm.fileInfoList"
|
||||||
>
|
>
|
||||||
<template v-slot:default>
|
<template v-slot:default>
|
||||||
<el-icon size="48" color="#aaa"><Plus /></el-icon>
|
<el-icon size="48" color="#aaa"><Plus /></el-icon>
|
||||||
|
|
@ -420,8 +396,8 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import UploadComponentNew from 'components/uploadComponentNew/index.vue'
|
|
||||||
import PagingComponent from 'components/PagingComponent/index.vue'
|
import PagingComponent from 'components/PagingComponent/index.vue'
|
||||||
|
import UploadComponentNew from 'components/uploadComponentNew/index.vue'
|
||||||
import { getCompanyListApi, getGoodsClassListApi, getAreaApi } from 'http/api/home'
|
import { getCompanyListApi, getGoodsClassListApi, getAreaApi } from 'http/api/home'
|
||||||
import {
|
import {
|
||||||
addLeaseInfoApi,
|
addLeaseInfoApi,
|
||||||
|
|
@ -433,22 +409,22 @@ import {
|
||||||
import { InfoFilled } from '@element-plus/icons-vue'
|
import { InfoFilled } from '@element-plus/icons-vue'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
const uploadUrl = import.meta.env.VITE_API_URL + '/file/upload'
|
|
||||||
const addOrEditDialogVisible = ref(false)
|
|
||||||
const companyOptions = ref<any>([])
|
|
||||||
const classOptions = ref<any>([])
|
|
||||||
const addOrEditFormRef = ref<any>(null)
|
|
||||||
const searchFormRef = ref<any>(null)
|
|
||||||
const leaseList = ref<any>([])
|
|
||||||
const isRepublish = ref(true)
|
|
||||||
const isSave = ref(false)
|
|
||||||
const total = ref(0)
|
const total = ref(0)
|
||||||
const endTime = ref([])
|
const endTime = ref([])
|
||||||
const areaList = ref<any>([])
|
const isSave = ref(false)
|
||||||
const releaseTime = ref([])
|
|
||||||
const dialogTitle = ref('新增')
|
|
||||||
const fileListTemp = ref<any>([])
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
const releaseTime = ref([])
|
||||||
|
const isRepublish = ref(true)
|
||||||
|
const areaList = ref<any>([])
|
||||||
|
const leaseList = ref<any>([])
|
||||||
|
const dialogTitle = ref('新增')
|
||||||
|
const classOptions = ref<any>([])
|
||||||
|
const fileListTemp = ref<any>([])
|
||||||
|
const companyOptions = ref<any>([])
|
||||||
|
const searchFormRef = ref<any>(null)
|
||||||
|
const addOrEditFormRef = ref<any>(null)
|
||||||
|
const addOrEditDialogVisible = ref(false)
|
||||||
|
const uploadUrl = import.meta.env.VITE_API_URL + '/file/upload'
|
||||||
|
|
||||||
const searchParams = reactive({
|
const searchParams = reactive({
|
||||||
leaseName: '',
|
leaseName: '',
|
||||||
|
|
@ -493,10 +469,15 @@ const addOrEditFormTemp = ref<any>({
|
||||||
})
|
})
|
||||||
|
|
||||||
const addOrEditFormRules = reactive({
|
const addOrEditFormRules = reactive({
|
||||||
|
person: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
|
||||||
|
leaseDay: [{ required: true, message: '请输入预估租期', trigger: 'blur' }],
|
||||||
|
leaseNum: [{ required: true, message: '请输入预估数量', trigger: 'blur' }],
|
||||||
leaseName: [{ required: true, message: '请输入需求名称', trigger: 'blur' }],
|
leaseName: [{ required: true, message: '请输入需求名称', trigger: 'blur' }],
|
||||||
typeIds: [{ required: true, message: '请选择装备类目', trigger: 'change' }],
|
typeIds: [{ required: true, message: '请选择装备类目', trigger: 'change' }],
|
||||||
|
areaId: [{ required: true, message: '请选择项目所在地', trigger: 'change' }],
|
||||||
companyId: [{ required: true, message: '请选择租赁公司', trigger: 'change' }],
|
companyId: [{ required: true, message: '请选择租赁公司', trigger: 'change' }],
|
||||||
person: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
|
fileInfoList: [{ required: true, message: '请上传参考图片', trigger: 'blur' }],
|
||||||
|
endTime: [{ required: true, message: '请选择需求截止日期', trigger: 'change' }],
|
||||||
personPhone: [
|
personPhone: [
|
||||||
{ required: true, message: '请输入联系电话', trigger: 'blur' },
|
{ required: true, message: '请输入联系电话', trigger: 'blur' },
|
||||||
{
|
{
|
||||||
|
|
@ -505,11 +486,6 @@ const addOrEditFormRules = reactive({
|
||||||
trigger: 'blur',
|
trigger: 'blur',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
leaseDay: [{ required: true, message: '请输入预估租期', trigger: 'blur' }],
|
|
||||||
leaseNum: [{ required: true, message: '请输入预估数量', trigger: 'blur' }],
|
|
||||||
endTime: [{ required: true, message: '请选择需求截止日期', trigger: 'change' }],
|
|
||||||
fileInfoList: [{ required: true, message: '请上传参考图片', trigger: 'blur' }],
|
|
||||||
areaId: [{ required: true, message: '请选择项目所在地', trigger: 'change' }],
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const disabledDate = (date: any) => {
|
const disabledDate = (date: any) => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue