业主管理、设备类型管理、项目类型、设备管理管理功能开发。
This commit is contained in:
parent
98eef3af01
commit
db57695418
|
|
@ -0,0 +1,94 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 获取层级列表
|
||||||
|
export function getDeviceListApi(query) {
|
||||||
|
return request({
|
||||||
|
url: '/device/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 新增层级
|
||||||
|
export function addDeviceApi(data) {
|
||||||
|
return request({
|
||||||
|
url: '/device/add',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 删除层级
|
||||||
|
export function delDeviceApi(data) {
|
||||||
|
return request({
|
||||||
|
url: '/device/del',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 修改层级
|
||||||
|
export function editDeviceApi(data) {
|
||||||
|
return request({
|
||||||
|
url: '/device/update',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取层级列表
|
||||||
|
export function getDeviceByIdApi(query) {
|
||||||
|
return request({
|
||||||
|
url: '/device/getById',
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 查询设备类型下拉接口
|
||||||
|
export function getDeviceSelectList() {
|
||||||
|
return request({
|
||||||
|
url: '/device/getDeviceType',
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询获取设备管理人
|
||||||
|
export function getDeviceKeepUser() {
|
||||||
|
return request({
|
||||||
|
url: '/device/getDeviceKeepUser',
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 退还
|
||||||
|
export function addUseApi(data) {
|
||||||
|
return request({
|
||||||
|
url: '/device/use',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getLastUse(query) {
|
||||||
|
return request({
|
||||||
|
url: '/device/getLastUse',
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function returnDeviceApi(data) {
|
||||||
|
return request({
|
||||||
|
url: '/device/returnDevice',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取领用记录
|
||||||
|
export function getRecordListApi(query) {
|
||||||
|
return request({
|
||||||
|
url: '/device/getRecordList',
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button plain size="mini" type="primary" icon="el-icon-plus" @click="handleAddDeviceType">
|
<el-button plain size="mini" type="primary" icon="el-icon-plus" @click="handleAddDeviceType" v-hasPermi="['device:type:add']">
|
||||||
新增设备类型
|
新增设备类型
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit"
|
icon="el-icon-edit"
|
||||||
@click="handleEdit(scope.row)"
|
@click="handleEdit(scope.row)"
|
||||||
v-hasPermi="['basic:device:edit']"
|
v-hasPermi="['device:type:update']"
|
||||||
>
|
>
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -52,7 +52,7 @@
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
style="color: #f56c6c"
|
style="color: #f56c6c"
|
||||||
@click="handleDelete(scope.row)"
|
@click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['basic:device:remove']"
|
v-hasPermi="['device:type:del']"
|
||||||
>
|
>
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
|
||||||
|
|
@ -2,21 +2,30 @@
|
||||||
<!-- 基础管理-设备管理-新增或编辑 -->
|
<!-- 基础管理-设备管理-新增或编辑 -->
|
||||||
<div>
|
<div>
|
||||||
<el-form :model="addOrEditForm" :rules="addOrEditFormRules" ref="addOrEditFormRef" label-width="100px">
|
<el-form :model="addOrEditForm" :rules="addOrEditFormRules" ref="addOrEditFormRef" label-width="100px">
|
||||||
<el-form-item label="设备名称" prop="deviceName">
|
|
||||||
<el-input v-model="addOrEditForm.deviceName" placeholder="请输入设备名称" />
|
<el-form-item label="设备类型" prop="deviceType">
|
||||||
|
<el-select v-model="addOrEditForm.deviceType" placeholder="设备类型" style="width: 100%">
|
||||||
|
<el-option
|
||||||
|
:key="item.id"
|
||||||
|
:value="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
v-for="item in deviceList"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="设备编码" prop="deviceCode">
|
<el-form-item label="设备编码" prop="deviceCode">
|
||||||
<el-input v-model="addOrEditForm.deviceCode" placeholder="请输入设备编码" />
|
<el-input v-model="addOrEditForm.deviceCode" placeholder="请输入设备编码"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="设备保管人" prop="Keeper">
|
<el-form-item label="设备保管人" prop="userId">
|
||||||
<el-select
|
<el-select
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="addOrEditForm.Keeper"
|
v-model="addOrEditForm.userId"
|
||||||
placeholder="请选择设备保管人"
|
placeholder="请选择设备保管人"
|
||||||
>
|
>
|
||||||
<el-option v-for="item in KeeperList" :key="item.id" :label="item.name" :value="item.id" />
|
<el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
|
|
@ -37,44 +46,73 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import {getDeviceSelectList,getDeviceKeepUser,addDeviceApi, editDeviceApi } from '@/api/basic/device-manage'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AddOrEditForm',
|
name: 'AddOrEditForm',
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
addOrEditForm: {
|
addOrEditForm: {
|
||||||
deviceName: '',
|
deviceType: '',
|
||||||
deviceCode: '',
|
deviceCode: '',
|
||||||
Keeper: '',
|
userId: '',
|
||||||
remark: '',
|
remark: '',
|
||||||
|
id: undefined,
|
||||||
},
|
},
|
||||||
addOrEditFormRules: {
|
addOrEditFormRules: {
|
||||||
deviceName: [{ required: true, message: '请输入设备名称', trigger: 'blur' }],
|
deviceType: [{required: true, message: '请选择设备类型', trigger: 'change'}],
|
||||||
deviceCode: [{ required: true, message: '请输入设备编码', trigger: 'blur' }],
|
deviceCode: [{required: true, message: '请输入设备编码', trigger: 'blur'}],
|
||||||
Keeper: [{ required: true, message: '请选择设备保管人', trigger: 'change' }],
|
userId: [{required: true, message: '请选择设备保管人', trigger: 'change'}],
|
||||||
},
|
},
|
||||||
|
userList: [],
|
||||||
KeeperList: [
|
deviceList: []
|
||||||
{
|
|
||||||
id: '张三',
|
|
||||||
name: '张三',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: '李四',
|
|
||||||
name: '李四',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
created() {
|
||||||
|
getDeviceSelectList().then(res => {
|
||||||
|
this.deviceList = res.data
|
||||||
|
});
|
||||||
|
getDeviceKeepUser().then(res => {
|
||||||
|
this.userList = res.data
|
||||||
|
});
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
cancel() {
|
cancel() {
|
||||||
|
this.addOrEditForm.deviceType='';
|
||||||
|
this.addOrEditForm.deviceCode='';
|
||||||
|
this.addOrEditForm.userId='';
|
||||||
|
this.addOrEditForm.remark='';
|
||||||
|
this.addOrEditForm.id=undefined;
|
||||||
this.$emit('closeAddOrEditFormDialog')
|
this.$emit('closeAddOrEditFormDialog')
|
||||||
},
|
},
|
||||||
submitForm() {
|
submitForm() {
|
||||||
// this.$emit('submitForm')
|
this.$refs.addOrEditFormRef.validate(async (valid) => {
|
||||||
this.$refs.addOrEditFormRef.validate((valid) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$emit('closeAddOrEditFormDialog')
|
// 组装参数
|
||||||
|
const params = {
|
||||||
|
deviceType: this.addOrEditForm.deviceType,
|
||||||
|
deviceCode: this.addOrEditForm.deviceCode?.trim() ?? '',
|
||||||
|
userId: this.addOrEditForm.userId,
|
||||||
|
remark: this.addOrEditForm.remark?.trim() ?? '',
|
||||||
|
status:0,
|
||||||
|
}
|
||||||
|
if (this.addOrEditForm.id) {
|
||||||
|
params.id = this.addOrEditForm.id
|
||||||
|
params.status = undefined
|
||||||
|
}
|
||||||
|
const API = this.addOrEditForm.id ? editDeviceApi : addDeviceApi
|
||||||
|
|
||||||
|
const res = await API(params)
|
||||||
|
if (res.code === 200) {
|
||||||
|
this.$modal.msgSuccess(this.addOrEditForm.id ? '修改成功' : '新增成功')
|
||||||
|
this.addOrEditForm.deviceType='';
|
||||||
|
this.addOrEditForm.deviceCode='';
|
||||||
|
this.addOrEditForm.userId='';
|
||||||
|
this.addOrEditForm.remark='';
|
||||||
|
this.addOrEditForm.id=undefined;
|
||||||
|
this.$emit('closeAddOrEditFormDialog', true)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
@ -85,12 +123,13 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
setFormData(data) {
|
setFormData(data) {
|
||||||
const { deviceName, deviceCode, remark, Keeper } = data
|
const {deviceType, deviceCode, userId, remark ,id} = data
|
||||||
this.addOrEditForm = {
|
this.addOrEditForm = {
|
||||||
deviceName,
|
deviceType,
|
||||||
deviceCode,
|
deviceCode,
|
||||||
|
userId,
|
||||||
remark,
|
remark,
|
||||||
Keeper,
|
id
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -2,30 +2,38 @@
|
||||||
<!-- 基础管理-设备管理 -->
|
<!-- 基础管理-设备管理 -->
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form size="small" :inline="true" ref="queryForm" :model="queryParams">
|
<el-form size="small" :inline="true" ref="queryForm" :model="queryParams">
|
||||||
<el-form-item label="项目名称" prop="proName">
|
<el-form-item label="设备类型" prop="deviceType">
|
||||||
|
<el-select
|
||||||
|
placeholder="请选择设备类型"
|
||||||
|
style="width: 240px"
|
||||||
|
v-model="queryParams.deviceType"
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
>
|
||||||
|
<el-option :key="item.id" :value="item.id" :label="item.name" v-for="item in deviceSelectList"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="设备编号" prop="deviceCode">
|
||||||
<el-input
|
<el-input
|
||||||
clearable
|
clearable
|
||||||
placeholder="请输入项目名称"
|
placeholder="请输入设备编号"
|
||||||
v-model="queryParams.proName"
|
v-model="queryParams.deviceCode"
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="所属单位" prop="unit">
|
|
||||||
<el-input
|
<el-form-item label="设备状态" prop="status">
|
||||||
clearable
|
<el-select
|
||||||
placeholder="请输入所属单位"
|
placeholder="请选择设备状态"
|
||||||
v-model="queryParams.unit"
|
style="width: 240px"
|
||||||
|
v-model="queryParams.status"
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
>
|
||||||
</el-form-item>
|
<el-option key="0" value="0" label="闲置" />
|
||||||
<el-form-item label="负责人" prop="chargePerson">
|
<el-option key="1" value="1" label="在用" />
|
||||||
<el-input
|
</el-select>
|
||||||
clearable
|
|
||||||
placeholder="请输入负责人"
|
|
||||||
v-model="queryParams.chargePerson"
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
|
<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>
|
||||||
|
|
@ -40,7 +48,7 @@
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
@click="handleAddDevice"
|
@click="handleAddDevice"
|
||||||
v-hasPermi="['basic:device:add']"
|
v-hasPermi="['device:add']"
|
||||||
>
|
>
|
||||||
新增
|
新增
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -48,33 +56,55 @@
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="deviceList" border>
|
<el-table v-loading="loading" :data="deviceList" border>
|
||||||
<el-table-column label="序号" align="center" type="index" />
|
<el-table-column label="序号" align="center" type="index"/>
|
||||||
<el-table-column
|
<!-- 设备类型 -->
|
||||||
align="center"
|
<el-table-column label="设备类型" align="center" prop="deviceTypeName" />
|
||||||
:key="item.prop"
|
<!-- 设备编号 -->
|
||||||
:label="item.label"
|
<el-table-column label="设备编号" align="center" prop="deviceCode" />
|
||||||
:prop="item.prop"
|
<!-- 所属保管人 -->
|
||||||
v-for="item in columnList"
|
<el-table-column label="所属保管人" align="center" prop="userName" />
|
||||||
/>
|
<!-- 设备状态:特殊处理 -->
|
||||||
|
<el-table-column label="设备状态" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.status === '0' ? '闲置' : scope.row.status === '1' ? '在用' : scope.row.status }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 备注 -->
|
||||||
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
|
|
||||||
<el-table-column label="操作" align="center" width="240">
|
<el-table-column label="操作" align="center" width="240">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="scope.row.status === '0'"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
@click="handleUseOrReturn(scope.row)"
|
@click="handleUse(scope.row)"
|
||||||
v-hasPermi="['basic:device:use-or-return']"
|
v-hasPermi="['device:use']"
|
||||||
:style="scope.row.status == '正常' ? 'color: #02bc76' : 'color: #8b9800'"
|
style="color: #02bc76"
|
||||||
:icon="scope.row.status == '正常' ? 'el-icon-upload2' : 'el-icon-download'"
|
icon="el-icon-upload2"
|
||||||
>
|
>
|
||||||
{{ scope.row.status == '正常' ? '领用' : '归还' }}
|
领用
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
|
<!-- 归还按钮:仅当 status === '1'(已领用/在用)时显示 -->
|
||||||
|
<el-button
|
||||||
|
v-if="scope.row.status === '1'"
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
@click="handleReturn(scope.row)"
|
||||||
|
v-hasPermi="['device:return']"
|
||||||
|
style="color: #8b9800"
|
||||||
|
icon="el-icon-download"
|
||||||
|
>
|
||||||
|
归还
|
||||||
|
</el-button>
|
||||||
|
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-document"
|
icon="el-icon-document"
|
||||||
@click="handleViewRecord(scope.row)"
|
@click="handleViewRecord(scope.row)"
|
||||||
v-hasPermi="['basic:device:record']"
|
v-hasPermi="['device:details']"
|
||||||
>
|
>
|
||||||
记录
|
记录
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -83,7 +113,7 @@
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit"
|
icon="el-icon-edit"
|
||||||
@click="handleEdit(scope.row)"
|
@click="handleEdit(scope.row)"
|
||||||
v-hasPermi="['basic:device:edit']"
|
v-hasPermi="['device:update']"
|
||||||
>
|
>
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -93,7 +123,7 @@
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
style="color: #f56c6c"
|
style="color: #f56c6c"
|
||||||
@click="handleDelete(scope.row)"
|
@click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['basic:device:remove']"
|
v-hasPermi="['device:del']"
|
||||||
>
|
>
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -111,7 +141,7 @@
|
||||||
|
|
||||||
<!-- 添加或修改岗位对话框 -->
|
<!-- 添加或修改岗位对话框 -->
|
||||||
<el-dialog width="40%" append-to-body :title="addOrEditFormTitle" :visible.sync="addOrEditFormVisible">
|
<el-dialog width="40%" append-to-body :title="addOrEditFormTitle" :visible.sync="addOrEditFormVisible">
|
||||||
<AddOrEditForm ref="addOrEditComponentRef" @closeAddOrEditFormDialog="closeAddOrEditFormDialog" />
|
<AddOrEditForm ref="addOrEditComponentRef" @closeAddOrEditFormDialog="closeAddOrEditFormDialog"/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 领用或归还对话框 -->
|
<!-- 领用或归还对话框 -->
|
||||||
|
|
@ -124,7 +154,7 @@
|
||||||
|
|
||||||
<!-- 使用记录对话框 -->
|
<!-- 使用记录对话框 -->
|
||||||
<el-dialog width="90%" append-to-body title="领用记录" :visible.sync="useRecordFormVisible">
|
<el-dialog width="90%" append-to-body title="领用记录" :visible.sync="useRecordFormVisible">
|
||||||
<UseRecordTable />
|
<UseRecordTable ref="useRecordTableComponentRef"/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -133,6 +163,10 @@
|
||||||
import AddOrEditForm from './addOrEditForm.vue'
|
import AddOrEditForm from './addOrEditForm.vue'
|
||||||
import UseOrReturnForm from './useOrReturnForm.vue'
|
import UseOrReturnForm from './useOrReturnForm.vue'
|
||||||
import UseRecordTable from './useRecordTable.vue'
|
import UseRecordTable from './useRecordTable.vue'
|
||||||
|
|
||||||
|
import {getDeviceListApi, delDeviceApi,getDeviceSelectList,getLastUse} from '@/api/basic/device-manage'
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DeviceManage',
|
name: 'DeviceManage',
|
||||||
components: {
|
components: {
|
||||||
|
|
@ -149,31 +183,16 @@ export default {
|
||||||
useOrReturnFormTitle: '领用', // 领用或归还对话框标题
|
useOrReturnFormTitle: '领用', // 领用或归还对话框标题
|
||||||
useOrReturnFormVisible: false, // 领用或归还对话框是否显示
|
useOrReturnFormVisible: false, // 领用或归还对话框是否显示
|
||||||
useRecordFormVisible: false, // 使用记录对话框是否显示
|
useRecordFormVisible: false, // 使用记录对话框是否显示
|
||||||
|
// 设备类型下拉
|
||||||
|
deviceSelectList:[],
|
||||||
// 设备列表
|
// 设备列表
|
||||||
deviceList: [
|
deviceList: [],
|
||||||
{
|
|
||||||
id: 1,
|
|
||||||
deviceName: '设备1',
|
|
||||||
deviceCode: '123456',
|
|
||||||
Keeper: '张三',
|
|
||||||
status: '正常',
|
|
||||||
remark: '备注1',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
deviceName: '设备2',
|
|
||||||
deviceCode: '123456',
|
|
||||||
Keeper: '李四',
|
|
||||||
status: '异常',
|
|
||||||
remark: '备注2',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
|
|
||||||
// 列配置
|
// 列配置
|
||||||
columnList: [
|
columnList: [
|
||||||
{
|
{
|
||||||
label: '设备名称',
|
label: '设备类型',
|
||||||
prop: 'deviceName',
|
prop: 'deviceTypeName',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '设备编号',
|
label: '设备编号',
|
||||||
|
|
@ -181,11 +200,7 @@ export default {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '所属保管人',
|
label: '所属保管人',
|
||||||
prop: 'Keeper',
|
prop: 'userName',
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '设备状态',
|
|
||||||
prop: 'status',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '备注',
|
label: '备注',
|
||||||
|
|
@ -197,16 +212,24 @@ export default {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
proName: undefined,
|
deviceType: undefined,
|
||||||
unit: undefined,
|
deviceCode: undefined,
|
||||||
chargePerson: undefined,
|
status: undefined,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
// this.getDeviceList()
|
this.getDeviceSelectList()
|
||||||
|
this.getDeviceList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
|
// 获取设备类型下拉接口
|
||||||
|
async getDeviceSelectList() {
|
||||||
|
const {data: res} = await getDeviceSelectList()
|
||||||
|
this.deviceSelectList = res
|
||||||
|
},
|
||||||
|
|
||||||
// 查询按钮
|
// 查询按钮
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.queryParams.pageNum = 1
|
this.queryParams.pageNum = 1
|
||||||
|
|
@ -229,32 +252,64 @@ export default {
|
||||||
// 获取设备列表
|
// 获取设备列表
|
||||||
getDeviceList() {
|
getDeviceList() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
listProject(this.queryParams).then((response) => {
|
getDeviceListApi(this.queryParams).then((response) => {
|
||||||
this.proList = response.rows
|
this.deviceList = response.rows
|
||||||
this.total = response.total
|
this.total = response.total
|
||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 领用或归还按钮
|
// 领用
|
||||||
handleUseOrReturn(row) {
|
handleUse(row) {
|
||||||
console.log(row)
|
this.useOrReturnFormTitle = '领用'
|
||||||
this.useOrReturnFormTitle = row.status == '正常' ? '领用' : '归还'
|
|
||||||
this.useOrReturnFormVisible = true
|
this.useOrReturnFormVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
// 传递 status 和 deviceId 给子组件
|
||||||
|
this.$refs.useOrReturnFormComponentRef.setFormData({
|
||||||
|
status: '0',
|
||||||
|
deviceId: row.id,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
handleReturn( row){
|
||||||
|
this.useOrReturnFormTitle = '归还'
|
||||||
|
this.useOrReturnFormVisible = true
|
||||||
|
var data ={
|
||||||
|
deviceId:row.id
|
||||||
|
}
|
||||||
|
getLastUse(data).then((response) => {
|
||||||
|
var list = response.data
|
||||||
|
this.$nextTick(() => {
|
||||||
|
// 传递 status 和 deviceId 给子组件
|
||||||
|
this.$refs.useOrReturnFormComponentRef.setFormData({
|
||||||
|
status: '1',
|
||||||
|
deviceId: row.id,
|
||||||
|
userName: list.userName,
|
||||||
|
startTime: list.startTime
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 查看记录按钮
|
// 查看记录按钮
|
||||||
handleViewRecord(row) {
|
handleViewRecord(row) {
|
||||||
console.log(row)
|
|
||||||
this.useRecordFormVisible = true
|
this.useRecordFormVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
// 传递 status 和 deviceId 给子组件
|
||||||
|
this.$refs.useRecordTableComponentRef.setFormData({
|
||||||
|
deviceId: row.id,
|
||||||
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 编辑按钮
|
// 编辑按钮
|
||||||
handleEdit(row) {
|
handleEdit(row) {
|
||||||
this.addOrEditFormTitle = '编辑'
|
this.addOrEditFormTitle = '编辑'
|
||||||
this.addOrEditFormVisible = true
|
this.addOrEditFormVisible = true
|
||||||
const { deviceId, deviceName, deviceCode, remark, Keeper } = row
|
const {deviceType, deviceCode, userId, remark ,id} = row
|
||||||
const editForm = { deviceId, deviceName, deviceCode, remark, Keeper }
|
const editForm = {deviceType, deviceCode, userId : userId != null ? String(userId) : undefined, remark ,id: id != null ? String(id) : undefined}
|
||||||
|
console.log(editForm)
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrEditComponentRef.setFormData(editForm)
|
this.$refs.addOrEditComponentRef.setFormData(editForm)
|
||||||
})
|
})
|
||||||
|
|
@ -267,18 +322,35 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
// 删除按钮
|
// 删除按钮
|
||||||
handleDelete(row) {},
|
handleDelete(row) {
|
||||||
|
this.$modal.confirm('是否确认设备类型编号为"' + row.id + '"的数据项?').then(async () => {
|
||||||
|
var data ={id:row.id}
|
||||||
|
const res = await delDeviceApi(data)
|
||||||
|
if (res.code === 200) {
|
||||||
|
this.$modal.msgSuccess('删除成功')
|
||||||
|
this.getDeviceList()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
// 关闭新增或编辑对话框
|
// 关闭新增或编辑对话框
|
||||||
closeAddOrEditFormDialog() {
|
closeAddOrEditFormDialog(isRefresh) {
|
||||||
this.$refs.addOrEditComponentRef.resetForm()
|
this.$refs.addOrEditComponentRef.resetForm()
|
||||||
this.addOrEditFormVisible = false
|
this.addOrEditFormVisible = false
|
||||||
|
if (isRefresh) {
|
||||||
|
this.getDeviceList()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// 关闭领用或归还对话框
|
// 关闭领用或归还对话框
|
||||||
closeUseOrReturnFormDialog() {
|
closeUseOrReturnFormDialog(isRefresh) {
|
||||||
|
console.log(isRefresh)
|
||||||
|
console.log('关闭领用或归还对话框')
|
||||||
this.$refs.useOrReturnFormComponentRef.resetForm()
|
this.$refs.useOrReturnFormComponentRef.resetForm()
|
||||||
this.useOrReturnFormVisible = false
|
this.useOrReturnFormVisible = false
|
||||||
|
if (isRefresh) {
|
||||||
|
this.getDeviceList()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,26 @@
|
||||||
<template>
|
<template>
|
||||||
<!-- 基础管理-设备管理-领用或归还 -->
|
<!-- 基础管理-设备管理-领用或归还 -->
|
||||||
<div>
|
<div>
|
||||||
<el-form :model="useOrReturnForm" :rules="useOrReturnFormRules" ref="useOrReturnFormRef" label-width="100px">
|
<el-form
|
||||||
|
:model="useOrReturnForm"
|
||||||
|
:rules="computedRules"
|
||||||
|
ref="useOrReturnFormRef"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<!-- 领用时显示 -->
|
||||||
|
<template v-if="formStatus == '0'">
|
||||||
<el-form-item label="领用人" prop="user">
|
<el-form-item label="领用人" prop="user">
|
||||||
<el-input v-model="useOrReturnForm.user" placeholder="请输入领用人" />
|
<el-select
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="useOrReturnForm.user"
|
||||||
|
placeholder="请选择设备领用人"
|
||||||
|
>
|
||||||
|
<el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="领用时间" prop="useTime">
|
<el-form-item label="领用时间" prop="useTime">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
type="date"
|
type="date"
|
||||||
|
|
@ -14,10 +30,26 @@
|
||||||
v-model="useOrReturnForm.useTime"
|
v-model="useOrReturnForm.useTime"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="退还人" prop="returnUser">
|
</template>
|
||||||
<el-input v-model="useOrReturnForm.returnUser" placeholder="请输入退还人" />
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
|
<!-- 归还时显示 -->
|
||||||
|
<template v-else-if="formStatus == '1'">
|
||||||
|
<el-form-item label="领用人">
|
||||||
|
<el-input v-model="displayBorrower" readonly/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="领用时间">
|
||||||
|
<el-input v-model="displayBorrowerData" readonly/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="归还时间" prop="returnTime">
|
||||||
|
<el-date-picker
|
||||||
|
type="date"
|
||||||
|
style="width: 100%"
|
||||||
|
placeholder="选择归还时间"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
v-model="useOrReturnForm.returnTime"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</template>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="cancel">取消</el-button>
|
<el-button @click="cancel">取消</el-button>
|
||||||
<el-button type="primary" @click="submitForm">确定</el-button>
|
<el-button type="primary" @click="submitForm">确定</el-button>
|
||||||
|
|
@ -27,43 +59,118 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
import {addUseApi, returnDeviceApi, getDeviceKeepUser,} from "@/api/basic/device-manage";
|
||||||
name: 'useOrReturnForm',
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'UseOrReturnForm',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
formStatus: undefined, // 默认领用
|
||||||
|
deviceId: null,
|
||||||
|
displayBorrower: "", // 用于展示领用人姓名(归还时)
|
||||||
|
displayBorrowerData: "", // 用于展示领用人姓名(归还时)
|
||||||
useOrReturnForm: {
|
useOrReturnForm: {
|
||||||
user: '',
|
user: '',
|
||||||
useTime: '',
|
useTime: '',
|
||||||
returnUser: '',
|
returnUser: '',
|
||||||
|
returnTime: '',
|
||||||
},
|
},
|
||||||
useOrReturnFormRules: {
|
userList: [],
|
||||||
user: [{ required: true, message: '请输入领用人', trigger: 'blur' }],
|
|
||||||
useTime: [{ required: true, message: '请选择领用时间', trigger: 'change' }],
|
|
||||||
returnUser: [{ required: true, message: '请输入退还人', trigger: 'blur' }],
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
// 动态规则:根据状态决定校验项
|
||||||
|
computedRules() {
|
||||||
|
const rules = {}
|
||||||
|
if (this.formStatus == '0') {
|
||||||
|
rules.user = [{required: true, message: '请选择领用人', trigger: 'change'}]
|
||||||
|
rules.useTime = [{required: true, message: '请选择领用时间', trigger: 'change'}]
|
||||||
|
} else if (this.formStatus == '1') {
|
||||||
|
rules.returnTime = [{required: true, message: '请选择归还时间', trigger: 'change'}]
|
||||||
|
}
|
||||||
|
return rules
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
getDeviceKeepUser().then(res => {
|
||||||
|
this.userList = res.data
|
||||||
|
});
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
cancel() {
|
cancel() {
|
||||||
|
// 重置表单(避免上次数据残留)
|
||||||
|
this.resetForm()
|
||||||
this.$emit('closeUseOrReturnFormDialog')
|
this.$emit('closeUseOrReturnFormDialog')
|
||||||
},
|
},
|
||||||
submitForm() {
|
submitForm() {
|
||||||
// this.$emit('submitForm')
|
this.$refs.useOrReturnFormRef.validate(async (valid) => {
|
||||||
|
|
||||||
this.$refs.useOrReturnFormRef.validate((valid) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$emit('closeUseOrReturnFormDialog')
|
// 组装提交参数
|
||||||
|
const params = {
|
||||||
|
deviceId: this.deviceId,
|
||||||
|
}
|
||||||
|
var API = "";
|
||||||
|
var name = "";
|
||||||
|
if (this.formStatus == '0') {
|
||||||
|
params.userId = this.useOrReturnForm.user
|
||||||
|
params.startTime = this.useOrReturnForm.useTime
|
||||||
|
params.status = '1';
|
||||||
|
API = addUseApi;
|
||||||
|
name = "领用成功";
|
||||||
|
} else {
|
||||||
|
params.endTime = this.useOrReturnForm.returnTime
|
||||||
|
params.status = '0';
|
||||||
|
API = returnDeviceApi;
|
||||||
|
name = "退还成功";
|
||||||
|
const returnDate = new Date(this.useOrReturnForm.returnTime);
|
||||||
|
const borrowDate = new Date(this.displayBorrowerData);
|
||||||
|
|
||||||
|
if (returnDate < borrowDate) {
|
||||||
|
this.$modal.msgError("归还时间不能早于领用时间")
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const res = await API(params)
|
||||||
|
if (res.code == 200) {
|
||||||
|
this.$modal.msgSuccess(name)
|
||||||
|
this.useOrReturnForm.user = '';
|
||||||
|
this.useOrReturnForm.useTime = '';
|
||||||
|
this.useOrReturnForm.returnUser = '';
|
||||||
|
this.useOrReturnForm.returnTime = '';
|
||||||
|
this.displayBorrower = '';
|
||||||
|
this.displayBorrowerData = '';
|
||||||
|
this.deviceId = undefined;
|
||||||
|
this.$emit('closeUseOrReturnFormDialog', true)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
resetForm() {
|
resetForm() {
|
||||||
this.$refs.useOrReturnFormRef.resetFields()
|
this.useOrReturnForm = {
|
||||||
|
user: '',
|
||||||
|
useTime: '',
|
||||||
|
returnUser: '',
|
||||||
|
returnTime: '',
|
||||||
|
}
|
||||||
|
this.displayBorrower = "";
|
||||||
|
this.displayBorrowerData = "";
|
||||||
|
this.formStatus = undefined
|
||||||
|
this.deviceId = null
|
||||||
|
},
|
||||||
|
// 接收父组件传入的数据
|
||||||
|
setFormData(data) {
|
||||||
|
// 重置表单(避免上次数据残留)
|
||||||
|
this.resetForm()
|
||||||
|
const {status, deviceId, userName, startTime} = data
|
||||||
|
this.formStatus = String(status) // 确保是字符串 '0' 或 '1'
|
||||||
|
this.deviceId = deviceId
|
||||||
|
this.displayBorrower = userName;
|
||||||
|
if(startTime){
|
||||||
|
this.displayBorrowerData = startTime.substr(0, 10);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
setFormData(data) {},
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,38 @@
|
||||||
<!-- 基础管理-设备管理-使用记录 -->
|
<!-- 基础管理-设备管理-使用记录 -->
|
||||||
<div>
|
<div>
|
||||||
<el-form size="small" :inline="true" ref="queryForm" :model="queryParams">
|
<el-form size="small" :inline="true" ref="queryForm" :model="queryParams">
|
||||||
<el-form-item label="领用人" prop="user">
|
<el-form-item label="领用时间" prop="startTime">
|
||||||
<el-input
|
<el-date-picker
|
||||||
clearable
|
type="date"
|
||||||
placeholder="请输入领用人"
|
style="width: 100%"
|
||||||
v-model="queryParams.chargePerson"
|
placeholder="选择领用时间"
|
||||||
@keyup.enter.native="handleQuery"
|
value-format="yyyy-MM-dd"
|
||||||
|
v-model="queryParams.startTime"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="归还时间" prop="endTime">
|
||||||
|
<el-date-picker
|
||||||
|
type="date"
|
||||||
|
style="width: 100%"
|
||||||
|
placeholder="选择归还时间"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
v-model="queryParams.endTime"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="领用人" prop="userId">
|
||||||
|
<el-select
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="queryParams.userId"
|
||||||
|
placeholder="请选择设备领用人"
|
||||||
|
>
|
||||||
|
<el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
|
<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>
|
||||||
|
|
@ -17,7 +41,7 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-table :data="recordList" border>
|
<el-table :data="recordList" border>
|
||||||
<el-table-column label="序号" align="center" type="index" width="55" />
|
<el-table-column label="序号" align="center" type="index" width="55"/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
align="center"
|
align="center"
|
||||||
:key="item.prop"
|
:key="item.prop"
|
||||||
|
|
@ -26,34 +50,98 @@
|
||||||
v-for="item in columnList"
|
v-for="item in columnList"
|
||||||
/>
|
/>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="fetchRecordList"
|
||||||
|
/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import {getDeviceKeepUser, getRecordListApi} from '@/api/basic/device-manage'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'UseRecordTable',
|
name: 'UseRecordTable',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
total: 0, // 总条数
|
||||||
|
deviceId: null,
|
||||||
queryParams: {
|
queryParams: {
|
||||||
user: '',
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
userId: '',
|
||||||
|
startTime: '',
|
||||||
|
endTime: '',
|
||||||
},
|
},
|
||||||
recordList: [],
|
recordList: [],
|
||||||
|
userList: [],
|
||||||
columnList: [
|
columnList: [
|
||||||
{ prop: 'deviceName', label: '设备名称' },
|
{prop: 'deviceTypeName', label: '设备类型'},
|
||||||
{ prop: 'deviceCode', label: '设备编码' },
|
{prop: 'deviceCode', label: '设备编号'},
|
||||||
{ prop: 'user', label: '领用人' },
|
{prop: 'userName', label: '领用人'},
|
||||||
{ prop: 'useTime', label: '领用日期' },
|
{prop: 'startTime', label: '领用日期'},
|
||||||
{ prop: 'returnUser', label: '归还人' },
|
{prop: 'endTime', label: '归还日期'},
|
||||||
{ prop: 'returnTime', label: '归还日期' },
|
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
created() {
|
||||||
handleQuery() {
|
getDeviceKeepUser().then(res => {
|
||||||
console.log(this.queryParams)
|
this.userList = res.data
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
methods: {
|
||||||
|
// 查询使用记录(带筛选条件)
|
||||||
|
async handleQuery() {
|
||||||
|
await this.fetchRecordList();
|
||||||
|
},
|
||||||
|
|
||||||
|
// 重置查询条件
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.queryParams = {}
|
this.queryParams.userId = '';
|
||||||
|
this.queryParams.startTime = '';
|
||||||
|
this.queryParams.endTime = '';
|
||||||
|
this.fetchRecordList(); // 重置后重新查询
|
||||||
|
},
|
||||||
|
|
||||||
|
// 核心:获取记录列表
|
||||||
|
async fetchRecordList() {
|
||||||
|
if (!this.deviceId) {
|
||||||
|
this.recordList = [];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const params = {
|
||||||
|
deviceId: this.deviceId,
|
||||||
|
...(this.queryParams.userId && { userId: this.queryParams.userId }),
|
||||||
|
...(this.queryParams.startTime && { startTime: this.queryParams.startTime }),
|
||||||
|
...(this.queryParams.endTime && { endTime: this.queryParams.endTime }),
|
||||||
|
pageNum: this.queryParams.pageNum,
|
||||||
|
pageSize: this.queryParams.pageSize,
|
||||||
|
};
|
||||||
|
|
||||||
|
const res = await getRecordListApi(params);
|
||||||
|
if (res.code === 200) {
|
||||||
|
this.recordList = res.rows || [];
|
||||||
|
this.total = res.total
|
||||||
|
} else {
|
||||||
|
this.recordList = [];
|
||||||
|
this.$message.warning('获取使用记录失败');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 接收父组件传入的数据
|
||||||
|
setFormData(data) {
|
||||||
|
// 重置表单(避免上次数据残留)
|
||||||
|
this.resetForm()
|
||||||
|
const {deviceId} = data
|
||||||
|
this.deviceId = deviceId
|
||||||
|
|
||||||
|
this.resetQuery(); // 这会自动触发 fetchRecordList()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button plain size="mini" type="primary" icon="el-icon-plus" @click="handleAddDeviceType">
|
<el-button plain size="mini" type="primary" icon="el-icon-plus" @click="handleAddDeviceType" v-hasPermi="['owner:add']">
|
||||||
新增业主单位
|
新增业主单位
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit"
|
icon="el-icon-edit"
|
||||||
@click="handleEdit(scope.row)"
|
@click="handleEdit(scope.row)"
|
||||||
v-hasPermi="['basic:device:edit']"
|
v-hasPermi="['owner:update']"
|
||||||
>
|
>
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -52,7 +52,7 @@
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
style="color: #f56c6c"
|
style="color: #f56c6c"
|
||||||
@click="handleDelete(scope.row)"
|
@click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['basic:device:remove']"
|
v-hasPermi="['owner:del']"
|
||||||
>
|
>
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button plain size="mini" type="primary" icon="el-icon-plus" @click="handleAddDeviceType">
|
<el-button plain size="mini" type="primary" icon="el-icon-plus" @click="handleAddDeviceType" v-hasPermi="['pro:type:add']">
|
||||||
新增项目类型
|
新增项目类型
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit"
|
icon="el-icon-edit"
|
||||||
@click="handleEdit(scope.row)"
|
@click="handleEdit(scope.row)"
|
||||||
v-hasPermi="['basic:device:edit']"
|
v-hasPermi="['pro:type:update']"
|
||||||
>
|
>
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -52,7 +52,7 @@
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
style="color: #f56c6c"
|
style="color: #f56c6c"
|
||||||
@click="handleDelete(scope.row)"
|
@click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['basic:device:remove']"
|
v-hasPermi="['pro:type:del']"
|
||||||
>
|
>
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue