退租管理页面功能完善

This commit is contained in:
BianLzhaoMin 2024-12-04 16:40:54 +08:00
parent 02145d5b8e
commit d8d997c167
10 changed files with 724 additions and 651 deletions

9
components.d.ts vendored
View File

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

4
env/.env.dev vendored
View File

@ -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' # 赵福海 ( 设备类型)

View File

@ -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) => {

View File

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

View File

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

View File

@ -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>([])

View File

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

View File

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

View File

@ -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) => {