This commit is contained in:
shijing 2024-08-27 14:18:32 +08:00
commit 826d7db102
6 changed files with 260 additions and 189 deletions

View File

@ -223,6 +223,21 @@
<el-col :span="12">
<div><span class="infotitle">TSP</span> 0.000 /h</div>
</el-col>
</el-row>
<div class="typeLine">
<div class="greenBlock">
<div class="greenBlockInner"></div>
</div>
<span>监控设备</span>
</div>
<div class="infoLine">
<span class="circles"></span>
<span>{{ eqj.name }}</span>
</div>
<el-row class="infoLine">
<el-col :span="12">
<div id="divPlugin" class="plugin"></div>
</el-col>
</el-row>
</div>
</div>
@ -255,6 +270,7 @@ export default {
eqs: {},
eqc: {},
eqz: {},
eqj: {},
pollutantDetail: false,
query: {},
apiObj: this.$API.enp.drain.list,
@ -316,7 +332,8 @@ export default {
}
},
mounted() {
let that = this;
that.init();
},
methods: {
initDom() {
@ -363,7 +380,13 @@ export default {
that.getDetailData(2, id);
} else if (res.type == 30) { //
that.eqz = res;
that.getDetailData(3, id);
}
else if (res.type == 50) { //
debugger;
this.login(res);//
that.eqj = res;
}
})
});
@ -425,6 +448,70 @@ export default {
this.pollutantDetail = false;
this.detailItem = {};
},
//
//
init() {
WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin");
//
alert(1)
WebVideoCtrl.I_InitPlugin("divPlugin", 200, 200, {
iWndowType: 2, //N*N
bWndFull: true, //
cbInitPluginCompleted: function () {
alert(1)
WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin").then(() => {
//
WebVideoCtrl.I_CheckPluginVersion().then((bFlag) => {
if (bFlag) {
alert("检测到新的插件版本双击开发包目录里的HCWebSDKPlugin.exe升级");
}
});
}, () => {
alert("插件初始化失败请确认是否已安装插件如果未安装请双击开发包目录里的HCWebSDKPlugin.exe安装");
});
},
});
},
//
login(jkdata){
WebVideoCtrl.I_Login(
jkdata.ip,
1,
jkdata.port,
jkdata.login_name,
jkdata.login_pwd,
{
async: true,
cgi: 1,
success: (xmlDoc) => {
console.log("登录成功", xmlDoc);
//
WebVideoCtrl.I_StartRealPlay(szIp + "_" + ipPort, {
success: () => {
console.log("预览成功");
},
});
},
error: (xmlDoc) => {
console.log("登录失败", xmlDoc);
},
}
);
}
}
}
</script>
</script>
<style scoped>
.plugin {
width: 200px;
height: 200px;
/* background: #ffffff; */
}
</style>

View File

