Browse Source

设备添加

master
yangzongjia 2 years ago
parent
commit
cd802abe94
  1. 14
      src/api/device/device.js
  2. 47
      src/views/shebeitaizhang/shebeitaizhangAdd.vue
  3. 95
      src/views/shebeitaizhang/shebeitaizhangInfo.vue
  4. 263
      src/views/shebeitaizhang/shebeitaizhangList.vue

14
src/api/device/device.js

@ -12,16 +12,18 @@ 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 updateDevice(data) {
return request({ url: '/device/updateDevice', method: 'post', params: data })
}
// 子系统撤防
export function getCallDisArm() {
return request({ url: '/call/getCallDisArm', method: 'GET', })
// 根据ID获取单条
export function getInfoById(data) {
return request({ url: '/device/getInfoById', method: 'GET', params: data })
}
// 创建消息消费者
export function createCallConsumer() {
return request({ url: '/call/createCallConsumer', method: 'GET', })

47
src/views/shebeitaizhang/shebeitaizhangAdd.vue

@ -28,8 +28,7 @@
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="addForm.posotion" maxlength="20" placeholder="请填写设备位置 " class="addinputw"
clearable />
<el-input v-model="addForm.posotion" maxlength="20" placeholder="请填写设备位置 " class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
@ -66,26 +65,6 @@
</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-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-form>
</div>
</div>
@ -93,11 +72,9 @@
</template>
<script>
// import req from '@/api/shebeitaizhang/shebeitaizhang'
// import { typeValues } from '@/api/cheliang/dictcommons'
import { createDevice } from '@/api/device/device'
import { createDevice, updateDevice } from '@/api/device/device'
export default {
export default {
name: 'shebeitaizhangAdd',
data() {
var checkSubmit = (rule, value, callback) => {
@ -178,6 +155,11 @@
showAdd(typeSubmit) {
this.dialogStatus = typeSubmit
},
showEdit(param) {
this.dialogStatus = param.typeSubmit
this.addForm = param.info
this.addForm.vCode = param.info.vcode
},
handleSave() {
this.$refs['form_obj'].validate(valid => {
if (valid) {
@ -198,11 +180,12 @@
this.submitdisabled = false
})
} else if (this.dialogStatus === 'edit') {
req.update(formobj, this.sid).then(resp => {
this.addForm.createTime = null
this.addForm.status = null
updateDevice(this.addForm).then(resp => {
this.submitdisabled = false
if (resp.success) {
if (resp.code == 200) {
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
@ -224,10 +207,10 @@
this.$emit('doback')
}
}
}
}
</script>
<style scoped>
.divStyle {
.divStyle {
padding: 7px;
font-weight: bold;
font-size: 16px;
@ -238,5 +221,5 @@
flex-direction: row;
justify-content: space-between;
align-items: center;
}
}
</style>

95
src/views/shebeitaizhang/shebeitaizhangInfo.vue

@ -14,11 +14,11 @@
</div>
<el-row>
<el-col :span="4" class="tleftb">
<span>设备</span>
<span>设备验证</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturerName }}</span>
<span>{{ infoForm.vCode }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
@ -26,7 +26,7 @@
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturerAs }}</span>
<span>{{ infoForm.position }}</span>
</el-form-item>
</el-col>
</el-row>
@ -36,55 +36,29 @@
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ getSupplierType(infoForm.manufacturerCode) }}</span>
<span>{{ getSupplierType(infoForm.type) }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>安装时间</span>
<span>备注</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.supplierTypeValue }}</span>
<span>{{ infoForm.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>出厂时间</span>
<span>设备名称</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturer }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>供货商</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturerAddress }}</span>
<span>{{ infoForm.name }}</span>
</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>
<span>{{ infoForm.manufacturerTelePhone }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>保修截止日期</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturerFax }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-row>
<el-col :span="4" class="tleftb">
<span>状态</span>
</el-col>
@ -94,32 +68,12 @@
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<!-- <span>所属仓库</span> -->
</el-col>
<el-col :span="8">
<el-form-item>
<!-- <span>{{ infoForm.cangku }}</span> -->
</el-form-item>
</el-col>
</el-row>
<!-- <div class="title">
<div>开户行信息</div>
</div>
<el-table :key="tableKey" :data="baseManufacturerBankDto" :index="index" border style="width: 100%">
<el-table-column fixed width="60px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="dueBankValue" width="140px" label="账户类型" align="center"/>
<el-table-column prop="depositBank" width="180px" label="开户银行" align="center"/>
<el-table-column prop="bankAccount" width="160px" label="银行账号" align="center"/>
<el-table-column prop="accountName" width="130px" label="账号名称" align="center"/>
<el-table-column prop="bankingOutlets" width="180px" label="银行网点" align="center"/>
<el-table-column prop="bankAddress" width="260px" label="开户行地址" align="center"/>
<el-table-column prop="paymentLines" width="160px" label="联行号" align="center"/>
<el-table-column prop="swiftCode" width="200px" label="swiftcode(银行代码)" align="center"/>
<el-table-column prop="currency" width="130px" label="币种" align="center"/>
<el-table-column prop="remarks" width="240px" label="描述" align="center"/>
<el-table-column prop="actualPay" width="240px" label="厂家销售通路" align="center"/>
<el-table-column prop="paymentAccessNoValue" width="240px" label="付款通路编码" align="center"/>
</el-table> -->
</el-row> -->
</el-form>
</div>
</div>
@ -127,9 +81,7 @@
</template>
<script>
// import req from '@/api/shebeitaizhang/shebeitaizhang'
export default {
export default {
name: 'shebeitaizhangInfo',
data() {
return {
@ -138,6 +90,9 @@
viewTitle: '',
supplierType_list: [
{ title: '摄像头', id: '1' },
{ title: '电子围栏', id: '2' },
{ title: '门禁', id: '3' },
{ title: '机器人', id: '4' }
],
status_list: [
{ title: '已损坏', id: '1' },
@ -145,16 +100,6 @@
{ title: '完好', id: '3' },
],
infoForm: {
manufacturerName: 'KD-22',
manufacturerAs: '2F金陵文脉',
manufacturerCode: '1',
supplierTypeValue: '2023-02-26 16:00:00',
manufacturerAddress: '大华',
manufacturer: '2023-02-26 12:00:00',
manufacturerTelePhone: '大华科技',
manufacturerFax: '2023-05-23',
status:'1',
cangku:'仓库1',
},
// baseManufacturerBankDto: [],
rules: {},
@ -181,19 +126,13 @@
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '设备台账详情'
// req.fetchBySid(row.sid).then(resp => {
// this.infoForm = resp.data.infoForm
// this.baseManufacturerBankDto = resp.data.baseManufacturerBankDto
// }).catch(e => {
// this.formobj = row
// })
this.infoForm = row.info
},
handleReturn() {
this.$emit('doback')
}
}
}
}
</script>
<style scoped>
</style>
<style scoped></style>

263
src/views/shebeitaizhang/shebeitaizhangList.vue

@ -43,7 +43,7 @@
</el-select>
</el-form-item>
<el-form-item label="设备类型">
<el-select v-model="listQuery.supplierType" filterable clearable placeholder="请选择设备类型">
<el-select v-model="listQuery.type" 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>
@ -71,15 +71,8 @@
:disabled="!row.isShow && (row.supplierTypeValue === '主机厂' || row.supplierTypeValue === '分公司')"
@click="handleEdit(row)">编辑</el-button>
<el-button size="mini" type="primary" @click="handleCheck(row)">详情</el-button>
<!-- <el-button size="mini" type="primary" @click="handleadd(row)">添加到仓库</el-button> -->
<!-- <el-button size="mini" type="primary">处理</el-button> -->
</template>
</el-table-column>
<!-- <el-table-column prop="jc" label="设备" width="220" header-align="center" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="handleCheck(scope.row)">{{ scope.row.bianma }}</span>
</template>
</el-table-column> -->
<el-table-column prop="jc" label="设备编码" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.bianma }}</span>
@ -87,37 +80,22 @@
</el-table-column>
<el-table-column label="设备类型" width="110" align="center">
<template slot-scope="scope">
<span>{{ getSupplierType(scope.row.supplierTypeValue) }}</span>
<span>{{ getSupplierType(scope.row.type) }}</span>
</template>
</el-table-column>
<el-table-column label="设备位置" width="" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.weizhi }}</span>
</template>
</el-table-column>
<el-table-column label="出厂时间" align="center">
<template slot-scope="scope">
<span>{{ scope.row.time }}</span>
</template>
</el-table-column>
<el-table-column label="安装时间" align="center">
<template slot-scope="scope">
<span>{{ scope.row.anzhuangtime }}</span>
<span>{{ scope.row.position }}</span>
</template>
</el-table-column>
<el-table-column label="供货商" align="center">
<el-table-column label="设备名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.gonghuashang }}</span>
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="生产厂家" align="center">
<el-table-column label="备注" align="center">
<template slot-scope="scope">
<span>{{ scope.row.owner }}</span>
</template>
</el-table-column>
<el-table-column label="保修截止日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.policeTime }}</span>
<span>{{ scope.row.remarks }}</span>
</template>
</el-table-column>
<el-table-column label="所属仓库" align="center">
@ -149,18 +127,18 @@
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
// 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'
// 1.1
const wanhao_Chart = {
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
// import { typeValues, getOrgSidByPath } from '@/api/cheliang/dictcommons'
import shebeitaizhangAdd from './shebeitaizhangAdd'
import shebeitaizhangInfo from './shebeitaizhangInfo'
import { getDevicePage, getInfoById } from '@/api/device/device'
// import req from '@/api/shebeitaizhang/shebeitaizhang'
import * as echarts from "echarts";
import PieChartrenyuan from '@/views/echarts/components/PieChartrenyuanb'
// 1.1
const wanhao_Chart = {
// seriesName: '',
unit: '次',
color: ['#30e9ff', '#d9d9d9', '#fdc004'],
@ -179,9 +157,9 @@
},
// radius: ['50%', '55%']
}
// 1.2
const weixiu_Chart = {
}
// 1.2
const weixiu_Chart = {
// seriesName: '',
unit: '次',
color: ['#fe7f02', '#fdc004'],
@ -200,9 +178,9 @@
},
// radius: ['50%', '55%']
}
// 1.3
const sunhai_Chart = {
}
// 1.3
const sunhai_Chart = {
// seriesName: '',
unit: '次',
color: ['#d2cece', '#ff0202', '#fdc004'],
@ -220,9 +198,9 @@
},
// radius: ['50%', '55%']
}
}
export default {
export default {
name: 'shebeitaizhangList',
components: {
Pagination,
@ -252,27 +230,6 @@
btnKey: 'doDel',
btnLabel: '删除'
},
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toChangShang',
// btnLabel: ''
// },
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toChangShang',
// btnLabel: ''
// },
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toGain',
// btnLabel: ''
// },
{
type: 'success',
size: 'small',
@ -280,13 +237,6 @@
btnKey: 'import',
btnLabel: '导入'
},
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'build',
// btnLabel: ''
// },
{
type: 'info',
size: 'small',
@ -301,18 +251,7 @@
sids: [],
// -----------
tableKey: 0,
list: [
{ bianma: 'KD-22', cangku: '库房1', supplierTypeValue: '1', weizhi: '2F金陵文脉', time: '2023-02-26 12:00:00', anzhuangtime: '2023-02-26 16:00:00', gonghuashang: '大华', owner: '大华科技', policeTime: '2023-05-18', status: '1' },
{ bianma: 'KD-22', cangku: '库房2', supplierTypeValue: '1', weizhi: '2F金陵文脉', time: '2023-02-26 12:00:00', anzhuangtime: '2023-02-26 16:00:00', gonghuashang: '大华', owner: '大华科技', policeTime: '2023-05-19', status: '1' },
{ bianma: 'KD-22', cangku: '库房3', supplierTypeValue: '1', weizhi: '2F金陵文脉', time: '2023-02-26 12:00:00', anzhuangtime: '2023-02-26 16:00:00', gonghuashang: '大华', owner: '大华科技', policeTime: '2023-05-19', status: '2' },
{ bianma: 'KD-22', cangku: '库房4', supplierTypeValue: '1', weizhi: '2F金陵文脉', time: '2023-02-26 12:00:00', anzhuangtime: '2023-02-26 16:00:00', gonghuashang: '大华', owner: '大华科技', policeTime: '2023-05-20', status: '2' },
{ bianma: 'KD-22', cangku: '库房5', supplierTypeValue: '1', weizhi: '2F金陵文脉', time: '2023-02-26 12:00:00', anzhuangtime: '2023-02-26 16:00:00', gonghuashang: '大华', owner: '大华科技', policeTime: '2023-05-20', status: '2' },
{ bianma: 'KD-22', cangku: '库房1', supplierTypeValue: '1', weizhi: '2F金陵文脉', time: '2023-02-26 12:00:00', anzhuangtime: '2023-02-26 16:00:00', gonghuashang: '大华', owner: '大华科技', policeTime: '2023-05-21', status: '1' },
{ bianma: 'KD-22', cangku: '库房1', supplierTypeValue: '1', weizhi: '2F金陵文脉', time: '2023-02-26 12:00:00', anzhuangtime: '2023-02-26 16:00:00', gonghuashang: '大华', owner: '大华科技', policeTime: '2023-05-23', status: '1' },
{ bianma: 'KD-22', cangku: '库房1', supplierTypeValue: '1', weizhi: '2F金陵文脉', time: '2023-02-26 12:00:00', anzhuangtime: '2023-02-26 16:00:00', gonghuashang: '大华', owner: '大华科技', policeTime: '2023-05-23', status: '3' },
{ bianma: 'KD-22', cangku: '库房1', supplierTypeValue: '1', weizhi: '2F金陵文脉', time: '2023-02-26 12:00:00', anzhuangtime: '2023-02-26 16:00:00', gonghuashang: '大华', owner: '大华科技', policeTime: '2023-05-23', status: '3' },
{ bianma: 'KD-22', cangku: '库房1', supplierTypeValue: '1', weizhi: '2F金陵文脉', time: '2023-02-26 12:00:00', anzhuangtime: '2023-02-26 16:00:00', gonghuashang: '大华', owner: '大华科技', policeTime: '2023-05-23', status: '3' },
],
list: [],
listLoading: false,
listQuery: {
current: 1,
@ -320,7 +259,10 @@
total: 0
},
supplierType_list: [
{ title: '摄像机', id: '1' },
{ title: '摄像头', id: '1' },
{ title: '电子围栏', id: '2' },
{ title: '门禁', id: '3' },
{ title: '机器人', id: '4' }
],
floor_list: [
{ title: '一层', id: '1' },
@ -421,17 +363,15 @@
//
getList() {
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
// } else {
// this.list = []
// this.listQuery.total = 0
// }
if (response.code == '200') {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
@ -440,26 +380,29 @@
this.getList()
},
handleReset() {
// this.listQuery = {
// params: {
// manufacturerName: '',
// supplierType: '',
// useOrgSid: '',
// createOrgSid: '',
// manufacturerTelePhone: '',
// contactName: ''
// },
// current: 1,
// size: 5
// }
// this.init()
},
//
toAdd() {
this.listQuery.typeSubmit = 'add'
this.viewState = 2
this.listQuery.typeSubmit = 'add'
this.$refs['divadd'].showAdd(this.listQuery.typeSubmit)
},
//
handleCheck(row) {
getInfoById({ id: row.id }).then(res => {
this.viewState = 4
this.listQuery.info = res.data
this.$refs['divinfo'].showInfo(this.listQuery)
})
},
handleEdit(row) {
this.listQuery.typeSubmit = 'edit'
this.viewState = 2
getInfoById({ id: row.id }).then(res => {
this.listQuery.info = res.data
this.$refs['divadd'].showEdit(this.listQuery)
})
},
handleSelectionChange(row) {
const aa = []
@ -506,80 +449,30 @@
path: '/cangkuguanli/cangkuguanliList',
})
},
// toChangShang() {
// req.saveGysByOrgSid(this.listQuery.params.createOrgSid).then((resp) => {
// if (resp.success) {
// this.$message({ showClose: true, type: 'success', message: '' })
// this.getList()
// }
// })
// },
// toGain() {
// req.saveAllByOrgSid({ orgSid: this.listQuery.params.createOrgSid }).then((resp) => {
// if (resp.success) {
// this.$message({ showClose: true, type: 'success', message: '' })
// this.getList()
// }
// })
// },
handleEdit(row) {
// this.viewState = 3
// this.$refs['divadd'].showEdit(row)
this.viewState = 2
this.$refs['divadd'].showAdd(this.listQuery.params.createOrgSid)
// if (row.supplierTypeValue !== '' && row.supplierTypeValue !== '') {
// this.viewState = 3
// this.$refs['divadd'].showEdit(row)
// } else {
// this.viewState = 5
// this.$refs['divHosts'].showInfo(row)
// }
},
//
handleCheck(row) {
this.viewState = 4
this.$refs['divinfo'].showInfo(row)
},
//
// doExport() {
// basefinbankExportExcel(this.sids).then((res) => {
// const blob = new Blob([res], {
// type: 'application/vnd.ms-excel'
// })
// const objectUrl = URL.createObjectURL(blob)
// window.location.href = objectUrl
// this.$notify({
// title: '',
// message: '',
// type: 'success',
// duration: 2000
// })
// })
// },
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
}
</script>
<style scoped>
.app-containerb {
.app-containerb {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: flex-start;
}
}
.webye {
.webye {
flex: 1;
text-align: left;
}
}
/* 饼图部分 */
.tbars {
/* 饼图部分 */
.tbars {
width: 250px;
height: 100%;
/* display: flex;
@ -591,25 +484,25 @@
background-color: #fff;
box-shadow: 0px 0px 10px #E9E9E9;
border-radius: 5px;
}
}
.tbar {
.tbar {
/* width: 25%; */
margin: 0 0px 0 0;
/* background-color: #fff;
box-shadow:0px 0px 10px #E9E9E9;border-radius: 5px; */
padding: 10px;
}
}
.tbar:last-of-type {
.tbar:last-of-type {
margin: 0;
}
}
.tbar0 {
.tbar0 {
border-bottom: 0px solid #032ab8;
}
}
.tbar .title {
.tbar .title {
font-size: 20px;
padding: 0px 20px;
text-align: center;
@ -617,13 +510,13 @@
color: #333;
font-size: 16px;
/* border-bottom: 1px solid #ececee; */
}
}
.tbar .title span {
.tbar .title span {
padding: 0 10px 0 0;
}
}
.tbar .bar {
.tbar .bar {
position: relative;
/* display: flex;
flex-direction: row;
@ -632,9 +525,9 @@
margin: 0;
padding: 0px;
height: 190px;
}
}
.tbar .bar .zhongzi {
.tbar .bar .zhongzi {
position: absolute;
top: 0;
bottom: 0;
@ -645,5 +538,5 @@
font-weight: bold;
color: #333;
font-size: 18px;
}
}
</style>
Loading…
Cancel
Save