字加搜索框

This commit is contained in:
itcast 2025-11-12 18:05:13 +08:00
parent 68b49753a8
commit 59487663c9
16 changed files with 1099 additions and 1015 deletions

View File

@ -9,7 +9,7 @@
<el-form ref="outFormRef" :model="outForm" :rules="outFormRules" label-width="auto" size="small">
<el-row :gutter="20" style="margin-top: 10px">
<el-button size="mini" type="primary" @click="onHandleAddEquipment">添加变更装备</el-button>
<el-button size="mini" type="primary" @click="onHandleAddEquipment">新增装备维修</el-button>
<el-button size="mini" type="primary" @click="onHandleSubmit">确定提交</el-button>
<el-button size="mini" plain>取消</el-button>
</el-row>

View File

@ -25,7 +25,7 @@
</el-form-item>
<el-row :gutter="20" style="margin-top: 10px">
<el-button size="mini" type="primary" @click="onHandleAddEquipment">添加变更装备</el-button>
<el-button size="mini" type="primary" @click="onHandleAddEquipment">新增装备退役</el-button>
<el-button
size="mini"
type="danger"

View File

@ -55,7 +55,7 @@
<el-row :gutter="0">
<el-col :span="12"><span style="font-weight: 800">装备退库列表</span></el-col>
<el-col :span="12" style="text-align: end">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="onHandleAddEquipment">添加装备</el-button>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="onHandleAddEquipment">新增装备退库</el-button>
<el-button size="mini" type="primary" @click="onHandleSubmit"> 确定退库</el-button>
</el-col>
</el-row>

View File

@ -151,7 +151,7 @@
</el-row>
<el-row :gutter="20" style="margin-top: 10px">
<el-button v-if="!maIds" size="mini" type="primary" @click="onHandleAddEquipment">添加变更装备</el-button>
<el-button v-if="!maIds" size="mini" type="primary" @click="onHandleAddEquipment">新增装备出库</el-button>
<el-button size="mini" plain @click="clearSelectedEquipment" style="margin-left: 10px">清空已选</el-button>
</el-row>
</el-form>

View File

