2023-06-06-01-bug

master
喻忠伟 2 years ago
parent 23cf772c66
commit 28f88603d4
  1. 607
      ant-design-vue-jeecg/src/views/device/ZyDeviceList.vue
  2. 449
      ant-design-vue-jeecg/src/views/device/modules/ZyDeviceForm.vue
  3. 255
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/device/entity/ZyDevice.java

@ -1,302 +1,307 @@
<template> <template>
<a-card :bordered="false"> <a-card :bordered="false">
<!-- 查询区域 --> <!-- 查询区域 -->
<div class="table-page-search-wrapper"> <div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery"> <a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-model-item label="品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="organizer"> <a-form-model-item label="品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="organizer">
<a-input v-model="queryParam.brandId" placeholder="请输入品牌名称" ></a-input> <a-input v-model="queryParam.brandId" placeholder="请输入品牌名称" ></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-model-item label="型号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="organizer"> <a-form-model-item label="型号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="organizer">
<a-input v-model="queryParam.modelId" placeholder="请输入品牌名称" ></a-input> <a-input v-model="queryParam.modelId" placeholder="请输入品牌名称" ></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-model-item label="名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="organizer"> <a-form-model-item label="名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="organizer">
<a-input v-model="queryParam.name" placeholder="请输入名称" ></a-input> <a-input v-model="queryParam.name" placeholder="请输入名称" ></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-model-item label="编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="organizer"> <a-form-model-item label="编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="organizer">
<a-input v-model="queryParam.code" placeholder="请输入编号" ></a-input> <a-input v-model="queryParam.code" placeholder="请输入编号" ></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-model-item label="设备状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status"> <a-form-model-item label="设备状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
<j-dict-select-tag type="radio" v-model="queryParam.status" dictCode="devicestatus1" <j-dict-select-tag type="radio" v-model="queryParam.status" dictCode="devicestatus1"
placeholder="设备状态"></j-dict-select-tag> placeholder="设备状态"></j-dict-select-tag>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button> <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span> </span>
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
</div> </div>
<!-- 查询区域-END --> <!-- 查询区域-END -->
<!-- 操作按钮区域 --> <!-- 操作按钮区域 -->
<div class="table-operator"> <div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<!-- <a-button type="primary" icon="download" @click="handleExportXls('设备信息')">导出</a-button>--> <!-- <a-button type="primary" icon="download" @click="handleExportXls('设备信息')">导出</a-button>-->
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">--> <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
<!-- <a-button type="primary" icon="import">导入</a-button>--> <!-- <a-button type="primary" icon="import">导入</a-button>-->
<!-- </a-upload>--> <!-- </a-upload>-->
<!-- &lt;!&ndash; 高级查询区域 &ndash;&gt;--> <!-- &lt;!&ndash; 高级查询区域 &ndash;&gt;-->
<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>--> <!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
<!-- <a-dropdown v-if="selectedRowKeys.length > 0">--> <!-- <a-dropdown v-if="selectedRowKeys.length > 0">-->
<!-- <a-menu slot="overlay">--> <!-- <a-menu slot="overlay">-->
<!-- <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>--> <!-- <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>-->
<!-- </a-menu>--> <!-- </a-menu>-->
<!-- <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>--> <!-- <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>-->
<!-- </a-dropdown>--> <!-- </a-dropdown>-->
</div> </div>
<!-- table区域-begin --> <!-- table区域-begin -->
<div> <div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>
<a style="margin-left: 24px" @click="onClearSelected">清空</a> <a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div> </div>
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:scroll="{x:true}" :scroll="{x:true}"
bordered bordered
rowKey="id" rowKey="id"
:columns="columns" :columns="columns"
:dataSource="dataSource" :dataSource="dataSource"
:pagination="ipagination" :pagination="ipagination"
:loading="loading" :loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap" class="j-table-force-nowrap"
@change="handleTableChange"> @change="handleTableChange">
<template slot="htmlSlot" slot-scope="text"> <template slot="htmlSlot" slot-scope="text">
<div v-html="text"></div> <div v-html="text"></div>
</template> </template>
<template slot="imgSlot" slot-scope="text"> <template slot="imgSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
<img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
</template> </template>
<template slot="imgeSlot" slot-scope="text"> <template slot="imgeSlot" slot-scope="text">
<img :src="text" height="" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> <img :src="text" height="" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
</template> </template>
<template slot="img3dSlot" slot-scope="text"> <template slot="img3dSlot" slot-scope="text">
<a :href="text" target="_blank">显示3d模型</a> <a :href="text" target="_blank">显示3d模型</a>
</template> </template>
<template slot="fileSlot" slot-scope="text"> <template slot="fileSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
<a-button <a-button
v-else v-else
:ghost="true" :ghost="true"
type="primary" type="primary"
icon="download" icon="download"
size="small" size="small"
@click="downloadFile(text)"> @click="downloadFile(text)">
下载 下载
</a-button> </a-button>
</template> </template>
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a> <a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" /> <a-divider type="vertical" />
<a @click="openDetail(record.id)">详情</a> <a @click="openDetail(record.id)">详情</a>
<a-divider type="vertical" /> <a-divider type="vertical" />
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a> <a>删除</a>
</a-popconfirm> </a-popconfirm>
</span> </span>
</a-table> </a-table>
</div> </div>
<ZyDeviceDetail ref="ZyDeviceDetail"></ZyDeviceDetail> <ZyDeviceDetail ref="ZyDeviceDetail"></ZyDeviceDetail>
<zy-device-modal ref="modalForm" @ok="modalFormOk"></zy-device-modal> <zy-device-modal ref="modalForm" @ok="modalFormOk"></zy-device-modal>
</a-card> </a-card>
</template> </template>
<script> <script>
import '@/assets/less/TableExpand.less' import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin' import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import ZyDeviceModal from './modules/ZyDeviceModal' import ZyDeviceModal from './modules/ZyDeviceModal'
import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
import ZyDeviceDetail from './modules/ZyDeviceDetail' import ZyDeviceDetail from './modules/ZyDeviceDetail'
export default { export default {
name: 'ZyDeviceList', name: 'ZyDeviceList',
mixins:[JeecgListMixin, mixinDevice], mixins:[JeecgListMixin, mixinDevice],
components: { components: {
ZyDeviceModal, ZyDeviceModal,
ZyDeviceDetail ZyDeviceDetail
}, },
data () { data () {
return { return {
description: '设备信息管理页面', description: '设备信息管理页面',
labelCol: { labelCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 5 }, sm: { span: 5 },
}, },
wrapperCol: { wrapperCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 16 }, sm: { span: 16 },
}, },
// //
columns: [ columns: [
{ {
title: '#', title: '#',
dataIndex: '', dataIndex: '',
key:'rowIndex', key:'rowIndex',
width:60, width:60,
align:"center", align:"center",
customRender:function (t,r,index) { customRender:function (t,r,index) {
return parseInt(index)+1; return parseInt(index)+1;
} }
}, },
{ {
title:'设备类型编码', title:'设备类型编码',
align:"center", align:"center",
dataIndex: 'typeCode' dataIndex: 'typeCode'
}, },
{ {
title:'设备型号', title:'设备型号',
align:"center", align:"center",
dataIndex: 'modelId_dictText' dataIndex: 'modelId_dictText'
}, },
{ {
title:'设备品牌', title:'设备品牌',
align:"center", align:"center",
dataIndex: 'brandId_dictText' dataIndex: 'brandId_dictText'
}, },
{ {
title:'设备名称', title:'设备名称',
align:"center", align:"center",
dataIndex: 'name' dataIndex: 'name'
}, },
{ {
title:'设备图片', title:'设备图片',
align:"center", align:"center",
dataIndex: 'img', dataIndex: 'img',
scopedSlots: {customRender: 'imgSlot'} scopedSlots: {customRender: 'imgSlot'}
}, },
{ {
title:'设备二维码', title:'设备二维码',
align:"center", align:"center",
dataIndex: 'qrcode', dataIndex: 'qrcode',
scopedSlots: {customRender: 'imgeSlot'} scopedSlots: {customRender: 'imgeSlot'}
}, },
{ {
title:'设备编号', title:'设备编号',
align:"center", align:"center",
dataIndex: 'code' dataIndex: 'code'
}, },
{ {
title:'购买时间', title:'购买时间',
align:"center", align:"center",
dataIndex: 'buydate', dataIndex: 'buydate',
customRender:function (text) { customRender:function (text) {
return !text?"":(text.length>10?text.substr(0,10):text) return !text?"":(text.length>10?text.substr(0,10):text)
} }
}, },
{ {
title:'经办人', title:'经办人',
align:"center", align:"center",
dataIndex: 'agent_dictText' dataIndex: 'agent_dictText'
}, },
{ {
title:'设备状态', title:'设备状态',
align:"center", align:"center",
dataIndex: 'status_dictText' dataIndex: 'status_dictText'
}, },
{ {
title:'维护周期', title:'设备日负载',
align:"center", align:"center",
dataIndex: 'maintenancecycle' dataIndex: 'val'
}, },
{ {
title:'管理人', title:'维护周期',
align:"center", align:"center",
dataIndex: 'administrator_dictText' dataIndex: 'maintenancecycle'
}, },
{ {
title:'上次维护时间', title:'管理人',
align:"center", align:"center",
dataIndex: 'maintenancedate', dataIndex: 'administrator_dictText'
customRender:function (text) { },
return !text?"":(text.length>10?text.substr(0,10):text) {
} title:'上次维护时间',
}, align:"center",
{ dataIndex: 'maintenancedate',
title:'3d模型', customRender:function (text) {
align:"center", return !text?"":(text.length>10?text.substr(0,10):text)
dataIndex: 'img3d', }
scopedSlots: {customRender: 'img3dSlot'} },
}, {
{ title:'3d模型',
title: '操作', align:"center",
dataIndex: 'action', dataIndex: 'img3d',
align:"center", scopedSlots: {customRender: 'img3dSlot'}
// fixed:"right", },
width:147, {
scopedSlots: { customRender: 'action' } title: '操作',
} dataIndex: 'action',
], align:"center",
url: { // fixed:"right",
list: "/device/zyDevice/list", width:147,
delete: "/device/zyDevice/delete", scopedSlots: { customRender: 'action' }
deleteBatch: "/device/zyDevice/deleteBatch", }
exportXlsUrl: "/device/zyDevice/exportXls", ],
importExcelUrl: "device/zyDevice/importExcel", url: {
list: "/device/zyDevice/list",
}, delete: "/device/zyDevice/delete",
dictOptions:{}, deleteBatch: "/device/zyDevice/deleteBatch",
superFieldList:[], exportXlsUrl: "/device/zyDevice/exportXls",
} importExcelUrl: "device/zyDevice/importExcel",
},
created() { },
this.getSuperFieldList(); dictOptions:{},
console.log(this.superFieldList) superFieldList:[],
}, }
computed: { },
importExcelUrl: function(){ created() {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; this.getSuperFieldList();
}, console.log(this.superFieldList)
}, },
methods: { computed: {
initDictConfig(){ importExcelUrl: function(){
}, return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
getSuperFieldList(){ },
let fieldList=[]; },
fieldList.push({type:'string',value:'img',text:'设备图片',dictCode:''}) methods: {
fieldList.push({type:'string',value:'typeid',text:'设备类型',dictCode:'zy_devicetype,name,id'}) initDictConfig(){
fieldList.push({type:'string',value:'code',text:'设备编号',dictCode:''}) },
fieldList.push({type:'date',value:'buydate',text:'购买时间'}) getSuperFieldList(){
fieldList.push({type:'sel_user',value:'agent',text:'经办人'}) let fieldList=[];
fieldList.push({type:'string',value:'adress',text:'存放位置',dictCode:''}) fieldList.push({type:'string',value:'img',text:'设备图片',dictCode:''})
fieldList.push({type:'string',value:'status',text:'设备状态',dictCode:''}) fieldList.push({type:'string',value:'typeid',text:'设备类型',dictCode:'zy_devicetype,name,id'})
fieldList.push({type:'string',value:'maintenancecycle',text:'维护周期',dictCode:''}) fieldList.push({type:'string',value:'code',text:'设备编号',dictCode:''})
fieldList.push({type:'sel_user',value:'administrator',text:'管理人'}) fieldList.push({type:'date',value:'buydate',text:'购买时间'})
fieldList.push({type:'date',value:'maintenancedate',text:'上次维护时间'}) fieldList.push({type:'sel_user',value:'agent',text:'经办人'})
fieldList.push({type:'string',value:'img3d',text:'3d模型',dictCode:''}) fieldList.push({type:'string',value:'adress',text:'存放位置',dictCode:''})
this.superFieldList = fieldList fieldList.push({type:'string',value:'status',text:'设备状态',dictCode:''})
}, fieldList.push({type:'string',value:'maintenancecycle',text:'维护周期',dictCode:''})
openDetail(id){ fieldList.push({type:'sel_user',value:'administrator',text:'管理人'})
this.$refs.ZyDeviceDetail.showModal(id) fieldList.push({type:'date',value:'maintenancedate',text:'上次维护时间'})
// this.$children[0].showModal(id) fieldList.push({type:'string',value:'img3d',text:'3d模型',dictCode:''})
} this.superFieldList = fieldList
} },
} openDetail(id){
</script> this.$refs.ZyDeviceDetail.showModal(id)
<style scoped> // this.$children[0].showModal(id)
@import '~@assets/less/common.less'; }
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style> </style>