@ -58,27 +58,27 @@
background-color: rgb(4, 50, 83);
box-shadow: inset 0px 0px 30px 15px rgb(7, 79, 109)" v-model="dialogFormVisible" title="车辆运输台账详情" >
<el-descriptions :column="3" width="600px">
<el-descriptions-item label="出入口编号">{{ ysdata.crkbh }}</el-descriptions-item>
<el-descriptions-item label="道闸编号">{{ ysdata.dzbh }}</el-descriptions-item>
<el-descriptions-item label="抬杆方式">{{ ysdata.tgfs }}</el-descriptions-item>
<el-descriptions-item label="进厂时间">{{ ysdata.jcsj }}</el-descriptions-item>
<el-descriptions-item label="出厂时间">{{ ysdata.ccsj }}</el-descriptions-item>
<el-descriptions-item label="车辆类型">{{ ysdata.cllx }}</el-descriptions-item>
<el-descriptions-item label="车牌颜色">{{ ysdata.clys }}</el-descriptions-item>
<el-descriptions-item label="车牌号">{{ ysdata.cph }}</el-descriptions-item>
<el-descriptions-item label="注册登记日期">{{ ysdata.zcdjsj }}</el-descriptions-item>
<el-descriptions-item label="车辆识别代码VIN">{{ ysdata.cpsbdm }}</el-descriptions-item>
<el-descriptions-item label="车辆品牌型号">{{ ysdata.clppxh }}</el-descriptions-item>
<el-descriptions-item label="发动机号码">{{ ysdata.fdjhm }}</el-descriptions-item>
<el-descriptions-item label="燃料类型">{{ ysdata.rllx }}</el-descriptions-item>
<el-descriptions-item label="排放阶段">{{ ysdata.pfjd }}</el-descriptions-item>
<el-descriptions-item label="使用性质">{{ ysdata.syxz }}</el-descriptions-item>
<el-descriptions-item label="联网状态">{{ ysdata.lwzt }}</el-descriptions-item>
<el-descriptions-item label="进厂运输货物名称">{{ ysdata.jcyshwmc }}</el-descriptions-item>
<el-descriptions-item label="进厂运输货物量">{{ ysdata.jchwl }}</el-descriptions-item>
<el-descriptions-item label="出厂运输货物名称">{{ ysdata.cchwmc }}</el-descriptions-item>
<el-descriptions-item label="出厂运输货物量">{{ ysdata.cchwl }}</el-descriptions-item>
<el-descriptions-item label="车队名称">{{ ysdata.cdmc }}</el-descriptions-item>
<el-descriptions-item label="出入口编号">{{ ysdata.crkbh }}</el-descriptions-item>
<el-descriptions-item label="道闸编号">{{ ysdata.dzbh }}</el-descriptions-item>
<el-descriptions-item label="抬杆方式">{{ ysdata.tgfs }}</el-descriptions-item>
<el-descriptions-item label="进厂时间">{{ ysdata.jcsj }}</el-descriptions-item>
<el-descriptions-item label="出厂时间">{{ ysdata.ccsj }}</el-descriptions-item>
<el-descriptions-item label="车辆类型">{{ ysdata.cllx }}</el-descriptions-item>
<el-descriptions-item label="车牌颜色">{{ ysdata.clys }}</el-descriptions-item>
<el-descriptions-item label="车牌号">{{ ysdata.cph }}</el-descriptions-item>
<el-descriptions-item label="注册登记日期">{{ ysdata.zcdjsj }}</el-descriptions-item>
<el-descriptions-item label="车辆识别代码VIN">{{ ysdata.cpsbdm }}</el-descriptions-item>
<el-descriptions-item label="车辆品牌型号">{{ ysdata.clppxh }}</el-descriptions-item>
<el-descriptions-item label="发动机号码">{{ ysdata.fdjhm }}</el-descriptions-item>
<el-descriptions-item label="燃料类型">{{ ysdata.rllx }}</el-descriptions-item>
<el-descriptions-item label="排放阶段">{{ ysdata.pfjd }}</el-descriptions-item>
<el-descriptions-item label="使用性质">{{ ysdata.syxz }}</el-descriptions-item>
<el-descriptions-item label="联网状态">{{ ysdata.lwzt }}</el-descriptions-item>
<el-descriptions-item label="进厂运输货物名称">{{ ysdata.jcyshwmc }}</el-descriptions-item>
<el-descriptions-item label="进厂运输货物量">{{ ysdata.jchwl }}</el-descriptions-item>
<el-descriptions-item label="出厂运输货物名称">{{ ysdata.cchwmc }}</el-descriptions-item>
<el-descriptions-item label="出厂运输货物量">{{ ysdata.cchwl }}</el-descriptions-item>
<el-descriptions-item label="车队名称">{{ ysdata.cdmc }}</el-descriptions-item>
<el-descriptions-item label="进厂照片">
<div class="demo-image__preview">

View File

