装备管理列表新增编辑删除

This commit is contained in:
zzyuan 2024-11-22 18:58:17 +08:00
parent 491edf48db
commit 4c10944e92
3 changed files with 587 additions and 214 deletions

View File

@ -0,0 +1,61 @@
import request from '@/utils/request'
//装备列表
export function getDevList(data) {
return request({
url: '/material-mall/dev/list',
method: 'post',
data: data,
})
}
//装备详细信息
export function getDevDetail(maId) {
return request({
url: '/material-mall/dev/getInfo/' + maId,
method: 'get',
})
}
//装备新增
export function addDevice(data) {
return request({
url: '/material-mall/dev',
method: 'post',
data: data,
})
}
//装备新增
export function updateDevice(data) {
return request({
url: '/material-mall/dev',
method: 'put',
data: data,
})
}
//装备装备类目树结构数据
export function getEquipmentType(query) {
return request({
url: '/material-mall/maType/getEquipmentType',
method: 'get',
params: query
})
}
//装备删除
export function removeDevice(data) {
return request({
url: '/material-mall/dev/remove',
method: 'post',
data: data,
})
}

View File

@ -9,7 +9,7 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning" plain
type="warning" plain @click="addDev"
icon="el-icon-download" size="mini"
>存草稿</el-button>
</el-col>
@ -22,11 +22,15 @@
</el-col>
</el-row>
<el-form :model="formData" ref="formData" size="small" :inline="true" label-width="130px" style="margin-left: 40px;">
<div class="title">
<span class="title-sign"></span>
<span class="title-text">基本信息</span>
</div>
<el-form :model="formData" ref="formData" size="small" :inline="true" label-width="130px" style="margin-left: 40px;margin-bottom: 20px;">
<el-row :gutter="24" class="mb8">
<el-form-item label="装备名称:" prop="equipmentName">
<el-form-item label="装备名称:" prop="deviceName">
<el-input
v-model="formData.equipmentName"
v-model="formData.deviceName"
placeholder="请输入装备名称"
clearable maxlength="20"
style="width: 1100px;"
@ -34,77 +38,23 @@
</el-form-item>
</el-row>
<el-row :gutter="24" class="mb8">
<el-form-item label="装备类目:" prop="typeId1">
<el-select v-model="formData.typeId1"
placeholder="一级分类" clearable>
<el-option v-for="dict in equipmentTypeList"
:key="dict.value"
:label="dict.label"
:value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="typeId2">
<el-select v-model="formData.typeId2"
placeholder="二级分类" clearable>
<el-option v-for="dict in equipmentTypeList"
:key="dict.value"
:label="dict.label"
:value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="typeId3">
<el-select v-model="formData.typeId3"
placeholder="三级分类" clearable>
<el-option v-for="dict in equipmentTypeList"
:key="dict.value"
:label="dict.label"
:value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="typeId4">
<el-select v-model="formData.typeId4"
placeholder="四级分类" clearable>
<el-option v-for="dict in equipmentTypeList"
:key="dict.value"
:label="dict.label"
:value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
<el-row :gutter="24" class="mb8">
<el-form-item label="装备所在地:" prop="local1">
<el-select v-model="formData.local1"
placeholder="所在省份" clearable>
<el-option v-for="dict in equipmentTypeList"
:key="dict.value"
:label="dict.label"
:value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="local2">
<el-select v-model="formData.local2"
placeholder="所在市" clearable>
<el-option v-for="dict in equipmentTypeList"
:key="dict.value"
:label="dict.label"
:value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="local3">
<el-select v-model="formData.local3"
placeholder="所在县" clearable>
<el-option v-for="dict in equipmentTypeList"
:key="dict.value"
:label="dict.label"
:value="dict.value"/>
</el-select>
</el-form-item>
<el-col :span="10">
<el-form-item label="装备类目:" prop="typeId">
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="所属公司:" prop="companyId">
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="10">
<el-form-item label="装备编号:" prop="equipmentCode">
<el-form-item label="装备编号:" prop="code">
<el-input
v-model="formData.equipmentCode"
v-model="formData.code"
placeholder="请输入装备编号"
clearable maxlength="20"
style="width: 400px;"
@ -112,9 +62,9 @@
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="装备品牌:" prop="equipmentBrand">
<el-form-item label="装备品牌:" prop="brand">
<el-input
v-model="formData.equipmentBrand"
v-model="formData.brand"
placeholder="请输入装备品牌"
clearable maxlength="20"
style="width: 400px;"
@ -124,19 +74,19 @@
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="10">
<el-form-item label="出厂日期:" prop="productionTime">
<el-form-item label="出厂日期:" prop="productionDate">
<el-date-picker
v-model="formData.productionTime"
v-model="formData.productionDate"
placeholder="请选择出厂日期"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetime" style="width: 400px;">
value-format="yyyy-MM-dd"
type="date" style="width: 400px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="租赁价格(天/元)" prop="leasePrice">
<el-form-item label="租赁价格(天/元)" prop="dayLeasePrice">
<el-input
v-model="formData.leasePrice"
v-model="formData.dayLeasePrice"
placeholder="请输入租赁价格"
clearable maxlength="20"
style="width: 400px;"
@ -146,9 +96,9 @@
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="10">
<el-form-item label="联系人:" prop="userName">
<el-form-item label="联系人:" prop="person">
<el-input
v-model="formData.userName"
v-model="formData.person"
placeholder="请输入联系人"
clearable maxlength="20"
style="width: 400px;"
@ -156,9 +106,9 @@
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="联系电话:" prop="phone">
<el-form-item label="联系电话:" prop="personPhone">
<el-input
v-model="formData.phone"
v-model="formData.personPhone"
placeholder="请输入联系电话"
clearable maxlength="20"
style="width: 400px;"
@ -168,9 +118,19 @@
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="10">
<el-form-item label="整机重量(KG)" prop="weight">
<el-form-item label="装备单位:" prop="unitName">
<el-input
v-model="formData.weight"
v-model="formData.unitName"
placeholder="请输入装备单位"
clearable maxlength="20"
style="width: 400px;" disabled
/>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="整机重量(KG)" prop="deviceWeight">
<el-input
v-model="formData.deviceWeight"
placeholder="请输入整机重量"
clearable maxlength="20"
style="width: 400px;"
@ -179,34 +139,204 @@
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<span style="color: #606266;font-size: 14px;font-weight: 600;margin-left: 20px;">添加描述:</span>
<!-- <el-row :gutter="24" class="mb8" style="margin-bottom: 20px;">
<span style="color: #606266;font-size: 14px;font-weight: 600;margin-left: 60px;">添加描述:</span>
<span style="color: rgb(255, 59, 48);font-size: 12px;margin-left: 10px;">:添加不少于2个关于装备性能外观等相关的描述如档位标定功率规格等</span>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="10">
<div v-for="(item,index) in describeList" :key="index">
<el-row :gutter="24" class="mb8" style="margin-left: 40px;">
<el-col :span="10" v-for="(item,index) in describeList" :key="index" class="mb8">
<el-input
v-model="item.label"
placeholder="描述名称"
clearable maxlength="20"
style="width: 120px;"
style="width: 100px;"
/>
<span>:</span>
<el-input
v-model="item.describe"
placeholder="描述详情"
clearable maxlength="20"
style="width: 400px;"
style="width: 350px;"
/>
</div>
<i class="el-icon-delete" style="margin-left: 10px;color: red;" @click="delDescribe(index)"></i>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-button style="margin-left: 20px;"
type="primary" size="mini"
icon="el-icon-plus" @click="addDescribe"
>更多描述</el-button>
</el-row> -->
</el-form>
<div class="title">
<span class="title-sign"></span>
<span class="title-text">装备图片</span>
</div>
<div class="uploadBox">
<div class="labelBox">
<div style="margin-left: 20px;">
<span style="color: red;">*</span>
<span style="font-size: 14px;color: #606266;font-weight: 600;">主展示图: </span>
</div>
<div style="margin-left: 20px;">
<el-upload ref="upload" :limit="6" :headers="upload.headers"
:action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx"
:on-success="handleFileSuccess" :auto-upload="true"
>
<el-button icon="el-icon-folder-add">上传文件</el-button>
</el-upload>
</div>
<div style="color: #999;font-size: 12px;margin-left: 20px;">支持格式.jpg .png单个文件大小不能超过2M</div>
</div>
<div class="imgsBox">
<!-- <div class="imgItem" v-if="mainFileList.length==0">
<div class="icon-list" style="left: 60px;">
<span class="imgItem__icon" >
<i class="el-icon-plus"/>
</span>
</div>
</div> -->
<div class="imgItem" v-for="(item,index) in mainFileList" :key="index">
<img class="picture-card" :src="item.fileUrl" alt="">
<div class="icon-list">
<span class="imgItem__icon hide" @click="handleDownload(item)">
<i class="el-icon-download"/>
</span>
<span class="imgItem__icon hide" @click="picturePreview(item)">
<i class="el-icon-zoom-in"/>
</span>
<span class="imgItem__icon hide" @click="handleRemove(mainFileList,index)">
<i class="el-icon-delete"/>
</span>
</div>
<p class="file-name">{{ item.fileName }}</p>
</div>
</div>
<div class="tipBox">
*:图片排序为平台展示顺序不得少于1张不得多于6张
</div>
</div>
<div class="uploadBox">
<div class="labelBox">
<div style="margin-left: 20px;">
<span style="color: red;">*</span>
<span style="font-size: 14px;color: #606266;font-weight: 600;">详情页展示图: </span>
</div>
<div style="margin-left: 20px;">
<el-upload ref="upload" :limit="6" :headers="upload.headers"
:action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx"
:on-success="handleFileSuccess2" :auto-upload="true"
>
<el-button icon="el-icon-folder-add">上传文件</el-button>
</el-upload>
</div>
<div style="color: #999;font-size: 12px;margin-left: 20px;">支持格式.jpg .png单个文件大小不能超过2M</div>
</div>
<div class="imgsBox">
<!-- <div class="imgItem" v-if="detailsFileList.length==0">
<div class="icon-list" style="left: 60px;">
<span class="imgItem__icon" >
<i class="el-icon-plus"/>
</span>
</div>
</div> -->
<div class="imgItem" v-for="(item,index) in detailsFileList" :key="index">
<img class="picture-card" :src="item.fileUrl" alt="">
<div class="icon-list">
<span class="imgItem__icon hide" @click="handleDownload(item)">
<i class="el-icon-download"/>
</span>
<span class="imgItem__icon hide" @click="picturePreview(item)">
<i class="el-icon-zoom-in"/>
</span>
<span class="imgItem__icon hide" @click="handleRemove(detailsFileList,index)">
<i class="el-icon-delete"/>
</span>
</div>
<p class="file-name">{{ item.fileName }}</p>
</div>
</div>
<div class="tipBox">
*:图片排序为平台展示顺序不得少于1张不得多于6张
</div>
</div>
<div class="title">
<span class="title-sign"></span>
<span class="title-text">装备证书</span>
</div>
<div class="uploadBox">
<div class="labelBox">
<div style="margin-left: 20px;">
<span style="color: red;">*</span>
<span style="font-size: 14px;color: #606266;font-weight: 600;">合格证: </span>
</div>
<div style="margin-left: 20px;">
<el-upload ref="upload" :limit="6" :headers="upload.headers"
:action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx"
:on-success="handleFileSuccess3" :auto-upload="true"
>
<el-button icon="el-icon-folder-add">上传文件</el-button>
</el-upload>
</div>
<div style="color: #999;font-size: 12px;margin-left: 20px;">支持格式.jpg .png单个文件大小不能超过2M</div>
</div>
<div class="imgsBox">
<div class="imgItem" v-for="(item,index) in insurancePdf" :key="index">
<img class="picture-card" :src="item.fileUrl" alt="">
<div class="icon-list">
<span class="imgItem__icon hide" @click="handleDownload(item)">
<i class="el-icon-download"/>
</span>
<span class="imgItem__icon hide" @click="picturePreview(item)">
<i class="el-icon-zoom-in"/>
</span>
<span class="imgItem__icon hide" @click="handleRemove(insurancePdf,index)">
<i class="el-icon-delete"/>
</span>
</div>
<p class="file-name">{{ item.fileName }}</p>
</div>
</div>
</div>
<div class="uploadBox">
<div class="labelBox">
<div style="margin-left: 20px;">
<span style="color: red;">*</span>
<span style="font-size: 14px;color: #606266;font-weight: 600;">检测证明: </span>
</div>
<div style="margin-left: 20px;">
<el-upload ref="upload" :limit="6" :headers="upload.headers"
:action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx"
:on-success="handleFileSuccess4" :auto-upload="true"
>
<el-button icon="el-icon-folder-add">上传文件</el-button>
</el-upload>
</div>
<div style="color: #999;font-size: 12px;margin-left: 20px;">支持格式.jpg .png单个文件大小不能超过2M</div>
</div>
<div class="imgsBox">
<div class="imgItem" v-for="(item,index) in examinationPdf" :key="index">
<img class="picture-card" :src="item.fileUrl" alt="">
<div class="icon-list">
<span class="imgItem__icon hide" @click="handleDownload(item)">
<i class="el-icon-download"/>
</span>
<span class="imgItem__icon hide" @click="picturePreview(item)">
<i class="el-icon-zoom-in"/>
</span>
<span class="imgItem__icon hide" @click="handleRemove(examinationPdf,index)">
<i class="el-icon-delete"/>
</span>
</div>
<p class="file-name">{{ item.fileName }}</p>
</div>
</div>
</div>
<!-- 图片查看弹窗 -->
<el-dialog :visible.sync="dialogVisible" width="500px" height="500px">
@ -218,25 +348,30 @@
<script>
import { getToken } from "@/utils/auth";
import { getDevDetail,addDevice,updateDevice} from "@/api/lessor/equipment";
export default {
name: "",
// dicts: ["purchase_task_status"],
data() {
return {
Id:"",
maId:"",
isView: false,
equipmentTypeList: [], //
materialModelList: [], //
supplierList: [], //
fixCodeList: ["否", "是"],
formData: {
typeId: undefined,
supplierId: undefined,
productionTime: undefined,
typeId:644
},
//
describeList:[
{label:"",describe:""},{label:"",describe:""}
],//
],
mainFileList:[],//
detailsFileList:[],//
insurancePdf:[],//
examinationPdf:[],//
//
dialogImageUrl: "",
dialogVisible: false,
@ -250,24 +385,29 @@
};
},
mounted() {
// const Id = this.$route.query && this.$route.query.Id;
// const isView = this.$route.query && this.$route.query.isView;
// this.Id = Id;
// if (isView == "true") {
// this.isView = true;
// } else {
// this.isView = false;
// }
const maId = this.$route.query && this.$route.query.maId;
const isView = this.$route.query && this.$route.query.isView;
this.maId = maId;
console.log(this.maId)
if (isView == "true") {
this.isView = true;
} else {
this.isView = false;
}
if(this.maId&&this.maId!=""){
this.getDevDetailInfo()
}
// this.resetForm("formData");
// console.log(this.isView);
// this.getSupplierList()
},
methods: {
//
backList() {
const obj = { path: "/lessor/equipment" };
this.$tab.closeOpenPage(obj);
},
//
backList() {
const obj = { path: "/lessor/equipment" };
this.$tab.closeOpenPage(obj);
},
//
// getDeviceType() {
// getDeviceType({ level: 4, skipPermission: 1 }).then((response) => {
// let matModelRes = response.data;
@ -290,69 +430,225 @@
// });
// });
// },
//
beforeFileUpload(row) {
this.rowData.fileType = row.fileType;
},
//
handleFileSuccess(response, file, fileList) {
if (response.code == 200) {
let param = {
taskId: this.taskId,
taskType: "0",
name: response.data.name,
url: response.data.url,
modelId: this.rowData.typeId,
fileType: this.rowData.fileType,
};
console.log(param);
uploadPurchaseFile(param)
.then((response) => {
this.$modal.msgSuccess("上传成功");
this.getFileData();
})
.catch(() => {
this.$modal.msgError("上传失败");
});
}
},
//
picturePreview(file) {
this.dialogImageUrl = file.url;
const parts = file.name.split(".");
const extension = parts.pop();
if (extension === "doc" || extension === "docx" || extension === "pdf") {
const windowName = file.name;
window.open(file.url, windowName);
} else {
this.dialogVisible = true;
}
},
//
getDevDetailInfo(){
console.log(this.maId)
getDevDetail(this.maId).then((response) => {
console.log(response)
this.formData = response.data;
this.mainFileList=response.data.mainFileList||[] //
this.detailsFileList=response.data.detailsFileList||[] //
this.insurancePdf=response.data.insurancePdf||[] //
this.examinationPdf=response.data.examinationPdf||[] //
})
},
//稿
addDev(){
console.log(this.formData)
let param = {
...this.formData,
mainFileList:this.mainFileList,//
detailsFileList:this.detailsFileList,//
insurancePdf:this.insurancePdf,//
examinationPdf:this.examinationPdf,//
}
if(this.maId&&this.maId!=""){
updateDevice(param).then((response) => {
})
}else{
addDevice(param).then((response) => {
})
}
// addDevice
},
//
handleFileSuccess(response, file, fileList) {
if (response.code == 200) {
let obj = {
modelId:this.maId,
fileName: response.data.name.split("/")[4],
fileUrl: response.data.url
};
console.log(obj);
this.mainFileList.push(obj)
this.$modal.msgSuccess("上传成功");
console.log(this.mainFileList)
}
},
//
handleFileSuccess2(response, file, fileList) {
if (response.code == 200) {
let obj = {
modelId:this.maId,
fileName: response.data.name.split("/")[4],
fileUrl: response.data.url
};
console.log(obj);
this.detailsFileList.push(obj)
this.$modal.msgSuccess("上传成功");
console.log(this.detailsFileList)
}
},
//
handleFileSuccess3(response, file, fileList) {
if (response.code == 200) {
let obj = {
modelId:this.maId,
fileName: response.data.name.split("/")[4],
fileUrl: response.data.url
};
console.log(obj);
this.insurancePdf.push(obj)
this.$modal.msgSuccess("上传成功");
console.log(this.insurancePdf)
}
},
//
handleFileSuccess4(response, file, fileList) {
if (response.code == 200) {
let obj = {
modelId:this.maId,
fileName: response.data.name.split("/")[4],
fileUrl: response.data.url
};
console.log(obj);
this.examinationPdf.push(obj)
this.$modal.msgSuccess("上传成功");
console.log(this.examinationPdf)
}
},
//
handleDownload(file){
const windowName = file.name;
window.open(file.fileUrl, windowName);
},
//
picturePreview(file){
this.dialogImageUrl = file.fileUrl;
this.dialogVisible = true;
},
//
handleRemove(list,index){
list.splice(index,1)
},
//
addDescribe(){
this.describeList.push({label:"",describe:""})
},
//
delDescribe(index){
this.describeList.splice(index,1)
},
},
};
</script>
<style lang="scss" scoped>
.uploadImg {
padding-top: 20px;
display: flex;
align-items: center;
justify-content: center;
}
.deviceCode {
margin-top: 10px;
padding-bottom: 20px;
font-size: 18px;
}
::v-deep.el-table .fixed-width .el-button--mini {
width: 60px !important;
margin-bottom: 10px;
}
//css
::v-deep.disabled {
.el-upload--picture-card {
display: none;
<style lang="scss" scoped>
.title{
margin: 10px;
margin-left: 20px;
display: flex;
align-items: center;
}
}
</style>
.title-sign{
display: inline-block;
width: 4px;
height: 16px;
background: #409EFF;
}
.title-text{
font-weight: 700;
margin-left: 10px;
}
.uploadBox{
margin: 20px 40px;
}
.labelBox{
width: auto;
height: auto;
display: flex;
align-items: center;
margin-bottom: 20px;
}
.imgsBox{
width: auto;
height: auto;
display: flex;
align-items: center;
margin-bottom: 30px;
margin-left: 20px;
.imgItem{
width: 160px;
height: 160px;
margin-right: 40px;
border: 1px dashed #bbb;
position: relative;
.picture-card{
width: 160px;
height: 160px;
}
.icon-list{
width: 60px;height: 20px;
position: absolute;
top: 70px;
left: 40px;
display: flex;
align-items: center;
}
.imgItem__icon{
margin: 0 5px;
}
.file-name{
font-size: 10px;
}
}
.hide{
display: none;
}
.imgItem:hover .hide{
display: block;
}
}
.tipBox{
color: red;
font-size: 12px;
margin-left: 20px;
}
.uploadImg {
padding-top: 20px;
display: flex;
align-items: center;
justify-content: center;
}
.deviceCode {
margin-top: 10px;
padding-bottom: 20px;
font-size: 18px;
}
::v-deep.el-table .fixed-width .el-button--mini {
width: 60px !important;
margin-bottom: 10px;
}
//css
::v-deep.disabled {
.el-upload--picture-card {
display: none;
}
}
</style>

View File

@ -1,33 +1,38 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item prop="keyWord">
<el-form-item prop="deviceName">
<el-input
v-model="queryParams.keyWord"
v-model="queryParams.deviceName"
placeholder="请输入装备名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="keyWord1">
<el-form-item prop="code">
<el-input
v-model="queryParams.keyWord"
v-model="queryParams.code"
placeholder="请输入装备编码"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="status">
<el-select v-model="queryParams.status" placeholder="请选择装备状态" clearable>
<el-form-item prop="maStatus">
<el-select
v-model="queryParams.maStatus"
placeholder="请选择装备状态"
clearable
style="width: 240px"
>
<el-option
v-for="item in statusList"
:key="item.id"
:label="item.name"
:value="item.id"
v-for="dict in dict.type.ma_machine_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-select>
</el-form-item>
<el-form-item prop="status">
<el-select v-model="queryParams.status" placeholder="请选择装备分类" clearable>
@ -86,30 +91,30 @@
>批量下架</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="tableList" ref="multipleTable" row-key="taskId" @selection-change="handleSelectionChange" border>
<el-table v-loading="loading" :data="tableList" ref="multipleTable" row-key="maId" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center" :reserve-selection="true" />
<el-table-column label="序号" align="center" width="80" type="index">
<template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="装备名称" align="center" prop="" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="装备编码" align="center" prop="" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="装备类目" align="center" prop="" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="装备型号" align="center" prop="" :show-overflow-tooltip="true"/>
<el-table-column label="装备状态" align="center" prop="status" :show-overflow-tooltip="true">
<!-- <template slot-scope="scope">
<dict-tag :options="dict.type.purchase_task_status" :value="scope.row.status"/>
</template> -->
<el-table-column label="装备名称" align="center" prop="deviceName" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="装备编码" align="center" prop="code" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="装备类目" align="center" prop="groupName" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="装备型号" align="center" prop="modelName" :show-overflow-tooltip="true"/>
<el-table-column label="装备状态" align="center" prop="maStatus" :show-overflow-tooltip="true">
<template slot-scope="scope">
<dict-tag :options="dict.type.ma_machine_status" :value="scope.row.maStatus"/>
</template>
</el-table-column>
<el-table-column label="更新时间" align="center" prop="" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="更新时间" align="center" prop="updateTime" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<el-button
<!-- <el-button
size="mini"
@click="handleView(scope.row)">
查看
</el-button>
</el-button> -->
<el-button
size="mini" type="primary"
@click="handleUpdate(scope.row)">
@ -119,7 +124,7 @@
size="mini" type="warning" >
下架
</el-button>
<el-button size="mini" type="danger" >
<el-button size="mini" type="danger" @click="delDev(scope.row)">
删除
</el-button>
</template>
@ -137,10 +142,10 @@
</template>
<script>
// import { getPurchaseList } from "@/api/purchase/goodsAccept";
import { getDevList,removeDevice } from "@/api/lessor/equipment";
export default {
name: "",
// dicts: ['purchase_task_status'],
dicts: ['ma_machine_status'],
data() {
return {
//
@ -166,13 +171,15 @@
queryParams: {
pageNum: 1,
pageSize: 10,
deviceName:undefined,
code:undefined,
keyWord:undefined,
status:undefined,
},
};
},
created() {
// this.getList();
this.getList();
},
methods: {
/** 查询列表 */
@ -185,11 +192,11 @@
this.queryParams.startTime=undefined
this.queryParams.endTime=undefined
}
// getPurchaseList(this.queryParams).then(response => {
// this.tableList = response.data.rows;
// this.total = response.data.total;
// this.loading = false;
// });
getDevList(this.queryParams).then(response => {
this.tableList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 重置按钮操作 */
resetQuery() {
@ -205,7 +212,7 @@
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.taskId)
this.ids = selection.map(item => item.maId)
this.single = selection.length != 1
this.multiple = !selection.length
},
@ -220,11 +227,11 @@
//
handleUpdate(row){
console.log(row)
// let query = { Id:row.id,taskId: row.taskId,isView:"false" }
// this.$tab.closeOpenPage({
// path: '/purchase/goodsAcceptDetail',
// query,
// })
let query = { maId:row.maId,isView:"false" }
this.$tab.closeOpenPage({
path: '/lessor/equipmentDetail',
query,
})
},
//
handleView(row){
@ -240,7 +247,16 @@
// ...this.queryParams
// }, `_${new Date().getTime()}.xlsx`)
},
delDev(row){
this.$modal.confirm('是否确认删除所选择的装备?').then(() => {
return removeDevice([row.maId])
}).then(() => {
this.handleQuery()
this.$message.success('删除成功!')
}).catch(() => {
})
}
}
};