@ -1,223 +1,228 @@
<template> <template>
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<j-form-container :disabled="formDisabled"> <j-form-container :disabled="formDisabled">
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="所属部门" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="manufacturer"> <a-form-model-item label="所属部门" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="manufacturer">
<j-select-depart v-model="model.orgCode" /> <j-select-depart v-model="model.orgCode" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name"> <a-form-model-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name">
<a-input v-model="model.name" placeholder="请输入设备名称" ></a-input> <a-input v-model="model.name" placeholder="请输入设备名称" ></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="设备图片" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="img"> <a-form-model-item label="设备图片" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="img">
<j-image-upload isMultiple v-model="model.img" ></j-image-upload> <j-image-upload isMultiple v-model="model.img" ></j-image-upload>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<!-- <a-col :span="24">--> <!-- <a-col :span="24">-->
<!-- <a-form-model-item label="设备类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="typeid">--> <!-- <a-form-model-item label="设备类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="typeid">-->
<!-- <j-dict-select-tag type="list" v-model="model.typeid" dictCode="zy_devicetype,name,id" pidField="pid"--> <!-- <j-dict-select-tag type="list" v-model="model.typeid" dictCode="zy_devicetype,name,id" pidField="pid"-->
<!-- pidValue="" placeholder="请选择设备类型" />--> <!-- pidValue="" placeholder="请选择设备类型" />-->
<!-- &lt;!&ndash; <j-tree-select--> <!-- &lt;!&ndash; <j-tree-select-->
<!-- v-decorator="[model.typeid]"--> <!-- v-decorator="[model.typeid]"-->
<!-- placeholder="父级节点"--> <!-- placeholder="父级节点"-->
<!-- dict="zy_devicetype,name,id"--> <!-- dict="zy_devicetype,name,id"-->
<!-- pidField="pid"--> <!-- pidField="pid"-->
<!-- pidValue=""--> <!-- pidValue=""-->
<!-- />&ndash;&gt;--> <!-- />&ndash;&gt;-->
<!-- </a-form-model-item>--> <!-- </a-form-model-item>-->
<!-- </a-col>--> <!-- </a-col>-->
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="购买时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buydate"> <a-form-model-item label="购买时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buydate">
<j-date placeholder="请选择购买时间" v-model="model.buydate" style="width: 100%" /> <j-date placeholder="请选择购买时间" v-model="model.buydate" style="width: 100%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="经办人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="agent"> <a-form-model-item label="经办人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="agent">
<j-select-user-by-dep v-model="model.agent" /> <j-select-user-by-dep v-model="model.agent" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<!-- <a-col :span="24">--> <!-- <a-col :span="24">-->
<!-- <a-form-model-item label="存放位置" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="adress">--> <!-- <a-form-model-item label="存放位置" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="adress">-->
<!-- <a-input v-model="model.adress" placeholder="请输入存放位置" ></a-input>--> <!-- <a-input v-model="model.adress" placeholder="请输入存放位置" ></a-input>-->
<!-- </a-form-model-item>--> <!-- </a-form-model-item>-->
<!-- </a-col>--> <!-- </a-col>-->
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="设备状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status"> <a-form-model-item label="设备状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
<j-dict-select-tag type="radio" v-model="model.status" dictCode="devicestatus1" <j-dict-select-tag type="radio" v-model="model.status" dictCode="devicestatus1"
placeholder="设备状态"></j-dict-select-tag> placeholder="设备状态"></j-dict-select-tag>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="维护周期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancecycle"> <a-form-model-item label="设备日负载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="val">
<a-input v-model="model.maintenancecycle" placeholder="请输入维护周期" ></a-input> <a-input v-model="model.val" placeholder="设备日负载" ></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="管理人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="administrator"> <a-form-model-item label="维护周期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancecycle">
<j-select-user-by-dep v-model="model.administrator" /> <a-input v-model="model.maintenancecycle" placeholder="请输入维护周期" ></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="上次维护时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancedate"> <a-form-model-item label="管理人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="administrator">
<j-date placeholder="请选择上次维护时间" v-model="model.maintenancedate" style="width: 100%" /> <j-select-user-by-dep v-model="model.administrator" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="3d模型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="img3d"> <a-form-model-item label="上次维护时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancedate">
<!-- <j-upload v-model="model.img3d" ></j-upload>--> <j-date placeholder="请选择上次维护时间" v-model="model.maintenancedate" style="width: 100%" />
<a-input v-model="model.img3d" placeholder="请输入模型地址" ></a-input> </a-form-model-item>
</a-form-model-item> </a-col>
</a-col> <a-col :span="24">
<a-col :span="24"> <a-form-model-item label="3d模型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="img3d">
<a-form-model-item label="设备品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status"> <!-- <j-upload v-model="model.img3d" ></j-upload>-->
<j-dict-select-tag v-model="model.brandId" dictCode="zy_devicebrand,brand,id" <a-input v-model="model.img3d" placeholder="请输入模型地址" ></a-input>
placeholder="设备品牌" ></j-dict-select-tag> </a-form-model-item>
</a-form-model-item> </a-col>
</a-col> <a-col :span="24">
<!-- <a-col :span="24">--> <a-form-model-item label="设备品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
<!-- <a-form-model-item label="类型编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="devicetypeCode ">--> <j-dict-select-tag v-model="model.brandId" dictCode="zy_devicebrand,brand,id"
<!-- <j-popup--> placeholder="设备品牌" ></j-dict-select-tag>
<!-- v-model="model.code1"--> </a-form-model-item>
<!-- field="code1"--> </a-col>
<!-- org-fields="model,id"--> <!-- <a-col :span="24">-->
<!-- dest-fields="code1,modelId"--> <!-- <a-form-model-item label="类型编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="devicetypeCode ">-->
<!-- code="zy_devicemodel"--> <!-- <j-popup-->
<!-- :multi="false"--> <!-- v-model="model.code1"-->
<!-- :param="parm1"--> <!-- field="code1"-->
<!-- @input="popupCallback"--> <!-- org-fields="model,id"-->
<!-- />--> <!-- dest-fields="code1,modelId"-->
<!-- </a-form-model-item>--> <!-- code="zy_devicemodel"-->
<!-- <a-input v-model="model.modelId" hidden/>--> <!-- :multi="false"-->
<!-- </a-col>--> <!-- :param="parm1"-->
<a-col :span="24"> <!-- @input="popupCallback"-->
<a-form-model-item label="类型编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="typeCode"> <!-- />-->
<j-popup <!-- </a-form-model-item>-->
v-model="model.typeCode" <!-- <a-input v-model="model.modelId" hidden/>-->
field="typeCode" <!-- </a-col>-->
org-fields="code" <a-col :span="24">
dest-fields="typeCode" <a-form-model-item label="类型编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="typeCode">
code="zy_devicetype" <j-popup
:multi="false" v-model="model.typeCode"
:param="parm1" field="typeCode"
@input="popupCallback" org-fields="code"
/> dest-fields="typeCode"
</a-form-model-item> code="zy_devicetype"
<a-input v-model="model.modelId" hidden/> :multi="false"
</a-col> :param="parm1"
</a-row> @input="popupCallback"
</a-form-model> />
</j-form-container> </a-form-model-item>
</a-spin> <a-input v-model="model.modelId" hidden/>
</template> </a-col>
</a-row>
<script> </a-form-model>
</j-form-container>
import { httpAction, getAction } from '@/api/manage' </a-spin>
import { validateDuplicateValue } from '@/utils/util' </template>
export default { <script>
name: 'ZyDeviceForm',
components: { import { httpAction, getAction } from '@/api/manage'
}, import { validateDuplicateValue } from '@/utils/util'
props: {
// export default {
disabled: { name: 'ZyDeviceForm',
type: Boolean, components: {
default: false, },
required: false props: {
} //
}, disabled: {
data () { type: Boolean,
return { default: false,
parm1:{ required: false
brand_id:'' }
}, },
model:{ data () {
status:1, return {
}, parm1:{
labelCol: { brand_id:''
xs: { span: 24 }, },
sm: { span: 5 }, model:{
}, status:1,
wrapperCol: { },
xs: { span: 24 }, labelCol: {
sm: { span: 16 }, xs: { span: 24 },
}, sm: { span: 5 },
confirmLoading: false, },
validatorRules: { wrapperCol: {
name:[ xs: { span: 24 },
{ required: true, message: '请输入设备名称!'}, sm: { span: 16 },
{min: 1, max: 200, message: '最多输入200字!', trigger: 'blur'}, },
], confirmLoading: false,
}, validatorRules: {
url: { name:[
add: "/device/zyDevice/add", { required: true, message: '请输入设备名称!'},
edit: "/device/zyDevice/edit", {min: 1, max: 200, message: '最多输入200字!', trigger: 'blur'},
queryById: "/device/zyDevice/queryById" ],
} },
} url: {
}, add: "/device/zyDevice/add",
computed: { edit: "/device/zyDevice/edit",
formDisabled(){ queryById: "/device/zyDevice/queryById"
return this.disabled }
}, }
}, },
created () { computed: {
//model formDisabled(){
this.modelDefault = JSON.parse(JSON.stringify(this.model)); return this.disabled
}, },
methods: { },
canshu(){ created () {
this.parm1.brand_id=this.model.canshu //model
// console.log(this.parm1) this.modelDefault = JSON.parse(JSON.stringify(this.model));
}, },
add () { methods: {
this.edit(this.modelDefault); canshu(){
}, this.parm1.brand_id=this.model.canshu
edit (record) { // console.log(this.parm1)
this.model = Object.assign({}, record); },
this.model.code1=this.model.typeCode add () {
this.visible = true; this.edit(this.modelDefault);
}, },
submitForm () { edit (record) {
const that = this; this.model = Object.assign({}, record);
// this.model.code1=this.model.typeCode
this.$refs.form.validate(valid => { this.visible = true;
if (valid) { },
that.confirmLoading = true; submitForm () {
let httpurl = ''; const that = this;
let method = ''; //
if(!this.model.id){ this.$refs.form.validate(valid => {
httpurl+=this.url.add; if (valid) {
method = 'post'; that.confirmLoading = true;
}else{ let httpurl = '';
httpurl+=this.url.edit; let method = '';
method = 'put'; if(!this.model.id){
} httpurl+=this.url.add;
httpAction(httpurl,this.model,method).then((res)=>{ method = 'post';
if(res.success){ }else{
that.$message.success(res.message); httpurl+=this.url.edit;
that.$emit('ok'); method = 'put';
}else{ }
that.$message.warning(res.message); httpAction(httpurl,this.model,method).then((res)=>{
} if(res.success){
}).finally(() => { that.$message.success(res.message);
that.confirmLoading = false; that.$emit('ok');
}) }else{
} that.$message.warning(res.message);
}
}) }).finally(() => {
}, that.confirmLoading = false;
popupCallback(value,row){ })
this.model = Object.assign(this.model, row); }
},
} })
} },
popupCallback(value,row){
this.model = Object.assign(this.model, row);
},
}
}
</script> </script>