@ -3,18 +3,29 @@
<el-main>
<div class="about">
<div id="divPlugin" class="plugin"></div>
<el-button @click="Login" type="primary">登录</el-button>
<el-button @click="vShow" type="primary">预览</el-button>
<el-button @click="stopShow" type="warning">停止预览</el-button>
<el-button @click="logOut" type="warning">登出设备</el-button>
<el-button @click="breakdom" type="warning">销毁设备</el-button>
<el-button @click="init" type="warning">初始化设备</el-button>
<div style="margin-top: 30px;">
<el-button @click="Login" type="primary">登录</el-button>
<el-button @click="vShow" type="primary">预览</el-button>
<el-button @click="stopShow" type="warning">停止预览</el-button>
<el-button @click="logOut" type="warning">登出设备</el-button>
<el-button @click="breakdom" type="warning">销毁设备</el-button>
<el-button @click="init" type="warning">初始化设备</el-button>
<el-select v-model="video_value" placeholder="请选择" @change="changeWndNum()">
<el-option v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</div>
</el-main>
</el-container>
</template>
<script>
import { ThinRenderTargetTexture } from "babylonjs";
export default {
data() {
@ -23,8 +34,26 @@ export default {
szIp: "192.168.1.65",
ipPort: "80",
username: "admin",
password: "9093QQww",
password: "zc2024!!!",
iPrototocol: 1, //http:1:http2:https
video_value:1,
options: [{
value: 1,
label: '1x1'
},
{
value: 2,
label: '2x2'
},
{
value: 3,
label: '3x3'
},
{
value: 4,
label: '4x4'
}
]
};
},
mounted() {
@ -32,34 +61,29 @@ export default {
that.init();
},
methods: {
//
init() {
// alert('init')
WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin");
WebVideoCtrl.I_InitPlugin("divPlugin", 500, 500, {
WebVideoCtrl.I_InitPlugin("divPlugin", 600, 600, {
iWndowType: 2, //N*N
bWndFull: true, //
cbInitPluginCompleted: function () {
WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin").then(
() => {
WebVideoCtrl.I_CheckPluginVersion().then(
(bFlog) => {
if (bFlog) {
alert(
"插件版本有更新,请双击开发包里的HCWebSDKPlugin.exe升级"
);
}
}
);
},
() => {
alert(
"插件初始化失败,请确认是否安装插件,如果未安装,请请双击开发包里的HCWebSDKPlugin.exe安装"
);
}
);
WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin").then(() => {
//
WebVideoCtrl.I_CheckPluginVersion().then((bFlag) => {
if (bFlag) {
alert("检测到新的插件版本双击开发包目录里的HCWebSDKPlugin.exe升级");
}
});
}, () => {
alert("插件初始化失败请确认是否已安装插件如果未安装请双击开发包目录里的HCWebSDKPlugin.exe安装");
});
},
});
},
//
Login() {
WebVideoCtrl.I_Login(
this.szIp,
@ -86,35 +110,77 @@ export default {
console.log("预览成功");
},
});
},
//
stopShow() {
WebVideoCtrl.I_Stop({
iWndIndex: 1, //tingzhichuangkou
success: () => {
console.log("停止预览成功");
},
});
var oWndInfo = WebVideoCtrl.I_GetWindowStatus(),
szInfo = "";
if (oWndInfo != null) {
WebVideoCtrl.I_Stop({
success: function () {
console.log("停止预览成功!")
},
error: function (oError) {
console.log("停止预览失败!")
}
});
}
},
//
stopShowAll() {
WebVideoCtrl.I_StopAllPlay();
//WebVideoCtrl.I_StopAllPlay();
},
//
logOut() {
WebVideoCtrl.I_Logout(this.szIp + "_" + this.ipPort, {});
//WebVideoCtrl.I_Logout(this.szIp + "_" + this.ipPort, {});
var szDeviceIdentify =this.szIp;
if (null == szDeviceIdentify) {
return;
}
WebVideoCtrl.I_Logout(szDeviceIdentify).then(() => {
console.log(szDeviceIdentify + " " + "退出成功!");
}, () => {
console.log(szDeviceIdentify + " " + "退出失败!");
});
},
//
breakdom() {
WebVideoCtrl.I_DestroyPlugin();
},
//
changeWndNum() {
var iType = this.video_value;
if ("1*2" === iType || "2*1" === iType) {
WebVideoCtrl.I_ArrangeWindow(iType).then(() => {
console.log("窗口分割成功!");
}, (oError) => {
var szInfo = "窗口分割失败!";
console.log(szInfo, oError.errorCode, oError.errorMsg);
});
} else {
iType = parseInt(iType, 10);
WebVideoCtrl.I_ChangeWndNum(iType).then(() => {
console.log("窗口分割成功!");
}, (oError) => {
var szInfo = "窗口分割失败!";
console.log(szInfo, oError.errorCode, oError.errorMsg);
});
}
}
},
};
</script>
<style scoped>
.plugin {
width: 500px;
height: 500px;
width: 600px;
height: 600px;
/* background: #ffffff; */
}
</style>

