Browse Source

设备添加 列表

master
1181364@qq.com 2 years ago
parent
commit
0df8036e94
  1. 44
      src/api/device/device.js
  2. 195
      src/views/shebeitaizhang/shebeitaizhangAdd.vue
  3. 99
      src/views/shebeitaizhang/shebeitaizhangList.vue

44
src/api/device/device.js

@ -0,0 +1,44 @@
import request from '@/utils/request'
// eslint-disable-next-line no-unused-vars
import qs from 'qs'
// 添加设备
export function createDevice(data) {
return request({ url: '/device/createDevice', method: 'post', params: data })
}
// 获取设备列表
export function getDevicePage(data) {
return request({ url: '/device/getDevicePage', method: 'GET', params: data })
}
// 子系统布防
export function getCallArm() {
return request({ url: '/call/getCallArm', method: 'GET', })
}
// 子系统撤防
export function getCallDisArm() {
return request({ url: '/call/getCallDisArm', method: 'GET', })
}
// 创建消息消费者
export function createCallConsumer() {
return request({ url: '/call/createCallConsumer', method: 'GET', })
}
// 获取消息列表
export function getCallMessageList(data) {
return request({ url: '/call/getCallMessageList', method: 'GET', params: data })
}
// 提交消息偏移量
export function doCallMessageOffsets(data) {
return request({ url: '/call/doCallMessageOffsets', method: 'GET', params: data })
}
// 获取所有防区状态
export function getCallZoneStatusList(data) {
return request({ url: '/call/getCallZoneStatusList', method: 'GET' })
}

195
src/views/shebeitaizhang/shebeitaizhangAdd.vue

@ -16,12 +16,11 @@
</div>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>设备</span>
<span><span class="icon">*</span>设备验证</span>
</el-col>
<el-col :span="8">
<el-form-item prop="">
<el-input v-model="addForm.manufacturerName" maxlength="20" placeholder="请填写设备编码" class="addinputw"
clearable />
<el-form-item prop="vCode">
<el-input v-model="addForm.vCode" maxlength="20" placeholder="请填写设备验证码" class="addinputw" clearable />
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
@ -29,7 +28,7 @@
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="addForm.manufacturerAs" maxlength="20" placeholder="请填写设备位置 " class="addinputw"
<el-input v-model="addForm.posotion" maxlength="20" placeholder="请填写设备位置 " class="addinputw"
clearable />
</el-form-item>
</el-col>
@ -39,53 +38,35 @@
<span><span class="icon">*</span>设备类型</span>
</el-col>
<el-col :span="8">
<!-- <el-form-item prop="">
<el-input v-model="addForm.manufacturerCode" :disabled="!isShow" maxlength="20"
placeholder="请填写金蝶供应商编码,如无请自己创建编码" class="addinputw" clearable />
</el-form-item> -->
<el-form-item>
<el-select v-model="addForm.manufacturerCode" filterable clearable placeholder="请选择设备类型"
style="width: 410px;">
<el-form-item prop="type">
<el-select v-model="addForm.type" filterable clearable placeholder="请选择设备类型" style="width: 410px;">
<el-option v-for="item in supplierType_list" :key="item.id" :label="item.title" :value="item.id"
class="addinputw" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>安装时间</span>
<span>备注</span>
</el-col>
<el-col :span="8">
<el-form-item prop="">
<!-- <el-input v-model="addForm.manufacturerCode" :disabled="!isShow" maxlength="20"
placeholder="请填写金蝶供应商编码,如无请自己创建编码" class="addinputw" clearable /> -->
<el-date-picker type="date" placeholder="选择日期" v-model="addForm.manufacturerCode" style="width: 410px;"
maxlength="20"></el-date-picker>
<!-- <el-date-picker type="date" placeholder="选择日期" v-model="addForm.manufacturerCode" style="width: 410px;"
maxlength="20"></el-date-picker> -->
<el-input v-model="addForm.remarks" maxlength="20" placeholder="请填写备注" class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>出厂时间</span>
</el-col>
<el-col :span="8">
<el-form-item prop="">
<!-- <el-input v-model="addForm.manufacturerCode" :disabled="!isShow" maxlength="20"
placeholder="请填写金蝶供应商编码,如无请自己创建编码" class="addinputw" clearable /> -->
<el-date-picker type="date" placeholder="选择日期" v-model="addForm.manufacturerCode" style="width: 410px;"
maxlength="20"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>供货商</span>
<span><span class="icon">*</span>设备名称</span>
</el-col>
<el-col :span="8">
<el-form-item prop="">
<el-input v-model="addForm.manufacturerCode" :disabled="!isShow" maxlength="20" placeholder="请填写供应商编码"
class="addinputw" clearable />
<el-form-item prop="name">
<el-input v-model="addForm.name" maxlength="20" placeholder="请填写设备名称" class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-row>
<el-col :span="4" class="tleftb">
<span>生产厂家</span>
</el-col>
@ -100,87 +81,11 @@
</el-col>
<el-col :span="8">
<el-form-item>
<!-- <el-input v-model="addForm.manufacturerFax" maxlength="20" placeholder="" class="addinputw" clearable /> -->
<el-date-picker type="date" placeholder="选择日期" v-model="addForm.manufacturerFax" style="width: 410px;"
maxlength="20"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row> -->
<!-- <el-col :span="4" class="tleftb">
<span>所属仓库</span>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="addForm.manufacturerTelePhone" maxlength="20" placeholder="请填写所属仓库"
class="addinputw" clearable />
</el-form-item>
</el-col> -->
<!-- <el-col :span="4" class="tleftb">
<span></span>
</el-col>
<el-col :span="8">
<el-form-item>
</el-form-item>
</el-col> -->
<!-- </el-row> -->
<!-- <el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>联系人姓名</span>
</el-col>
<el-col :span="8">
<el-form-item prop="contactName">
<el-input v-model="addForm.contactName" maxlength="5" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>联系人手机号</span>
</el-col>
<el-col :span="8">
<el-form-item prop="contactMobile">
<el-input v-model="addForm.contactMobile" maxlength="11" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>联系人办公电话</span>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="addForm.contactTelePhone" maxlength="14" placeholder="例:010-88888888"
class="addinputw" clearable />
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>微信号</span>
</el-col>
<el-col :span="8">
<el-form-item prop="weChatID">
<el-input v-model="addForm.weChatID" maxlength="100" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>邮编</span>
</el-col>
<el-col :span="8">
<el-form-item prop="">
<el-input v-model="addForm.zipCode" maxlength="20" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>邮箱</span>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="addForm.email" maxlength="20" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row> -->
</el-form>
</div>
</div>
@ -190,6 +95,7 @@
<script>
// import req from '@/api/shebeitaizhang/shebeitaizhang'
// import { typeValues } from '@/api/cheliang/dictcommons'
import { createDevice } from '@/api/device/device'
export default {
name: 'shebeitaizhangAdd',
@ -227,60 +133,23 @@
{ title: '门禁', id: '3' },
{ title: '机器人', id: '4' }
],
addForm: {
manufacturerName: '',
manufacturerAs: '',
manufacturerCode: '',
supplierType: '',
supplierTypeValue: '',
manufacturerAddress: '',
manufacturerTelePhone: '',
manufacturerFax: '',
contactName: '',
contactMobile: '',
contactTelePhone: '',
weChatID: '',
zipCode: '',
email: '',
createOrg: '',
useOrg: ''
},
addForm: {},
baseManufacturerBankDto: [],
rules: {
manufacturerName: [{
name: [{
required: true,
message: '请填写供应商名称',
message: '请填写设备名称',
trigger: 'blur'
}],
supplierTypeValue: [{
required: true,
message: '请选择分类',
trigger: 'change'
}],
manufacturerAddress: [{
vCode: [{
required: true,
message: '请填写供应商通讯地址',
message: '请填写验证码',
trigger: 'blur'
}],
manufacturerFax: [{
type: [{
required: true,
validator: checkChuanzhen,
trigger: 'blur'
}],
contactName: [{
required: true,
message: '请填写联系人名字',
trigger: 'blur'
}],
contactMobile: [{
required: true,
validator: checkSubmit,
trigger: 'blur'
}],
manufacturerCode: [{
required: true,
message: '编码不能为空',
trigger: 'blur'
message: '请选择设备类型',
trigger: 'change'
}]
},
submitdisabled: false
@ -306,20 +175,24 @@
})
this.addForm.supplierType = bb.key
},
showAdd(typeSubmit) {
this.dialogStatus = typeSubmit
},
handleSave() {
this.$refs['form_obj'].validate(valid => {
if (valid) {
console.log(this.dialogStatus)
this.submitdisabled = true
const formobj = {
baseManufacturerBankDto: this.baseManufacturerBankDto,
addForm: this.addForm
}
if (this.dialogStatus === 'add') {
req.save(formobj).then(resp => {
createDevice(this.addForm).then(resp => {
this.submitdisabled = false
if (resp.success) {
console.log(resp)
if (resp.code == 200) {
if (resp.data == true) {
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.handleReturn('true')
} else {
this.$message({ showClose: true, type: 'error', message: resp.data })
}
}
}).catch(() => {
this.submitdisabled = false

99
src/views/shebeitaizhang/shebeitaizhangList.vue

@ -38,27 +38,15 @@
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="110px" class="tab-header">
<el-form-item label="选择仓库">
<el-select v-model="listQuery.params.cangku" filterable clearable placeholder="请选择仓库">
<el-select v-model="listQuery.cangku" filterable clearable placeholder="请选择仓库">
<el-option v-for="item in cangku_list" :key="item.id" :label="item.title" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="设备类型">
<el-select v-model="listQuery.params.supplierType" filterable clearable placeholder="请选择设备类型">
<el-select v-model="listQuery.supplierType" filterable clearable placeholder="请选择设备类型">
<el-option v-for="item in supplierType_list" :key="item.id" :label="item.title" :value="item.id" />
</el-select>
</el-form-item>
<!-- <el-form-item label="选择楼层">
<el-select v-model="listQuery.params.supplierType1" filterable clearable placeholder="请选择楼层">
<el-option v-for="item in floor_list" :key="item.id" :label="item.title" :value="item.id" />
</el-select>
</el-form-item> -->
<!-- <el-form-item label="厂商办公电话">
<el-input v-model="listQuery.params.manufacturerTelePhone" maxlength="130" placeholder="" class="addinputw" clearable/>
</el-form-item>
<el-form-item label="联系人">
<el-input v-model="listQuery.params.contactName" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-form-item> -->
</el-form>
<div class="btn">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
@ -167,6 +155,7 @@
// import { typeValues, getOrgSidByPath } from '@/api/cheliang/dictcommons'
import shebeitaizhangAdd from './shebeitaizhangAdd'
import shebeitaizhangInfo from './shebeitaizhangInfo'
import { getDevicePage } from '@/api/device/device'
// import req from '@/api/shebeitaizhang/shebeitaizhang'
import * as echarts from "echarts";
import PieChartrenyuan from '@/views/echarts/components/PieChartrenyuanb'
@ -326,14 +315,6 @@
],
listLoading: false,
listQuery: {
params: {
manufacturerName: '',
supplierType: '',
useOrgSid: '',
createOrgSid: '',
manufacturerTelePhone: '',
contactName: ''
},
current: 1,
size: 5,
total: 0
@ -364,7 +345,7 @@
},
created() {
//
// this.init()
this.init()
},
methods: {
getStatus(item) {
@ -418,15 +399,9 @@
this.searchxianshitit = '显示查询条件'
}
},
// init() {
// getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
// if (res.success) {
// this.listQuery.params.createOrgSid = res.data
// this.getType()
// this.getList()
// }
// })
// },
init() {
this.getList()
},
// getType() {
// typeValues({
// type: 'supplierType'
@ -445,9 +420,11 @@
},
//
getList() {
// this.listLoading = true
// req.gysPagerList(this.listQuery).then((response) => {
// this.listLoading = false
this.listLoading = true
console.log(this.listQuery)
getDevicePage(this.listQuery).then((response) => {
this.listLoading = false
console.log(response)
// if (response.code === '200' && response.data && response.data.total > 0) {
// this.list = response.data.records
// this.listQuery.total = response.data.total
@ -455,7 +432,7 @@
// this.list = []
// this.listQuery.total = 0
// }
// })
})
},
//
handleFilter() {
@ -479,8 +456,9 @@
},
//
toAdd() {
this.listQuery.typeSubmit = 'add'
this.viewState = 2
this.$refs['divadd'].showAdd(this.listQuery.params.createOrgSid)
this.$refs['divadd'].showAdd(this.listQuery.typeSubmit)
},
handleSelectionChange(row) {
@ -591,11 +569,19 @@
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;align-items: flex-start;
justify-content: flex-start;
align-items: flex-start;
}
.webye {
flex: 1;
text-align: left;
}
.webye{flex: 1;text-align: left;}
/* 饼图部分 */
.tbars {width: 250px;height: 100%;
.tbars {
width: 250px;
height: 100%;
/* display: flex;
flex-direction: row;
flex-wrap: nowrap;
@ -603,8 +589,10 @@
margin: 0 20px 0 0;
padding: 10px;
background-color: #fff;
box-shadow:0px 0px 10px #E9E9E9;border-radius: 5px;
box-shadow: 0px 0px 10px #E9E9E9;
border-radius: 5px;
}
.tbar {
/* width: 25%; */
margin: 0 0px 0 0;
@ -612,22 +600,31 @@
box-shadow:0px 0px 10px #E9E9E9;border-radius: 5px; */
padding: 10px;
}
.tbar:last-of-type {
margin: 0;
}
.tbar0 {
border-bottom: 0px solid #032ab8;
}
.tbar .title {
font-size: 20px;
padding: 0px 20px;text-align: center;
font-weight: bold; color: #333;font-size: 16px;
padding: 0px 20px;
text-align: center;
font-weight: bold;
color: #333;
font-size: 16px;
/* border-bottom: 1px solid #ececee; */
}
.tbar .title span {
padding: 0 10px 0 0;
}
.tbar .bar {position: relative;
.tbar .bar {
position: relative;
/* display: flex;
flex-direction: row;
flex-wrap: nowrap;
@ -636,7 +633,17 @@
padding: 0px;
height: 190px;
}
.tbar .bar .zhongzi {position: absolute;top:0;bottom: 0;left: 0;right: 0;line-height: 240px;text-align: center;
font-weight: bold; color: #333;font-size: 18px;
.tbar .bar .zhongzi {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
line-height: 240px;
text-align: center;
font-weight: bold;
color: #333;
font-size: 18px;
}
</style>
Loading…
Cancel
Save