Browse Source

环境监控改为监控中心

首页去掉电子巡更。
首页去掉工作流,门禁信息改为报警信息,放在最左侧。
视频中心:去掉楼栋和楼层,将正常、离线、报警默认为全部选中,可点击取消选中。
人脸识别:名称改为“质物监测”,内容先不变,以后用于长期不动的货物定期拍照,并进行图片对比来识别质押物是否有变化。
设备台帐:新增设备需要与仓储管理子模块的仓库对应上
master
zyc@123456 2 years ago
parent
commit
b5d71d8705
  1. 24
      src/layout/components/Sidebar/index.vue
  2. 2
      src/layout/index.vue
  3. 75
      src/router/index.js
  4. 524
      src/views/cangkuguanli/cangkuguanliAdd.vue
  5. 245
      src/views/cangkuguanli/cangkuguanliInfo.vue
  6. 690
      src/views/cangkuguanli/cangkuguanliList.vue
  7. 369
      src/views/cangkuguanli/shebei/shebeiAdd.vue
  8. 199
      src/views/cangkuguanli/shebei/shebeiInfo.vue
  9. 608
      src/views/cangkuguanli/shebei/shebeiList.vue
  10. 33
      src/views/index.vue
  11. 310
      src/views/monitor/videos/index.vue
  12. 4
      src/views/renlianshibie/renlianshibieList.vue
  13. 26
      src/views/shebeitaizhang/shebeitaizhangAdd.vue
  14. 9
      src/views/shebeitaizhang/shebeitaizhangInfo.vue
  15. 54
      src/views/shebeitaizhang/shebeitaizhangList.vue

24
src/layout/components/Sidebar/index.vue

@ -122,7 +122,7 @@
component: "renlianshibie",
meta: {
icon: "icon-renlianshibie6",
title: "人脸识别",
title: "质物监测",
},
name: "",
path: "/renlianshibie/renlianshibieList",
@ -131,7 +131,7 @@
// component: "index",
// meta: {
// icon: "el-icon-help",
// title: "",
// title: "",
// },
// name: "/renlianshibie/renlianshibieList",
// path: "/renlianshibie/renlianshibieList",
@ -177,6 +177,26 @@
// path: "/shebeitaizhang/shebeitaizhangList",
// }]
},
{
alwaysShow: true,
component: "cangkuguanli",
meta: {
icon: "el-icon-menu",
title: "仓库管理",
},
name: "",
path: "/cangkuguanli/cangkuguanliList",
// children: [{
// alwaysShow: true,
// component: "index",
// meta: {
// icon: "el-icon-help",
// title: "",
// },
// name: "/cangkuguanli/cangkuguanliList",
// path: "/cangkuguanli/cangkuguanliList",
// }]
},
{
alwaysShow: true,
component: "baojingchaxun",

2
src/layout/index.vue

@ -11,7 +11,7 @@
<div class="main-container">
<div class="home-box">
<a href="javascript:window.opener=null;window.open('','_self');window.close();" class="text-center">平台首页</a>
<a href="javascript:void(0);" class="text-center">环境监控</a>
<a href="javascript:void(0);" class="text-center">监控中心</a>
</div>
<sidebar class="sidebar-container" />
<!--菜单-->

75
src/router/index.js

@ -75,33 +75,33 @@ export const constantRoutes = [
],
},
////
// {
// path: "/gongyingshanggaunli",
// component: Layout,
// redirect: "/gongyingshang/gongyingshanggaunli",
// meta: {
// title: "视频中心1",
// },
// children: [
// {
// path: "/gongyingshang/gongyingshanggaunli",
// component: () =>
// import("@/views/gongyingshang/gongyingshanggaunli.vue"),
// name: "gongyingshanggaunli",
// meta: {
// title: "视频中心1",
// noCache: true,
// },
// },
// ],
// },
////人脸识别
{
path: "/gongyingshanggaunli",
component: Layout,
redirect: "/gongyingshang/gongyingshanggaunli",
meta: {
title: "视频中心1",
},
children: [
{
path: "/gongyingshang/gongyingshanggaunli",
component: () =>
import("@/views/gongyingshang/gongyingshanggaunli.vue"),
name: "gongyingshanggaunli",
meta: {
title: "视频中心1",
noCache: true,
},
},
],
},
////质物监测
{
path: "/renlianshibieList",
component: Layout,
redirect: "/renlianshibie/renlianshibieList",
meta: {
title: "人脸识别",
title: "质物监测",
},
children: [
{
@ -109,7 +109,7 @@ export const constantRoutes = [
component: () => import("@/views/renlianshibie/renlianshibieList.vue"),
name: "renlianshibieList",
meta: {
title: "人脸识别",
title: "质物监测",
noCache: true,
},
},
@ -136,6 +136,35 @@ export const constantRoutes = [
},
],
},
////仓库管理
{
path: "/cangkuguanliList",
component: Layout,
redirect: "/cangkuguanli/cangkuguanliList",
meta: {
title: "仓库管理",
},
children: [
{
path: "/cangkuguanli/cangkuguanliList",
component: () => import("@/views/cangkuguanli/cangkuguanliList.vue"),
name: "cangkuguanliList",
meta: {
title: "仓库管理",
noCache: true,
},
},
{
path: "/cangkuguanli/shebeiList",
component: () => import("@/views/cangkuguanli/shebei/shebeiList.vue"),
name: "shebeiList",
meta: {
title: "设备",
noCache: true,
},
},
],
},
////报警查询
{
path: "/baojingchaxunList",

524
src/views/cangkuguanli/cangkuguanliAdd.vue

@ -0,0 +1,524 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="handleSave()">保存
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="addForm" :rules="rules" class="formadd">
<div class="title">
<div>编辑仓库信息</div>
</div>
<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.manufacturerName" 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.manufacturerAs" 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-select v-model="addForm.quyu" filterable clearable placeholder="请选择区域"
style="width: 410px;">
<el-option v-for="item in quyu_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>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="addForm.manufacturerAs" 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.manufacturerName" 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.manufacturerAs" 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-select v-model="addForm.xingzhi" filterable clearable placeholder="请选择性质"
style="width: 410px;">
<el-option v-for="item in xingzhi_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>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="addForm.manufacturerAs" 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.manufacturerName" 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.manufacturerAs" 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-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList">
<el-button size="small" type="primary">添加图片</el-button>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>设备类型</span>
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="addForm.manufacturerCode" 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-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>备注</span>
</el-col>
<el-col :span="20">
<el-form-item prop="">
<!-- <el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList">
<el-button size="small" type="primary">添加备注图片</el-button> -->
<!--
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件且不超过500kb</div> -->
<!-- </el-upload> -->
<el-input v-model="addForm.remarks" maxlength="125" placeholder="请填写备注" class="addinputw" clearable type="textarea" :rows="1" />
</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>
<el-select v-model="addForm.manufacturerCode" 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>
</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-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>
</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-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-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 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>
</div>
</template>
<script>
// import req from '@/api/cangkuguanli/cangkuguanli'
// import { typeValues } from '@/api/cheliang/dictcommons'
export default {
name: 'cangkuguanliAdd',
data() {
var checkSubmit = (rule, value, callback) => {
const Submit = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
if (Submit.test(value)) {
return callback()
}
callback(new Error('请输入手机号'))
}
var checkChuanzhen = (rule, value, callback) => {
const BanGongDianHua = /\d{3}-\d{8}|\d{4}-\d{7}/
if (value) {
//
if (!BanGongDianHua.test(value)) {
callback(new Error('请输入正确的传真格式'))
}
callback()
} else {
callback()
}
}
return {
fileList: [],
tableKey: 0,
index: 0,
viewState: 1,
viewTitle: '',
dialogStatus: '',
sid: '',
isShow: true,
// supplierType_list: [
// { title: '', id: '1' },
// { title: '', id: '2' },
// { title: '', id: '3' },
// { title: '', id: '4' },
// { title: '线', id: '5' },
// ],
supplierType_list: [
{ title: '摄像头', id: '1' },
{ title: '电子围栏', id: '2' },
{ title: '门禁', id: '3' },
{ title: '机器人', id: '4' }
],
quyu_list: [
{ title: '裕华区', id: '1' },
{ title: '长安区', id: '2' },
{ title: '桥西区', id: '3' },
{ title: '开发区', id: '4' },
],
xingzhi_list: [
{ title: '库房、物流仓储', id: '1' },
{ title: '电商仓库、物流仓储、厂房', id: '2' }
],
addForm: {
manufacturerName: '',
manufacturerAs: '',
manufacturerCode: '',
supplierType: '',
supplierTypeValue: '',
manufacturerAddress: '',
manufacturerTelePhone: '',
manufacturerFax: '',
contactName: '',
contactMobile: '',
contactTelePhone: '',
weChatID: '',
zipCode: '',
email: '',
createOrg: '',
useOrg: ''
},
baseManufacturerBankDto: [],
rules: {
manufacturerName: [{
required: true,
message: '请填写供应商名称',
trigger: 'blur'
}],
supplierTypeValue: [{
required: true,
message: '请选择分类',
trigger: 'change'
}],
manufacturerAddress: [{
required: true,
message: '请填写供应商通讯地址',
trigger: 'blur'
}],
manufacturerFax: [{
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'
}]
},
submitdisabled: false
}
},
methods: {
//
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${ file.name }`);
},
//
init() {
typeValues({ type: 'supplierType' }).then((res) => {
if (res.success) {
this.supplierType_list = res.data
}
})
},
changeSupplierType(value) {
let bb = null
this.supplierType_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.addForm.supplierType = bb.key
},
handleSave() {
this.$refs['form_obj'].validate(valid => {
if (valid) {
this.submitdisabled = true
const formobj = {
baseManufacturerBankDto: this.baseManufacturerBankDto,
addForm: this.addForm
}
if (this.dialogStatus === 'add') {
req.save(formobj).then(resp => {
this.submitdisabled = false
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
} else if (this.dialogStatus === 'edit') {
req.update(formobj, this.sid).then(resp => {
this.submitdisabled = false
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
}
} else {
return false
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.dialogStatus = ''
this.sid = ''
this.addForm = {}
this.baseManufacturerBankDto = []
this.isShow = true
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.divStyle {
padding: 7px;
font-weight: bold;
font-size: 16px;
background-color: #0294d7;
text-align: left;
color: #ffffff;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

245
src/views/cangkuguanli/cangkuguanliInfo.vue

@ -0,0 +1,245 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="infoForm" :rules="rules" class="formadd">
<div class="title">
<div>仓库详情信息</div>
</div>
<el-row>
<el-col :span="4" class="tleftb">
<span>编码</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturerName }}</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.manufacturerAs }}</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.quyu }}</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.mianji }}</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.cenggao }}</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.jiage }}</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.xingzhi }}</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.fangyuan }}</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.lianxiren }}</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.dianhua }}</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.shebei }}</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.pic }}</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.beizhu }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span></span>
</el-col>
<el-col :span="8">
<el-form-item>
<span></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-form>
<div class="tus"><img src="/image/cangkutu.png"/></div>
</div>
</div>
</div>
</template>
<script>
// import req from '@/api/cangkuguanli/cangkuguanli'
export default {
name: 'cangkuguanliInfo',
data() {
return {
// tableKey: 0,
// index: 0,
viewTitle: '',
supplierType_list: [
{ title: '摄像机', id: '1' },
],
status_list: [
{ title: '已损坏', id: '1' },
{ title: '已维修', id: '2' },
{ title: '完好', id: '3' },
],
infoForm: {
manufacturerName: '3256722',
manufacturerAs: '石家庄市长安区乐城',
quyu: '长安区',
mianji: '2000',
cenggao: '6米',
jiage: '2.22万/月',
xingzhi: '库房、物流仓储',
fangyuan: '中介',
lianxiren:'孙宁',
dianhua:'17073409370',
beizhu:'备注1',
shebei:'摄像头'
},
// baseManufacturerBankDto: [],
rules: {},
// submitdisabled: false
}
},
methods: {
getStatus(item) {
for (var i = 0; i < this.status_list.length; i++) {
if (this.status_list[i].id == item) {
return this.status_list[i].title
}
}
},
getSupplierType(item) {
for (var i = 0; i < this.supplierType_list.length; i++) {
if (this.supplierType_list[i].id == item) {
return this.supplierType_list[i].title
}
}
},
showInfo(row) {
this.$nextTick(() => {
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
// })
},
handleReturn() {
this.$emit('doback')
}
}
}
</script>
<style scoped>
.tus{margin: 0;padding: 40px 40px;
width: 80%;
}
.tus img{width: 100%;
}
</style>

690
src/views/cangkuguanli/cangkuguanliList.vue

@ -0,0 +1,690 @@
<template>
<div class="app-container">
<div class="app-containerb" v-show="viewState == 1">
<!-- 饼图 -->
<!-- <div class="tbars">
<div class="tbar">
<div class="bar">
<pie-chartrenyuan :chart-data="wanhao_Chart"></pie-chartrenyuan>
</div>
<div class="title"><span class="iconfont icon-jiating greenzi"></span>完好率</div>
</div>
<div class="tbar">
<div class="bar">
<pie-chartrenyuan :chart-data="weixiu_Chart" ></pie-chartrenyuan>
</div>
<div class="title"><span class="iconfont icon-jiating greenzi"></span>维修率</div>
</div>
<div class="tbar">
<div class="bar">
<pie-chartrenyuan :chart-data="sunhai_Chart"></pie-chartrenyuan>
</div>
<div class="title"><span class="iconfont icon-jiating greenzi"></span>损害率</div>
</div>
</div> -->
<div class="webye" >
<button-bar view-title="仓库管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<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.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>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">仓库管理信息列表</div>
<!-- 翻页分页 -->
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div>
<div>
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"
@selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50" />
<el-table-column label="序号" fixed type="index" width="80" :index="indexMethod" align="center" />
<el-table-column label="操作" fixed align="center" width="220px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary"
: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="handleDddShebei(row)">设备</el-button>
<!-- <el-button size="mini" type="primary">处理</el-button> -->
</template>
</el-table-column>
<el-table-column prop="jc" label="位置" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.weizhi }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="区域" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.quyu }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="面积" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.mianji }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="层高" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.cenggao }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="价格" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.jiage }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="性质" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.xingzhi }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="房源" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.fangyuan }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="联系人" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.lianxiren }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="电话" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.dianhua }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="设备类型" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.leibie }}</span>
</template>
</el-table-column>
<el-table-column prop="jc" label="备注" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.beizhu }}</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>
</template>
</el-table-column>
<el-table-column label="设备类型" width="110" align="center">
<template slot-scope="scope">
<span>{{ getSupplierType(scope.row.supplierTypeValue) }}</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>
</template>
</el-table-column>
<el-table-column label="供货商" align="center">
<template slot-scope="scope">
<span>{{ scope.row.gonghuashang }}</span>
</template>
</el-table-column>
<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>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<span v-if="scope.row.status == 1" style="color:red">{{ getStatus(scope.row.status) }}</span>
<span v-if="scope.row.status == 2" style="color:orange">{{ getStatus(scope.row.status) }}</span>
<span v-if="scope.row.status == 3" style="color:green">{{ getStatus(scope.row.status) }}</span>
</template>
</el-table-column> -->
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div>
</div>
</div>
</div>
<cangkuguanliAdd v-show="viewState == 2" ref="divadd" @doback="resetState" @reloadlist="handleFilter" />
<!-- <cangkuguanliAddShebei v-show="viewState == 5" ref="divaddshebei" @doback="resetState" @reloadlist="handleFilter" /> -->
<cangkuguanliInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" />
</div>
</template>
<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 cangkuguanliAdd from './cangkuguanliAdd'
// import cangkuguanliAddShebei from '@/views/cangkuguanli/shebei/shebeiList'
import cangkuguanliInfo from './cangkuguanliInfo'
// import req from '@/api/cangkuguanli/cangkuguanli'
import * as echarts from "echarts";
import PieChartrenyuan from '@/views/echarts/components/PieChartrenyuanb'
// 1.1
const wanhao_Chart = {
// seriesName: '',
unit: '次',
color: ['#30e9ff', '#d9d9d9', '#fdc004'],
Data: {
seriesData: [
{ value: 75, name: '完好' },
{ value: 25, name: '不完好' },
// { value: 12, name: '' }
]
},
label: {
normal: {
position: 'inner',
show: false
}
},
// radius: ['50%', '55%']
}
// 1.2
const weixiu_Chart = {
// seriesName: '',
unit: '次',
color: ['#fe7f02', '#fdc004'],
Data: {
seriesData: [
{ value: 15, name: '维修' },
{ value: 85, name: '无维修' },
// { value: 12, name: '' }
]
},
label: {
normal: {
position: 'inner',
show: false
}
},
// radius: ['50%', '55%']
}
// 1.3
const sunhai_Chart = {
// seriesName: '',
unit: '次',
color: [ '#d2cece','#ff0202', '#fdc004'],
Data: {
seriesData: [
{ value: 10, name: '损害' },
{ value: 90, name: '无损害' }
]
},
label: {
normal: {
position: 'inner',
show: false
}
},
// radius: ['50%', '55%']
}
export default {
name: 'cangkuguanliList',
components: {
Pagination,
pageye,
ButtonBar,
cangkuguanliAdd,
// cangkuguanliAddShebei,
cangkuguanliInfo,PieChartrenyuan
},
data() {
return {
wanhao_Chart: wanhao_Chart, // 1.1
weixiu_Chart:weixiu_Chart,
sunhai_Chart: sunhai_Chart,
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toChangShang',
// btnLabel: ''
// },
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toGain',
// btnLabel: ''
// },
{
type: 'success',
size: 'small',
icon: 'export',
btnKey: 'import',
btnLabel: '导入'
},
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'build',
// btnLabel: ''
// },
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
viewState: 1,
isSearchShow: false,
searchxianshitit: '显示查询条件',
sids: [],
// -----------
tableKey: 0,
list: [
{ weizhi: '石家庄市长安区乐城', quyu: '开发区', mianji: '2000',
cenggao: '23', jiage: '263', xingzhi: '库房、物流仓储',
fangyuan: '中介', lianxiren: '孙宁', dianhua: '17073404927' ,leibie: '摄像头',beizhu:'备注2'},
{ weizhi: '石家庄市长安区乐城', quyu: '开发区', mianji: '2000',
cenggao: '23', jiage: '263', xingzhi: '库房、物流仓储',
fangyuan: '中介', lianxiren: '孙宁', dianhua: '17073404927' ,leibie: '机器人',beizhu:'备注2'},
{ weizhi: '石家庄市长安区乐城', quyu: '开发区', mianji: '2000',
cenggao: '23', jiage: '263', xingzhi: '库房、物流仓储',
fangyuan: '中介', lianxiren: '孙宁', dianhua: '17073404927' ,leibie: '电子围栏',beizhu:'备注2'},
{ weizhi: '石家庄市长安区乐城', quyu: '开发区', mianji: '2000',
cenggao: '23', jiage: '263', xingzhi: '库房、物流仓储',
fangyuan: '中介', lianxiren: '孙宁', dianhua: '17073404927' ,leibie: '门禁',beizhu:'备注2'},
{ weizhi: '石家庄市长安区乐城', quyu: '开发区', mianji: '2000',
cenggao: '23', jiage: '263', xingzhi: '库房、物流仓储',
fangyuan: '中介', lianxiren: '孙宁', dianhua: '17073404927' ,leibie: '摄像头',beizhu:'备注2'},
],
// list: [
// { bianma: 'KD-22', 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', 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', 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', 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', 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', 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', 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', 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', 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', 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' },
// ],
listLoading: false,
listQuery: {
params: {
manufacturerName: '',
supplierType: '',
useOrgSid: '',
createOrgSid: '',
manufacturerTelePhone: '',
contactName: ''
},
current: 1,
size: 5,
total: 0
},
supplierType_list: [
{ title: '摄像头', id: '1' },
],
floor_list: [
{ title: '一层', id: '1' },
{ title: '二层', id: '2' },
{ title: '三层', id: '3' },
{ title: '四层', id: '4' },
],
status_list: [
{ title: '已损坏', id: '1' },
{ title: '已维修', id: '2' },
{ title: '完好', id: '3' },
],
rules: {}
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
//
// this.init()
},
methods: {
getStatus(item) {
for (var i = 0; i < this.status_list.length; i++) {
if (this.status_list[i].id == item) {
return this.status_list[i].title
}
}
},
getSupplierType(item) {
for (var i = 0; i < this.supplierType_list.length; i++) {
if (this.supplierType_list[i].id == item) {
return this.supplierType_list[i].title
}
}
},
resetState() {
this.viewState = 1
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'toChangShang':
this.toChangShang()
break
case 'toGain':
this.toGain()
break
case 'doExport':
this.doExport()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
// init() {
// getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
// if (res.success) {
// this.listQuery.params.createOrgSid = res.data
// this.getType()
// this.getList()
// }
// })
// },
// getType() {
// typeValues({
// type: 'supplierType'
// }).then((res) => {
// if (res.code === '200') {
// this.supplierType_list = res.data
// console.log('', this.supplierType_list)
// }
// })
// },
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
// this.listLoading = true
// req.gysPagerList(this.listQuery).then((response) => {
// this.listLoading = false
// 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
// }
// })
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
// this.listQuery = {
// params: {
// manufacturerName: '',
// supplierType: '',
// useOrgSid: '',
// createOrgSid: '',
// manufacturerTelePhone: '',
// contactName: ''
// },
// current: 1,
// size: 5
// }
// this.init()
},
//
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd(this.listQuery.params.createOrgSid)
},
//
handleDddShebei() {
this.$router.push({
path: '/cangkuguanli/shebeiList',
})
// this.viewState = 5
// this.$refs['divaddshebei'].showAdd(this.listQuery.params.createOrgSid)
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
},
// ID
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delBySids(this.sids.toString()).then(resp => {
if (resp.success) {
loading.close()
this.$message({ type: 'success', message: resp.msg, showClose: true })
this.getList()
} else {
loading.close()
}
}).catch(e => {
loading.close()
})
}).catch(() => {
})
} else {
this.$message({ type: 'error', message: '没有选择!!', showClose: true })
return
}
},
// 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{
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;align-items: flex-start;
}
.webye{flex: 1;text-align: left;}
/* 饼图部分 */
.tbars {width: 250px;height: 100%;
/* display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;align-items: flex-start; */
margin: 0 20px 0 0;
padding: 10px;
background-color: #fff;
box-shadow:0px 0px 10px #E9E9E9;border-radius: 5px;
}
.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 {
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;
/* border-bottom: 1px solid #ececee; */
}
.tbar .title span {
padding: 0 10px 0 0;
}
.tbar .bar {position: relative;
/* display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;align-items: center; */
margin: 0;
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;
}
</style>

369
src/views/cangkuguanli/shebei/shebeiAdd.vue

@ -0,0 +1,369 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="handleSave()">保存
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="addForm" :rules="rules" class="formadd">
<div class="title">
<div>编辑信息</div>
</div>
<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.manufacturerName" 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.manufacturerAs" 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-form-item> -->
<el-form-item>
<el-select v-model="addForm.manufacturerCode" 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>
</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-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>
</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-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-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>
</div>
</template>
<script>
// import req from '@/api/shebei/shebei'
// import { typeValues } from '@/api/cheliang/dictcommons'
export default {
name: 'shebeiAdd',
data() {
var checkSubmit = (rule, value, callback) => {
const Submit = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
if (Submit.test(value)) {
return callback()
}
callback(new Error('请输入手机号'))
}
var checkChuanzhen = (rule, value, callback) => {
const BanGongDianHua = /\d{3}-\d{8}|\d{4}-\d{7}/
if (value) {
//
if (!BanGongDianHua.test(value)) {
callback(new Error('请输入正确的传真格式'))
}
callback()
} else {
callback()
}
}
return {
tableKey: 0,
index: 0,
viewState: 1,
viewTitle: '',
dialogStatus: '',
sid: '',
isShow: true,
supplierType_list: [
{ title: '摄像头', id: '1' },
{ title: '电子围栏', id: '2' },
{ title: '门禁', id: '3' },
{ title: '机器人', id: '4' }
],
addForm: {
manufacturerName: '',
manufacturerAs: '',
manufacturerCode: '',
supplierType: '',
supplierTypeValue: '',
manufacturerAddress: '',
manufacturerTelePhone: '',
manufacturerFax: '',
contactName: '',
contactMobile: '',
contactTelePhone: '',
weChatID: '',
zipCode: '',
email: '',
createOrg: '',
useOrg: ''
},
baseManufacturerBankDto: [],
rules: {
manufacturerName: [{
required: true,
message: '请填写供应商名称',
trigger: 'blur'
}],
supplierTypeValue: [{
required: true,
message: '请选择分类',
trigger: 'change'
}],
manufacturerAddress: [{
required: true,
message: '请填写供应商通讯地址',
trigger: 'blur'
}],
manufacturerFax: [{
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'
}]
},
submitdisabled: false
}
},
methods: {
init() {
typeValues({ type: 'supplierType' }).then((res) => {
if (res.success) {
this.supplierType_list = res.data
}
})
},
changeSupplierType(value) {
let bb = null
this.supplierType_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.addForm.supplierType = bb.key
},
handleSave() {
this.$refs['form_obj'].validate(valid => {
if (valid) {
this.submitdisabled = true
const formobj = {
baseManufacturerBankDto: this.baseManufacturerBankDto,
addForm: this.addForm
}
if (this.dialogStatus === 'add') {
req.save(formobj).then(resp => {
this.submitdisabled = false
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
} else if (this.dialogStatus === 'edit') {
req.update(formobj, this.sid).then(resp => {
this.submitdisabled = false
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
}
} else {
return false
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.dialogStatus = ''
this.sid = ''
this.addForm = {}
this.baseManufacturerBankDto = []
this.isShow = true
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.divStyle {
padding: 7px;
font-weight: bold;
font-size: 16px;
background-color: #0294d7;
text-align: left;
color: #ffffff;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

199
src/views/cangkuguanli/shebei/shebeiInfo.vue

@ -0,0 +1,199 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="infoForm" :rules="rules" class="formadd">
<div class="title">
<div>详情信息</div>
</div>
<el-row>
<el-col :span="4" class="tleftb">
<span>设备编码</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ infoForm.manufacturerName }}</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.manufacturerAs }}</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>{{ getSupplierType(infoForm.manufacturerCode) }}</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.supplierTypeValue }}</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.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>
</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-col :span="4" class="tleftb">
<span>状态</span>
</el-col>
<el-col :span="8">
<el-form-item>
<span>{{ getStatus(infoForm.status) }}</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.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-form>
</div>
</div>
</div>
</template>
<script>
// import req from '@/api/shebei/shebei'
export default {
name: 'shebeiInfo',
data() {
return {
// tableKey: 0,
// index: 0,
viewTitle: '',
supplierType_list: [
{ title: '摄像头', id: '1' },
],
status_list: [
{ title: '已损坏', id: '1' },
{ title: '已维修', id: '2' },
{ 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: {},
// submitdisabled: false
}
},
methods: {
getStatus(item) {
for (var i = 0; i < this.status_list.length; i++) {
if (this.status_list[i].id == item) {
return this.status_list[i].title
}
}
},
getSupplierType(item) {
for (var i = 0; i < this.supplierType_list.length; i++) {
if (this.supplierType_list[i].id == item) {
return this.supplierType_list[i].title
}
}
},
showInfo(row) {
this.$nextTick(() => {
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
// })
},
handleReturn() {
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

608
src/views/cangkuguanli/shebei/shebeiList.vue

@ -0,0 +1,608 @@
<template>
<div class="app-container">
<div class="app-containerb" v-show="viewState == 1">
<!-- 饼图 -->
<div class="webye" >
<button-bar view-title="设备" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<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.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>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">设备信息列表</div>
<!-- 翻页分页 -->
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div>
<div>
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"
@selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50" />
<el-table-column label="序号" fixed type="index" width="80" :index="indexMethod" align="center" />
<el-table-column label="操作" fixed align="center" width="160px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary"
: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">处理</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>
</template>
</el-table-column>
<el-table-column label="设备类型" width="110" align="center">
<template slot-scope="scope">
<span>{{ getSupplierType(scope.row.supplierTypeValue) }}</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>
</template>
</el-table-column>
<el-table-column label="供货商" align="center">
<template slot-scope="scope">
<span>{{ scope.row.gonghuashang }}</span>
</template>
</el-table-column>
<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>
</template>
</el-table-column>
<el-table-column label="所属仓库" align="center">
<template slot-scope="scope">
<span>{{ scope.row.cangku }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<span v-if="scope.row.status == 1" style="color:red">{{ getStatus(scope.row.status) }}</span>
<span v-if="scope.row.status == 2" style="color:orange">{{ getStatus(scope.row.status) }}</span>
<span v-if="scope.row.status == 3" style="color:green">{{ getStatus(scope.row.status) }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div>
</div>
</div>
</div>
<shebeiAdd v-show="viewState == 2" ref="divadd" @doback="resetState" @reloadlist="handleFilter" />
<shebeiInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" />
</div>
</template>
<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 shebeiAdd from './shebeiAdd'
import shebeiInfo from './shebeiInfo'
// import req from '@/api/shebei/shebei'
import * as echarts from "echarts";
import PieChartrenyuan from '@/views/echarts/components/PieChartrenyuanb'
// 1.1
const wanhao_Chart = {
// seriesName: '',
unit: '次',
color: ['#30e9ff', '#d9d9d9', '#fdc004'],
Data: {
seriesData: [
{ value: 75, name: '完好' },
{ value: 25, name: '不完好' },
// { value: 12, name: '' }
]
},
label: {
normal: {
position: 'inner',
show: false
}
},
// radius: ['50%', '55%']
}
// 1.2
const weixiu_Chart = {
// seriesName: '',
unit: '次',
color: ['#fe7f02', '#fdc004'],
Data: {
seriesData: [
{ value: 15, name: '维修' },
{ value: 85, name: '无维修' },
// { value: 12, name: '' }
]
},
label: {
normal: {
position: 'inner',
show: false
}
},
// radius: ['50%', '55%']
}
// 1.3
const sunhai_Chart = {
// seriesName: '',
unit: '次',
color: [ '#d2cece','#ff0202', '#fdc004'],
Data: {
seriesData: [
{ value: 10, name: '损害' },
{ value: 90, name: '无损害' }
]
},
label: {
normal: {
position: 'inner',
show: false
}
},
// radius: ['50%', '55%']
}
export default {
name: 'shebeiList',
components: {
Pagination,
pageye,
ButtonBar,
shebeiAdd,
shebeiInfo,PieChartrenyuan
},
data() {
return {
wanhao_Chart: wanhao_Chart, // 1.1
weixiu_Chart:weixiu_Chart,
sunhai_Chart: sunhai_Chart,
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toChangShang',
// btnLabel: ''
// },
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toGain',
// btnLabel: ''
// },
{
type: 'success',
size: 'small',
icon: 'export',
btnKey: 'import',
btnLabel: '导入'
},
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'build',
// btnLabel: ''
// },
// {
// type: 'primary',
// size: 'small',
// icon: 'plus',
// // btnKey: 'toAdd',
// btnKey: 'toSave',
// btnLabel: ''
// },
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
viewState: 1,
isSearchShow: false,
searchxianshitit: '显示查询条件',
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' },
],
listLoading: false,
listQuery: {
params: {
manufacturerName: '',
supplierType: '',
useOrgSid: '',
createOrgSid: '',
manufacturerTelePhone: '',
contactName: ''
},
current: 1,
size: 5,
total: 0
},
supplierType_list: [
{ title: '摄像机', id: '1' },
],
floor_list: [
{ title: '一层', id: '1' },
{ title: '二层', id: '2' },
{ title: '三层', id: '3' },
{ title: '四层', id: '4' },
],
status_list: [
{ title: '已损坏', id: '1' },
{ title: '已维修', id: '2' },
{ title: '完好', id: '3' },
],
rules: {}
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
//
// this.init()
},
methods: {
getStatus(item) {
for (var i = 0; i < this.status_list.length; i++) {
if (this.status_list[i].id == item) {
return this.status_list[i].title
}
}
},
getSupplierType(item) {
for (var i = 0; i < this.supplierType_list.length; i++) {
if (this.supplierType_list[i].id == item) {
return this.supplierType_list[i].title
}
}
},
resetState() {
this.viewState = 1
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'toChangShang':
this.toChangShang()
break
case 'toGain':
this.toGain()
break
case 'doExport':
this.doExport()
break
case 'doClose':
this.doClose()
break
case 'toSave':
this.toSave()
break
default:
break
}
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
// init() {
// getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
// if (res.success) {
// this.listQuery.params.createOrgSid = res.data
// this.getType()
// this.getList()
// }
// })
// },
// getType() {
// typeValues({
// type: 'supplierType'
// }).then((res) => {
// if (res.code === '200') {
// this.supplierType_list = res.data
// console.log('', this.supplierType_list)
// }
// })
// },
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
// this.listLoading = true
// req.gysPagerList(this.listQuery).then((response) => {
// this.listLoading = false
// 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
// }
// })
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
// this.listQuery = {
// params: {
// manufacturerName: '',
// supplierType: '',
// useOrgSid: '',
// createOrgSid: '',
// manufacturerTelePhone: '',
// contactName: ''
// },
// current: 1,
// size: 5
// }
// this.init()
},
//
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd(this.listQuery.params.createOrgSid)
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
},
// ID
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delBySids(this.sids.toString()).then(resp => {
if (resp.success) {
loading.close()
this.$message({ type: 'success', message: resp.msg, showClose: true })
this.getList()
} else {
loading.close()
}
}).catch(e => {
loading.close()
})
}).catch(() => {
})
} else {
this.$message({ type: 'error', message: '没有选择!!', showClose: true })
return
}
},
// 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)
},
toSave() {
this.$router.push({
path: '/cangkuguanli/cangkuguanliList',
})
}
}
}
</script>
<style scoped>
.app-containerb{
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;align-items: flex-start;
}
.webye{flex: 1;text-align: left;}
/* 饼图部分 */
.tbars {width: 250px;height: 100%;
/* display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;align-items: flex-start; */
margin: 0 20px 0 0;
padding: 10px;
background-color: #fff;
box-shadow:0px 0px 10px #E9E9E9;border-radius: 5px;
}
.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 {
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;
/* border-bottom: 1px solid #ececee; */
}
.tbar .title span {
padding: 0 10px 0 0;
}
.tbar .bar {position: relative;
/* display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;align-items: center; */
margin: 0;
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;
}
</style>

33
src/views/index.vue

@ -58,7 +58,7 @@
</div>
</div>
<!-- 第5个 -->
<div class="topbox">
<!-- <div class="topbox">
<div class="toptitle">电子巡更</div>
<div class="mids">
<div class="lefts">
@ -70,7 +70,7 @@
<div class="note">报警<span class="redzi">12</span></div>
</div>
</div>
</div>
</div> -->
<!-- 11 -->
</div>
<!-- 饼图 -->
@ -104,23 +104,23 @@
</div>
</div>
<!-- 第1个图表 -->
<div class="tbar">
<!-- <div class="tbar">
<div class="title"><span class="iconfont icon-jiating greenzi"></span>电子巡更</div>
<div class="bar">
<pie-chartrenyuan :chart-data="dianzixungeng_Chart"></pie-chartrenyuan>
</div>
</div>
</div> -->
</div>
<!-- 第3行 -->
<div class="con">
<!-- 第1 -->
<div class="news">
<div class="title">
<div class="newstits">提醒任务</div>
<div class="newstits">报警信息</div>
<div class="more" @click="toMore()">更多></div>
</div>
<div class="content">
<div class="newsli" v-for="(item, index) in Datalista" :key="index" @click="toinfo()">
<div class="newsli" v-for="(item, index) in Datalist" :key="index" @click="toinfo()">
<div class="dot">&bull;</div>
<div class="tit">{{item.title}}</div>
<div class="time">{{item.createTime}}</div>
@ -130,11 +130,11 @@
<!-- 第1 -->
<div class="news">
<div class="title">
<div class="newstits">待办</div>
<div class="newstits">提醒任务</div>
<div class="more" @click="toMore()">更多></div>
</div>
<div class="content">
<div class="newsli" v-for="(item, index) in Datalist" :key="index" @click="toinfo()">
<div class="newsli" v-for="(item, index) in Datalista" :key="index" @click="toinfo()">
<div class="dot">&bull;</div>
<div class="tit">{{item.title}}</div>
<div class="time">{{item.createTime}}</div>
@ -144,7 +144,7 @@
<!-- 第1 -->
<div class="news">
<div class="title">
<div class="newstits">工作流</div>
<div class="newstits">待办</div>
<div class="more" @click="toMore()">更多></div>
</div>
<div class="content">
@ -156,9 +156,9 @@
</div>
</div>
<!-- 第1 -->
<div class="news">
<!-- <div class="news">
<div class="title">
<div class="newstits">门禁消息</div>
<div class="newstits">工作流</div>
<div class="more" @click="toMore()">更多></div>
</div>
<div class="content">
@ -168,7 +168,8 @@
<div class="time">{{item.createTime}}</div>
</div>
</div>
</div>
</div> -->
</div>
</div>
</template>
@ -329,12 +330,16 @@
title: '报警消息',
dangerouslyUseHTMLString: true,
// // message: "<img src='" + warningIcon + "'>" + data.messageContent,
message: "<img style='width:50px' src='/image/yujing.png'>" + "新的报警待处理",
// message: "<img style='width:40px;height:40px;margin: 0 10px 0 0;' src='/image/yujing.png'>" + "<span style='display: inline-block;margin: 0 0px 0 0;height:40px;line-height: 40px;font-weight: bold;'></span>",
message: " <div style='display: flex;flex-direction: row;flex-wrap: nowrap;justify-content: flex-start;align-items:center;margin: 0 auto;height:60px;line-height: 60px;'><img style='width:40px;height:40px;margin: 0 10px 0 0;' src='/image/yujing.png'>" + "<span style='display: inline-block;margin: 0 0px 0 0;height:40px;line-height: 40px;font-weight: bold;'>新的报警待处理</span></div>",
position: 'bottom-right',
onClick: () => {
alert("这是一条新订单")
// this.playText('')
// this.getServicePageLists()
},
duration: 3000,
})
@ -487,7 +492,7 @@
justify-content: space-around;
}
.news {
width: 25%;
width: calc(100% / 3);
margin: 0 20px 0 0;
background-color: #fff;
box-shadow:0px 0px 10px #E9E9E9;border-radius: 5px;

310
src/views/monitor/videos/index.vue

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div v-if="viewState == 1">
<!-- <button-bar view-title="视频中心" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/> -->
<div class="main-content">
@ -11,7 +11,7 @@
<el-option v-for="item in cangku_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="选择楼栋">
<!-- <el-form-item label="选择楼栋">
<el-select v-model="listQuery.params.supplierType" filterable clearable placeholder="请选择楼栋">
<el-option v-for="item in loudong_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
@ -20,33 +20,104 @@
<el-select v-model="listQuery.params.supplierType" filterable clearable placeholder="请选择楼层">
<el-option v-for="item in supplierType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
</el-form-item> -->
</el-form>
<div class="moress" >
<div class="mores">
<!-- 入侵报警 -->
<el-checkbox-group size="mini" v-model="btnRuqinbaojing" v-if="showRuqinbaojing" @change="openbtnRuqinbaojing">
<el-checkbox-button checked label="备选项1" border>
<div class="more" @click="openruqinbaojing_zhengchang()">
<p class="bluezi">正常</p>
<span class="myiconfont iconbox bluezibg">&#xe608;</span><span class="numzi bluezi">216</span>
</div>
</el-checkbox-button>
<el-checkbox-button checked label="备选项2" border>
<div class="more" @click="openruqinbaojing_lixian()">
<p class="huizi">离线</p>
<span class="myiconfont iconbox huizibg">&#xe608;</span><span class="numzi huizi">23</span>
</div>
</el-checkbox-button>
<el-checkbox-button checked label="备选项3" border>
<div class="more" @click="openruqinbaojing_baojing()">
<p class="redzi">报警</p>
<span class="myiconfont iconbox redzibg">&#xe608;</span><span class="numzi redzi">38</span>
</div>
</el-checkbox-button>
</el-checkbox-group>
</div>
<div class="mores">
<!-- 视频监控按钮组 -->
<el-checkbox-group size="mini" v-model="btnShipinjiankong" v-if="showShipinjiankong">
<el-checkbox-button checked label="备选项1" border>
<div class="more" @click="openShipinjiankong_zhengchang()">
<p class="bluezi">正常</p>
<span class="myiconfont iconbox bluezibg">&#xe644;</span><span class="numzi bluezi">216</span>
</div>
</el-checkbox-button>
<el-checkbox-button checked label="备选项2" border>
<div class="more" @click="openShipinjiankong_lixian()">
<p class="huizi">离线</p>
<span class="myiconfont iconbox huizibg">&#xe644;</span><span class="numzi huizi">23</span>
</div>
</el-checkbox-button>
<el-checkbox-button checked label="备选项3" border>
<div class="more" @click="openShipinjiankong_baojing()">
<p class="redzi">报警</p>
<span class="myiconfont iconbox redzibg">&#xe644;</span><span class="numzi redzi">38</span>
</div>
</el-checkbox-button>
</el-checkbox-group>
</div>
<div class="mores">
<div class="more">
<!-- 门禁管理按钮组 -->
<el-checkbox-group size="mini" v-model="btnMenjinguanli" v-if="showMenjinguanli">
<el-checkbox-button checked label="备选项1" border>
<div class="more" @click="openMenjinguanli_zhengchang()">
<p class="bluezi">正常</p>
<span class="myiconfont iconbox bluezibg">&#xe608;</span><span class="numzi bluezi">2344</span>
<span class="myiconfont iconbox bluezibg">&#xe60b;</span><span class="numzi bluezi">216</span>
</div>
<div class="more">
</el-checkbox-button>
<el-checkbox-button checked label="备选项2" border>
<div class="more" @click="openMenjinguanli_lixian()">
<p class="huizi">离线</p>
<span class="myiconfont iconbox huizibg">&#xe608;</span><span class="numzi huizi">2344</span>
<span class="myiconfont iconbox huizibg">&#xe60b;</span><span class="numzi huizi">23</span>
</div>
<div class="more" v-show="showRuqinbaojing||showMenjinguanli||showDianziweilan == true">
</el-checkbox-button>
<el-checkbox-button checked label="备选项3" border>
<div class="more" @click="openMenjinguanli_baojing()">
<p class="redzi">报警</p>
<span class="myiconfont iconbox redzibg">&#xe608;</span><span class="numzi redzi">2344</span>
<span class="myiconfont iconbox redzibg">&#xe60b;</span><span class="numzi redzi">38</span>
</div>
</el-checkbox-button>
</el-checkbox-group>
</div>
<!-- <div class="mores" v-show="showShipinjiankong == true">
<div class="more">
<div class="mores">
<!-- 电子围栏按钮组 -->
<el-checkbox-group size="mini" v-model="btnDianziweilan" v-if="showDianziweilan">
<el-checkbox-button checked label="备选项1" border>
<div class="more" @click="openDianziweilan_zhengchang()">
<p class="bluezi">正常</p>
<span class="myiconfont iconbox bluezibg">&#xe608;</span>
<span class="myiconfont iconbox bluezibg">&#xe6b8;</span><span class="numzi bluezi">216</span>
</div>
<div class="more">
</el-checkbox-button>
<el-checkbox-button checked label="备选项2" border>
<div class="more" @click="openDianziweilan_lixian()">
<p class="huizi">离线</p>
<span class="myiconfont iconbox huizibg">&#xe608;</span>
<span class="myiconfont iconbox huizibg">&#xe6b8;</span><span class="numzi huizi">23</span>
</div>
</div> -->
</el-checkbox-button>
<el-checkbox-button checked label="备选项3" border>
<div class="more" @click="openDianziweilan_baojing()">
<p class="redzi">报警</p>
<span class="myiconfont iconbox redzibg">&#xe6b8;</span><span class="numzi redzi">38</span>
</div>
</el-checkbox-button>
</el-checkbox-group>
</div>
</div>
<!-- 11 -->
</div>
<div class="shipinscons">
@ -55,28 +126,28 @@
<div class="shipinstu">
<img src="/image/cangkutu.png"/>
<!-- 111入侵报警 -->
<div class="ruqinbaojing" style="z-index: 10;" v-show="showRuqinbaojing">
<div class="myiconfont bluezibg jingicon ruqin_zhengchang1" @click="openshipinRuqinbaojing()">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang2">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang3" >&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang4" >&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang5" >&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang6" >&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang7" >&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang8" >&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang9" >&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang10" >&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang11" >&#xe608;</div>
<div class="myiconfont huizibg jingicon ruqin_lixian1" >&#xe608;</div>
<div class="myiconfont huizibg jingicon ruqin_lixian2" >&#xe608;</div>
<div class="myiconfont redzibg jingicon ruqin_baojing1">&#xe608;</div>
<div class="myiconfont redzibg jingicon ruqin_baojing2">&#xe608;</div>
<div class="myiconfont redzibg jingicon ruqin_baojing3">&#xe608;</div>
<div class="myiconfont redzibg jingicon ruqin_baojing4">&#xe608;</div>
<div class="ruqinbaojingcss" style="z-index: 10;" v-if="showRuqinbaojing">
<div class="myiconfont bluezibg jingicon ruqin_zhengchang1" v-if="showRuqinbaojing_zhengchang" @click="openshipinRuqinbaojing()">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang2" v-if="showRuqinbaojing_zhengchang">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang3" v-if="showRuqinbaojing_zhengchang">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang4" v-if="showRuqinbaojing_zhengchang">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang5" v-if="showRuqinbaojing_zhengchang">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang6" v-if="showRuqinbaojing_zhengchang">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang7" v-if="showRuqinbaojing_zhengchang">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang8" v-if="showRuqinbaojing_zhengchang">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang9" v-if="showRuqinbaojing_zhengchang">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang10" v-if="showRuqinbaojing_zhengchang">&#xe608;</div>
<div class="myiconfont bluezibg jingicon ruqin_zhengchang11" v-if="showRuqinbaojing_zhengchang">&#xe608;</div>
<div class="myiconfont huizibg jingicon ruqin_lixian1" v-if="showRuqinbaojing_lixian">&#xe608;</div>
<div class="myiconfont huizibg jingicon ruqin_lixian2" v-if="showRuqinbaojing_lixian">&#xe608;</div>
<div class="myiconfont redzibg jingicon ruqin_baojing1" v-if="showRuqinbaojing_baojing">&#xe608;</div>
<div class="myiconfont redzibg jingicon ruqin_baojing2" v-if="showRuqinbaojing_baojing">&#xe608;</div>
<div class="myiconfont redzibg jingicon ruqin_baojing3" v-if="showRuqinbaojing_baojing">&#xe608;</div>
<div class="myiconfont redzibg jingicon ruqin_baojing4" v-if="showRuqinbaojing_baojing">&#xe608;</div>
<!-- 显示文字 -->
<div class="seencons ruqin_zhengchang1b" v-show="seenshipinRuqinbaojing">
<div class="seencons ruqin_zhengchang1b" v-if="seenshipinRuqinbaojing">
<p @click="toMore()">布防</p>
<p @click="toMore()">撤防</p>
<p @click="toMore()">报警确认</p>
@ -85,19 +156,19 @@
</div>
<!-- 111end -->
<!-- 222视频监控 -->
<div class="ruqinbaojing" style="z-index: 20;" v-show="showShipinjiankong">
<div class="myiconfont bluezibg jingicon shipin_zhengchang1" @mouseover="enter" @mouseleave="leave" @click="openshipinShipinjiankong()">&#xe644;</div>
<div class="ruqinbaojingcss" style="z-index: 20;" v-if="showShipinjiankong">
<div class="myiconfont bluezibg jingicon shipin_zhengchang1" v-if="showShipinjiankong_zhengchang" @mouseover="enter" @mouseleave="leave" @click="openshipinShipinjiankong()">&#xe644;</div>
<div class="myiconfont huizibg jingicon shipin_lixian1" >&#xe644;</div>
<div class="myiconfont huizibg jingicon shipin_lixian1" v-if="showShipinjiankong_lixian">&#xe644;</div>
<div class="myiconfont redzibg jingicon shipin_baojing1">&#xe644;</div>
<div class="myiconfont redzibg jingicon shipin_baojing1" v-if="showShipinjiankong_baojing">&#xe644;</div>
<!-- 显示文字 -->
<div class="seencons shipin_zhengchang1b" v-show="seenshipinShipinjiankong">
<div class="seencons shipin_zhengchang1b" v-if="seenshipinShipinjiankong">
<p @click="toMore()">实时视频</p>
<p @click="toMore()">回放视频</p>
</div>
<!-- 鼠标移入显示文字 -->
<div class="seenconsc shipin_zhengchang1c" v-show="seen_shubiaoShipinjiankong">
<div class="seenconsc shipin_zhengchang1c" v-if="seen_shubiaoShipinjiankong">
<p>设备名称1号楼1F西侧走廊像机1</p>
<p>设备编号HK023123</p>
<p>设备IP192.168.1.2</p>
@ -105,27 +176,27 @@
</div>
<!-- 2222end -->
<!-- 333门禁管理 -->
<div class="ruqinbaojing" style="z-index: 30;" v-show="showMenjinguanli">
<div class="myiconfont bluezibg jingicon menjin_zhengchang1" @click="openshipinMenjinguanli()">&#xe60b;</div>
<div class="ruqinbaojingcss" style="z-index: 30;" v-if="showMenjinguanli">
<div class="myiconfont bluezibg jingicon menjin_zhengchang1" v-if="showMenjinguanli_zhengchang" @click="openshipinMenjinguanli()">&#xe60b;</div>
<div class="myiconfont huizibg jingicon menjin_lixian1" >&#xe60b;</div>
<div class="myiconfont huizibg jingicon menjin_lixian1" v-if="showMenjinguanli_lixian">&#xe60b;</div>
<div class="myiconfont redzibg jingicon menjin_baojing1">&#xe60b;</div>
<div class="myiconfont redzibg jingicon menjin_baojing1" v-if="showMenjinguanli_baojing">&#xe60b;</div>
<!-- 显示文字 -->
<div class="seencons menjin_zhengchang1b" v-show="seenshipinMenjinguanli">
<div class="seencons menjin_zhengchang1b" v-if="seenshipinMenjinguanli">
<p @click="toMore()">开门</p>
</div>
</div>
<!-- 333end -->
<!--444门电子围栏-->
<div class="ruqinbaojing" style="z-index: 40;" v-show="showDianziweilan">
<div class="myiconfont bluezibg jingicon Dianziweilan_zhengchang1" @click="openshipinDianziweilan()">&#xe6b8;</div>
<div class="ruqinbaojingcss" style="z-index: 40;" v-if="showDianziweilan">
<div class="myiconfont bluezibg jingicon Dianziweilan_zhengchang1" v-if="showDianziweilan_zhengchang" @click="openshipinDianziweilan()">&#xe6b8;</div>
<div class="myiconfont huizibg jingicon Dianziweilan_lixian1" >&#xe6b8;</div>
<div class="myiconfont huizibg jingicon Dianziweilan_lixian1" v-if="showDianziweilan_lixian">&#xe6b8;</div>
<div class="myiconfont redzibg jingicon Dianziweilan_baojing1">&#xe6b8;</div>
<div class="myiconfont redzibg jingicon Dianziweilan_baojing1" v-if="showDianziweilan_baojing">&#xe6b8;</div>
<!-- 显示文字 -->
<div class="seencons Dianziweilan_zhengchang1b" v-show="seenshipinDianziweilan">
<div class="seencons Dianziweilan_zhengchang1b" v-if="seenshipinDianziweilan">
<p @click="toMore()">布防</p>
<p @click="toMore()">撤防</p>
<p @click="toMore()">报警确认</p>
@ -189,7 +260,12 @@ export default {
},
data() {
return { checkList: ['选中且禁用','复选框 A'],
return {
checkList: ['选中且禁用','复选框 A'],
btnRuqinbaojing:[],
btnShipinjiankong:[],
btnMenjinguanli:[],
btnDianziweilan:[],
btndisabled: false,
btnList: [
// {
@ -310,7 +386,32 @@ export default {
showDianziweilan: false,
//
seen_shubiaoShipinjiankong: false,
//
showRuqinbaojing_zhengchang: true,
//线
showRuqinbaojing_lixian: true,
//
showRuqinbaojing_baojing: true,
//
showShipinjiankong_zhengchang: true,
//线
showShipinjiankong_lixian: true,
//
showShipinjiankong_baojing: true,
//
showMenjinguanli_zhengchang: true,
//线
showMenjinguanli_lixian: true,
//
showMenjinguanli_baojing: true,
//
showDianziweilan_zhengchang: true,
//线
showDianziweilan_lixian: true,
//
showDianziweilan_baojing: true,
rules: {}
}
},
@ -358,6 +459,62 @@ export default {
opendianziweilan() {
this.showDianziweilan = !this.showDianziweilan
},
openbtnRuqinbaojing() {
},
//
openruqinbaojing_zhengchang() {
this.showRuqinbaojing = true
this.showRuqinbaojing_zhengchang = !this.showRuqinbaojing_zhengchang
},
//线
openruqinbaojing_lixian() {
this.showRuqinbaojing = true
this.showRuqinbaojing_lixian = !this.showRuqinbaojing_lixian
},
//
openruqinbaojing_baojing() {
this.showRuqinbaojing = true
this.showRuqinbaojing_baojing = !this.showRuqinbaojing_baojing
},
//
openShipinjiankong_zhengchang() {
this.showShipinjiankong_zhengchang = !this.showShipinjiankong_zhengchang
},
//线
openShipinjiankong_lixian() {
this.showShipinjiankong_lixian = !this.showShipinjiankong_lixian
},
//
openShipinjiankong_baojing() {
this.showShipinjiankong_baojing = !this.showShipinjiankong_baojing
},
//
openMenjinguanli_zhengchang() {
this.showMenjinguanli_zhengchang = !this.showMenjinguanli_zhengchang
},
//线
openMenjinguanli_lixian() {
this.showMenjinguanli_lixian = !this.showMenjinguanli_lixian
},
//
openMenjinguanli_baojing() {
this.showMenjinguanli_baojing = !this.showMenjinguanli_baojing
},
//
openDianziweilan_zhengchang() {
this.showDianziweilan_zhengchang = !this.showDianziweilan_zhengchang
},
//线
openDianziweilan_lixian() {
this.showDianziweilan_lixian = !this.showDianziweilan_lixian
},
//
openDianziweilan_baojing() {
this.showDianziweilan_baojing = !this.showDianziweilan_baojing
},
//
enter() {
this.seen_shubiaoShipinjiankong = true
@ -573,6 +730,7 @@ export default {
</script>
<style scoped>
.main-content{position: relative;overflow: hidden;}
.seencons{background-color: #fff;
box-shadow:0px 0px 10px #E9E9E9;border-radius: 5px;
@ -585,7 +743,7 @@ export default {
padding: 0 10px;}
.seenconsc p{padding: 0px 0 5px 0;border-bottom: 1px solid #ececee;font-size: 12px;text-align:left;cursor: pointer;}
/* .app-container{background-color: #f5f5f5;margin: 0;} */
.shipinlisttop {
.shipinlisttop {position: relative;
display: flex;
flex-direction: row;
justify-content: space-between;
@ -620,7 +778,7 @@ export default {
padding: 0 20px;position: relative; */
}
.shipinstu img{margin: 0 auto;height: 550px;}
.shipinstu .ruqinbaojing{position:absolute;left: 0;top:0;
.shipinstu .ruqinbaojingcss{position:absolute;left: 0;top:0;
/* position:absolute; */
/* border: #e20202 solid 2px; */
width: 100%;
@ -689,28 +847,46 @@ export default {
.shipinstu .Dianziweilan_zhengchang1b{position: absolute;top: 28%;left: 47%;}
.shipinstu .Dianziweilan_lixian1{position: absolute;top: 50%;left: 46%;}
.mores{padding: 0 10px;display: flex;
.mores /deep/ .el-checkbox{width: 126px;margin: 0;}
.mores /deep/ .el-checkbox-button {
background-color: #dbd9d9;height: 40px;margin: 0px 0 20px 0;
}
.mores /deep/ .el-checkbox-button__inner {
background-color: #fff;height: 40px;border: 1px solid #e1e2e4;
}
.mores /deep/ .el-checkbox-button.is-checked .el-checkbox-button__inner {
background-color: #e9f7fa;border: 1px solid #469efd;color: #000;
}
.moress{position: absolute;top: 15px;right: 20px;z-index: 9000;
padding: 0 0px;
display: flex;
flex-direction: column;
justify-content: center;align-items: center;
}
.mores{padding: 0 0px;margin: 0px 0 0px 0;flex: 1;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;align-items: center;}
.mores .more{flex: 1;font-size: 14px;padding: 0 10px;cursor: pointer;
justify-content: flex-start;align-items: center;
}
.mores .more{flex: 1;font-size: 14px;padding: 0 0 10px 0;cursor: pointer;margin: 0;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;align-items: center;}
.mores .more p {display: inline-block;
.mores .more p {display: inline-block;margin: 0;
font-size: 14px;
}
.mores .more .numzi {display: inline-block;
.mores .more .numzi {display: inline-block;margin: 0;
font-size: 18px;font-weight: bold;
}
.mores .more .iconbox {display: inline-block;
border-radius: 30px;
line-height: 30px;
width: 30px;
height: 30px;
border-radius: 25px;
line-height: 25px;
width: 25px;
height: 25px;
color: #fff;
font-size: 18px;text-align: center;margin: 0 5px;
font-size: 18px;text-align: center;margin: 0 2px;
}
/* .iconbox_red {
color: #fff; background: radial-gradient(circle, #8c0303, #e20202);

4
src/views/renlianshibie/renlianshibieList.vue

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar view-title="人脸识别" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<button-bar view-title="质物监测" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="tops">
<!-- 第1个 -->
@ -70,7 +70,7 @@
</div>
</div>
<div class="listtop">
<div class="tit">人脸识别信息列表</div>
<div class="tit">质物监测信息列表</div>
<!-- 翻页分页 -->
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>

26
src/views/shebeitaizhang/shebeitaizhangAdd.vue

@ -106,6 +106,25 @@
</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>
@ -203,11 +222,10 @@
sid: '',
isShow: true,
supplierType_list: [
{ title: '入侵报警', id: '1' },
{ title: '摄像头', id: '1' },
{ title: '电子围栏', id: '2' },
{ title: '门禁报警', id: '3' },
{ title: '监控报警', id: '4' },
{ title: '设备离线', id: '5' },
{ title: '门禁', id: '3' },
{ title: '机器人', id: '4' }
],
addForm: {
manufacturerName: '',

9
src/views/shebeitaizhang/shebeitaizhangInfo.vue

@ -94,11 +94,11 @@
</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></span>
<!-- <span>{{ infoForm.cangku }}</span> -->
</el-form-item>
</el-col>
</el-row>
@ -137,7 +137,7 @@
// index: 0,
viewTitle: '',
supplierType_list: [
{ title: '摄像', id: '1' },
{ title: '摄像', id: '1' },
],
status_list: [
{ title: '已损坏', id: '1' },
@ -153,7 +153,8 @@
manufacturer: '2023-02-26 12:00:00',
manufacturerTelePhone: '大华科技',
manufacturerFax: '2023-05-23',
status:'1'
status:'1',
cangku:'仓库1',
},
// baseManufacturerBankDto: [],
rules: {},

54
src/views/shebeitaizhang/shebeitaizhangList.vue

@ -37,16 +37,22 @@
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<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-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-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-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> -->
<!-- <el-form-item label="厂商办公电话">
<el-input v-model="listQuery.params.manufacturerTelePhone" maxlength="130" placeholder="" class="addinputw" clearable/>
</el-form-item>
@ -71,12 +77,13 @@
@selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50" />
<el-table-column label="序号" fixed type="index" width="80" :index="indexMethod" align="center" />
<el-table-column label="操作" fixed align="center" width="160px" class-name="small-padding fixed-width">
<el-table-column label="操作" fixed align="center" width="220px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary"
: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>
@ -125,6 +132,11 @@
<span>{{ scope.row.policeTime }}</span>
</template>
</el-table-column>
<el-table-column label="所属仓库" align="center">
<template slot-scope="scope">
<span>{{ scope.row.cangku }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<span v-if="scope.row.status == 1" style="color:red">{{ getStatus(scope.row.status) }}</span>
@ -256,6 +268,13 @@
// size: 'small',
// icon: '',
// btnKey: 'toChangShang',
// btnLabel: ''
// },
// {
// type: 'primary',
// size: 'small',
// icon: '',
// btnKey: 'toChangShang',
// btnLabel: ''
// },
// {
@ -294,16 +313,16 @@
// -----------
tableKey: 0,
list: [
{ bianma: 'KD-22', 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', 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', 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', 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', 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', 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', 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', 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', 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', 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-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' },
],
listLoading: false,
listQuery: {
@ -328,6 +347,10 @@
{ title: '三层', id: '3' },
{ title: '四层', id: '4' },
],
cangku_list: [
{ title: '仓库1', id: '1' },
{ title: '仓库2', id: '2' }
],
status_list: [
{ title: '已损坏', id: '1' },
{ title: '已维修', id: '2' },
@ -500,6 +523,11 @@
return
}
},
toChangShang() {
this.$router.push({
path: '/cangkuguanli/cangkuguanliList',
})
},
// toChangShang() {
// req.saveGysByOrgSid(this.listQuery.params.createOrgSid).then((resp) => {
// if (resp.success) {

Loading…
Cancel
Save