View File

@ -159,7 +159,7 @@
</span>
</el-form-item>
<!-- <el-form-item label="巡检人" prop="inspect_user">
<el-select
<el-select
v-model="form.inspect_user"
placeholder="巡检人"
clearable
@ -384,4 +384,4 @@ export default {
},
},
};
</script>
</script>

View File

@ -3,21 +3,15 @@
<el-container v-loading="loading">
<el-main style="padding: 0 20px 20px 20px">
<el-form ref="dialogForm" :model="form" :rules="rules" :disabled="mode == 'show'" label-width="100px">
<el-row>
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="所属部门">
<el-form-item label="责任部门">
<el-cascader v-model="form.belong_dept" :options="group" :props="groupsProps" clearable
:show-all-levels="false" style="width: 100%" @change="deptChange">
</el-cascader>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="所属工段">
<el-select v-model="form.mgroup" placeholder="所属工段" clearable style="width: 100%">
<el-option v-for="item in mgroups" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="设备名称" prop="name">
<el-input v-model="form.name" placeholder="设备名称" />
@ -28,47 +22,53 @@
<el-input v-model="form.number" placeholder="设备编号" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24" v-if="form.type == 10">
<el-form-item
label="表明工段运行的方式"
label-width="160"
>
<el-select
v-model="form.indicate_mgroup_running"
style="width: 100%"
clearable
@clear="() => { form.indicate_mgroup_running=null } "
>
<el-option
v-for="e in iMEnum.values"
:key="e.key"
:value="e.key"
:label="e.text"
></el-option>
</el-select>
</el-form-item>
<el-col :md="12" :sm="24">
<el-form-item label="规格型号" prop="model">
<el-input v-model="form.model" placeholder="规格型号" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="状态">
<el-form-item label="设备状态">
<el-select style="width: 100%" v-model="form.state" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-divider/>
<el-col :md="12" :sm="24">
<el-col :md="12" :sm="24">
<el-form-item label="设备分类">
<el-select v-model="form.cate" placeholder="所属大类" clearable style="width: 100%">
<el-option v-for="item in cateOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-divider/>
<el-col :md="12" :sm="24">
<el-form-item label="型号规格">
<el-input v-model="form.model" placeholder="规格型号规格" />
<el-form-item label="IP地址" prop="ip">
<el-input v-model="form.ip" placeholder="设备IP地址" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="端口号" prop="port">
<el-input v-model="form.port" placeholder="设备端口号" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="登录账号" prop="login_name">
<el-input v-model="form.login_name" placeholder="设备登录名" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="登录密码" prop="login_pwd">
<el-input v-model="form.login_pwd" placeholder="设备登录密码" />
</el-form-item>
</el-col>
<el-divider/>
<el-col :md="12" :sm="24">
<el-form-item label="生产厂">
<el-input v-model="form.factory" placeholder="生产厂" />
@ -110,7 +110,7 @@
<el-col :md="12" :sm="24">
<el-form-item label="责任人" prop="leader_name">
<span style="display:flex">
<el-input readonly v-model="form.keeper_name"></el-input>
<el-input readonly v-model="form.keeper"></el-input>
<ehsUserSelect :multiple="false" @submit="getReceptionist" />
</span>
</el-form-item>
@ -121,70 +121,8 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="简要技术参数">
<el-input type="textarea" :rows="3" v-model="form.parameter" placeholder="技术参数" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="备注">
<el-input type="textarea" :rows="3" v-model="form.description" placeholder="备注" />
</el-form-item>
</el-col>
</el-row>
<el-divider/>
<el-row v-if="form.type==20">
<el-col :md="12" :sm="24">
<el-form-item label="仪表类型">
<el-input v-model="form.meter_type" placeholder="仪表类型" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="量程范围">
<el-input v-model="form.measurement_range" placeholder="量范" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="管理等级">
<el-input v-model="form.management_level" placeholder="管理等级" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="精度等级">
<el-input v-model="form.accuracy_level" placeholder="精度等级" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="检定周期(月)">
<el-input-number v-model="form.cycle" :precision="1" :min="0" controls-position="right"
style="width: 100%;" placeholder="检定周期(月)" />
</el-form-item>
</el-col>
</el-row>
<el-divider v-if="form.type==20"/>
<el-row>
<el-col>
<el-form-item label="技术参数">
<el-button @click="addJsonItem" type="primary" size="small">添加</el-button>
</el-form-item>
</el-col>
</el-row>
<el-row v-for="(item, $index) in parameter_json" :key="item" :gutter="4">
<el-col :span="11">
<el-form-item label="参数名">
<el-input v-model="item.key" placeholder="参数名" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="参数值">
<el-input v-model="item.value" placeholder="参数值" />
</el-form-item>
</el-col>
<el-col :span="2">
<el-button @click="delJsonItem($index)" type="danger" size="small">删除</el-button>
</el-col>
</el-row>
</el-form>
</el-main>
<el-footer>
@ -222,8 +160,7 @@ export default {
rules: {
name: [{ required: true, message: "请输入", trigger: "blur" }],
number: [{ required: true, message: "请输入", trigger: "blur" }],
keeper_name: [{ required: true, message: "请输入", trigger: "blur" }],
belong_dept: [{ required: true, message: "请选择所属部门", trigger: "blur" }]
belong_dept: [{ required: true, message: "请选择责任部门", trigger: "blur" }]
},
options: [{
value: 10,

View File

@ -24,17 +24,19 @@
<el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" stripe :params="query" @selection-change="selectionChange">
<el-table-column type="selection" width="50" />
<el-table-column label="设备名称" prop="name" width="200" show-overflow-tooltip>
<el-table-column label="设备名称" prop="name" width="200" show-overflow-tooltip>
</el-table-column>
<el-table-column label="设备编号" prop="number">
</el-table-column>
<el-table-column label="型号规格" prop="model">
</el-table-column>
<el-table-column label="生产厂" prop="factory" show-overflow-tooltip>
<el-table-column label="设备IP" prop="ip" width="200" show-overflow-tooltip>
</el-table-column>
<el-table-column label="生产日期" prop="production_date">
<el-table-column label="端口号" prop="port">
</el-table-column>
<el-table-column label="购置日期" prop="buy_date">
<el-table-column label="登录账号" prop="login_name">
</el-table-column>
<el-table-column label="登录密码" prop="login_pwd">
</el-table-column>
<el-table-column label="状态">
<template #default="scope">
@ -52,27 +54,6 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="运行状态">
<template #default="scope">
<el-tag :type="runningStateEnum[scope.row.running_state]?.type">{{
runningStateEnum[scope.row.running_state]?.text }}</el-tag>
</template>
</el-table-column>
<el-table-column label="所在车间" show-overflow-tooltip>
<template #default="scope">{{ scope.row.belong_dept_name }}</template>
</el-table-column>
<el-table-column label="所在工段" show-overflow-tooltip>
<template #default="scope">{{ scope.row.mgroup_name }}</template>
</el-table-column>
<el-table-column label="保管人">
<template #default="scope">{{ scope.row.keeper_name }}</template>
</el-table-column>
<el-table-column label="存放位置" show-overflow-tooltip>
<template #default="scope">{{ scope.row.place }}</template>
</el-table-column>
<el-table-column label="备注" show-overflow-tooltip>
<template #default="scope">{{ scope.row.description }}</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="left" width="180">
<template #default="scope">
<el-button link type="primary" @click="table_record(scope.row)" v-auth="'echeckrecord.create'">
@ -159,7 +140,7 @@
</span>
</el-form-item>
<!-- <el-form-item label="巡检人" prop="inspect_user">
<el-select
<el-select
v-model="form.inspect_user"
placeholder="巡检人"
clearable
@ -374,4 +355,4 @@ export default {
},
},
};
</script>
</script>