页面完善

This commit is contained in:
BianLzhaoMin 2025-09-15 21:53:20 +08:00
parent d766855c3c
commit 9424abb3b6
10 changed files with 1282 additions and 806 deletions

View File

@ -0,0 +1,10 @@
import request from '@/utils/request'
// 新增项目维修申请
export const addProjectRepairAPI = (data) => {
return request({
url: '/material-mall/decChange/updateDevChangeInfo2',
method: 'POST',
data: data,
})
}

View File

@ -0,0 +1,10 @@
import request from '@/utils/request'
// 新增项目退役申请
export const addProjectRetireAPI = (data) => {
return request({
url: '/material-mall/decChange/updateDevChangeInfo3',
method: 'POST',
data: data,
})
}

View File

@ -0,0 +1,10 @@
import request from '@/utils/request'
// 新增项目入库申请
export const addProjectStoreAPI = (data) => {
return request({
url: '/material-mall/decChange/updateDevChangeInfo',
method: 'POST',
data: data,
})
}

View File

@ -0,0 +1,36 @@
import request from '@/utils/request'
// 获取左侧树形结构数据
export const getDeviceTreeAPI = (data = {}) => {
return request({
url: '/material-mall/device/deviceTree',
method: 'POST',
data,
})
}
// 获取右侧数据列表
export const getDeviceListAPI = (data = {}) => {
return request({
url: '/material-mall/device/list',
method: 'GET',
params: data,
})
}
// 装备上架下架接口
export const updateDeviceUpDownAPI = (data = {}) => {
return request({
url: '/material-mall/device/updateDeviceStatus',
method: 'POST',
data,
})
}
// 装备状态数量统计接口
export const getDeviceStatusCountAPI = (data = {}) => {
return request({
url: '/material-mall/device/deviceCount',
method: 'POST',
data,
})
}

View File