@ -1,126 +1,129 @@
package org.jeecg.modules.device.entity; package org.jeecg.modules.device.entity;
import java.io.Serializable; import java.io.Serializable;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.Date; import java.util.Date;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict; import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
/** /**
* @Description: 设备信息 * @Description: 设备信息
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2021-11-11 * @Date: 2021-11-11
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@TableName("zy_device") @TableName("zy_device")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value="zy_device对象", description="设备信息") @ApiModel(value="zy_device对象", description="设备信息")
public class ZyDevice implements Serializable { public class ZyDevice implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**主键*/ /**主键*/
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键") @ApiModelProperty(value = "主键")
private String id; private String id;
/**创建人*/ /**创建人*/
@ApiModelProperty(value = "创建人") @ApiModelProperty(value = "创建人")
private String createBy; private String createBy;
/**创建日期*/ /**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期") @ApiModelProperty(value = "创建日期")
private Date createTime; private Date createTime;
/**更新人*/ /**更新人*/
@ApiModelProperty(value = "更新人") @ApiModelProperty(value = "更新人")
private String updateBy; private String updateBy;
/**更新日期*/ /**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期") @ApiModelProperty(value = "更新日期")
private Date updateTime; private Date updateTime;
/**所属部门*/ /**所属部门*/
@ApiModelProperty(value = "所属部门") @ApiModelProperty(value = "所属部门")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String orgCode; private String orgCode;
/**设备图片*/ /**设备图片*/
@Excel(name = "设备图片", width = 15) @Excel(name = "设备图片", width = 15)
@ApiModelProperty(value = "设备图片") @ApiModelProperty(value = "设备图片")
private String img; private String img;
/**设备类型*/ /**设备类型*/
// @Excel(name = "设备类型", width = 15, dictTable = "zy_devicetype", dicText = "name", dicCode = "id") // @Excel(name = "设备类型", width = 15, dictTable = "zy_devicetype", dicText = "name", dicCode = "id")
// @Dict(dictTable = "zy_devicetype", dicText = "name", dicCode = "id") // @Dict(dictTable = "zy_devicetype", dicText = "name", dicCode = "id")
// @ApiModelProperty(value = "设备类型") // @ApiModelProperty(value = "设备类型")
// private String typeid; // private String typeid;
/**设备编号*/ /**设备编号*/
@Excel(name = "设备编号", width = 15) @Excel(name = "设备编号", width = 15)
@ApiModelProperty(value = "设备编号") @ApiModelProperty(value = "设备编号")
private String code; private String code;
/**购买时间*/ /**购买时间*/
@Excel(name = "购买时间", width = 15, format = "yyyy-MM-dd") @Excel(name = "购买时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "购买时间") @ApiModelProperty(value = "购买时间")
private Date buydate; private Date buydate;
/**经办人*/ /**经办人*/
@Excel(name = "经办人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") @Excel(name = "经办人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
@ApiModelProperty(value = "经办人") @ApiModelProperty(value = "经办人")
private String agent; private String agent;
/**存放位置*/ /**存放位置*/
// @Excel(name = "存放位置", width = 15) // @Excel(name = "存放位置", width = 15)
// @ApiModelProperty(value = "存放位置") // @ApiModelProperty(value = "存放位置")
// private String adress; // private String adress;
/**设备状态*/ /**设备状态*/
@Excel(name = "设备状态", width = 15) @Excel(name = "设备状态", width = 15)
@ApiModelProperty(value = "设备状态") @ApiModelProperty(value = "设备状态")
@Dict(dicCode = "devicestatus1") @Dict(dicCode = "devicestatus1")
private String status; private String status;
/**二维码*/ /**二维码*/
@Excel(name = "二维码", width = 15) @Excel(name = "二维码", width = 15)
@ApiModelProperty(value = "二维码") @ApiModelProperty(value = "二维码")
private String qrcode; private String qrcode;
/**维护周期*/ /**维护周期*/
@Excel(name = "维护周期", width = 15) @Excel(name = "维护周期", width = 15)
@ApiModelProperty(value = "维护周期") @ApiModelProperty(value = "维护周期")
private Integer maintenancecycle; private Integer maintenancecycle;
/**管理人*/ /**管理人*/
@Excel(name = "管理人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") @Excel(name = "管理人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
@ApiModelProperty(value = "管理人") @ApiModelProperty(value = "管理人")
private String administrator; private String administrator;
/**上次维护时间*/ /**上次维护时间*/
@Excel(name = "上次维护时间", width = 15, format = "yyyy-MM-dd") @Excel(name = "上次维护时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "上次维护时间") @ApiModelProperty(value = "上次维护时间")
private Date maintenancedate; private Date maintenancedate;
/**3d模型*/ /**3d模型*/
@Excel(name = "3d模型", width = 15) @Excel(name = "3d模型", width = 15)
@ApiModelProperty(value = "3d模型") @ApiModelProperty(value = "3d模型")
private String img3d; private String img3d;
// @Excel(name = "设备品牌", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") // @Excel(name = "设备品牌", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Dict(dictTable = "zy_devicebrand", dicText = "brand", dicCode = "id") @Dict(dictTable = "zy_devicebrand", dicText = "brand", dicCode = "id")
@ApiModelProperty(value = "设备品牌") @ApiModelProperty(value = "设备品牌")
private String brandId; private String brandId;
@Dict(dictTable = "zy_devicemodel", dicText = "model", dicCode = "id") @Dict(dictTable = "zy_devicemodel", dicText = "model", dicCode = "id")
@ApiModelProperty(value = "设备型号") @ApiModelProperty(value = "设备型号")
private String modelId; private String modelId;
@ApiModelProperty(value = "设备类型") @ApiModelProperty(value = "设备类型")
private String typeCode; private String typeCode;
@ApiModelProperty(value = "设备名称") @ApiModelProperty(value = "设备名称")
private String name; private String name;
}
@ApiModelProperty(value = "设备日负载")
private Integer val;
}

Loading…
Cancel
Save