装备管理列表新增编辑删除
This commit is contained in:
parent
491edf48db
commit
4c10944e92
|
|
@ -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,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -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>
|
||||
|
|
@ -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(() => {
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue