页面完善
This commit is contained in:
parent
d766855c3c
commit
9424abb3b6
|
|
@ -0,0 +1,10 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 新增项目维修申请
|
||||
export const addProjectRepairAPI = (data) => {
|
||||
return request({
|
||||
url: '/material-mall/decChange/updateDevChangeInfo2',
|
||||
method: 'POST',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 新增项目退役申请
|
||||
export const addProjectRetireAPI = (data) => {
|
||||
return request({
|
||||
url: '/material-mall/decChange/updateDevChangeInfo3',
|
||||
method: 'POST',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 新增项目入库申请
|
||||
export const addProjectStoreAPI = (data) => {
|
||||
return request({
|
||||
url: '/material-mall/decChange/updateDevChangeInfo',
|
||||
method: 'POST',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
|
@ -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,
|
||||
})
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue