装备列表功能完善接口对接

This commit is contained in:
zzyuan 2024-11-25 17:43:35 +08:00
parent f9fa2c5c71
commit 496e833267
13 changed files with 498 additions and 302 deletions

View File

@ -1,10 +1,10 @@
# 页面标题
VUE_APP_TITLE = 博诺思管理系统
VUE_APP_TITLE = 安徽机械化施工装备平台
# 开发环境配置
ENV = 'development'
# 博诺思管理系统/开发环境
# 安徽机械化施工装备平台/开发环境
VUE_APP_BASE_API = '/dev-api'
# 路由懒加载

View File

@ -1,8 +1,8 @@
# 页面标题
VUE_APP_TITLE = 博诺思管理系统
VUE_APP_TITLE = 安徽机械化施工装备平台
# 生产环境配置
ENV = 'production'
# 博诺思管理系统/生产环境
# 安徽机械化施工装备平台/生产环境
VUE_APP_BASE_API = '/prod-api'

View File

@ -1,10 +1,10 @@
# 页面标题
VUE_APP_TITLE = 博诺思管理系统
VUE_APP_TITLE = 安徽机械化施工装备平台
NODE_ENV = production
# 测试环境配置
ENV = 'staging'
# 博诺思管理系统/测试环境
# 安徽机械化施工装备平台/测试环境
VUE_APP_BASE_API = '/stage-api'

View File

@ -1,7 +1,7 @@
{
"name": "bonus",
"version": "3.6.4",
"description": "博诺思管理系统",
"description": "安徽机械化施工装备平台",
"author": "博诺思",
"license": "MIT",
"scripts": {

View File

@ -33,6 +33,15 @@ export function updateDevice(data) {
data: data,
})
}
//保存草稿
export function insertDraft(data) {
return request({
url: '/material-mall/dev/insertDraft',
method: 'post',
data: data,
})
}
//装备装备类目树结构数据
export function getEquipmentType(query) {
@ -61,7 +70,14 @@ export function updateUpDown(data) {
})
}
//上下架(批量)
export function companyList(query) {
return request({
url: '/material-mall/dev/companyList',
method: 'get',
params: query
})
}

View File

@ -2,44 +2,11 @@
<div class="app-container home">
<el-row :gutter="20">
<el-col :sm="24" :lg="12" style="padding-left: 20px">
<h2>博诺思后台管理框架</h2>
<p>
<h2>安徽机械化施工装备平台</h2>
<!-- <p>
<b>当前版本:</b> <span>v{{ version }}</span>
</p>
</el-col>
<el-col :sm="24" :lg="12" style="padding-left: 50px">
<el-row>
<el-col :span="12">
<h2>技术选型</h2>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<h4>后端技术</h4>
<ul>
<li>SpringBoot</li>
<li>SpringCloud</li>
<li>Nacos</li>
<li>Sentinel</li>
<li>Seata</li>
<li>Minio</li>
<li>...</li>
</ul>
</el-col>
<el-col :span="6">
<h4>前端技术</h4>
<ul>
<li>Vue</li>
<li>Vuex</li>
<li>Element-ui</li>
<li>Axios</li>
<li>Echarts</li>
<li>Quill</li>
<li>...</li>
</ul>
</el-col>
</el-row>
</el-col>
</p> -->
</el-col>
</el-row>
<el-divider />
<el-row :gutter="20">
@ -60,7 +27,7 @@
</el-card>
</el-col>
<el-col :xs="24" :sm="24" :md="12" :lg="8">
<el-card class="update-log">
<!-- <el-card class="update-log">
<div slot="header" class="clearfix">
<span>更新日志</span>
</div>
@ -83,7 +50,7 @@
</ol>
</el-collapse-item>
</el-collapse>
</el-card>
</el-card> -->
</el-col>
</el-row>
</div>

View File

@ -1,23 +1,22 @@
<template>
<div class="app-container">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-row :gutter="10" class="mb8" style="display: flex;align-items: center;">
<el-col :span="2">
<el-button
type="primary" size="mini"
icon="el-icon-back" @click="backList"
type="primary" @click="backList"
icon="el-icon-back"
>取消</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning" plain @click="addDev"
icon="el-icon-download" size="mini"
<el-col :span="2">
<el-button v-if="!isView"
type="warning" @click="saveTemp"
icon="el-icon-download"
>存草稿</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-check"
size="mini"
<el-col :span="2">
<el-button v-if="!isView"
type="success" @click="addDev"
icon="el-icon-check"
>上架</el-button>
</el-col>
</el-row>
@ -26,119 +25,123 @@
<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-form :model="formData" ref="dForm" :rules="rules" size="small" :inline="true" label-width="140px" style="margin-left: 40px;margin-bottom: 20px;width: 80%;">
<el-row :gutter="24" class="mb8">
<el-form-item label="装备名称:" prop="deviceName">
<el-input
v-model="formData.deviceName"
placeholder="请输入装备名称"
clearable maxlength="20"
clearable maxlength="30"
style="width: 1100px;"
/>
</el-form-item>
</el-row>
<el-row :gutter="24" class="mb8">
<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="code">
<el-input
v-model="formData.code"
placeholder="请输入装备编号"
clearable maxlength="20"
style="width: 400px;"
/>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="装备品牌:" prop="brand">
<el-input
v-model="formData.brand"
placeholder="请输入装备品牌"
clearable maxlength="20"
style="width: 400px;"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="10">
<el-form-item label="出厂日期:" prop="productionDate">
<el-date-picker
v-model="formData.productionDate"
placeholder="请选择出厂日期"
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="dayLeasePrice">
<el-input
v-model="formData.dayLeasePrice"
placeholder="请输入租赁价格"
clearable maxlength="20"
style="width: 400px;"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="10">
<el-form-item label="联系人:" prop="person">
<el-input
v-model="formData.person"
placeholder="请输入联系人"
clearable maxlength="20"
style="width: 400px;"
/>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="联系电话:" prop="personPhone">
<el-input
v-model="formData.personPhone"
placeholder="请输入联系电话"
clearable maxlength="20"
style="width: 400px;"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="10">
<el-form-item label="装备单位:" prop="unitName">
<el-input
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;"
/>
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-form-item label="装备类目:" prop="deviceTypeList">
<el-cascader
v-model="formData.deviceTypeList"
:key="propsKey"
:show-all-levels="false"
:options="deviceTypeTree"
:props="partTypeTreeProps"
filterable clearable
collapse-tags
style="width: 450px"
placeholder="请选择装备类目"
ref="deviceTypeCascader"
popper-class="popper-select"
@change="deviceTypeChange"
></el-cascader>
</el-form-item>
<el-form-item label="设备数量:" prop="deviceCount">
<el-input
@input="(v)=>(formData.deviceCount=v.replace(/[^\d.]/g,''))"
v-model="formData.deviceCount"
placeholder="请输入设备数量"
clearable maxlength="20"
style="width: 450px;" :disabled="countDisabled"
/>
</el-form-item>
<el-form-item label="装备单位:" prop="unitName">
<el-input
v-model="formData.unitName"
placeholder="请输入装备单位"
clearable maxlength="20"
style="width: 450px;" disabled
/>
</el-form-item>
<el-form-item label="装备编号:" prop="code">
<el-input
v-model="formData.code"
placeholder="请输入装备编号"
clearable maxlength="30"
style="width: 450px;"
/>
</el-form-item>
<el-form-item label="所属公司:" prop="companyId">
<el-select
v-model="formData.companyId"
placeholder="请选择所属公司"
clearable style="width: 450px">
<el-option
v-for="item in companyDataList"
:key="item.companyId"
:label="item.companyName"
:value="item.companyId"
/>
</el-select>
</el-form-item>
<el-form-item label="装备品牌:" prop="brand">
<el-input
v-model="formData.brand"
placeholder="请输入装备品牌"
clearable maxlength="30"
style="width: 450px;"
/>
</el-form-item>
<el-form-item label="出厂日期:" prop="productionDate">
<el-date-picker
v-model="formData.productionDate"
placeholder="请选择出厂日期"
value-format="yyyy-MM-dd"
type="date" style="width: 450px;">
</el-date-picker>
</el-form-item>
<el-form-item label="租赁价格(天/元)" prop="dayLeasePrice">
<el-input
@input="(v)=>(formData.dayLeasePrice=v.replace(/[^\d.]/g,''))"
v-model="formData.dayLeasePrice"
placeholder="请输入租赁价格"
clearable maxlength="20"
style="width: 450px;"
/>
</el-form-item>
<el-form-item label="联系人:" prop="person">
<el-input
v-model="formData.person"
placeholder="请输入联系人"
clearable maxlength="20"
style="width: 450px;"
/>
</el-form-item>
<el-form-item label="联系电话:" prop="personPhone">
<el-input
v-model="formData.personPhone"
placeholder="请输入联系电话"
clearable maxlength="20"
style="width: 450px;"
/>
</el-form-item>
<el-form-item label="整机重量(KG)" prop="deviceWeight">
<el-input
@input="(v)=>(formData.deviceWeight=v.replace(/[^\d.]/g,''))"
v-model="formData.deviceWeight"
placeholder="请输入整机重量"
clearable maxlength="20"
style="width: 450px;"
/>
</el-form-item>
<!-- 描述 -->
<!-- <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>
@ -183,8 +186,9 @@
</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"
:action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg"
:on-success="handleFileSuccess" :auto-upload="true"
:before-upload="beforeUpload" :on-error="uploadError"
>
<el-button icon="el-icon-folder-add">上传文件</el-button>
</el-upload>
@ -227,8 +231,9 @@
</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"
:action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg"
:on-success="handleFileSuccess2" :auto-upload="true"
:before-upload="beforeUpload" :on-error="uploadError"
>
<el-button icon="el-icon-folder-add">上传文件</el-button>
</el-upload>
@ -276,8 +281,9 @@
</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"
:action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg"
:on-success="handleFileSuccess3" :auto-upload="true"
:before-upload="beforeUpload" :on-error="uploadError"
>
<el-button icon="el-icon-folder-add">上传文件</el-button>
</el-upload>
@ -310,8 +316,9 @@
</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"
:action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg"
:on-success="handleFileSuccess4" :auto-upload="true"
:before-upload="beforeUpload" :on-error="uploadError"
>
<el-button icon="el-icon-folder-add">上传文件</el-button>
</el-upload>
@ -348,21 +355,30 @@
<script>
import { getToken } from "@/utils/auth";
import { getDevDetail,addDevice,updateDevice} from "@/api/lessor/equipment";
import { getDevDetail,addDevice,updateDevice,getEquipmentType,companyList,insertDraft} from "@/api/lessor/equipment";
import { number } from "echarts";
export default {
name: "",
// dicts: ["purchase_task_status"],
data() {
return {
maId:"",
isView: false,
equipmentTypeList: [], //
materialModelList: [], //
supplierList: [], //
fixCodeList: ["否", "是"],
formData: {
typeId:644
},
isView: false,
//
companyDataList: [],
//
deviceTypeTree: [],
//
partTypeTreeProps: {
children: "children",
label: "name",
multiple: false,
value: "id",
// multiple: true,
},
propsKey: 1000,
countDisabled: false,
formData: {},
//
describeList:[
{label:"",describe:""},{label:"",describe:""}
@ -371,7 +387,50 @@
detailsFileList:[],//
insurancePdf:[],//
examinationPdf:[],//
//
rules: {
deviceName: [
{ required: true, message: "上架时装备名称不能为空", trigger: "blur" }
],
deviceTypeList: [
{ required: true, message: "上架时装备类目不能为空", trigger: "change" }
],
deviceCount: [
{ required: true, message: "上架时设备数量不能为空", trigger: "blur" }
],
companyId: [
{ required: true, message: "上架时所属公司不能为空", trigger: "change" }
],
code: [
{ required: true, message: "上架时装备编号不能为空", trigger: "blur" }
],
brand: [
{ required: true, message: "上架时装备品牌不能为空", trigger: "blur" }
],
productionDate: [
{ required: true, message: "上架时出厂日期不能为空", trigger: "blur" }
],
dayLeasePrice: [
{ required: true, message: "上架时租赁价格不能为空", trigger: "blur" }
],
person: [
{ required: true, message: "上架时联系人不能为空", trigger: "blur" }
],
personPhone: [
{ required: true, message: "上架时联系电话不能为空", trigger: "blur" },
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
}
],
// unitName: [
// { required: true, message: "", trigger: "blur" }
// ],
deviceWeight: [//
{ required: true, message: "上架时整机重量不能为空", trigger: "blur" }
],
},
//
dialogImageUrl: "",
dialogVisible: false,
@ -384,7 +443,9 @@
},
};
},
mounted() {
mounted() {
this.getTypeTreeData()
this.getCompanyList()
const maId = this.$route.query && this.$route.query.maId;
const isView = this.$route.query && this.$route.query.isView;
this.maId = maId;
@ -395,11 +456,11 @@
this.isView = false;
}
if(this.maId&&this.maId!=""){
this.getDevDetailInfo()
}
// this.resetForm("formData");
// console.log(this.isView);
// this.getSupplierList()
setTimeout(()=>{
this.getDevDetailInfo()
},500)
}
},
methods: {
//
@ -407,66 +468,173 @@
const obj = { path: "/lessor/equipment" };
this.$tab.closeOpenPage(obj);
},
//
// getDeviceType() {
// getDeviceType({ level: 4, skipPermission: 1 }).then((response) => {
// let matModelRes = response.data;
// this.materialModelList = matModelRes.map((item) => {
// return {
// label: item.typeName,
// value: item.typeId,
// };
// });
// });
// },
// getSupplierList() {
// getManufacturerSelect().then((response) => {
// let arrRes = response.rows;
// this.supplierList = arrRes.map((item) => {
// return {
// label: item.supplier,
// value: item.supplierId,
// };
// });
// });
// },
//
getCompanyList() {
companyList().then((response) => {
this.companyDataList=response.data
});
},
//
async getTypeTreeData() {
const params = {};
const res = await getEquipmentType(params);
console.log("treeData==========", res);
this.deviceTypeTree = res.data;
},
//-change
deviceTypeChange(val){
const deviceTypeList = this.$refs.deviceTypeCascader.getCheckedNodes()
console.log(deviceTypeList)
this.formData.unitName = deviceTypeList[0].data.unitName
let manageType = deviceTypeList[0].data.manageType
if(manageType=='1'){//
this.formData.deviceCount=1
this.countDisabled=false
}else if(manageType=='0'){//
this.formData.deviceCount=1
this.countDisabled=true
}
console.log(this.formData)
},
//
getSelectId(list, id) {
for (let i in list) {
if (list[i].id == id) {
//value
return [list[i].id];
}
if (list[i].children) {
let node = this.getSelectId(list[i].children, id);
if (node !== undefined) {
//
node.unshift(list[i].id);
return node;
}
}
}
},
//
getDevDetailInfo(){
console.log(this.maId)
getDevDetail(this.maId).then((response) => {
console.log(response)
this.formData = response.data;
this.$set(this.formData,"companyId",Number(response.data.companyId))
console.log(this.formData)
this.$forceUpdate();
this.mainFileList=response.data.mainFileList||[] //
this.detailsFileList=response.data.detailsFileList||[] //
this.insurancePdf=response.data.insurancePdf||[] //
this.examinationPdf=response.data.examinationPdf||[] //
this.examinationPdf=response.data.examinationPdf||[] //
//
this.formData.deviceTypeList = this.getSelectId(this.deviceTypeTree, this.formData.typeId);
console.log(this.formData.deviceTypeList)
this.$forceUpdate();
})
},
//稿
saveTemp(){
if (this.formData.deviceTypeList&&this.formData.deviceTypeList.length > 0) {
this.formData.typeId = this.formData.deviceTypeList[3]
} else {
this.formData.typeId = ""
}
let param = {
...this.formData,
mainFileList:this.mainFileList,//
detailsFileList:this.detailsFileList,//
insurancePdf:this.insurancePdf,//
examinationPdf:this.examinationPdf,//
}
console.log(param)
this.$modal.confirm('是否保存该装备草稿?').then(() => {
// if(this.maId&&this.maId!=""){
// updateDevice(param).then((response) => {
// if(response.code==200){
// this.$modal.msgSuccess("");
// this.backList()
// }else{
// this.$modal.msgError(response.msg);
// }
// })
// }else{
insertDraft(param).then((response) => {
if(response.code==200){
this.$modal.msgSuccess("保存成功");
this.backList()
}else{
this.$modal.msgError(response.msg);
}
})
// }
}).catch(() => {})
},
//
addDev(){
console.log(this.formData)
let param = {
...this.formData,
mainFileList:this.mainFileList,//
detailsFileList:this.detailsFileList,//
insurancePdf:this.insurancePdf,//
examinationPdf:this.examinationPdf,//
console.log(this.formData.deviceTypeList)
this.$refs['dForm'].validate((valid) => {
if (valid) {
if (this.formData.deviceTypeList&&this.formData.deviceTypeList.length > 0) {
this.formData.typeId = this.formData.deviceTypeList[3]
} else {
this.formData.typeId = ""
}
if(this.mainFileList.length==0||this.mainFileList.length>6){
this.$modal.msgError("主展示图不得少于1张不得多于6张");
return
}
if(this.detailsFileList.length==0||this.detailsFileList.length>6){
this.$modal.msgError("详情展示图不得少于1张不得多于6张");
return
}
let param = {
...this.formData,
mainFileList:this.mainFileList,//
detailsFileList:this.detailsFileList,//
insurancePdf:this.insurancePdf,//
examinationPdf:this.examinationPdf,//
}
this.$modal.confirm('是否确认上架该装备?').then(() => {
// if(this.maId&&this.maId!=""){
// updateDevice(param).then((response) => {
// if(response.code==200){
// this.$modal.msgSuccess("");
// this.backList()
// }else{
// this.$modal.msgError(response.msg);
// }
// })
// }else{
// addDevice(param).then((response) => {
// if(response.code==200){
// this.$modal.msgSuccess("");
// this.backList()
// }else{
// this.$modal.msgError(response.msg);
// }
// })
// }
}).catch(() => {})
}
})
},
// -
beforeUpload(file) {
if (file.size / 1024 / 1024 > 2) {
this.$message.error({
message: `上传文件大小不能超过2M!`,
});
return false;
}
if(this.maId&&this.maId!=""){
updateDevice(param).then((response) => {
})
}else{
addDevice(param).then((response) => {
})
}
// addDevice
},
//
uploadError() {
this.$message.error({
message: `上传文件失败!`,
});
},
//
handleFileSuccess(response, file, fileList) {
if (response.code == 200) {
@ -537,6 +705,17 @@
handleRemove(list,index){
list.splice(index,1)
},
//
addDescribe(){
this.describeList.push({label:"",describe:""})
@ -544,12 +723,7 @@
//
delDescribe(index){
this.describeList.splice(index,1)
},
},
},
};
</script>
@ -650,5 +824,13 @@
display: none;
}
}
.popper-select {
.el-cascader-panel .el-scrollbar .el-checkbox {
display: none;
}
.el-cascader-panel .el-scrollbar:nth-child(4) .el-checkbox {
display: block !important;
}
}
</style>