@ -3,273 +3,272 @@
<div class="app-container">
<div class="page-header">
<el-button type="text" icon="el-icon-arrow-left" @click="goBack">返回</el-button>
<span class="page-title">装备出库</span>
<span class="page-title">装备维修</span>
</div>
<el-form ref="outFormRef" :model="outForm" :rules="outFormRules" label-width="auto" size="small">
<el-row :gutter="20" type="flex">
<el-col>
<el-form-item label="变更状态为">
<el-radio-group v-model="outForm.outStatus">
<el-radio label="self">自用</el-radio>
<el-radio label="share">共享</el-radio>
<el-form-item label="变更状态为" prop="status">
<el-radio-group v-model="outForm.status">
<el-radio label="1">在库</el-radio>
<el-radio label="4">退役</el-radio>
</el-radio-group>
<el-button style="margin-left: 80px">确定变更</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" type="flex">
<el-col>
<el-form-item label="使用项目:" prop="projectName">
<el-input v-model="outForm.projectName" placeholder="请输入使用项目名称" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="项目类型:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="电压等级:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="项目所在省:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="项目所在市:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
<el-button size="mini" style="margin-left: 80px" type="primary" @click="onHandleSubmit">
确定变更
</el-button>
<el-button size="mini" plain>取消</el-button>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" type="flex">
<el-col>
<el-form-item label="项目所在区/县:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="详细地址:" prop="receiver">
<el-input type="textarea" v-model="outForm.receiver" placeholder="请输入详细地址" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="需求单位:" prop="phone">
<el-input v-model="outForm.phone" placeholder="请输入联系电话" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="联系人:" prop="phone">
<el-input v-model="outForm.phone" placeholder="请输入联系电话" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="联系方式:" prop="phone">
<el-input v-model="outForm.phone" placeholder="请输入联系电话" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col>
<el-button type="primary" @click="onHandleAddEquipment">添加变更装备</el-button>
</el-col>
<el-row :gutter="20" style="margin-top: 10px">
<el-button size="mini" type="primary" @click="onHandleAddEquipment">添加变更装备</el-button>
</el-row>
</el-form>
<el-table>
<el-table :data="selectedEquipment" border>
<el-table-column label="序号" type="index" align="center" width="55" />
<el-table-column prop="equipmentCode" label="装备名称" align="center" />
<el-table-column prop="equipmentCode" label="装备系列" align="center" />
<el-table-column prop="equipmentCode" label="规格型号" align="center" />
<el-table-column prop="equipmentCode" label="装备编码" align="center" />
<el-table-column prop="equipmentCode" label="装备状态" align="center" />
<el-table-column prop="equipmentCode" label="使用日期" align="center" />
<el-table-column prop="equipmentCode" label="操作" />
<el-table-column prop="devName" label="装备名称" align="center" />
<el-table-column prop="devModel" label="规格型号" align="center" />
<el-table-column prop="devCode" label="装备编码" align="center" />
<el-table-column label="维修人" align="center">
<template slot-scope="{ row }">
<el-input v-model="row.repairman" clearable placeholder="请输入维修人" />
</template>
</el-table-column>
<el-table-column label="维修日期" align="center">
<template slot-scope="{ row }">
<el-date-picker
type="date"
v-model="row.repairTime"
placeholder="选择维修日期"
value-format="yyyy-MM-dd"
/>
</template>
</el-table-column>
<el-table-column label="维修费用" align="center">
<template slot-scope="{ row }">
<el-input v-model="row.repairContent" clearable placeholder="请输入维修费用" />
</template>
</el-table-column>
<el-table-column prop="equipmentCode" label="操作" align="center">
<template slot-scope="scope">
<el-button type="danger" size="mini" @click="onHandleDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog title="添加变更装备" :visible.sync="addEquipmentVisible" width="80%">
<el-dialog title="添加变更装备" :visible.sync="addEquipmentVisible" width="90%">
<el-form :inline="true" label-width="auto">
<el-row :gutter="20">
<el-row>
<el-col :span="6">
<el-form-item label="装备名称" prop="equipmentName">
<el-form-item label="装备名称" prop="devName">
<el-input
v-model="addEquipmentForm.equipmentName"
placeholder="请输入装备名称"
clearable
style="width: 100%"
placeholder="请输入装备名称"
v-model="addEquipmentQueryParams.devName"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="装备状态" prop="equipmentName">
<el-input v-model="addEquipmentForm.equipmentName" placeholder="请输入装备名称" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button>查询</el-button>
<el-button>重置</el-button>
<el-button @click="onHandleAddEquipmentConfirm">确定添加</el-button>
<el-button size="mini" type="primary" @click="onHandleAddEquipmentQuery">查询</el-button>
<el-button size="mini" plain @click="onHandleAddEquipmentReset">重置</el-button>
<el-button size="mini" type="primary" @click="onHandleAddEquipmentConfirm">
确定添加
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table>
<el-table :data="addEquipmentList" border @selection-change="handleSelectionAddEquipment">
<el-table-column label="序号" type="index" align="center" width="55" />
<el-table-column width="55" align="center" type="selection" />
<el-table-column width="160" show-overflow-tooltip prop="compName" label="公司名称" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="devName" label="装备名称" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="devModel" label="装备型号" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="devCode" label="装备编号" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="unit" label="计数单位" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="compName" label="产权单位" align="center" />
<el-table-column
width="55"
width="160"
show-overflow-tooltip
prop="buyPrice"
label="资产原值(元)"
align="center"
type="selection"
@selection-change="handleSelectionAddEquipment"
/>
<el-table-column prop="equipmentCode" label="公司名称" align="center" />
<el-table-column prop="equipmentCode" label="装备名称" align="center" />
<el-table-column prop="equipmentCode" label="装备系列" align="center" />
<el-table-column prop="equipmentCode" label="装备型号" align="center" />
<el-table-column prop="equipmentCode" label="装备编号" align="center" />
<el-table-column prop="equipmentCode" label="计数单位" align="center" />
<el-table-column prop="equipmentCode" label="产权单位" align="center" />
<el-table-column prop="equipmentCode" label="资产原值(元)" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="productDate" label="出厂日期" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="buyPrice" label="使用年限" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="proName" label="所在项目" align="center" />
<el-table-column
width="160"
show-overflow-tooltip
prop="nextDate"
label="下次检验日期"
align="center"
/>
<el-table-column width="160" show-overflow-tooltip prop="nextDate" label="生产厂商" align="center" />
<template v-for="item in tableColumns">
<!-- 特征项列 -->
<el-table-column
:key="`item-${item}`"
align="center"
show-overflow-tooltip
:label="`特征项${item}`"
>
<template slot-scope="{ row }">
<span v-if="row.propertyVoList && row.propertyVoList.length > 0">
<span v-if="item - 1 < row.propertyVoList.length">
{{ row.propertyVoList[item - 1].propertyName || '-' }}
</span>
</span>
<span v-else> - </span>
</template>
</el-table-column>
<!-- 特征值列 -->
<el-table-column
:key="`value-${item}`"
align="center"
show-overflow-tooltip
:label="`特征值${item}`"
>
<template slot-scope="{ row }">
<span v-if="row.propertyVoList && row.propertyVoList.length > 0">
<span v-if="item - 1 < row.propertyVoList.length">
{{ row.propertyVoList[item - 1].propertyValue || '-' }}
</span>
</span>
<span v-else> - </span>
</template>
</el-table-column>
</template>
</el-table>
<pagination
:total="addEquipmentTotal"
@pagination="getSelectEquipmentList"
:page.sync="addEquipmentQueryParams.pageNum"
:limit.sync="addEquipmentQueryParams.pageSize"
/>
</el-dialog>
</div>
</template>
<script>
import { regionData } from 'element-china-area-data'
import {
getSelectEquipmentListAPI,
getMaxFeatureAPI,
getUseProjectListAPI,
getVoltageListAPI,
addProjectOutAPI,
} from '@/api/EquipmentLedger/equ-out'
import { addProjectRepairAPI } from '@/api/EquipmentLedger/equ-repair.js'
export default {
data() {
return {
addEquipmentVisible: false,
//
outForm: {
outDate: '',
outReason: '',
outNumber: '',
receiveDept: '',
receiver: '',
phone: '',
projectName: '',
returnDate: '',
outStatus: 'normal',
remark: '',
type: 4, //
status: '', //
},
//
outFormRules: {
outDate: [{ required: true, message: '请选择出库日期', trigger: 'change' }],
outReason: [{ required: true, message: '请选择出库原因', trigger: 'change' }],
outNumber: [
{ required: true, message: '请输入出库单号', trigger: 'blur' },
{ min: 1, max: 50, message: '长度在 1 到 50 个字符', trigger: 'blur' },
],
receiveDept: [{ required: true, message: '请选择领用部门', trigger: 'change' }],
receiver: [
{ required: true, message: '请输入领用人姓名', trigger: 'blur' },
{ min: 1, max: 20, message: '长度在 1 到 20 个字符', trigger: 'blur' },
],
phone: [
{ required: true, message: '请输入联系电话', trigger: 'blur' },
{ pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' },
],
projectName: [
{ required: true, message: '请输入使用项目名称', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' },
],
returnDate: [{ required: true, message: '请选择预计归还日期', trigger: 'change' }],
outStatus: [{ required: true, message: '请选择出库状态', trigger: 'change' }],
},
equipmentList: [
{
equipmentCode: 'EQ001',
equipmentName: '挖掘机',
equipmentType: '工程机械',
model: 'CAT320D',
quantity: 1,
maxQuantity: 5,
unit: '台',
status: 'available',
location: 'A区-01',
},
{
equipmentCode: 'EQ002',
equipmentName: '起重机',
equipmentType: '起重设备',
model: 'QY25K5',
quantity: 1,
maxQuantity: 3,
unit: '台',
status: 'available',
location: 'B区-02',
},
],
addEquipmentForm: {
equipmentName: '',
equipmentStatus: '',
status: [{ required: true, message: '请选择变更状态', trigger: 'change' }],
},
equipmentList: [],
provinceList: [],
cityList: [],
countyList: [],
selectedEquipment: [],
//
addEquipmentQueryParams: {
pageNum: 1,
pageSize: 10,
devName: '',
status: '5',
companyId: '',
proId: '',
// equipmentName: '',
// equipmentStatus: '',
},
//
addEquipmentList: [],
tableColumns: 0,
addEquipmentTotal: 0,
useProjectList: [], // 使
voltageList: [], //
proTypeName: '', //
voltageLevel: '',
}
},
created() {
// this.provinceList = pca
// this.cityList = pcas
// this.countyList = pcas
this.getUseProjectList()
this.provinceList = regionData
},
methods: {
//
goBack() {
this.$router.go(-1)
},
//
getSelectEquipmentList() {
getSelectEquipmentListAPI(this.addEquipmentQueryParams).then((res) => {
this.addEquipmentList = res.rows
this.addEquipmentTotal = res.total
this.getMaxFeature()
})
},
//
async getMaxFeature() {
const res = await getMaxFeatureAPI()
console.log(res, '列表表头特征值数量')
this.tableColumns = res.data
// this.tableColumns = res.data
},
// 使
async getUseProjectList() {
const res = await getUseProjectListAPI()
const result = await getVoltageListAPI()
console.log(res, '使用项目的下拉选')
this.useProjectList = res.data
this.voltageList = result.data
},
//
onHandleAddEquipmentQuery() {
this.getSelectEquipmentList()
},
//
onHandleAddEquipmentReset() {
this.addEquipmentQueryParams = {
pageNum: 1,
pageSize: 10,
devName: '',
}
this.getSelectEquipmentList()
},
//
resetForm() {
this.$refs.outFormRef.resetFields()
@ -279,32 +278,56 @@ export default {
//
submitForm() {
this.$refs.outFormRef.validate((valid) => {
this.$refs.outFormRef.validate(async (valid) => {
if (valid) {
if (this.equipmentList.length === 0) {
if (this.selectedEquipment.length === 0) {
this.$modal.msgError('请至少添加一个装备')
return
}
// API
console.log('出库表单数据:', this.outForm)
console.log('装备清单:', this.equipmentList)
//
const params = { ...this.outForm, jsonData: '' }
const jsonData = this.selectedEquipment.map((item) => {
return {
devId: item.devId,
repairman: item.repairman,
repairTime: item.repairTime,
repairContent: item.repairContent,
}
})
this.$modal.msgSuccess('出库申请提交成功')
this.resetForm()
params.jsonData = JSON.stringify(jsonData)
console.log('params', params)
const res = await addProjectRepairAPI(params)
if (res.code === 200) {
this.$modal.msgSuccess('状态变更成功')
this.$router.go(-1)
} else {
this.$modal.msgError(res.msg)
}
}
})
},
//
onHandleAddEquipment() {
//
//
this.getSelectEquipmentList()
this.addEquipmentVisible = true
// this.$refs.outFormRef.validate((valid) => {
// if (valid) {
// this.addEquipmentVisible = true
// }
// })
},
//
removeEquipment(index) {
this.equipmentList.splice(index, 1)
onHandleDelete(index) {
this.selectedEquipment.splice(index, 1)
},
//
@ -327,7 +350,16 @@ export default {
//
handleSelectionAddEquipment(selection) {
this.selectedEquipment = selection
console.log(selection, '选择变化')
this.selectedEquipment = []
this.selectedEquipment = selection.map((item) => {
return {
...item,
repairman: '',
repairTime: '',
repairContent: '',
}
})
},
//
@ -339,6 +371,46 @@ export default {
this.addEquipmentVisible = false
},
// 使
onChangeProCode(value) {
this.outForm.proCode = value
this.addEquipmentQueryParams.proId = value
this.outForm.proName = this.useProjectList.find((item) => item.proCode === value).proName
const item = this.useProjectList.find((item) => item.proCode === value)
const { proTypeName, proType, voltage, city, county, province } = item
this.proTypeName = proTypeName
this.outForm.proType = proType
this.outForm.voltageLevel = voltage
this.voltageLevel = voltage + 'kV'
this.outForm.proProvince = province
this.outForm.proCity = city
this.outForm.proCounty = county
},
//
onChangeProvince(value) {
if (!value) {
this.cityList = []
return
}
this.cityList = this.provinceList.find((item) => item.label === value).children
},
//
onChangeCity(value) {
if (!value) {
this.countyList = []
return
}
this.countyList = this.cityList.find((item) => item.label === value).children
},
//
onHandleSubmit() {
this.submitForm()
},
},
}
</script>

View File

@ -3,273 +3,267 @@
<div class="app-container">
<div class="page-header">
<el-button type="text" icon="el-icon-arrow-left" @click="goBack">返回</el-button>
<span class="page-title">装备出库</span>
<span class="page-title">装备维修</span>
</div>
<el-form ref="outFormRef" :model="outForm" :rules="outFormRules" label-width="auto" size="small">
<el-row :gutter="20" type="flex">
<el-col>
<el-form-item label="变更状态为">
<el-radio-group v-model="outForm.outStatus">
<el-radio label="self">自用</el-radio>
<el-radio label="share">共享</el-radio>
</el-radio-group>
<el-form ref="outFormRef" :model="outForm" inline :rules="outFormRules" label-width="auto" size="small">
<el-form-item label="退役原因" prop="reasonId">
<el-select clearable @change="onChangeReason" v-model="outForm.reasonId" placeholder="请选择退役原因">
<el-option v-for="item in reasonList" :key="item.id" :label="item.label" :value="item.id" />
</el-select>
</el-form-item>
<el-button style="margin-left: 80px">确定变更</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" type="flex">
<el-col>
<el-form-item label="使用项目:" prop="projectName">
<el-input v-model="outForm.projectName" placeholder="请输入使用项目名称" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="项目类型:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="电压等级:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="项目所在省:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="项目所在市:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="备注" prop="remark">
<el-input v-model="outForm.remark" placeholder="请输入备注" clearable></el-input>
</el-form-item>
<el-row :gutter="20" type="flex">
<el-col>
<el-form-item label="项目所在区/县:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="详细地址:" prop="receiver">
<el-input type="textarea" v-model="outForm.receiver" placeholder="请输入详细地址" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="需求单位:" prop="phone">
<el-input v-model="outForm.phone" placeholder="请输入联系电话" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="联系人:" prop="phone">
<el-input v-model="outForm.phone" placeholder="请输入联系电话" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="联系方式:" prop="phone">
<el-input v-model="outForm.phone" placeholder="请输入联系电话" clearable />
</el-form-item>
</el-col>
</el-row>
<el-form-item>
<el-button size="mini" style="margin-left: 80px" type="primary" @click="onHandleSubmit">
确定变更
</el-button>
<el-button size="mini" plain>取消</el-button>
</el-form-item>
<el-row :gutter="20">
<el-col>
<el-button type="primary" @click="onHandleAddEquipment">添加变更装备</el-button>
</el-col>
<el-row :gutter="20" style="margin-top: 10px">
<el-button size="mini" type="primary" @click="onHandleAddEquipment">添加变更装备</el-button>
</el-row>
</el-form>
<el-table>
<el-table :data="selectedEquipment" border>
<el-table-column label="序号" type="index" align="center" width="55" />
<el-table-column prop="equipmentCode" label="装备名称" align="center" />
<el-table-column prop="equipmentCode" label="装备系列" align="center" />
<el-table-column prop="equipmentCode" label="规格型号" align="center" />
<el-table-column prop="equipmentCode" label="装备编码" align="center" />
<el-table-column prop="equipmentCode" label="装备状态" align="center" />
<el-table-column prop="equipmentCode" label="使用日期" align="center" />
<el-table-column prop="equipmentCode" label="操作" />
<el-table-column prop="devName" label="装备名称" align="center" />
<el-table-column prop="devModel" label="规格型号" align="center" />
<el-table-column prop="devCode" label="装备编码" align="center" />
<el-table-column label="装备状态" align="center">
<template>
<el-tag size="mini" type="primary">在库</el-tag>
</template>
</el-table-column>
<el-table-column prop="equipmentCode" label="操作" align="center">
<template slot-scope="scope">
<el-button type="danger" size="mini" @click="onHandleDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog title="添加变更装备" :visible.sync="addEquipmentVisible" width="80%">
<el-dialog title="添加变更装备" :visible.sync="addEquipmentVisible" width="90%">
<el-form :inline="true" label-width="auto">
<el-row :gutter="20">
<el-row>
<el-col :span="6">
<el-form-item label="装备名称" prop="equipmentName">
<el-form-item label="装备名称" prop="devName">
<el-input
v-model="addEquipmentForm.equipmentName"
placeholder="请输入装备名称"
clearable
style="width: 100%"
placeholder="请输入装备名称"
v-model="addEquipmentQueryParams.devName"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="装备状态" prop="equipmentName">
<el-input v-model="addEquipmentForm.equipmentName" placeholder="请输入装备名称" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button>查询</el-button>
<el-button>重置</el-button>
<el-button @click="onHandleAddEquipmentConfirm">确定添加</el-button>
<el-button size="mini" type="primary" @click="onHandleAddEquipmentQuery">查询</el-button>
<el-button size="mini" plain @click="onHandleAddEquipmentReset">重置</el-button>
<el-button size="mini" type="primary" @click="onHandleAddEquipmentConfirm">
确定添加
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table>
<el-table :data="addEquipmentList" border @selection-change="handleSelectionAddEquipment">
<el-table-column label="序号" type="index" align="center" width="55" />
<el-table-column width="55" align="center" type="selection" />
<el-table-column width="160" show-overflow-tooltip prop="compName" label="公司名称" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="devName" label="装备名称" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="devModel" label="装备型号" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="devCode" label="装备编号" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="unit" label="计数单位" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="compName" label="产权单位" align="center" />
<el-table-column
width="55"
width="160"
show-overflow-tooltip
prop="buyPrice"
label="资产原值(元)"
align="center"
type="selection"
@selection-change="handleSelectionAddEquipment"
/>
<el-table-column prop="equipmentCode" label="公司名称" align="center" />
<el-table-column prop="equipmentCode" label="装备名称" align="center" />
<el-table-column prop="equipmentCode" label="装备系列" align="center" />
<el-table-column prop="equipmentCode" label="装备型号" align="center" />
<el-table-column prop="equipmentCode" label="装备编号" align="center" />
<el-table-column prop="equipmentCode" label="计数单位" align="center" />
<el-table-column prop="equipmentCode" label="产权单位" align="center" />
<el-table-column prop="equipmentCode" label="资产原值(元)" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="productDate" label="出厂日期" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="buyPrice" label="使用年限" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="proName" label="所在项目" align="center" />
<el-table-column
width="160"
show-overflow-tooltip
prop="nextDate"
label="下次检验日期"
align="center"
/>
<el-table-column width="160" show-overflow-tooltip prop="nextDate" label="生产厂商" align="center" />
<template v-for="item in tableColumns">
<!-- 特征项列 -->
<el-table-column
:key="`item-${item}`"
align="center"
show-overflow-tooltip
:label="`特征项${item}`"
>
<template slot-scope="{ row }">
<span v-if="row.propertyVoList && row.propertyVoList.length > 0">
<span v-if="item - 1 < row.propertyVoList.length">
{{ row.propertyVoList[item - 1].propertyName || '-' }}
</span>
</span>
<span v-else> - </span>
</template>
</el-table-column>
<!-- 特征值列 -->
<el-table-column
:key="`value-${item}`"
align="center"
show-overflow-tooltip
:label="`特征值${item}`"
>
<template slot-scope="{ row }">
<span v-if="row.propertyVoList && row.propertyVoList.length > 0">
<span v-if="item - 1 < row.propertyVoList.length">
{{ row.propertyVoList[item - 1].propertyValue || '-' }}
</span>
</span>
<span v-else> - </span>
</template>
</el-table-column>
</template>
</el-table>
<pagination
:total="addEquipmentTotal"
@pagination="getSelectEquipmentList"
:page.sync="addEquipmentQueryParams.pageNum"
:limit.sync="addEquipmentQueryParams.pageSize"
/>
</el-dialog>
</div>
</template>
<script>
import { regionData } from 'element-china-area-data'
import {
getSelectEquipmentListAPI,
getMaxFeatureAPI,
getUseProjectListAPI,
getVoltageListAPI,
addProjectOutAPI,
} from '@/api/EquipmentLedger/equ-out'
import { addProjectRetireAPI } from '@/api/EquipmentLedger/equ-retire.js'
export default {
data() {
return {
addEquipmentVisible: false,
//
outForm: {
outDate: '',
outReason: '',
outNumber: '',
receiveDept: '',
receiver: '',
phone: '',
projectName: '',
returnDate: '',
outStatus: 'normal',
type: 3, // 退
status: '4', //
reasonId: '',
reasonVal: '',
remark: '',
},
//
outFormRules: {
outDate: [{ required: true, message: '请选择出库日期', trigger: 'change' }],
outReason: [{ required: true, message: '请选择出库原因', trigger: 'change' }],
outNumber: [
{ required: true, message: '请输入出库单号', trigger: 'blur' },
{ min: 1, max: 50, message: '长度在 1 到 50 个字符', trigger: 'blur' },
],
receiveDept: [{ required: true, message: '请选择领用部门', trigger: 'change' }],
receiver: [
{ required: true, message: '请输入领用人姓名', trigger: 'blur' },
{ min: 1, max: 20, message: '长度在 1 到 20 个字符', trigger: 'blur' },
],
phone: [
{ required: true, message: '请输入联系电话', trigger: 'blur' },
{ pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' },
],
projectName: [
{ required: true, message: '请输入使用项目名称', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' },
],
returnDate: [{ required: true, message: '请选择预计归还日期', trigger: 'change' }],
outStatus: [{ required: true, message: '请选择出库状态', trigger: 'change' }],
},
equipmentList: [
{
equipmentCode: 'EQ001',
equipmentName: '挖掘机',
equipmentType: '工程机械',
model: 'CAT320D',
quantity: 1,
maxQuantity: 5,
unit: '台',
status: 'available',
location: 'A区-01',
},
{
equipmentCode: 'EQ002',
equipmentName: '起重机',
equipmentType: '起重设备',
model: 'QY25K5',
quantity: 1,
maxQuantity: 3,
unit: '台',
status: 'available',
location: 'B区-02',
},
],
addEquipmentForm: {
equipmentName: '',
equipmentStatus: '',
reasonId: [{ required: true, message: '请选择退役原因', trigger: 'change' }],
},
equipmentList: [],
provinceList: [],
cityList: [],
countyList: [],
selectedEquipment: [],
//
addEquipmentQueryParams: {
pageNum: 1,
pageSize: 10,
devName: '',
status: '1',
companyId: '',
// equipmentName: '',
// equipmentStatus: '',
},
//
addEquipmentList: [],
tableColumns: 0,
addEquipmentTotal: 0,
useProjectList: [], // 使
voltageList: [], //
proTypeName: '', //
voltageLevel: '',
reasonList: [
{ id: 1, label: '报废' },
{ id: 2, label: '损坏' },
{ id: 3, label: '其他' },
],
}
},
created() {
// this.provinceList = pca
// this.cityList = pcas
// this.countyList = pcas
this.getUseProjectList()
this.provinceList = regionData
},
methods: {
//
goBack() {
this.$router.go(-1)
},
//
getSelectEquipmentList() {
getSelectEquipmentListAPI(this.addEquipmentQueryParams).then((res) => {
this.addEquipmentList = res.rows
this.addEquipmentTotal = res.total
this.getMaxFeature()
})
},
//
async getMaxFeature() {
const res = await getMaxFeatureAPI()
console.log(res, '列表表头特征值数量')
this.tableColumns = res.data
// this.tableColumns = res.data
},
// 使
async getUseProjectList() {
const res = await getUseProjectListAPI()
const result = await getVoltageListAPI()
console.log(res, '使用项目的下拉选')
this.useProjectList = res.data
this.voltageList = result.data
},
//
onHandleAddEquipmentQuery() {
this.getSelectEquipmentList()
},
//
onHandleAddEquipmentReset() {
this.addEquipmentQueryParams = {
pageNum: 1,
pageSize: 10,
devName: '',
}
this.getSelectEquipmentList()
},
//
resetForm() {
this.$refs.outFormRef.resetFields()
@ -279,32 +273,53 @@ export default {
//
submitForm() {
this.$refs.outFormRef.validate((valid) => {
this.$refs.outFormRef.validate(async (valid) => {
if (valid) {
if (this.equipmentList.length === 0) {
if (this.selectedEquipment.length === 0) {
this.$modal.msgError('请至少添加一个装备')
return
}
// API
console.log('出库表单数据:', this.outForm)
console.log('装备清单:', this.equipmentList)
//
const params = { ...this.outForm, jsonData: '' }
const jsonData = this.selectedEquipment.map((item) => {
return {
devId: item.devId,
}
})
this.$modal.msgSuccess('出库申请提交成功')
this.resetForm()
params.jsonData = JSON.stringify(jsonData)
console.log('params', params)
const res = await addProjectRetireAPI(params)
if (res.code === 200) {
this.$modal.msgSuccess('状态变更成功')
this.$router.go(-1)
} else {
this.$modal.msgError(res.msg)
}
}
})
},
//
onHandleAddEquipment() {
//
//
this.getSelectEquipmentList()
this.addEquipmentVisible = true
// this.$refs.outFormRef.validate((valid) => {
// if (valid) {
// this.addEquipmentVisible = true
// }
// })
},
//
removeEquipment(index) {
this.equipmentList.splice(index, 1)
onHandleDelete(index) {
this.selectedEquipment.splice(index, 1)
},
//
@ -327,7 +342,13 @@ export default {
//
handleSelectionAddEquipment(selection) {
this.selectedEquipment = selection
console.log(selection, '选择变化')
this.selectedEquipment = []
this.selectedEquipment = selection.map((item) => {
return {
...item,
}
})
},
//
@ -339,6 +360,55 @@ export default {
this.addEquipmentVisible = false
},
// 使
onChangeProCode(value) {
this.outForm.proCode = value
this.addEquipmentQueryParams.proId = value
this.outForm.proName = this.useProjectList.find((item) => item.proCode === value).proName
const item = this.useProjectList.find((item) => item.proCode === value)
const { proTypeName, proType, voltage, city, county, province } = item
this.proTypeName = proTypeName
this.outForm.proType = proType
this.outForm.voltageLevel = voltage
this.voltageLevel = voltage + 'kV'
this.outForm.proProvince = province
this.outForm.proCity = city
this.outForm.proCounty = county
},
//
onChangeProvince(value) {
if (!value) {
this.cityList = []
return
}
this.cityList = this.provinceList.find((item) => item.label === value).children
},
//
onChangeCity(value) {
if (!value) {
this.countyList = []
return
}
this.countyList = this.cityList.find((item) => item.label === value).children
},
//
onHandleSubmit() {
this.submitForm()
},
// 退
onChangeReason(value) {
if (!value) {
this.outForm.reasonVal = ''
return
}
this.outForm.reasonVal = this.reasonList.find((item) => item.id === value).label
},
},
}
</script>

View File

@ -3,273 +3,326 @@
<div class="app-container">
<div class="page-header">
<el-button type="text" icon="el-icon-arrow-left" @click="goBack">返回</el-button>
<span class="page-title">装备</span>
<span class="page-title">装备</span>
</div>
<el-form ref="outFormRef" :model="outForm" :rules="outFormRules" label-width="auto" size="small">
<el-row :gutter="20" type="flex">
<el-col>
<el-form-item label="变更状态为">
<el-radio-group v-model="outForm.outStatus">
<el-radio label="self">自用</el-radio>
<el-radio label="share">共享</el-radio>
<el-form-item label="变更状态为" prop="status">
<el-radio-group v-model="outForm.status">
<el-radio label="1">在库</el-radio>
<el-radio label="5">维修</el-radio>
</el-radio-group>
<el-button style="margin-left: 80px">确定变更</el-button>
<el-button>取消</el-button>
<el-button size="mini" style="margin-left: 80px" type="primary" @click="onHandleSubmit">
确定变更
</el-button>
<el-button size="mini" plain>取消</el-button>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" type="flex">
<el-col>
<el-form-item label="使用项目:" prop="projectName">
<el-input v-model="outForm.projectName" placeholder="请输入使用项目名称" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="项目类型:" prop="outReason">
<el-col :span="6">
<el-form-item label="使用项目:" prop="proCode">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
placeholder="请选择使用项目"
v-model="outForm.proCode"
@change="onChangeProCode"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
<el-option
:key="item.proCode"
:label="item.proName"
:value="item.proCode"
v-for="item in useProjectList"
/>
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="电压等级:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
<el-col :span="6">
<el-form-item label="项目类型:" prop="proType">
<el-input style="width: 100%" disabled v-model="proTypeName" />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="项目所在省:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
<el-col :span="6">
<el-form-item label="电压等级:" prop="voltageLevel">
<el-input style="width: 100%" disabled v-model="voltageLevel" />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="项目所在市:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
<el-col :span="6">
<el-form-item label="项目所在省:" prop="proProvince">
<el-input style="width: 100%" disabled v-model="outForm.proProvince" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" type="flex">
<el-col>
<el-form-item label="项目所在区/县:" prop="outReason">
<el-select
clearable
style="width: 100%"
placeholder="请选择项目类型"
v-model="outForm.outReason"
>
<el-option label="工程项目" value="1" />
<el-option label="非工程项目" value="2" />
<el-option label="调拨项目" value="3" />
<el-option label="其他" value="4" />
</el-select>
<el-col :span="6">
<el-form-item label="项目所在市:" prop="proCity">
<el-input style="width: 100%" disabled v-model="outForm.proCity" />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="详细地址:" prop="receiver">
<el-input type="textarea" v-model="outForm.receiver" placeholder="请输入详细地址" clearable />
<el-col :span="6">
<el-form-item label="项目所在区/县:" prop="proCounty">
<el-input style="width: 100%" disabled v-model="outForm.proCounty" />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="需求单位:" prop="phone">
<el-input v-model="outForm.phone" placeholder="请输入联系电话" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="联系人:" prop="phone">
<el-input v-model="outForm.phone" placeholder="请输入联系电话" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="联系方式:" prop="phone">
<el-input v-model="outForm.phone" placeholder="请输入联系电话" clearable />
<el-col :span="12">
<el-form-item label="详细地址:" prop="proLocation">
<el-input v-model="outForm.proLocation" placeholder="请输入详细地址" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col>
<el-button type="primary" @click="onHandleAddEquipment">添加变更装备</el-button>
</el-col>
<el-row :gutter="20" style="margin-top: 10px">
<el-button size="mini" type="primary" @click="onHandleAddEquipment">添加变更装备</el-button>
</el-row>
</el-form>
<el-table>
<el-table :data="selectedEquipment" border>
<el-table-column label="序号" type="index" align="center" width="55" />
<el-table-column prop="equipmentCode" label="装备名称" align="center" />
<el-table-column prop="equipmentCode" label="装备系列" align="center" />
<el-table-column prop="equipmentCode" label="规格型号" align="center" />
<el-table-column prop="equipmentCode" label="装备编码" align="center" />
<el-table-column prop="equipmentCode" label="装备状态" align="center" />
<el-table-column prop="equipmentCode" label="使用日期" align="center" />
<el-table-column prop="equipmentCode" label="操作" />
<el-table-column prop="devName" label="装备名称" align="center" />
<el-table-column prop="devModel" label="规格型号" align="center" />
<el-table-column prop="devCode" label="装备编码" align="center" />
<el-table-column label="使用日期" align="center">
<template slot-scope="{ row }">
<el-date-picker
type="date"
v-model="row.useTime"
placeholder="选择使用日期"
value-format="yyyy-MM-dd"
/>
</template>
</el-table-column>
<el-table-column prop="equipmentCode" label="操作" align="center" />
</el-table>
<el-dialog title="添加变更装备" :visible.sync="addEquipmentVisible" width="80%">
<el-dialog title="添加变更装备" :visible.sync="addEquipmentVisible" width="90%">
<el-form :inline="true" label-width="auto">
<el-row :gutter="20">
<el-row>
<el-col :span="6">
<el-form-item label="装备名称" prop="equipmentName">
<el-form-item label="装备名称" prop="devName">
<el-input
v-model="addEquipmentForm.equipmentName"
placeholder="请输入装备名称"
clearable
style="width: 100%"
placeholder="请输入装备名称"
v-model="addEquipmentQueryParams.devName"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="装备状态" prop="equipmentName">
<el-input v-model="addEquipmentForm.equipmentName" placeholder="请输入装备名称" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button>查询</el-button>
<el-button>重置</el-button>
<el-button @click="onHandleAddEquipmentConfirm">确定添加</el-button>
<el-button size="mini" type="primary" @click="onHandleAddEquipmentQuery">查询</el-button>
<el-button size="mini" plain @click="onHandleAddEquipmentReset">重置</el-button>
<el-button size="mini" type="primary" @click="onHandleAddEquipmentConfirm">
确定添加
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table>
<el-table :data="addEquipmentList" border @selection-change="handleSelectionAddEquipment">
<el-table-column label="序号" type="index" align="center" width="55" />
<el-table-column width="55" align="center" type="selection" />
<el-table-column width="160" show-overflow-tooltip prop="compName" label="公司名称" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="devName" label="装备名称" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="devModel" label="装备型号" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="devCode" label="装备编号" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="unit" label="计数单位" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="compName" label="产权单位" align="center" />
<el-table-column
width="55"
width="160"
show-overflow-tooltip
prop="buyPrice"
label="资产原值(元)"
align="center"
type="selection"
@selection-change="handleSelectionAddEquipment"
/>
<el-table-column prop="equipmentCode" label="公司名称" align="center" />
<el-table-column prop="equipmentCode" label="装备名称" align="center" />
<el-table-column prop="equipmentCode" label="装备系列" align="center" />
<el-table-column prop="equipmentCode" label="装备型号" align="center" />
<el-table-column prop="equipmentCode" label="装备编号" align="center" />
<el-table-column prop="equipmentCode" label="计数单位" align="center" />
<el-table-column prop="equipmentCode" label="产权单位" align="center" />
<el-table-column prop="equipmentCode" label="资产原值(元)" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="productDate" label="出厂日期" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="buyPrice" label="使用年限" align="center" />
<el-table-column width="160" show-overflow-tooltip prop="proName" label="所在项目" align="center" />
<el-table-column
width="160"
show-overflow-tooltip
prop="nextDate"
label="下次检验日期"
align="center"
/>
<el-table-column width="160" show-overflow-tooltip prop="nextDate" label="生产厂商" align="center" />
<template v-for="item in tableColumns">
<!-- 特征项列 -->
<el-table-column
:key="`item-${item}`"
align="center"
show-overflow-tooltip
:label="`特征项${item}`"
>
<template slot-scope="{ row }">
<span v-if="row.propertyVoList && row.propertyVoList.length > 0">
<span v-if="item - 1 < row.propertyVoList.length">
{{ row.propertyVoList[item - 1].propertyName || '-' }}
</span>
</span>
<span v-else> - </span>
</template>
</el-table-column>
<!-- 特征值列 -->
<el-table-column
:key="`value-${item}`"
align="center"
show-overflow-tooltip
:label="`特征值${item}`"
>
<template slot-scope="{ row }">
<span v-if="row.propertyVoList && row.propertyVoList.length > 0">
<span v-if="item - 1 < row.propertyVoList.length">
{{ row.propertyVoList[item - 1].propertyValue || '-' }}
</span>
</span>
<span v-else> - </span>
</template>
</el-table-column>
</template>
</el-table>
<pagination
:total="addEquipmentTotal"
@pagination="getSelectEquipmentList"
:page.sync="addEquipmentQueryParams.pageNum"
:limit.sync="addEquipmentQueryParams.pageSize"
/>
</el-dialog>
</div>
</template>
<script>
import { regionData } from 'element-china-area-data'
import {
getSelectEquipmentListAPI,
getMaxFeatureAPI,
getUseProjectListAPI,
getVoltageListAPI,
addProjectOutAPI,
} from '@/api/EquipmentLedger/equ-out'
import { addProjectStoreAPI } from '@/api/EquipmentLedger/equ-store.js'
export default {
data() {
return {
addEquipmentVisible: false,
//
outForm: {
outDate: '',
outReason: '',
outNumber: '',
receiveDept: '',
receiver: '',
phone: '',
projectName: '',
returnDate: '',
outStatus: 'normal',
remark: '',
type: 1, //
status: '', //
proCode: '', // 使id
proName: '', // 使
proType: '', //
voltageLevel: '', //
proProvince: '', //
proCity: '', //
proCounty: '', // /
proLocation: '', //
},
//
outFormRules: {
outDate: [{ required: true, message: '请选择出库日期', trigger: 'change' }],
outReason: [{ required: true, message: '请选择出库原因', trigger: 'change' }],
outNumber: [
{ required: true, message: '请输入出库单号', trigger: 'blur' },
{ min: 1, max: 50, message: '长度在 1 到 50 个字符', trigger: 'blur' },
],
receiveDept: [{ required: true, message: '请选择领用部门', trigger: 'change' }],
receiver: [
{ required: true, message: '请输入领用人姓名', trigger: 'blur' },
{ min: 1, max: 20, message: '长度在 1 到 20 个字符', trigger: 'blur' },
],
phone: [
{ required: true, message: '请输入联系电话', trigger: 'blur' },
{ pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' },
],
projectName: [
{ required: true, message: '请输入使用项目名称', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' },
],
returnDate: [{ required: true, message: '请选择预计归还日期', trigger: 'change' }],
outStatus: [{ required: true, message: '请选择出库状态', trigger: 'change' }],
},
equipmentList: [
{
equipmentCode: 'EQ001',
equipmentName: '挖掘机',
equipmentType: '工程机械',
model: 'CAT320D',
quantity: 1,
maxQuantity: 5,
unit: '台',
status: 'available',
location: 'A区-01',
},
{
equipmentCode: 'EQ002',
equipmentName: '起重机',
equipmentType: '起重设备',
model: 'QY25K5',
quantity: 1,
maxQuantity: 3,
unit: '台',
status: 'available',
location: 'B区-02',
},
],
addEquipmentForm: {
equipmentName: '',
equipmentStatus: '',
status: [{ required: true, message: '请选择变更状态', trigger: 'change' }],
proCode: [{ required: true, message: '请选择使用项目', trigger: 'change' }],
proType: [{ required: true, message: '请选择项目类型', trigger: 'change' }],
voltageLevel: [{ required: true, message: '请选择电压等级', trigger: 'change' }],
proProvince: [{ required: true, message: '请选择项目所在省', trigger: 'change' }],
proCity: [{ required: true, message: '请选择项目所在市', trigger: 'change' }],
proCounty: [{ required: true, message: '请选择项目所在区/县', trigger: 'change' }],
proLocation: [{ required: true, message: '请选择详细地址', trigger: 'change' }],
},
equipmentList: [],
provinceList: [],
cityList: [],
countyList: [],
selectedEquipment: [],
//
addEquipmentQueryParams: {
pageNum: 1,
pageSize: 10,
devName: '',
status: '2',
companyId: '',
proId: '',
// equipmentName: '',
// equipmentStatus: '',
},
//
addEquipmentList: [],
tableColumns: 0,
addEquipmentTotal: 0,
useProjectList: [], // 使
voltageList: [], //
proTypeName: '', //
voltageLevel: '',
}
},
created() {
// this.provinceList = pca
// this.cityList = pcas
// this.countyList = pcas
this.getUseProjectList()
this.provinceList = regionData
},
methods: {
//
goBack() {
this.$router.go(-1)
},
//
getSelectEquipmentList() {
getSelectEquipmentListAPI(this.addEquipmentQueryParams).then((res) => {
this.addEquipmentList = res.rows
this.addEquipmentTotal = res.total
this.getMaxFeature()
})
},
//
async getMaxFeature() {
const res = await getMaxFeatureAPI()
console.log(res, '列表表头特征值数量')
this.tableColumns = res.data
// this.tableColumns = res.data
},
// 使
async getUseProjectList() {
const res = await getUseProjectListAPI()
const result = await getVoltageListAPI()
console.log(res, '使用项目的下拉选')
this.useProjectList = res.data
this.voltageList = result.data
},
//
onHandleAddEquipmentQuery() {
this.getSelectEquipmentList()
},
//
onHandleAddEquipmentReset() {
this.addEquipmentQueryParams = {
pageNum: 1,
pageSize: 10,
devName: '',
}
this.getSelectEquipmentList()
},
//
resetForm() {
this.$refs.outFormRef.resetFields()
@ -279,27 +332,54 @@ export default {
//
submitForm() {
this.$refs.outFormRef.validate((valid) => {
this.$refs.outFormRef.validate(async (valid) => {
if (valid) {
if (this.equipmentList.length === 0) {
if (this.selectedEquipment.length === 0) {
this.$modal.msgError('请至少添加一个装备')
return
}
// API
console.log('出库表单数据:', this.outForm)
console.log('装备清单:', this.equipmentList)
//
const params = { ...this.outForm, jsonData: '' }
const jsonData = this.selectedEquipment.map((item) => {
return {
devId: item.devId,
useTime: item.useTime,
}
})
this.$modal.msgSuccess('出库申请提交成功')
this.resetForm()
params.jsonData = JSON.stringify(jsonData)
console.log('params', params)
const res = await addProjectStoreAPI(params)
if (res.code === 200) {
this.$modal.msgSuccess('状态变更成功')
this.$router.go(-1)
} else {
this.$modal.msgError(res.msg)
}
}
})
},
//
onHandleAddEquipment() {
//
//
if (!this.addEquipmentQueryParams.proId) {
this.$modal.msgError('请选择使用项目')
return
}
this.getSelectEquipmentList()
this.addEquipmentVisible = true
// this.$refs.outFormRef.validate((valid) => {
// if (valid) {
// this.addEquipmentVisible = true
// }
// })
},
//
@ -327,7 +407,14 @@ export default {
//
handleSelectionAddEquipment(selection) {
this.selectedEquipment = selection
console.log(selection, '选择变化')
this.selectedEquipment = []
this.selectedEquipment = selection.map((item) => {
return {
...item,
useTime: '',
}
})
},
//
@ -339,6 +426,46 @@ export default {
this.addEquipmentVisible = false
},
// 使
onChangeProCode(value) {
this.outForm.proCode = value
this.addEquipmentQueryParams.proId = value
this.outForm.proName = this.useProjectList.find((item) => item.proCode === value).proName
const item = this.useProjectList.find((item) => item.proCode === value)
const { proTypeName, proType, voltage, city, county, province } = item
this.proTypeName = proTypeName
this.outForm.proType = proType
this.outForm.voltageLevel = voltage
this.voltageLevel = voltage + 'kV'
this.outForm.proProvince = province
this.outForm.proCity = city
this.outForm.proCounty = county
},
//
onChangeProvince(value) {
if (!value) {
this.cityList = []
return
}
this.cityList = this.provinceList.find((item) => item.label === value).children
},
//
onChangeCity(value) {
if (!value) {
this.countyList = []
return
}
this.countyList = this.cityList.find((item) => item.label === value).children
},
//
onHandleSubmit() {
this.submitForm()
},
},
}
</script>

View File

@ -428,7 +428,7 @@ export default {
const res = await addProjectOutAPI(params)
if (res.code === 200) {
this.$modal.msgSuccess('出库申请提交成功')
this.$modal.msgSuccess('状态变更成功')
this.$router.go(-1)
} else {
this.$modal.msgError(res.msg)

View File

@ -2,7 +2,7 @@
<div class="app-container">
<el-row>
<el-col :span="4">
<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
<el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
</el-col>
<el-col :span="20">
<el-form ref="queryForm" size="small" label-width="auto" :model="queryParams">
@ -49,11 +49,6 @@
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="采购日期" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="出厂日期" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable />
@ -97,55 +92,137 @@
<el-col> </el-col>
<el-col> </el-col>
<el-col style="text-align: right">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">
<el-button type="primary" icon="el-icon-search" size="mini" @click="getDeviceList">
查询
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button icon="el-icon-refresh" size="mini">重置</el-button>
</el-col>
</el-row>
<el-row style="margin-bottom: 10px">
<el-col style="display: flex; align-items: center">
在库3000 自用5000 共享8000 在修8000
<el-col style="display: flex; align-items: center; color: red">
在库{{ inStock }} 自用{{ ownUse }} 共享{{ share }} 在修{{ underRepair }}
<el-button type="primary" size="mini" @click="onHandleOut" style="margin-left: 10px">
出库
</el-button>
<el-button size="mini" @click="onHandleIn">入库</el-button>
<el-button size="mini" @click="onHandleRepair">维修</el-button>
<el-button size="mini" @click="onHandleRetire">退役</el-button>
<el-button size="mini" @click="resetQuery">装备上架</el-button>
<el-button size="mini" @click="resetQuery">装备下架</el-button>
<el-button size="mini" @click="resetQuery">批量删除</el-button>
<el-button size="mini" @click="resetQuery">导出数据</el-button>
<el-button type="primary" size="mini" @click="onHandleIn">入库</el-button>
<el-button type="primary" size="mini" @click="onHandleRepair">维修</el-button>
<el-button type="primary" size="mini" @click="onHandleRetire">退役</el-button>
<el-button type="primary" size="mini" @click="onHandleDeviceUp">装备上架</el-button>
<el-button type="primary" size="mini" @click="onHandleDeviceDown">装备下架</el-button>
<!-- <el-button type="primary" size="mini" @click="resetQuery">装备上架</el-button>
<el-button type="primary" size="mini" @click="resetQuery">装备下架</el-button>
<el-button type="primary" size="mini" @click="resetQuery">批量删除</el-button>
<el-button type="primary" size="mini" @click="resetQuery">导出数据</el-button> -->
</el-col>
</el-row>
</el-form>
<el-table :data="tableData" style="width: 100%">
<el-table :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column align="center" show-overflow-tooltip type="index" label="序号" width="50" />
<el-table-column align="center" show-overflow-tooltip type="selection" width="50" />
<el-table-column align="center" show-overflow-tooltip prop="date" label="公司名称" width="180" />
<el-table-column align="center" show-overflow-tooltip prop="name" label="施工主工序" width="180" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="施工子工序" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="装备名称" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="装备系列" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="装备状态" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="装备型号" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="装备编号" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="管理模式" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="数量" />
<el-table-column
align="center"
show-overflow-tooltip
type="selection"
:selectable="
(row) => {
return row.changeStatus == 1
}
"
width="50"
/>
<el-table-column
align="center"
show-overflow-tooltip
prop="companyName"
label="公司名称"
width="180"
/>
<el-table-column
align="center"
show-overflow-tooltip
prop="mainGx"
label="施工主工序"
width="180"
/>
<el-table-column align="center" show-overflow-tooltip prop="childGx" label="施工子工序" />
<el-table-column align="center" show-overflow-tooltip prop="devCategory" label="装备大类" />
<el-table-column align="center" show-overflow-tooltip prop="devSubcategory" label="装备小类" />
<el-table-column align="center" show-overflow-tooltip prop="devName" label="装备名称" />
<el-table-column align="center" show-overflow-tooltip prop="devModel" label="规格型号" />
<el-table-column align="center" show-overflow-tooltip prop="code" label="装备编号" />
<el-table-column align="center" show-overflow-tooltip prop="code" 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 == 4" 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="code" label="上下架状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.upDownStatus == 1" size="mini">上架</el-tag>
<el-tag v-if="scope.row.upDownStatus == 0" size="mini"> 下架 </el-tag>
</template>
</el-table-column>
<el-table-column align="center" show-overflow-tooltip prop="address" label="使用到期时间" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="计数单位" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="装备上架状态" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="产权单位" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="资产原值" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="出厂日期" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="使用年限" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="是否创新设备" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="所在项目" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="下次检测日期" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="生产厂商" />
<el-table-column align="center" show-overflow-tooltip prop="address" label="装备外观" />
<el-table-column align="center" show-overflow-tooltip prop="unitName" label="计数单位" />
<el-table-column align="center" show-overflow-tooltip prop="companyName " label="产权单位" />
<el-table-column align="center" show-overflow-tooltip prop="buyPrice" label="资产原值" />
<el-table-column align="center" show-overflow-tooltip prop="productionDate" label="出厂日期" />
<el-table-column align="center" show-overflow-tooltip prop="workingHours" label="使用年限" />
<el-table-column align="center" show-overflow-tooltip prop="onProject" label="所在项目" />
<el-table-column align="center" show-overflow-tooltip prop="person" label="联系人" />
<el-table-column align="center" show-overflow-tooltip prop="personPhone" label="联系方式" />
<el-table-column align="center" show-overflow-tooltip prop="nextCheckTime" label="下次维保日期" />
<el-table-column align="center" show-overflow-tooltip prop="brand" label="生产厂商" />
<template v-for="item in tableColumns">
<!-- 特征项列 -->
<el-table-column
:key="`item-${item}`"
align="center"
show-overflow-tooltip
:label="`特征项${item}`"
>
<template slot-scope="{ row }">
<span v-if="row.propertyVoList && row.propertyVoList.length > 0">
<span v-if="item - 1 < row.propertyVoList.length">
{{ row.propertyVoList[item - 1].propertyName || '-' }}
</span>
</span>
<span v-else> - </span>
</template>
</el-table-column>
<!-- 特征值列 -->
<el-table-column
:key="`value-${item}`"
align="center"
show-overflow-tooltip
:label="`特征值${item}`"
>
<template slot-scope="{ row }">
<span v-if="row.propertyVoList && row.propertyVoList.length > 0">
<span v-if="item - 1 < row.propertyVoList.length">
{{ row.propertyVoList[item - 1].propertyValue || '-' }}
</span>
</span>
<span v-else> - </span>
</template>
</el-table-column>
</template>
<el-table-column align="center" width="160" label="操作">
<template slot-scope="scope">
<el-button type="text" size="mini" @click="onHandlePreview">查看</el-button>
<el-button type="text" size="mini" @click="onHandleEdit">编辑</el-button>
<el-button type="text" size="mini" @click="onHandleDelete">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
@ -153,6 +230,13 @@
</template>
<script>
import {
getDeviceTreeAPI,
getDeviceListAPI,
updateDeviceUpDownAPI,
getDeviceStatusCountAPI,
} from '@/api/EquipmentLedger/index.js'
import { getMaxFeatureAPI } from '@/api/EquipmentLedger/equ-out.js'
export default {
data() {
return {
@ -160,67 +244,16 @@ export default {
deptName: undefined,
status: undefined,
},
data: [
{
label: '一级 1',
children: [
{
label: '二级 1-1',
children: [
{
label: '三级 1-1-1',
},
],
},
],
},
{
label: '一级 2',
children: [
{
label: '二级 2-1',
children: [
{
label: '三级 2-1-1',
},
],
},
{
label: '二级 2-2',
children: [
{
label: '三级 2-2-1',
},
],
},
],
},
{
label: '一级 3',
children: [
{
label: '二级 3-1',
children: [
{
label: '三级 3-1-1',
},
],
},
{
label: '二级 3-2',
children: [
{
label: '三级 3-2-1',
},
],
},
],
},
],
defaultProps: {
children: 'children',
label: 'label',
label: 'name',
},
treeData: [],
tableData: [],
tableColumns: 0,
selectedRows: [],
inStock: 0,
}
},
methods: {
@ -251,8 +284,107 @@ export default {
console.log('退役按钮')
this.$router.push('/equipment-ledger-retire')
},
//
async getDeviceTree() {
const res = await getDeviceTreeAPI()
console.log(res, '树形结构')
this.treeData.push(res.data)
},
//
async getDeviceList() {
const result = await getMaxFeatureAPI()
console.log(res, '列表表头特征值数量')
this.tableColumns = result.data
const res = await getDeviceListAPI(this.queryParams)
console.log(res, '列表')
this.tableData = res.data?.rows || []
},
//
onHandlePreview() {
console.log('查看按钮')
},
//
onHandleEdit() {
console.log('编辑按钮')
},
//
onHandleDelete() {
console.log('删除按钮')
},
//
async onHandleDeviceUp() {
console.log('装备上架按钮')
if (this.selectedRows.length === 0) {
this.$message.warning('请选择要上架的装备')
return
}
const res = await updateDeviceUpDownAPI({
devIds: this.selectedRows.map((item) => item.maId).join(','),
status: 1,
})
if (res.code === 200) {
this.$message.success('装备上架成功')
this.getDeviceList()
} else {
this.$message.error(res.msg)
}
},
//
async onHandleDeviceDown() {
console.log('装备下架按钮')
if (this.selectedRows.length === 0) {
this.$message.warning('请选择要下架的装备')
return
}
const res = await updateDeviceUpDownAPI({
devIds: this.selectedRows.map((item) => item.maId).join(','),
status: 0,
})
if (res.code === 200) {
this.$message.success('装备下架成功')
this.getDeviceList()
} else {
this.$message.error(res.msg)
}
},
//
handleSelectionChange(selection) {
this.selectedRows = selection
},
//
async getDeviceStatusCount() {
const res = await getDeviceStatusCountAPI()
console.log(res, '装备状态数量统计')
const { inStock, ownUse, share, underRepair } = res.data
this.inStock = inStock
this.ownUse = ownUse
this.share = share
this.underRepair = underRepair
},
},
created() {
this.getDeviceTree()
this.getDeviceList()
this.getDeviceStatusCount()
},
}
</script>
<style></style>

View File

@ -1,79 +1,88 @@
<template>
<!-- 装备流转记录 -->
<div class="app-container">
<el-row>
<el-form ref="queryForm" size="small" inline label-width="auto" :model="queryParams">
<el-form-item prop="keyword">
<el-input
clearable
style="width: 240px"
placeholder="请输入关键字"
v-model.trim="queryParams.keyWord"
/>
</el-form-item>
<el-form ref="queryForm" size="small" inline label-width="auto" :model="queryParams">
<el-form-item prop="keyword">
<el-input
clearable
style="width: 240px"
placeholder="请输入关键字"
v-model.trim="queryParams.keyWord"
/>
</el-form-item>
<el-form-item prop="type">
<el-select
clearable
filterable
style="width: 240px"
v-model="queryParams.type"
placeholder="请选择操作类型"
>
<el-option label="入库" value="1" />
<el-option label="出库" value="2" />
<el-option label="退役" value="3" />
<el-option label="维修" value="4" />
</el-select>
</el-form-item>
<el-form-item prop="type">
<el-select
clearable
filterable
style="width: 240px"
v-model="queryParams.type"
placeholder="请选择操作类型"
>
<el-option label="入库" value="1" />
<el-option label="出库" value="2" />
<el-option label="退役" value="3" />
<el-option label="维修" value="4" />
</el-select>
</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-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="onHandleQuery">
查询
<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-form-item>
<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-button icon="el-icon-refresh" size="mini" @click="onHandleExport">导出数据</el-button>
</el-form-item>
</el-form>
<el-table :data="tableData" style="width: 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="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>
<el-button icon="el-icon-refresh" size="mini" @click="onHandleReset">重置</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="onHandleExport">导出数据</el-button>
</el-form-item>
</el-form>
</template>
</el-table-column>
</el-table>
<el-table :data="tableData" style="width: 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 v-if="scope.row.type == 2" 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>
</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)">出库记录单</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getRoamRecordList"
/>
<!-- 出库记录单 -->
<el-dialog title="出库记录单" :visible.sync="outRecordVisible" width="80%" append-to-body>