@ -4,19 +4,19 @@
<el-row>
<el-form ref="queryForm" size="small" label-width="auto" :model="queryParams">
<el-card class="search-box">
<el-row :gutter="10" style="display: flex; justify-content: space-between">
<el-col>
<el-form-item prop="name">
<el-row :gutter="20" style="display: flex; justify-content: space-between">
<el-col :span="5">
<el-form-item label="装备名称" prop="name" >
<el-input
style="width: 100%"
v-model="queryParams.name"
placeholder="装备名称"
placeholder="输入装备名称"
clearable
/>
</el-form-item>
</el-col>
<el-col>
<el-form-item prop="manufacturerId">
<el-col :span="5">
<el-form-item label="装备厂家" prop="manufacturerId">
<el-select
v-model="queryParams.manufacturerId"
placeholder="请选择生产厂家"
@ -32,12 +32,12 @@
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item prop="yearsDiff">
<el-col :span="5">
<el-form-item label="实际使用年限" prop="yearsDiff">
<el-select
style="width: 100%"
v-model="queryParams.yearsDiff1"
placeholder="实际使用年限"
placeholder="选择选项"
clearable
>
<el-option label="0-5年" value="0-5"/>
@ -47,12 +47,12 @@
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item prop="remainingYears">
<el-col :span="5">
<el-form-item label="剩余使用年限" prop="remainingYears">
<el-select
style="width: 100%"
v-model="queryParams.yearsDiff2"
placeholder="剩余使用年限"
placeholder="选择选项"
clearable
>
<el-option label="0-5年" value="0-5"/>
@ -61,13 +61,13 @@
<el-option label="15年以上" value="15-99"/>
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item prop="isWarn">
</el-col >
<el-col :span="5">
<el-form-item label="寿命告警状态" prop="isWarn">
<el-select
style="width: 100%"
v-model="queryParams.isWarn"
placeholder="预警情况"
placeholder="选择选项"
clearable
>
<el-option label="告警" value="1"/>
@ -374,11 +374,11 @@ export default {
border-radius: 6px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
::v-deep .el-table {
border-radius: 6px;
overflow: hidden;
//
&.el-table--striped .el-table__body {
tr.el-table__row--striped td {
@ -402,11 +402,11 @@ export default {
.el-table__body {
tr {
transition: all 0.2s ease;
&:hover {
background-color: #f8f9fa;
}
td {
padding: 12px 8px;
font-size: 13px;
@ -418,12 +418,12 @@ export default {
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
background-color: #CCF1E9 !important;
}
//
&::before {
display: none;
}
&::after {
display: none;
}

View File

@ -1,101 +1,100 @@
<template>
<!-- 装备流转记录 -->
<div class="app-container">
<el-form ref="queryForm" size="small" inline label-width="auto" :model="queryParams">
<el-card class="search-box">
<el-row>
<el-col :span="12">
<el-form-item prop="keyword">
<el-input
clearable
style="width: 240px"
placeholder="请输入关键字"
v-model.trim="queryParams.keyWord"
/>
</el-form-item>
<el-form-item>
<el-date-picker
v-model="dateRange"
type="datetimerange"
range-separator="至"
style="width: 240px"
value-format="yyyy-MM-dd"
end-placeholder="结束日期"
start-placeholder="开始日期"
/>
</el-form-item>
</el-col>
<el-col :span="12" style="text-align: right;">
<el-button type="primary" icon="el-icon-search" size="mini" @click="onHandleQuery"> 查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="onHandleReset">重置</el-button>
</el-col>
</el-row>
</el-card>
</el-form>
<el-card class="content-box">
<el-form ref="queryForm" size="small" inline label-width="auto" :model="queryParams">
<el-card class="search-box">
<el-row>
<el-col :span="24" style="text-align: right;">
<el-button type="primary" icon="el-icon-download" size="mini" @click="onHandleExport">导出数据</el-button>
<el-col :span="12">
<el-form-item prop="keyword" label="关键字">
<el-input
clearable
style="width: 240px"
placeholder="请输入关键字"
v-model.trim="queryParams.keyWord"
/>
</el-form-item>
<el-form-item label="操作时间" style="margin-left: 10px">
<el-date-picker
v-model="dateRange"
type="datetimerange"
range-separator="至"
style="width: 240px"
value-format="yyyy-MM-dd"
end-placeholder="结束日期"
start-placeholder="开始日期"
/>
</el-form-item>
</el-col>
<el-col :span="12" style="text-align: right;">
<el-button type="primary" icon="el-icon-search" size="mini" @click="onHandleQuery"> 查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="onHandleReset">重置</el-button>
</el-col>
</el-row>
<div class="table-container" style="flex: 1; overflow-y: auto;">
<el-table :data="tableData" style="width: 100%" border stripe height="100%">
<el-table-column align="center" show-overflow-tooltip type="index" label="序号" width="50"/>
<el-table-column align="center" show-overflow-tooltip prop="createUser" label="操作人"/>
<el-table-column align="center" show-overflow-tooltip prop="type" label="操作类型">
<template slot-scope="scope">
<el-tag size="mini">
{{ typeInfo[scope.row.type] }}
</el-tag>
</template>
</el-table-column>
<el-table-column align="center" show-overflow-tooltip prop="createTime" label="操作时间"/>
<!-- <el-table-column align="center" show-overflow-tooltip prop="changeStatus" label="流转前状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.changeStatus == 1" size="mini">在库</el-tag>
<el-tag v-if="scope.row.changeStatus == 2 || scope.row.changeStatus == 3" size="mini">
在用
</el-tag>
<el-tag v-if="scope.row.changeStatus == 5" size="mini"> 维修</el-tag>
</template>
</el-table-column>-->
<!-- <el-table-column align="center" show-overflow-tooltip prop="changeStatus" label="流转后状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status == 1" size="mini">在库</el-tag>
<el-tag v-if="scope.row.status == 2 || scope.row.status == 3" size="mini">
在用
</el-tag>
<el-tag v-if="scope.row.status == 5" size="mini"> 维修</el-tag>
</template>
</el-table-column>-->
<!-- <el-table-column align="center" show-overflow-tooltip prop="useUint" label="使用单位"/>-->
<!-- <el-table-column align="center" show-overflow-tooltip prop="proName" label="使用项目"/>-->
<!-- <el-table-column align="center" show-overflow-tooltip prop="proLocation" label="地址"/>-->
<el-table-column align="center" show-overflow-tooltip prop="devNum" label="装备数量"/>
<el-table-column align="center" show-overflow-tooltip prop="address" label="操作">
<template slot-scope="scope">
<el-button type="text" @click="onHandleOutRecord(scope.row)">
{{ typeInfo[scope.row.type] }}记录单
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination-container-fage" style="flex-shrink: 0;">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getRoamRecordList"
/>
</div>
</el-card>
</el-form>
<el-card class="content-box">
<el-row>
<el-col :span="24" style="text-align: right;">
<el-button type="primary" icon="el-icon-download" size="mini" @click="onHandleExport">导出数据</el-button>
</el-col>
</el-row>
<div class="table-container" style="flex: 1; overflow-y: auto;">
<el-table :data="tableData" style="width: 100%" border stripe height="100%">
<el-table-column align="center" show-overflow-tooltip type="index" label="序号" width="50"/>
<el-table-column align="center" show-overflow-tooltip prop="createUser" label="操作人"/>
<el-table-column align="center" show-overflow-tooltip prop="type" label="操作类型">
<template slot-scope="scope">
<el-tag size="mini" type="warning">
{{ typeInfo[scope.row.type] }}
</el-tag>
</template>
</el-table-column>
<el-table-column align="center" show-overflow-tooltip prop="createTime" label="操作时间"/>
<!-- <el-table-column align="center" show-overflow-tooltip prop="changeStatus" label="流转前状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.changeStatus == 1" size="mini">在库</el-tag>
<el-tag v-if="scope.row.changeStatus == 2 || scope.row.changeStatus == 3" size="mini">
在用
</el-tag>
<el-tag v-if="scope.row.changeStatus == 5" size="mini"> 维修</el-tag>
</template>
</el-table-column>-->
<!-- <el-table-column align="center" show-overflow-tooltip prop="changeStatus" label="流转后状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status == 1" size="mini">在库</el-tag>
<el-tag v-if="scope.row.status == 2 || scope.row.status == 3" size="mini">
在用
</el-tag>
<el-tag v-if="scope.row.status == 5" size="mini"> 维修</el-tag>
</template>
</el-table-column>-->
<!-- <el-table-column align="center" show-overflow-tooltip prop="useUint" label="使用单位"/>-->
<!-- <el-table-column align="center" show-overflow-tooltip prop="proName" label="使用项目"/>-->
<!-- <el-table-column align="center" show-overflow-tooltip prop="proLocation" label="地址"/>-->
<el-table-column align="center" show-overflow-tooltip prop="devNum" label="装备数量"/>
<el-table-column align="center" show-overflow-tooltip prop="address" label="操作">
<template slot-scope="scope">
<el-button type="text" @click="onHandleOutRecord(scope.row)">
{{ typeInfo[scope.row.type] }}记录单
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination-container-fage" style="flex-shrink: 0;">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getRoamRecordList"
/>
</div>
</el-card>
<!-- 出库记录单 -->
<el-dialog title="维修记录单" :visible.sync="outRecordVisible" width="80%" append-to-body>
@ -124,22 +123,23 @@
</el-col>
</el-row>
<div class="dialog-table">
<table border="1" cellspacing="0" cellpadding="6" style="width: 100%; border-collapse: collapse; text-align: center;">
<table border="1" cellspacing="0" cellpadding="6"
style="width: 100%; border-collapse: collapse; text-align: center;">
<thead>
<tr>
<th style="width: 100px;">序号</th>
<th>装备名称</th>
<th>规格型号</th>
<th>装备编码</th>
</tr>
<tr>
<th style="width: 100px;">序号</th>
<th>装备名称</th>
<th>规格型号</th>
<th>装备编码</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in outRecordData" :key="index">
<td>{{ index + 1 }}</td>
<td>{{ item.devName }}</td>
<td>{{ item.devModel }}</td>
<td>{{ item.devCode }}</td>
</tr>
<tr v-for="(item, index) in outRecordData" :key="index">
<td>{{ index + 1 }}</td>
<td>{{ item.devName }}</td>
<td>{{ item.devModel }}</td>
<td>{{ item.devCode }}</td>
</tr>
</tbody>
</table>
</div>
@ -160,7 +160,7 @@
</template>
<script>
import { getRoamRecordListAPI, getOutRecordListAPI } from '@/api/EquipmentRoamRecord'
import {getRoamRecordListAPI, getOutRecordListAPI} from '@/api/EquipmentRoamRecord'
import vueEasyPrint from 'vue-easy-print'
export default {
@ -216,10 +216,10 @@ export default {
//
async onHandleOutRecord(row) {
const { changeUnit, useUint, proName, devNum, id, createUser, createTime } = row
this.outRecordParams = { changeUnit, useUint, proName, devNum, createUser, createTime }
const {changeUnit, useUint, proName, devNum, id, createUser, createTime} = row
this.outRecordParams = {changeUnit, useUint, proName, devNum, createUser, createTime}
this.recordId = id
const res = await getOutRecordListAPI({ id })
const res = await getOutRecordListAPI({id})
this.outRecordData = res.data
this.outRecordVisible = true
},
@ -231,7 +231,7 @@ export default {
//
onHandleReset() {
this.queryParams = { keyWord: '', type: '', startTime: '', endTime: '', pageNum: 1, pageSize: 10 }
this.queryParams = {keyWord: '', type: '', startTime: '', endTime: '', pageNum: 1, pageSize: 10}
this.dateRange = []
this.getRoamRecordList()
},
@ -250,7 +250,7 @@ export default {
//
onHandleDownload() {
this.download('material-mall/decChange/exportDetails', { id: this.recordId }, `出库记录单.xlsx`)
this.download('material-mall/decChange/exportDetails', {id: this.recordId}, `出库记录单.xlsx`)
},
//
@ -296,9 +296,10 @@ export default {
margin-bottom: 20px;
border-radius: 8px;
padding: 0;
::v-deep .el-card__body {
padding: 20px !important;
}
}
}
.content-box {
@ -341,7 +342,7 @@ export default {
padding-top: 6px;
margin-top: auto;
::v-deep .pagination-container {
::v-deep .pagination-container {
padding: 0px 20px !important;
margin-bottom: 30px;
}
@ -366,20 +367,21 @@ export default {
}
}
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
&.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell {
background-color: #CCF1E9 !important;
}
}
}
.dialog-table {
border-radius: 6px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
::v-deep .el-table {
border-radius: 6px;
overflow: hidden;
//
&.el-table--striped .el-table__body {
tr.el-table__row--striped td {
@ -403,11 +405,11 @@ export default {
.el-table__body {
tr {
transition: all 0.2s ease;
&:hover {
background-color: #f8f9fa;
}
td {
padding: 12px 8px;
font-size: 13px;
@ -416,20 +418,21 @@ export default {
}
}
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
&.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell {
background-color: #CCF1E9 !important;
}
//
&::before {
display: none;
}
&::after {
display: none;
}
}
}
table {
width: 100%;
border-collapse: collapse; /* ✅ 连起来的关键 */

View File

@ -5,7 +5,7 @@
<el-form ref="queryForm" size="small" inline label-width="auto" :model="queryParams">
<el-card class="search-box">
<el-col :span="12">
<el-form-item prop="keyword">
<el-form-item prop="keyword" label="关键字">
<el-input
clearable
style="width: 240px"
@ -14,7 +14,7 @@
/>
</el-form-item>
<el-form-item>
<el-form-item label="操作时间" style="margin-left: 10px">
<el-date-picker
v-model="dateRange"
type="datetimerange"
@ -46,7 +46,7 @@
<el-table-column align="center" show-overflow-tooltip prop="createUser" label="操作人"/>
<el-table-column align="center" show-overflow-tooltip prop="type" label="操作类型">
<template slot-scope="scope">
<el-tag size="mini">
<el-tag size="mini" type="success">
{{ typeInfo[scope.row.type] }}
</el-tag>
</template>
@ -63,7 +63,7 @@
</el-table-column>-->
<el-table-column align="center" show-overflow-tooltip prop="changeStatus" label="流转后状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status == 2" size="mini">自用</el-tag>
<el-tag v-if="scope.row.status == 2" size="mini" >自用</el-tag>
<el-tag v-if="scope.row.status == 3" size="mini">
共享
</el-tag>

View File

@ -5,7 +5,7 @@
<el-card class="search-box">
<el-row>
<el-col :span="12">
<el-form-item prop="keyword">
<el-form-item prop="keyword" label="关键字">
<el-input
clearable
style="width: 240px"
@ -14,7 +14,7 @@
/>
</el-form-item>
<el-form-item>
<el-form-item label="操作时间" style="margin-left: 10px">
<el-date-picker
v-model="dateRange"
type="datetimerange"
@ -32,10 +32,10 @@
</el-col>
</el-row>
</el-card>
</el-form>
<el-card class="content-box">
<el-row>
<el-col :span="24" style="text-align: right;">
@ -48,7 +48,7 @@
<el-table-column align="center" show-overflow-tooltip prop="createUser" label="操作人"/>
<el-table-column align="center" show-overflow-tooltip prop="type" label="操作类型">
<template slot-scope="scope">
<el-tag size="mini">
<el-tag size="mini" type="danger">
{{ typeInfo[scope.row.type] }}
</el-tag>
</template>
@ -373,11 +373,11 @@ export default {
border-radius: 6px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
::v-deep .el-table {
border-radius: 6px;
overflow: hidden;
//
&.el-table--striped .el-table__body {
tr.el-table__row--striped td {
@ -401,11 +401,11 @@ export default {
.el-table__body {
tr {
transition: all 0.2s ease;
&:hover {
background-color: #f8f9fa;
}
td {
padding: 12px 8px;
font-size: 13px;
@ -417,12 +417,12 @@ export default {
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
background-color: #CCF1E9 !important;
}
//
&::before {
display: none;
}
&::after {
display: none;
}

View File

@ -5,11 +5,11 @@
<el-card class="search-box">
<el-row>
<el-col :span="12">
<el-form-item prop="keyword">
<el-form-item prop="keyword" label="关键字">
<el-input clearable style="width: 240px" placeholder="请输入关键字" v-model.trim="queryParams.keyWord" />
</el-form-item>
<el-form-item>
<el-form-item label="操作时间">
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="" style="width: 240px"
value-format="yyyy-MM-dd" end-placeholder="结束日期" start-placeholder="开始日期" />
</el-form-item>
@ -53,11 +53,11 @@
</el-table-column>-->
<el-table-column align="center" show-overflow-tooltip prop="changeStatus" label="流转后状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status == 1" size="mini">在库</el-tag>
<el-tag v-if="scope.row.status == 1" size="mini" type="success">在库</el-tag>
<el-tag v-if="scope.row.status == 2 || scope.row.status == 3" size="mini">
在用
</el-tag>
<el-tag v-if="scope.row.status == 5" size="mini"> 维修</el-tag>
<el-tag v-if="scope.row.status == 5" size="mini" type="waring"> 维修</el-tag>
</template>
</el-table-column>
<el-table-column align="center" show-overflow-tooltip prop="useUint" label="需求单位" />
@ -358,11 +358,11 @@ export default {
border-radius: 6px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
::v-deep .el-table {
border-radius: 6px;
overflow: hidden;
//
&.el-table--striped .el-table__body {
tr.el-table__row--striped td {
@ -386,11 +386,11 @@ export default {
.el-table__body {
tr {
transition: all 0.2s ease;
&:hover {
background-color: #f8f9fa;
}
td {
padding: 12px 8px;
font-size: 13px;
@ -402,12 +402,12 @@ export default {
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
background-color: #CCF1E9 !important;
}
//
&::before {
display: none;
}
&::after {
display: none;
}

View File

@ -11,8 +11,8 @@
>
<el-card class="search-box">
<el-row :gutter="20" type="flex">
<el-col :span="5">
<el-form-item label="装备编码" prop="deviceCode">
<el-col :span="5" class="flex-center">
<el-form-item label="装备编码" prop="deviceCode" style="margin-bottom: 0 !important;">
<el-input
v-model.trim="searchParams.deviceCode"
placeholder="请输入装备编码"
@ -20,8 +20,8 @@
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="质检日期" prop="leaseStatus">
<el-col :span="7" class="flex-center">
<el-form-item label="质检日期" prop="leaseStatus" style="margin-bottom: 0 !important;">
<el-date-picker
v-model="qcTime"
type="daterange"
@ -33,8 +33,8 @@
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="更新日期" prop="createTime">
<el-col :span="8" class="flex-center">
<el-form-item label="更新日期" prop="createTime" style="margin-bottom: 0 !important;">
<el-date-picker
v-model="createTime"
type="daterange"
@ -46,15 +46,15 @@
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" style="text-align: right;">
<el-button type="primary" icon="el-icon-search" size="mini" class="primary-lease" @click="onSearch">查询
<el-col :span="4" style="text-align: right; margin-top: 10px" >
<el-button type="primary" icon="el-icon-search" size="mini" class="primary-lease" @click="onSearch" >查询
</el-button>
<el-button icon="el-icon-refresh" size="mini" class="primary-lease" @click="onReset">重置</el-button>
</el-col>
</el-row>
</el-card>
</el-form>
<el-card class="content-box">
@ -766,6 +766,18 @@ export default {
}
</script>
<style scoped>
/* 优化列的 Flex 居中细节 */
.flex-center {
display: flex;
align-items: center; /* 垂直居中 */
justify-content: flex-start; /* 水平方向左对齐,保持表单整齐 */
padding: 5px 0; /* 增加上下内边距,让居中更明显 */
}
</style>
<style lang="scss" scoped>
.app-container {
padding: 20px;
@ -1032,5 +1044,7 @@ export default {
background-color: #CCF1E9 !important;
}
}
</style>

View File

@ -1,65 +1,89 @@
<template>
<div class="app-container app-container-content">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="auto">
<el-card class="search-box">
<el-row>
<el-col :span="20">
<el-form-item prop="deviceName">
<el-input
v-model="queryParams.deviceName"
placeholder="请输入装备名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="orderStatus">
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable>
<el-option
v-for="item in statusList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item prop="dateRange">
<el-date-picker
v-model="time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item prop="czcompanyName">
<el-input
v-model="queryParams.czcompanyName"
placeholder="请输入出租单位"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="companyName">
<el-input
v-model="queryParams.companyName"
placeholder="请输入承租单位"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-col :span="24" style="display: flex; justify-content: space-between">
<el-col span="5" style="width: 320px">
<el-form-item prop="deviceName" label="装备名称" >
<el-input
v-model="queryParams.deviceName"
placeholder="请输入装备名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
</el-col>
<el-col span="5" style="width: 320px">
<el-form-item prop="orderStatus" label="订单状态">
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable>
<el-option
v-for="item in statusList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col span="5">
<el-form-item prop="dateRange" label="出库日期">
<el-date-picker
v-model="time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col span="5" style="width: 320px">
<el-form-item prop="czcompanyName" label="出租单位">
<el-input
v-model="queryParams.czcompanyName"
placeholder="请输入出租单位"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
</el-col>
<el-col span="5" style="width: 320px">
<el-form-item prop="companyName" label="承租单位">
<el-input
v-model="queryParams.companyName"
placeholder="请输入承租单位"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
</el-col>
</el-col>
<el-col :span="4" style="text-align: right;">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="24" style="text-align: right;">
<el-form-item style="margin-top: 10px ; padding-right: 20px">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-col>
</el-row>
<!-- <el-form-item prop="lowerBound">
<el-input
v-model.trim="queryParams.lowerBound"

View File

@ -7,67 +7,82 @@
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
label-width="auto"
>
<el-card class="search-box">
<el-row>
<el-col :span="20">
<el-form-item prop="deviceName">
<el-input
v-model="queryParams.deviceName"
placeholder="请输入装备名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-card class="search-box">
<el-row :gutter="5" style="display: flex; justify-content: space-between">
<el-col :span="5" style="width: 320px">
<el-form-item prop="deviceName" label="装备名称">
<el-input
v-model="queryParams.deviceName"
placeholder="请输入装备名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
</el-col>
<el-form-item prop="orderStatus">
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable>
<el-option
v-for="item in statusList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-col :span="5" style="width: 320px">
<el-form-item prop="orderStatus" label="订单状态">
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable>
<el-option
v-for="item in statusList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-form-item prop="dateRange">
<el-date-picker
v-model="time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
</el-form-item>
<el-col :span="5">
<el-form-item prop="dateRange" label="申请时间">
<el-date-picker
v-model="time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
/>
</el-form-item>
</el-col>
<el-form-item prop="czcompanyName">
<el-input
v-model="queryParams.czcompanyName"
placeholder="请输入出租单位"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-col :span="5" style="width: 320px">
<el-form-item prop="czcompanyName" label="出租单位">
<el-input
v-model="queryParams.czcompanyName"
placeholder="请输入出租单位"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
</el-col>
<el-form-item prop="companyName">
<el-input
v-model="queryParams.companyName"
placeholder="请输入承租单位"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
</el-col>
<el-col :span="4" style="text-align: right;">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-col>
<el-col :span="5" style="width: 320px">
<el-form-item prop="companyName" label="承租单位" >
<el-input
v-model="queryParams.companyName"
placeholder="请输入承租单位"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" style="text-align: right;">
<el-form-item style="margin-top: 10px ; padding-right: 20px" >
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-card>
</el-form>

View File

@ -11,7 +11,7 @@
<el-card class="search-box">
<el-row>
<el-col :span="20">
<el-form-item prop="contractName">
<el-form-item prop="contractName" label="合同名称">
<el-input
v-model.trim="queryParams.contractName"
style="width: 100%"
@ -19,7 +19,7 @@
placeholder="请输入合同名称"
/>
</el-form-item>
<el-form-item prop="contractCode">
<el-form-item prop="contractCode" label="合同编号" style="margin-left: 10px">
<el-input
v-model.trim="queryParams.contractCode"
style="width: 100%"
@ -27,7 +27,7 @@
placeholder="请输入合同编号"
/>
</el-form-item>
<el-form-item prop="createTime">
<el-form-item prop="createTime" label="更新时间" style="margin-left: 10px">
<el-date-picker
v-model="createTime"
type="daterange"
@ -43,9 +43,9 @@
<el-button class="primary-lease" size="mini" icon="el-icon-search" type="primary" @click="getContractListData">查询</el-button>
<el-button class="primary-lease" size="mini" icon="el-icon-refresh" @click="onReset">重置</el-button>
</el-col>
</el-row>
</el-card>
</el-form>
<el-card class="content-box">

View File

@ -1,319 +1,328 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-card class="search-box">
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-card class="search-box">
<el-row>
<el-col :span="20">
<el-form-item prop="deviceName">
<el-input
v-model="queryParams.deviceName"
placeholder="装备名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
<el-form-item prop="deviceName" label="装备名称">
<el-input
v-model="queryParams.deviceName"
placeholder="装备名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="code">
<el-input
v-model="queryParams.code"
placeholder="装备编码"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
<el-form-item prop="code" label="装备编码">
<el-input
v-model="queryParams.code"
placeholder="装备编码"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="deviceTypeList">
<el-cascader
v-model="deviceTypeList"
:options="deviceTypeTree"
:props="partTypeTreeProps"
filterable
clearable
style="width: 100%"
placeholder="请选择装备类目"
@change="deviceTypeChange"
></el-cascader>
<el-form-item prop="deviceTypeList" label="装备类目">
<el-cascader
v-model="deviceTypeList"
:options="deviceTypeTree"
:props="partTypeTreeProps"
filterable
clearable
style="width: 100%"
placeholder="请选择装备类目"
@change="deviceTypeChange"
></el-cascader>
</el-form-item>
<el-form-item prop="dateRange">
<el-date-picker
style="width: 100%"
v-model="dateRange"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="更新开始日期"
end-placeholder="更新结束日期"
>
</el-date-picker>
<el-form-item prop="dateRange" label="更新时间">
<el-date-picker
style="width: 280px"
v-model="dateRange"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="更新开始日期"
end-placeholder="更新结束日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4" style="text-align: right;">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
</el-card>
</el-form>
<!-- <el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> -->
<el-card class="content-box">
<div class="table-container">
</el-card>
</el-form>
<!-- <el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> -->
<el-card class="content-box">
<div class="table-container">
<el-table v-loading="loading" :data="tableData" border stripe height="100%">
<el-table-column label="序号" align="center" width="80" type="index">
<template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="装备名称" align="center" prop="deviceName" sortable />
<el-table-column label="装备编码" align="center" prop="code" sortable>
<template slot-scope="scope">
<span style="color: blue">{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column label="装备类目" align="center" prop="typeName" width="250px" sortable>
<template slot-scope="scope">
<el-table-column label="序号" align="center" width="80" type="index">
<template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="装备名称" align="center" prop="deviceName" sortable/>
<el-table-column label="装备编码" align="center" prop="code" sortable>
<template slot-scope="scope">
<span style="color: blue">{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column label="装备类目" align="center" prop="typeName" width="250px" sortable>
<template slot-scope="scope">
<span
>{{ scope.row.firstName }} <span v-show="scope.row.firstName">></span> {{ scope.row.secondName
}}<span v-show="scope.row.secondName">></span>{{ scope.row.thirdName }}</span
>{{ scope.row.firstName }} <span v-show="scope.row.firstName">></span> {{
scope.row.secondName
}}<span v-show="scope.row.secondName">></span>{{ scope.row.thirdName }}</span
>
</template>
</el-table-column>
<el-table-column label="装备型号" align="center" prop="typeName" sortable />
<el-table-column label="所属公司" align="center" prop="companyName" sortable />
<!-- <el-table-column label="上架时间" align="center" prop="createTime" sortable/> -->
<el-table-column label="创建时间" align="center" prop="createTime" sortable />
<el-table-column label="更新时间" align="center" prop="updateTime" sortable />
</template>
</el-table-column>
<el-table-column label="装备型号" align="center" prop="typeName" sortable/>
<el-table-column label="所属公司" align="center" prop="companyName" sortable/>
<!-- <el-table-column label="上架时间" align="center" prop="createTime" sortable/> -->
<el-table-column label="创建时间" align="center" prop="createTime" sortable/>
<el-table-column label="更新时间" align="center" prop="updateTime" sortable/>
</el-table>
</div>
<div class="pagination-wrapper">
</div>
<div class="pagination-wrapper">
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</div>
</el-card>
</div>
</div>
</template>
<script>
import { getEquipmentTypeApi, getEquipmentListApi } from '@/api/search/equipment'
import {getEquipmentTypeApi, getEquipmentListApi} from '@/api/search/equipment'
export default {
name: 'equipment',
data() {
return {
//
loading: true,
name: 'equipment',
data() {
return {
//
loading: true,
loadingTwo: false,
loadingTwo: false,
// Id
showName: false,
// Id
showName: false,
//
showWarn: false,
//
showWarn: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
showTeam: false,
//
total: 0,
totalTwo: 0,
//
constructionList: [],
maxLength: 100, //
currentSelection: [], //
//
teamList: [],
teamTempList: [],
warnList: [],
//
title: '',
//
open: false,
//
dateRange: [],
//
deviceTypeList: [],
//
deviceTypeTree: [],
//
showSearch: true,
showTeam: false,
//
total: 0,
totalTwo: 0,
//
constructionList: [],
maxLength: 100, //
currentSelection: [], //
//
teamList: [],
teamTempList: [],
warnList: [],
//
title: '',
//
open: false,
//
dateRange: [],
//
deviceTypeList: [],
//
deviceTypeTree: [],
//
partTypeTreeProps: {
children: 'children',
label: 'name',
multiple: false,
value: 'id',
},
//
partTypeTreeProps: {
children: 'children',
label: 'name',
multiple: false,
value: 'id',
},
//
queryParams: {
pageNum: 1,
pageSize: 10,
deviceName: undefined,
code: undefined,
typeId: undefined,
startTime: '',
endTime: '',
},
//
tableData: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
deviceName: undefined,
code: undefined,
typeId: undefined,
startTime: '',
endTime: '',
},
//
tableData: [],
//
queryTeam: {
pageNum: 1,
pageSize: 10,
name: undefined,
sex: undefined,
teamId: undefined,
},
//
form: {},
}
//
queryTeam: {
pageNum: 1,
pageSize: 10,
name: undefined,
sex: undefined,
teamId: undefined,
},
//
form: {},
}
},
created() {
this.getTypeTreeData()
this.getList()
},
methods: {
/** 查询树形列表 */
getTypeTreeData() {
getEquipmentTypeApi().then((response) => {
this.deviceTypeTree = response.data
})
},
created() {
this.getTypeTreeData()
this.getList()
/** 查询装备信息列表 */
async getList() {
this.loading = true
if (this.dateRange.length > 0) {
this.queryParams.startTime = this.dateRange[0]
this.queryParams.endTime = this.dateRange[1]
}
await getEquipmentListApi(this.queryParams).then((response) => {
console.log('11111', response)
this.tableData = response.data.rows
this.total = response.data.total
this.loading = false
})
},
methods: {
/** 查询树形列表 */
getTypeTreeData() {
getEquipmentTypeApi().then((response) => {
this.deviceTypeTree = response.data
})
},
/** 查询装备信息列表 */
async getList() {
this.loading = true
if (this.dateRange.length > 0) {
this.queryParams.startTime = this.dateRange[0]
this.queryParams.endTime = this.dateRange[1]
}
await getEquipmentListApi(this.queryParams).then((response) => {
console.log('11111', response)
this.tableData = response.data.rows
this.total = response.data.total
this.loading = false
})
},
//
openTeam(row) {
this.teamId = row.teamId
this.title = '查看人员'
this.showTeam = true
this.getListTeam()
},
//
openTeamTemp(row) {
this.teamId = row.teamId
this.title = '查看临时人员'
this.showTeamTemp = true
this.getListTeamTemp()
},
//
// cancel() {
// this.open = false;
// this.reset();
// },
//
// reset() {
// this.form = {
// appnum: undefined,
// projectDepartName: undefined,
// projectHeadName: undefined,
// contactInformation: undefined,
// projectHeadName: undefined,
// remarks: undefined
// };
// this.resetForm("form");
// },
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.dateRange = []
this.deviceTypeList = []
this.queryParams.startTime = ''
this.queryParams.endTime = ''
this.queryParams.typeId = ''
this.handleQuery()
},
//-change
deviceTypeChange(val) {
console.log('2222222222', val)
if (val.length > 0) {
this.queryParams.typeId = val[3]
} else {
this.queryParams.typeId = ''
}
},
//
openTeam(row) {
this.teamId = row.teamId
this.title = '查看人员'
this.showTeam = true
this.getListTeam()
},
//
openTeamTemp(row) {
this.teamId = row.teamId
this.title = '查看临时人员'
this.showTeamTemp = true
this.getListTeamTemp()
},
//
// cancel() {
// this.open = false;
// this.reset();
// },
//
// reset() {
// this.form = {
// appnum: undefined,
// projectDepartName: undefined,
// projectHeadName: undefined,
// contactInformation: undefined,
// projectHeadName: undefined,
// remarks: undefined
// };
// this.resetForm("form");
// },
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.dateRange = []
this.deviceTypeList = []
this.queryParams.startTime = ''
this.queryParams.endTime = ''
this.queryParams.typeId = ''
this.handleQuery()
},
//-change
deviceTypeChange(val) {
console.log('2222222222', val)
if (val.length > 0) {
this.queryParams.typeId = val[3]
} else {
this.queryParams.typeId = ''
}
},
},
}
</script>
<style lang="scss" scoped>
.uploadImg {
padding-top: 20px;
display: flex;
align-items: center;
justify-content: center;
padding-top: 20px;
display: flex;
align-items: center;
justify-content: center;
}
.deviceCode {
margin-top: 10px;
padding-bottom: 20px;
font-size: 18px;
margin-top: 10px;
padding-bottom: 20px;
font-size: 18px;
}
::v-deep.el-table .fixed-width .el-button--mini {
width: 60px !important;
margin-bottom: 10px;
width: 60px !important;
margin-bottom: 10px;
}
//css
::v-deep.disabled {
.el-upload--picture-card {
display: none;
}
.el-upload--picture-card {
display: none;
}
}
.search-box {
margin-bottom: 20px;
border-radius: 8px;
padding: 0;
::v-deep .el-card__body {
padding: 20px !important;
}
}
}
.el-form-item--small.el-form-item {
margin-bottom: 0px;
margin-bottom: 0px;
}
.content-box {
border-radius: 8px;
height: calc(100vh - 210px);
@ -354,7 +363,7 @@ export default {
padding-top: 6px;
margin-top: auto;
::v-deep .pagination-container {
::v-deep .pagination-container {
padding: 0px 20px !important;
margin-bottom: 30px;
}
@ -379,20 +388,21 @@ export default {
}
}
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
&.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell {
background-color: #CCF1E9 !important;
}
}
}
.dialog-table {
border-radius: 6px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
::v-deep .el-table {
border-radius: 6px;
overflow: hidden;
//
&.el-table--striped .el-table__body {
tr.el-table__row--striped td {
@ -416,11 +426,11 @@ export default {
.el-table__body {
tr {
transition: all 0.2s ease;
&:hover {
background-color: #f8f9fa;
}
td {
padding: 12px 8px;
font-size: 13px;
@ -429,15 +439,15 @@ export default {
}
}
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
&.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell {
background-color: #CCF1E9 !important;
}
//
&::before {
display: none;
}
&::after {
display: none;
}

View File

@ -3,73 +3,78 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-card class="search-box">
<el-row>
<el-col :span="20">
<el-form-item prop="deviceName">
<el-input
v-model="queryParams.deviceName"
placeholder="装备名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="code">
<el-input
v-model="queryParams.code"
placeholder="装备编码"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-col :span="24">
<el-form-item prop="deviceName" label="装备名称" >
<el-input
v-model="queryParams.deviceName"
placeholder="装备名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="code" label="装备编码" style="margin-left: 25px;">
<el-input
v-model="queryParams.code"
placeholder="装备编码"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="maStatus">
<el-select
style="width: 100%"
v-model="queryParams.maStatus"
clearable
placeholder="请选择装备状态"
>
<el-option label="草稿状态" value="0"></el-option>
<el-option label="上架" value="2"></el-option>
<el-option label="下架" value="1"></el-option>
<el-option label="在租" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="maStatus" label="装备状态" style="margin-left: 25px;">
<el-select
style="width: 100% "
v-model="queryParams.maStatus"
clearable
placeholder="请选择装备状态"
>
<el-option label="草稿状态" value="0"></el-option>
<el-option label="上架" value="2"></el-option>
<el-option label="下架" value="1"></el-option>
<el-option label="在租" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="rentNum">
<el-input
v-model="queryParams.rentNum"
placeholder="共享次数"
type="number"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="rentNum" label="共享次数" style="margin-left: 25px;">
<el-input
v-model="queryParams.rentNum"
placeholder="共享次数"
type="number"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="dateRange">
<el-date-picker
style="width: 100%"
v-model="dateRange"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="更新开始日期"
end-placeholder="更新结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item prop="dateRange" label="更新时间" style="margin-left: 25px;">
<el-date-picker
v-model="dateRange"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="更新开始日期"
end-placeholder="更新结束日期"
style="width: 250px "
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4" style="text-align: right;">
</el-row>
<el-row>
<el-col :span="24" style="text-align: right; margin-top: 10px ;padding-right: 10px">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
</el-card>
</el-form>
@ -78,137 +83,138 @@
</el-row> -->
<el-card class="content-box">
<div class="table-container">
<el-table v-loading="loading" :data="tableData" border stripe height="100%">
<el-table-column label="序号" align="center" width="80" type="index">
<template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="装备名称" align="center" prop="deviceName" sortable/>
<el-table-column label="装备编码" align="center" prop="code" sortable>
<template slot-scope="scope">
<span style="color:blue">{{ scope.row.code}}</span>
</template>
</el-table-column>
<el-table-column label="装备类目" align="center" prop="typeName" width="250px" sortable>
<template slot-scope="scope">
<el-table v-loading="loading" :data="tableData" border stripe height="100%">
<el-table-column label="序号" align="center" width="80" type="index">
<template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="装备名称" align="center" prop="deviceName" sortable/>
<el-table-column label="装备编码" align="center" prop="code" sortable>
<template slot-scope="scope">
<span style="color:blue">{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column label="装备类目" align="center" prop="typeName" width="250px" sortable>
<template slot-scope="scope">
<span
>{{ scope.row.firstName }} <span v-show="scope.row.firstName">></span>
>{{ scope.row.firstName }} <span v-show="scope.row.firstName">></span>
{{ scope.row.secondName }}<span v-show="scope.row.secondName">></span
>{{ scope.row.thirdName }}</span
>{{ scope.row.thirdName }}</span
>
</template>
</el-table-column>
<el-table-column label="共享次数" align="center" prop="rentNum" sortable/>
<el-table-column label="装备状态" align="center" prop="maStatus" sortable>
<template slot-scope="scope">
<el-tag v-if="scope.row.maStatus == 0" size="small" type="info">草稿状态</el-tag>
<el-tag v-if="scope.row.maStatus == 1" size="small" type="warning">下架</el-tag>
<el-tag v-if="scope.row.maStatus == 2" size="small" type="success">上架</el-tag>
<el-tag v-if="scope.row.maStatus == 3" size="small" type="danger">在租</el-tag>
</template>
</el-table-column>
<el-table-column label="更新时间" align="center" prop="updateTime" sortable/>
<el-table-column label="操作" align="center" width="180">
<template slot-scope="scope" >
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
>
共享详情
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination-wrapper">
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
</el-table-column>
<el-table-column label="共享次数" align="center" prop="rentNum" sortable/>
<el-table-column label="装备状态" align="center" prop="maStatus" sortable>
<template slot-scope="scope">
<el-tag v-if="scope.row.maStatus == 0" size="small" type="info">草稿状态</el-tag>
<el-tag v-if="scope.row.maStatus == 1" size="small" type="warning">下架</el-tag>
<el-tag v-if="scope.row.maStatus == 2" size="small" type="success">上架</el-tag>
<el-tag v-if="scope.row.maStatus == 3" size="small" type="danger">在租</el-tag>
</template>
</el-table-column>
<el-table-column label="更新时间" align="center" prop="updateTime" sortable/>
<el-table-column label="操作" align="center" width="180">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
>
共享详情
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination-wrapper">
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</el-card>
<!-- 查看共享详情弹窗 -->
<el-dialog :title="title" :visible.sync="showDevice" width="1300px" height="1000px" append-to-body>
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;">
<div style="width:30%">
<span >装备编号{{ deviceCode }}</span>
</div>
<div style="width: 30%">
<span >装备名称{{ deviceName }}</span>
</div>
<div style="width: 30%">
<span >装备状态{{ deviceStatus }}</span>
</div>
<el-dialog :title="title" :visible.sync="showDevice" width="1300px" height="1000px" append-to-body>
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;">
<div style="width:30%">
<span>装备编号{{ deviceCode }}</span>
</div>
<el-form :model="queryDevice" ref="queryFormDevice" size="small" :inline="true" v-show="showSearch" label-width="68px">
<div style="width: 30%">
<span>装备名称{{ deviceName }}</span>
</div>
<div style="width: 30%">
<span>装备状态{{ deviceStatus }}</span>
</div>
</div>
<el-form :model="queryDevice" ref="queryFormDevice" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-row>
<el-col :span="20">
<el-form-item label="订单编号" prop="orderCode">
<el-input
v-model="queryDevice.orderCode"
placeholder="请输入订单编号"
clearable
@keyup.enter.native="handleQueryRent"
maxlength="20"
/>
</el-form-item>
<el-form-item label="共享周期" prop="dateRangeRent">
<el-date-picker
style="width: 100%"
v-model="dateRangeRent"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-input
v-model="queryDevice.orderCode"
placeholder="请输入订单编号"
clearable
@keyup.enter.native="handleQueryRent"
maxlength="20"
/>
</el-form-item>
<el-form-item label="共享周期" prop="dateRangeRent">
<el-date-picker
style="width: 100%"
v-model="dateRangeRent"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4" style="text-align: right;">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQueryRent">查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQueryRent">重置</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQueryRent">重置</el-button>
</el-col>
</el-row>
</el-form>
<el-table v-loading="loadingTwo" :data="deviceList" width="800px" height = "600px" border stripe>
</el-form>
<el-table v-loading="loadingTwo" :data="deviceList" width="800px" height="600px" border stripe>
<el-table-column label="序号" align="center" width="80" type="index">
<!-- <template slot-scope="scope">
<span>{{ (queryDevice.pageNum - 1) * queryDevice.pageSize + scope.$index + 1 }}</span>
</template> -->
</el-table-column>
<!-- <template slot-scope="scope">
<span>{{ (queryDevice.pageNum - 1) * queryDevice.pageSize + scope.$index + 1 }}</span>
</template> -->
</el-table-column>
<el-table-column label="订单编号" align="center" prop="orderCode" sortable/>
<el-table-column label="共享周期" align="center" prop="rentTime" sortable/>
<el-table-column label="订单状态" align="center" prop="idCard" width="110px" sortable>
<template slot-scope="scope">
<el-tag v-if="scope.row.orderStatus == 0" size="small" >未下单</el-tag>
<el-tag v-if="scope.row.orderStatus == 0" size="small">未下单</el-tag>
<el-tag v-if="scope.row.orderStatus == 1" size="small">待确认</el-tag>
<el-tag v-if="scope.row.orderStatus == 2" size="small" >已确认</el-tag>
<!-- <el-tag v-if="scope.row.orderStatus == 3" size="small" >待收货</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 4" size="small" >共享中</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 5" size="small" >已退租</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 10" size="small" >已检修</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 15" size="small" >已结算</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 20" size="small" >已完成</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 99" size="small" >已取消</el-tag>-->
<el-tag v-if="scope.row.orderStatus == 2" size="small">已确认</el-tag>
<!-- <el-tag v-if="scope.row.orderStatus == 3" size="small" >待收货</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 4" size="small" >共享中</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 5" size="small" >已退租</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 10" size="small" >已检修</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 15" size="small" >已结算</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 20" size="small" >已完成</el-tag>-->
<!-- <el-tag v-if="scope.row.orderStatus == 99" size="small" >已取消</el-tag>-->
</template>
</el-table-column>
<el-table-column label="共享费用(元)" align="center" prop="rentCost" sortable width="130px"/>
<el-table-column label="丢失费用(元)" align="center" prop="lossCost" sortable width="130px"/>
<el-table-column label="退租检修费用(元)" align="center" prop="repairCost" width="130px"/>
<el-table-column label="总费用(元)" align="center" prop="cost" />
<el-table-column label="承租公司" align="center" prop="rentCompany" />
<el-table-column label="承租人" align="center" prop="rentPerson" />
<el-table-column label="下单时间" align="center" prop="orderTime" width="130px"/>
<el-table-column label="总费用(元)" align="center" prop="cost"/>
<el-table-column label="承租公司" align="center" prop="rentCompany"/>
<el-table-column label="承租人" align="center" prop="rentPerson"/>
<el-table-column label="下单时间" align="center" prop="orderTime" width="130px"/>
</el-table>
<pagination
@ -219,13 +225,14 @@
@pagination="getListDetail"
/>
</el-dialog>
</el-dialog>
</div>
</template>
<script>
import { getEquipmentTypeApi,getEquipmentListApi,getRentDetailApi,} from "@/api/search/equipment";
import {getEquipmentTypeApi, getEquipmentListApi, getRentDetailApi,} from "@/api/search/equipment";
export default {
name: "lease",
data() {
@ -254,7 +261,7 @@ export default {
showDevice: false,
//
total: 0,
totalTwo : 0,
totalTwo: 0,
//
deviceList: [],
title: "",
@ -265,9 +272,9 @@ export default {
//
dateRangeRent: [],
//
deviceTypeList:[],
deviceTypeList: [],
//
deviceTypeTree:[],
deviceTypeTree: [],
//
partTypeTreeProps: {
@ -294,23 +301,23 @@ export default {
//
queryDevice: {
pageNum: 1,
pageSize: 10,
startTime: '',
endTime: '',
orderCode: undefined,
maId: undefined,
},
pageNum: 1,
pageSize: 10,
startTime: '',
endTime: '',
orderCode: undefined,
maId: undefined,
},
//
form: {},
//id
deviceId: undefined,
//
deviceCode:undefined,
deviceCode: undefined,
//
deviceName:undefined,
deviceName: undefined,
//
deviceStatus:undefined,
deviceStatus: undefined,
};
},
created() {
@ -326,14 +333,14 @@ export default {
},
/** 查询装备信息列表 */
async getList() {
async getList() {
this.loading = true;
if(this.dateRange.length > 0){
if (this.dateRange.length > 0) {
this.queryParams.startTime = this.dateRange[0]
this.queryParams.endTime = this.dateRange[1]
}
await getEquipmentListApi(this.queryParams).then(response => {
console.log('11111',response)
await getEquipmentListApi(this.queryParams).then(response => {
console.log('11111', response)
this.tableData = response.data.rows;
this.total = response.data.total;
this.loading = false;
@ -368,33 +375,33 @@ export default {
this.resetForm("queryForm");
this.dateRange = [];
this.deviceTypeList = []
this.queryParams.startTime=''
this.queryParams.endTime=''
this.queryParams.startTime = ''
this.queryParams.endTime = ''
this.handleQuery();
},
//-change
deviceTypeChange(val) {
console.log('2222222222',val)
if (val.length > 0) {
this.queryParams.typeId = val[3]
} else {
this.queryParams.typeId = ''
}
},
console.log('2222222222', val)
if (val.length > 0) {
this.queryParams.typeId = val[3]
} else {
this.queryParams.typeId = ''
}
},
//
handleDetail(row){
handleDetail(row) {
this.deviceId = row.maId;
this.deviceCode = row.code;
this.deviceName = row.deviceName;
if(row.maStatus == '1'){
if (row.maStatus == '1') {
this.deviceStatus = '下架';
}else if(row.maStatus == '2'){
} else if (row.maStatus == '2') {
this.deviceStatus = '上架';
}else if(row.maStatus == '3'){
} else if (row.maStatus == '3') {
this.deviceStatus = '在租';
}else if(row.maStatus == '0'){
} else if (row.maStatus == '0') {
this.deviceStatus = '草稿状态';
}
this.title = "装备共享详情"
@ -403,21 +410,21 @@ export default {
},
//
getListDetail(row){
getListDetail(row) {
this.loadingTwo = true;
getRentDetailApi(row).then(response => {
console.log('11111',response)
console.log('11111', response)
this.deviceList = response.data.rows;
console.log('2222',this.deviceList)
console.log('2222', this.deviceList)
this.totalTwo = response.data.total;
this.loadingTwo = false;
});
},
//
handleQueryRent(){
handleQueryRent() {
this.queryDevice.maId = this.deviceId;
if(this.dateRangeRent.length > 0){
if (this.dateRangeRent.length > 0) {
this.queryDevice.startTime = this.dateRangeRent[0]
this.queryDevice.endTime = this.dateRangeRent[1]
}
@ -428,12 +435,12 @@ export default {
resetQueryRent() {
this.resetForm("queryFormDevice");
this.dateRangeRent = [];
this.queryDevice.startTime=''
this.queryDevice.endTime=''
this.queryDevice.startTime = ''
this.queryDevice.endTime = ''
this.handleQueryRent();
}
}
}
};
</script>
@ -444,33 +451,37 @@ export default {
align-items: center;
justify-content: center;
}
.deviceCode {
margin-top: 10px;
padding-bottom: 20px;
font-size: 18px;
margin-top: 10px;
padding-bottom: 20px;
font-size: 18px;
}
::v-deep.el-table .fixed-width .el-button--mini {
width: 60px !important;
margin-bottom: 10px;
width: 60px !important;
margin-bottom: 10px;
}
//css
::v-deep.disabled {
.el-upload--picture-card {
display: none;
}
.el-upload--picture-card {
display: none;
}
}
.search-box {
margin-bottom: 20px;
border-radius: 8px;
padding: 0;
.el-form-item--small.el-form-item {
margin-bottom: 0px;
}
}
}
.el-form-item--small.el-form-item {
margin-bottom: 0px;
margin-bottom: 0px;
}
.content-box {
@ -513,7 +524,7 @@ export default {
padding-top: 6px;
margin-top: auto;
::v-deep .pagination-container {
::v-deep .pagination-container {
padding: 0px 20px !important;
margin-bottom: 30px;
}
@ -538,20 +549,21 @@ export default {
}
}
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
&.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell {
background-color: #CCF1E9 !important;
}
}
}
.dialog-table {
border-radius: 6px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
::v-deep .el-table {
border-radius: 6px;
overflow: hidden;
//
&.el-table--striped .el-table__body {
tr.el-table__row--striped td {
@ -575,11 +587,11 @@ export default {
.el-table__body {
tr {
transition: all 0.2s ease;
&:hover {
background-color: #f8f9fa;
}
td {
padding: 12px 8px;
font-size: 13px;
@ -588,15 +600,15 @@ export default {
}
}
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
&.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell {
background-color: #CCF1E9 !important;
}
//
&::before {
display: none;
}
&::after {
display: none;
}
@ -604,26 +616,26 @@ export default {
}
::v-deep .el-table {
//
&.el-table--striped .el-table__body {
tr.el-table__row--striped td {
background-color: #F6FBFA !important; //
}
}
.el-table__header {
background: #E9F0EE;
th {
background: #E9F0EE !important;
color: #606266;
font-weight: 600;
height: 50px;
}
}
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
background-color: #CCF1E9 !important;
//
&.el-table--striped .el-table__body {
tr.el-table__row--striped td {
background-color: #F6FBFA !important; //
}
}
.el-table__header {
background: #E9F0EE;
th {
background: #E9F0EE !important;
color: #606266;
font-weight: 600;
height: 50px;
}
}
&.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell {
background-color: #CCF1E9 !important;
}
}
</style>

View File

@ -6,204 +6,208 @@
ref="searchFormRef"
:model="searchParams"
>
<el-card class="search-box">
<el-row>
<el-col :span="3">
<el-form-item prop="leaseName">
<el-input
clearable
style="width: 100%"
placeholder="请输入需求名称"
v-model="searchParams.leaseName"
/>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="leaseCode">
<el-input
clearable
style="width: 100%"
placeholder="请输入需求编号"
v-model="searchParams.leaseCode"
/>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="leaseStatus">
<el-select
clearable
style="width: 100%"
placeholder="选择需求状态"
v-model="searchParams.leaseStatus"
>
<el-option label="待接单" :value="0"/>
<el-option label="已接单" :value="1"/>
<el-option label="已到期" :value="2"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item>
<el-date-picker
v-model="endTime"
type="daterange"
style="width: 100%"
range-separator="-"
value-format="YYYY-MM-DD"
start-placeholder="截止开始日期"
end-placeholder="截止结束日期"
/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item>
<el-date-picker
type="daterange"
style="width: 100%"
v-model="releaseTime"
range-separator="-"
value-format="YYYY-MM-DD"
start-placeholder="发布开始日期"
end-placeholder="发布结束日期"
/>
</el-form-item>
</el-col>
<el-col :span="5" style="text-align: right;">
<el-button @click="getLeaseListData" size="mini" icon="el-icon-search" type="primary" class="primary-lease"
>查询
</el-button
>
<el-button @click="onReset" icon="el-icon-refresh" size="mini" class="primary-lease">重置</el-button>
</el-col>
</el-row>
<el-card class="search-box">
<el-row :gutter="5" style="display: flex; justify-content: space-between">
<el-col :span="5" style="width: 320px">
<el-form-item prop="leaseName" label="需求名称">
<el-input
clearable
style="width: 100%"
placeholder="请输入需求名称"
v-model="searchParams.leaseName"
/>
</el-form-item>
</el-col>
<el-col :span="5" style="width: 320px">
<el-form-item prop="leaseCode" label="需求编号">
<el-input
clearable
style="width: 100%"
placeholder="请输入需求编号"
v-model="searchParams.leaseCode"
/>
</el-form-item>
</el-col>
<el-col :span="5" style="width: 320px">
<el-form-item prop="leaseStatus" label="需求状态">
<el-select
clearable
style="width: 100%"
placeholder="选择需求状态"
v-model="searchParams.leaseStatus"
>
<el-option label="待接单" :value="0"/>
<el-option label="已接单" :value="1"/>
<el-option label="已到期" :value="2"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="截止日期">
<el-date-picker
v-model="endTime"
type="daterange"
style="width: 240px"
range-separator="-"
value-format="YYYY-MM-DD"
start-placeholder="截止开始日期"
end-placeholder="截止结束日期"
/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="发布日期">
<el-date-picker
type="daterange"
style="width: 240px"
v-model="releaseTime"
range-separator="-"
value-format="YYYY-MM-DD"
start-placeholder="发布开始日期"
end-placeholder="发布结束日期"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" style="text-align: right; margin-top: 10px;padding-right: 15px">
<el-button @click="getLeaseListData" size="mini" icon="el-icon-search" type="primary" class="primary-lease"
>查询
</el-button
>
<el-button @click="onReset" icon="el-icon-refresh" size="mini" class="primary-lease">重置</el-button>
</el-col>
</el-row>
</el-card>
</el-form>
<el-card class="content-box">
<el-row>
<el-col :span="24" style="text-align: right;">
<el-button size="mini"
@click="
<el-button size="mini"
@click="
() => {
isRepublish = true
dialogTitle = '新增'
addOrEditDialogVisible = true
}
"
type="primary"
class="primary-lease"
>
需求新建
</el-button>
type="primary"
class="primary-lease"
>
需求新建
</el-button>
</el-col>
</el-row>
<div class="table-container">
<!-- 表格 -->
<el-table
:data="leaseList"
show-overflow-tooltip
border stripe height="100%"
>
<el-table-column align="center" label="序号" type="index" width="80"/>
<el-table-column align="center" label="需求编号">
<template slot-scope="scope">
<a
style="cursor: pointer; color: #00a288; text-decoration: underline"
@click="handleToDetails(scope.row.id)"
>
{{ scope.row.leaseCode }}
</a>
</template>
</el-table-column>
<el-table-column align="center" prop="leaseName" label="需求名称"/>
<el-table-column align="center" prop="cityName" label="需求所在地"/>
<el-table-column align="center" prop="publishUser" label="发布人"/>
<el-table-column align="center" prop="endTime" label="需求截止日期" width="120"/>
<el-table-column align="center" prop="startTime" label="发布时间"/>
<el-table-column align="center" prop="orderUser" label="接单人"/>
<el-table-column align="center" prop="orderPhone" label="接单人联系方式" width="140"/>
<el-table-column align="center" prop="leaseStatusName" label="需求状态"/>
<el-table-column align="center" label="操作" :width="220">
<template slot-scope="scope">
<el-button
size="small"
type="primary"
class="primary-lease"
v-if="scope.row.leaseStatus === 2 || scope.row.leaseStatus === 4"
@click="onRepublish(scope.row.id, false)"
>
重新发布
</el-button>
<el-button
size="small"
type="primary"
class="primary-lease"
v-if="
<!-- 表格 -->
<el-table
:data="leaseList"
show-overflow-tooltip
border stripe height="100%"
>
<el-table-column align="center" label="序号" type="index" width="80"/>
<el-table-column align="center" label="需求编号">
<template slot-scope="scope">
<a
style="cursor: pointer; color: #00a288; text-decoration: underline"
@click="handleToDetails(scope.row.id)"
>
{{ scope.row.leaseCode }}
</a>
</template>
</el-table-column>
<el-table-column align="center" prop="leaseName" label="需求名称"/>
<el-table-column align="center" prop="cityName" label="需求所在地"/>
<el-table-column align="center" prop="publishUser" label="发布人"/>
<el-table-column align="center" prop="endTime" label="需求截止日期" width="120"/>
<el-table-column align="center" prop="startTime" label="发布时间"/>
<el-table-column align="center" prop="orderUser" label="接单人"/>
<el-table-column align="center" prop="orderPhone" label="接单人联系方式" width="140"/>
<el-table-column align="center" prop="leaseStatusName" label="需求状态"/>
<el-table-column align="center" label="操作" :width="220">
<template slot-scope="scope">
<el-button
size="small"
type="primary"
class="primary-lease"
v-if="scope.row.leaseStatus === 2 || scope.row.leaseStatus === 4"
@click="onRepublish(scope.row.id, false)"
>
重新发布
</el-button>
<el-button
size="small"
type="primary"
class="primary-lease"
v-if="
scope.row.leaseStatus === 2 || scope.row.leaseStatus === 0 || scope.row.leaseStatus === 4
"
@click="onRepublish(scope.row.id, true, scope.row.leaseStatus)"
>
编辑
</el-button>
<el-button
size="small"
type="primary"
class="primary-lease"
v-if="scope.row.leaseStatus === 3"
@click="onAuditing(scope.row.id, 1)"
>
通过
</el-button>
<el-button
size="small"
type="primary"
class="primary-lease"
v-if="scope.row.leaseStatus === 3"
@click="onAuditing(scope.row.id, 4)"
>
驳回
</el-button>
<el-popconfirm
width="220"
icon="el-icon-info"
icon-color="#626AEF"
title="确定删除该项需求吗?"
@confirm="onDelete(scope.row.id)"
v-if="scope.row.leaseStatus === 2 || scope.row.leaseStatus === 0"
>
<template slot="reference">
<el-button size="small" type="primary" class="primary-lease">
删除
</el-button>
</template>
<template slot="actions">
<el-button type="primary" class="primary-lease" size="small"
>取消
</el-button
@click="onRepublish(scope.row.id, true, scope.row.leaseStatus)"
>
编辑
</el-button>
<el-button
class="primary-lease"
type="primary"
size="small"
@click="confirmDelete"
type="primary"
class="primary-lease"
v-if="scope.row.leaseStatus === 3"
@click="onAuditing(scope.row.id, 1)"
>
确定
通过
</el-button>
<el-button
size="small"
type="primary"
class="primary-lease"
v-if="scope.row.leaseStatus === 3"
@click="onAuditing(scope.row.id, 4)"
>
驳回
</el-button>
<el-popconfirm
width="220"
icon="el-icon-info"
icon-color="#626AEF"
title="确定删除该项需求吗?"
@confirm="onDelete(scope.row.id)"
v-if="scope.row.leaseStatus === 2 || scope.row.leaseStatus === 0"
>
<template slot="reference">
<el-button size="small" type="primary" class="primary-lease">
删除
</el-button>
</template>
<template slot="actions">
<el-button type="primary" class="primary-lease" size="small"
>取消
</el-button
>
<el-button
class="primary-lease"
type="primary"
size="small"
@click="confirmDelete"
>
确定
</el-button>
</template>
</el-popconfirm>
</template>
</el-popconfirm>
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination-wrapper">
<pagination
:total="total"
@pagination="getLeaseListData"
:page.sync="searchParams.pageNum"
:limit.sync="searchParams.pageSize"
/>
</div>
</el-table-column>
</el-table>
</div>
<div class="pagination-wrapper">
<pagination
:total="total"
@pagination="getLeaseListData"
:page.sync="searchParams.pageNum"
:limit.sync="searchParams.pageSize"
/>
</div>
</el-card>
<!-- 新增修改对话框 -->
@ -559,7 +563,7 @@ import {
deleteLeaseInfoApi,
getLeaseDetailsByIdApi
} from '@/api/sourcingNeed/index'
import { MessageBox, Message } from 'element-ui'
import {MessageBox, Message} from 'element-ui'
export default {
data() {
@ -656,7 +660,7 @@ export default {
methods: {
//
handleToDetails(id) {
this.$router.push({ name: 'demand-details', query: { id } })
this.$router.push({name: 'demand-details', query: {id}})
},
//
@ -754,7 +758,7 @@ export default {
//
async onDelete(id) {
const res = await deleteLeaseInfoApi({ id })
const res = await deleteLeaseInfoApi({id})
if (res.code === 200) {
Message({
type: 'success',
@ -776,7 +780,7 @@ export default {
this.isSave = type
if (leaseStatus === 0) this.isSave = false
const res = await getLeaseDetailsByIdApi({ id })
const res = await getLeaseDetailsByIdApi({id})
const {
leaseName,
companyId,
@ -832,7 +836,7 @@ export default {
//
async onSubmit(type) {
this.$refs.addOrEditFormRef.validate(async(valid) => {
this.$refs.addOrEditFormRef.validate(async (valid) => {
if (valid) {
this.addOrEditForm.isSubmit = type
this.addOrEditForm.fileInfoList.push(...this.fileListTemp)
@ -997,7 +1001,7 @@ export default {
cancelButtonText: '取消',
type: 'success'
})
.then(async() => {
.then(async () => {
const res = await maLeaseAuditApi({
id,
leaseStatus
@ -1018,7 +1022,7 @@ export default {
//
async getDeptAndRolesList() {
const res = await getOrgApi()
const result = await getRoleApi({ pageNum: 1, pageSize: 100 })
const result = await getRoleApi({pageNum: 1, pageSize: 100})
this.orgList = res.data
this.roleList = result.rows
@ -1033,38 +1037,38 @@ export default {
created() {
//
this.addOrEditFormRules = {
person: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
leaseName: [{ required: true, message: '请输入需求名称', trigger: 'blur' }],
areaCode: [{ required: true, message: '请选择项目所在区/县', trigger: 'change' }],
cityCode: [{ required: true, message: '请选择项目所在市', trigger: 'change' }],
provinceCode: [{ required: true, message: '请选择项目所在省', trigger: 'change' }],
address: [{ required: true, message: '请输入项目详细地址', trigger: 'blur' }],
companyId: [{ required: true, message: '请选择租赁公司', trigger: 'change' }],
fileInfoList: [{ required: true, message: '请上传参考图片', trigger: 'blur' }],
endTime: [{ required: true, message: '请选择需求截止日期', trigger: 'change' }],
person: [{required: true, message: '请输入联系人', trigger: 'blur'}],
leaseName: [{required: true, message: '请输入需求名称', trigger: 'blur'}],
areaCode: [{required: true, message: '请选择项目所在区/县', trigger: 'change'}],
cityCode: [{required: true, message: '请选择项目所在市', trigger: 'change'}],
provinceCode: [{required: true, message: '请选择项目所在省', trigger: 'change'}],
address: [{required: true, message: '请输入项目详细地址', trigger: 'blur'}],
companyId: [{required: true, message: '请选择租赁公司', trigger: 'change'}],
fileInfoList: [{required: true, message: '请上传参考图片', trigger: 'blur'}],
endTime: [{required: true, message: '请选择需求截止日期', trigger: 'change'}],
leaseStartTime: [
{ required: true, message: '请选择租赁开始日期', trigger: 'change' },
{ validator: this.checkStartTime, trigger: 'blur' }
{required: true, message: '请选择租赁开始日期', trigger: 'change'},
{validator: this.checkStartTime, trigger: 'blur'}
],
leaseEndTime: [
{ required: true, message: '请选择需租赁结束日期', trigger: 'change' },
{ validator: this.checkEndTime, trigger: 'blur' }
{required: true, message: '请选择需租赁结束日期', trigger: 'change'},
{validator: this.checkEndTime, trigger: 'blur'}
],
detailsList: [{ required: true, message: '请添加需求装备信息', trigger: 'change' }],
detailsList: [{required: true, message: '请添加需求装备信息', trigger: 'change'}],
personPhone: [
{ required: true, message: '请输入联系电话', trigger: 'blur' },
{required: true, message: '请输入联系电话', trigger: 'blur'},
{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的联系电话',
trigger: 'blur'
}
],
isSms: [{ required: true, message: '请选择是否短信通知', trigger: 'change' }]
isSms: [{required: true, message: '请选择是否短信通知', trigger: 'change'}]
}
this.addOrEditDemandFormRules = {
typeIds: [{ required: true, message: '请选择装备类目', trigger: 'change' }],
leaseNum: [{ required: true, message: '请输入预估数量', trigger: 'blur' }]
typeIds: [{required: true, message: '请选择装备类目', trigger: 'change'}],
leaseNum: [{required: true, message: '请输入预估数量', trigger: 'blur'}]
}
}
}
@ -1158,13 +1162,14 @@ export default {
margin-bottom: 20px;
border-radius: 8px;
padding: 0;
::v-deep .el-card__body {
padding: 20px !important;
}
}
}
.el-form-item--small.el-form-item {
margin-bottom: 0px;
margin-bottom: 0px;
}
.content-box {
@ -1207,7 +1212,7 @@ export default {
padding-top: 6px;
margin-top: auto;
::v-deep .pagination-container {
::v-deep .pagination-container {
padding: 0px 20px !important;
margin-bottom: 30px;
}
@ -1232,20 +1237,21 @@ export default {
}
}
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
&.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell {
background-color: #CCF1E9 !important;
}
}
}
.dialog-table {
border-radius: 6px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
::v-deep .el-table {
border-radius: 6px;
overflow: hidden;
//
&.el-table--striped .el-table__body {
tr.el-table__row--striped td {
@ -1269,11 +1275,11 @@ export default {
.el-table__body {
tr {
transition: all 0.2s ease;
&:hover {
background-color: #f8f9fa;
}
td {
padding: 12px 8px;
font-size: 13px;
@ -1282,15 +1288,15 @@ export default {
}
}
&.el-table--striped .el-table__body tr.el-table__row:hover>td.el-table__cell {
&.el-table--striped .el-table__body tr.el-table__row:hover > td.el-table__cell {
background-color: #CCF1E9 !important;
}
//
&::before {
display: none;
}
&::after {
display: none;
}