View File

@ -1,7 +1,7 @@
<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="deviceName">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="装备名称:" prop="deviceName">
<el-input
v-model="queryParams.deviceName"
placeholder="请输入装备名称"
@ -10,8 +10,8 @@
maxlength="20"
/>
</el-form-item>
<el-form-item prop="code">
<el-input
<el-form-item label="装备编码:" prop="code">
<el-input
v-model="queryParams.code"
placeholder="请输入装备编码"
clearable
@ -19,7 +19,7 @@
maxlength="20"
/>
</el-form-item>
<el-form-item prop="maStatus">
<el-form-item label="装备状态:" prop="maStatus">
<el-select
v-model="queryParams.maStatus"
placeholder="请选择装备状态"
@ -34,27 +34,24 @@
/>
</el-select>
</el-form-item>
<el-form-item prop="status">
<el-select v-model="queryParams.status" placeholder="请选择装备分类" clearable>
<el-option
v-for="item in statusList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item prop="status">
<el-select v-model="queryParams.status" placeholder="请选择装备型号" clearable>
<el-option
v-for="item in statusList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item prop="dateRange">
<br>
<el-form-item label="装备类目:" prop="deviceTypeList">
<el-cascader
v-model="deviceTypeList"
:key="propsKey"
:show-all-levels="false"
:options="deviceTypeTree"
:props="partTypeTreeProps"
filterable clearable
collapse-tags
style="width:240px"
placeholder="请选择装备类目"
ref="deviceTypeCascader"
popper-class="popper-select"
@change="deviceTypeChange"
></el-cascader>
</el-form-item>
<el-form-item label="更新时间:" prop="dateRange">
<el-date-picker
v-model="dateRange"
type="datetimerange"
@ -72,14 +69,14 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="success" plain
type="success"
size="mini" @click="equipmentAdd"
>装备新建
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning" plain
type="warning"
icon="el-icon-download"
size="mini"
@click="handleUpdateUpDown(null,2)"
@ -87,10 +84,10 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning" plain
type="warning"
icon="el-icon-download"
size="mini"
@click="handleUpdateUpDown(null,3)"
@click="handleUpdateUpDown(null,1)"
>批量下架
</el-button>
</el-col>
@ -103,42 +100,46 @@
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<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">
<el-table-column label="装备名称" align="center" prop="deviceName" :show-overflow-tooltip="true"/>
<el-table-column label="装备编码" align="center" prop="code" :show-overflow-tooltip="true"/>
<el-table-column label="装备类目" align="center" width="250" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.firstName }} <span v-show="scope.row.firstName">></span> {{ scope.row.secondName }}<span v-show="scope.row.secondName">></span>{{ scope.row.thirdName }}</span>
</template>
</el-table-column>
<el-table-column label="装备型号" align="center" width="200" prop="typeName" :show-overflow-tooltip="true"/>
<el-table-column label="装备状态" align="center" width="100" 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="updateTime" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="操作" align="center" width="250">
<el-table-column label="更新时间" align="center" prop="updateTime" width="200" :show-overflow-tooltip="true"/>
<el-table-column label="操作" align="center" width="300">
<template slot-scope="scope">
<!-- <el-button
<el-button
size="mini"
@click="handleView(scope.row)">
查看
</el-button> -->
<el-button
</el-button>
<el-button v-if="scope.row.maStatus == 0||scope.row.maStatus == 1"
size="mini" type="primary"
@click="handleUpdate(scope.row)">
编辑
</el-button>
<el-button
<el-button v-if="scope.row.maStatus == 0||scope.row.maStatus == 1||scope.row.maStatus == 2"
size="mini" type="warning">
<span
v-if="scope.row.maStatus == 2"
@click="handleUpdateUpDown(scope.row,3)">
@click="handleUpdateUpDown(scope.row,1)">
下架
</span>
<span
v-if="scope.row.maStatus == 3"
v-if="scope.row.maStatus == 0||scope.row.maStatus == 1"
@click="handleUpdateUpDown(scope.row,2)">
上架
</span>
</el-button>
<el-button size="mini" type="danger" @click="delDev(scope.row)">
<el-button size="mini" type="danger" @click="delDev(scope.row)" v-if="scope.row.maStatus == 0||scope.row.maStatus == 1">
删除
</el-button>
</template>
@ -156,7 +157,7 @@
</template>
<script>
import {getDevList, removeDevice,updateUpDown} from "@/api/lessor/equipment";
import {getEquipmentType, getDevList, removeDevice, updateUpDown} from "@/api/lessor/equipment";
export default {
name: "",
@ -171,6 +172,19 @@ export default {
multiple: true,
//
showSearch: true,
//
deviceTypeTree: [],
//
deviceTypeList: [],
//
partTypeTreeProps: {
children: "children",
label: "name",
multiple: false,
value: "id",
// multiple: true,
},
propsKey: 1000,
statusList: [{id: '1', name: '状态1'}, {id: '2', name: '状态2'}, {id: '3', name: '状态3'}],
ids: [],
//
@ -188,16 +202,32 @@ export default {
pageNum: 1,
pageSize: 10,
deviceName: undefined,
code: undefined,
keyWord: undefined,
code: undefined,
status: undefined,
typeId: undefined,
},
};
},
created() {
this.getTypeTreeData()
this.getList();
},
methods: {
//
async getTypeTreeData() {
const params = {};
const res = await getEquipmentType(params);
console.log("treeData==========", res);
this.deviceTypeTree = res.data;
},
deviceTypeChange(val){
console.log(val)
if(val.length > 0) {
this.queryParams.typeId = val[3]
} else {
this.queryParams.typeId = ""
}
},
/** 查询列表 */
getList() {
this.loading = true;
@ -209,8 +239,8 @@ export default {
this.queryParams.endTime = undefined
}
getDevList(this.queryParams).then(response => {
this.tableList = response.rows;
this.total = response.total;
this.tableList = response.data.rows;
this.total = response.data.total;
this.loading = false;
});
},
@ -218,7 +248,8 @@ export default {
resetQuery() {
this.resetForm("queryForm");
this.dateRange = []
this.queryParams.keyWord = null;
this.deviceTypeList = []
this.queryParams.typeId = null;
this.handleQuery();
},
/** 搜索按钮操作 */
@ -267,15 +298,15 @@ export default {
this.handleQuery()
}).catch(() => {
})
},
},
//
handleView(row) {
console.log(row)
// let query = { Id:row.id,taskId: row.taskId,isView:"true" }
// this.$tab.closeOpenPage({
// path: '/purchase/goodsAcceptDetail',
// query,
// })
console.log(row)
let query = {maId: row.maId, isView: "true"}
this.$tab.closeOpenPage({
path: '/lessor/equipmentDetail',
query,
})
},
handleExport() {
// this.download('/material/ma_machine/export', {

View File

@ -1,7 +1,7 @@
<template>
<div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">博诺思后台管理系统</h3>
<h3 class="title">安徽机械化施工装备平台</h3>
<el-form-item prop="username">
<el-input
v-model="loginForm.username"

View File

@ -8,7 +8,7 @@
:rules="loginRules"
class="login-form"
>
<h3 class="title">博诺思后台管理系统</h3>
<h3 class="title">安徽机械化施工装备平台</h3>
<template v-if="loginMethod === 'password'">
<el-form-item prop="username">
<el-input

View File

@ -1,7 +1,7 @@
<template>
<div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">博诺思后台管理系统</h3>
<h3 class="title">安徽机械化施工装备平台</h3>
<el-form-item prop="username">
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />

View File

@ -2,7 +2,7 @@
<div class="container">
<div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">博诺思后台管理系统</h3>
<h3 class="title">安徽机械化施工装备平台</h3>
<el-form-item prop="nickName">
<el-input v-model="registerForm.nickName" type="text" auto-complete="off" placeholder="请输入姓名">

View File

@ -7,7 +7,7 @@ function resolve(dir) {
const CompressionPlugin = require("compression-webpack-plugin");
const name = process.env.VUE_APP_TITLE || "博诺思管理系统"; // 网页标题
const name = process.env.VUE_APP_TITLE || "安徽机械化施工装备平台"; // 网页标题
const port = process.env.port || process.env.npm_config_port || 80; // 端口