!23 logo更换

Merge pull request !23 from 打豆豆/master
This commit is contained in:
打豆豆 2024-03-26 13:38:55 +00:00 committed by Gitee
commit d09d4760d7
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
15 changed files with 629 additions and 343 deletions

View File

@ -59,4 +59,13 @@ export function listItems(query) {
method: 'get', method: 'get',
params: query params: query
}) })
}
// 删除
export function deleteShopFace(data) {
return request({
url: '/mes/pro/workorder/deleteShopFace',
method: 'post',
data: data
})
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -30,7 +30,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="7"> <!-- <el-col :span="7">
<el-form-item label="所在车间" prop="workshopName"> <el-form-item label="所在车间" prop="workshopName">
<el-select v-model="queryParams.workshopId" placeholder="请选择车间"> <el-select v-model="queryParams.workshopId" placeholder="请选择车间">
<el-option <el-option
@ -41,7 +41,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col> -->
<el-col :span="3"> <el-col :span="3">
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@ -178,7 +178,7 @@ export default {
workstationCode: null, workstationCode: null,
workstationName: null, workstationName: null,
workstationAddress: null, workstationAddress: null,
workshopId: null, workshopId: "214",
workshopCode: null, workshopCode: null,
workshopName: null, workshopName: null,
processId: null, processId: null,

View File

@ -315,15 +315,8 @@
v-model="form.machineryTypeId" v-model="form.machineryTypeId"
:options="machineryTypeOptions" :options="machineryTypeOptions"
:normalizer="normalizer" :normalizer="normalizer"
disabled placeholder="请选择设备类型"
v-if="optType == 'view'" @select="handleNode"
/>
<treeselect
v-model="form.machineryTypeId"
:options="machineryTypeOptions"
:normalizer="normalizer"
placeholder="请选择所属分类"
v-else
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -382,7 +375,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所属车间" prop="workshopName"> <!-- <el-form-item label="所属车间" prop="workshopName">
<el-select <el-select
v-model="form.workshopName" v-model="form.workshopName"
placeholder="请选择车间" placeholder="请选择车间"
@ -397,7 +390,7 @@
:value="item" :value="item"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
@ -587,7 +580,7 @@ export default {
idList: "", idList: "",
workshopCode: "", workshopCode: "",
workshopName: "", workshopName: "",
workshopId: "", workshopId: "214",
}, },
defaultPropss: { defaultPropss: {
children: "children", children: "children",
@ -656,15 +649,15 @@ export default {
machineryName: [ machineryName: [
{ required: true, message: "设备名称不能为空", trigger: "blur" }, { required: true, message: "设备名称不能为空", trigger: "blur" },
], ],
workshopId: [ // workshopId: [
{ required: true, message: "车间不能为空", trigger: "blur" }, // { required: true, message: "", trigger: "blur" },
], // ],
machineryTypeId: [ machineryTypeId: [
{ required: true, message: "设备分类不能为空", trigger: "blur" }, { required: true, message: "设备分类不能为空", trigger: "blur" },
], ],
workshopName: [ // workshopName: [
{ required: true, message: "所属车间不能为空", trigger: "blur" }, // { required: true, message: "", trigger: "blur" },
], // ],
}, },
}; };
}, },
@ -727,6 +720,12 @@ export default {
this.queryParamsdata = data; this.queryParamsdata = data;
this.handleQuery(); this.handleQuery();
}, },
//
handleNode(data) {
console.log(data);
this.form.machineryTypeName = data.machineryTypeName;
this.form.machineryTypeCode = data.code;
},
// //
cancel() { cancel() {
this.open = false; this.open = false;
@ -743,7 +742,7 @@ export default {
machineryTypeId: null, machineryTypeId: null,
machineryTypeCode: null, machineryTypeCode: null,
machineryTypeName: null, machineryTypeName: null,
workshopId: null, workshopId: "214",
workshopCode: null, workshopCode: null,
workshopName: null, workshopName: null,
status: "STOP", status: "STOP",
@ -809,7 +808,7 @@ export default {
// this.$emit("getSelectList", this.selectList); // this.$emit("getSelectList", this.selectList);
}, },
// //
handleAccompanyId(val) { handleAccompanyId(val) {
this.form.workshopCode = val.workshopCode; this.form.workshopCode = val.workshopCode;
this.form.workshopName = val.workshopName; this.form.workshopName = val.workshopName;

View File

@ -201,7 +201,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所属车间" prop="workshopId"> <!-- <el-form-item label="所属车间" prop="workshopId">
<el-select <el-select
v-model="form.workshopId" v-model="form.workshopId"
placeholder="请选择车间" placeholder="请选择车间"
@ -215,7 +215,7 @@
:value="item.workshopId" :value="item.workshopId"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否启用" prop="enableFlag"> <el-form-item label="是否启用" prop="enableFlag">
@ -346,7 +346,7 @@ export default {
proAgvlineId: null, proAgvlineId: null,
lineCode: null, lineCode: null,
lineName: null, lineName: null,
workshopId: null, workshopId: "214",
enableFlag: "Y", enableFlag: "Y",
remark: null, remark: null,
}; };

View File

@ -245,7 +245,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="所在车间" prop="workshopId"> <el-form-item label="所在车间" prop="workshopId">
<el-select <el-select
v-model="form.workshopId" v-model="form.workshopId"
@ -260,7 +260,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col> -->
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
@ -564,7 +564,7 @@ export default {
workstationCode: null, workstationCode: null,
workstationName: null, workstationName: null,
workstationAddress: null, workstationAddress: null,
workshopId: null, workshopId: "214",
workshopCode: null, workshopCode: null,
workshopName: null, workshopName: null,
processId: null, processId: null,
@ -670,6 +670,7 @@ export default {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
if (this.form.workstationId != null) { if (this.form.workstationId != null) {
this.form.processId = this.form.processId.join(",");
updateWorkstation(this.form).then((response) => { updateWorkstation(this.form).then((response) => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;

View File

@ -0,0 +1,91 @@
import { getPubKey, setEncrypt } from './pubKey'
var initCount = 0;
var oWebControl;
/**
*
* @param {*} id :组件容器id
* @param {*} iWidth :组件容器宽
* @param {*} iHeight :组件容器高
* @param {*}cbIntegrationCallBack消息推送回调函数
* @param {*} argument:初始化api参数
* @param {*} completeCallBack初始化成功回调函数
* @param {*} plugErrorCallBack插件启动失败回调函数
*/
const initPlugin = (id, iWidth, iHeight, argument, cbIntegrationCallBack = () => { }, completeCallBack = () => { }, plugErrorCallBack = () => { }) => {
// eslint-disable-next-line no-undef
oWebControl = new WebControl({
szPluginContainer: id, // 指定容器id
iServicePortStart: 15900, // 指定起止端口号,建议使用该值
iServicePortEnd: 15909,
szClassId: "23BF3B0A-2C56-4D97-9C03-0CB103AA8F11", // 用于IE10使用ActiveX的clsid
cbConnectSuccess: function () { // 创建WebControl实例成功
oWebControl.JS_StartService("window", { // WebControl实例创建成功后需要启动服务
dllPath: "./VideoPluginConnect.dll" // 值"./VideoPluginConnect.dll"写死
}).then(function () { // 启动插件服务成功
oWebControl.JS_SetWindowControlCallback({ // 设置消息回调
cbIntegrationCallBack: cbIntegrationCallBack
});
oWebControl.JS_CreateWnd(id, iWidth, iHeight).then(function () { //JS_CreateWnd创建视频播放窗口宽高可设定
init(argument, iWidth, iHeight,completeCallBack()); // 创建播放实例成功后初始化
});
}, function () { // 启动插件服务失败
});
},
// eslint-disable-next-line no-unused-vars
cbConnectError: function (e) { // 创建WebControl实例失败
oWebControl = null;
// eslint-disable-next-line no-undef
// $(id).html("插件未启动,正在尝试启动,请稍候...");
// eslint-disable-next-line no-undef
WebControl.JS_WakeUp("VideoWebPlugin://"); // 程序未启动时执行error函数采用wakeup来启动程序
initCount++;
if (initCount < 2) {
setTimeout(function () {
initPlugin(id, iWidth, iHeight, argument, cbIntegrationCallBack,completeCallBack,plugErrorCallBack);
}, 1000)
} else {
// eslint-disable-next-line no-undef
// $(id).html("插件启动失败,请检查插件是否安装!");
plugErrorCallBack()
}
},
// eslint-disable-next-line no-unused-vars
cbConnectClose: function (bNormalClose) {
// 异常断开bNormalClose = false
// JS_Disconnect正常断开bNormalClose = true
console.log("cbConnectClose");
oWebControl = null;
}
});
return oWebControl
}
//初始化
function init(argument, iWidth, iHeight,callback=()=>{}) {
getPubKey(oWebControl, function () {
oWebControl.JS_RequestInterface({
funcName: "init",
argument: JSON.stringify({
...argument,
secret: setEncrypt(argument.secret)
})
// eslint-disable-next-line no-unused-vars
}).then(function (oData) {
callback()
//oWebControl.JS_Resize(iWidth, iHeight); // 初始化后resize一次规避firefox下首次显示窗口后插件窗口未与DIV窗口重合问题
});
})
}
export default initPlugin

View File

@ -0,0 +1,24 @@
var pubKey;
//获取公钥
export function getPubKey(oWebControl,callback) {
// eslint-disable-next-line no-undef
oWebControl.JS_RequestInterface({
funcName: "getRSAPubKey",
argument: JSON.stringify({
keyLength: 1024
})
}).then(function (oData) {
if (oData.responseMsg.data) {
pubKey = oData.responseMsg.data;
callback()
}
})
}
//RSA加密
export function setEncrypt(value) {
// eslint-disable-next-line no-undef
var encrypt = new JSEncrypt();
encrypt.setPublicKey(pubKey);
return encrypt.encrypt(value);
}

View File

@ -1,296 +1,251 @@
<template> <template>
<div class="videoMain" ref="playWndBox"> <div class="hk-video-container" id="playWnd">
<div <!-- 下载插件提示框 -->
id="playWnd" <el-dialog
class="playWnd" v-if="downloadDialog"
:style="{ title="提示"
height: playWndHeight + 'px', :visible.sync="dialogVisible"
width: playWndWidth + 'px', width="30%"
}" >
></div> <span
>{{downloadText}}</span
>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="handleDownloadExe">下载</el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import initPlugin from "./lib/initPlugin";
export default { export default {
name: "HikVideo", name: "hkVideo",
props: {
width: {
type: Number,
default: 500,
},
height: {
type: Number,
default: 300,
},
//
// appkey: appkey, //APIappkey
// secret: secret, //APIsecret
// ip: ip, //APIIP
// playMode: playMode, //
// port: port, //
// snapDir: snapDir, //
// videoDir: videoDir, //
// layout: layout, //
// enableHTTPS: enableHTTPS, //HTTPS
// encryptedFields: encryptedFields, //
// showToolbar: showToolbar, //
// showSmart: showSmart, //
// buttonIDs: buttonIDs //
argument: {
type: Object,
default: () => {},
},
//01
playMode: {
type: Number,
default: 0,
},
//
autoResize: {
type: Boolean,
default: true,
},
//
downloadDialog: {
type: Boolean,
default: false,
},
//url
downloadUrl: {
type: String,
default: "",
},
downloadText:{
type:String,
default:'插件启动失败,请检查插件是否安装,如果未安装请点击下载安装,安装后刷新页面'
}
},
data() { data() {
return { return {
// curWindIndex: 1, //1
playWndHeight: "", oWebControl: null, //
// iWidth: "", //
playWndWidth: "", iHeight: "", //
oWebControl: null, options: {
initCount: 0, appkey: "admin", //APIappkey
pubKey: "", secret: "mygymygy.", //APIsecret
cameraIndexCode: "", // ip: "192.168.2.107", //APIIP
objData: { playMode: 0, //
appkey: "", //appkey port: 443, //
ip: "", // snapDir: "D:\\SnapDir", //
secret: "", //secret videoDir: "D:\\VideoDir", //
port: 443, layout: "3x3", //
playMode: 0, // 0 1 enableHTTPS: 1, //HTTPS
layout: "2x2", //16 encryptedFields: "secret", //
showToolbar: 1,
showSmart: 1,
buttonIDs:
"0,1,16,256,257,258,259,260,512,513,514,515,516,517,768,769,770", //
}, },
rate: 0, //
isInitComolete: false, //
dialogVisible: false,
}; };
}, },
watch: {
width: {
handler(val) {
this.iWidth = val;
if (this.isInitComolete) {
this.setRate();
this.setResize(this.iWidth, this.iHeight);
}
},
immediate: true,
},
height: {
handler(val) {
this.iHeight = val;
if (this.isInitComolete) {
this.setRate();
this.setResize(this.iWidth, this.iHeight);
}
},
immediate: true,
},
playMode() {
this.reInit();
},
},
mounted() { mounted() {
// this.init();
this.playWndHeight = this.$refs.playWndBox.clientHeight; this.handleWindEvent();
//
this.playWndWidth = this.$refs.playWndBox.clientWidth;
//
this.$nextTick(() => { this.$nextTick(() => {
this.initPlugin(); this.setRate();
});
// scroll使DIV
window.addEventListener("scroll", () => {
if (this.oWebControl != null) {
this.oWebControl.JS_Resize(
this.$refs.playWndBox.clientWidth,
this.$refs.playWndBox.clientHeight
);
this.setWndCover();
}
});
// resize使DIV
window.addEventListener("resize", (e) => {
if (this.oWebControl != null) {
this.oWebControl.JS_Resize(
this.$refs.playWndBox.clientWidth,
this.$refs.playWndBox.clientHeight
);
this.setWndCover();
}
}); });
}, },
destroyed() { beforeDestroy() {
if (this.oWebControl != null) { if (this.oWebControl != null) {
// this.oWebControl.JS_HideWnd(); //
this.oWebControl.JS_HideWnd(); this.oWebControl.JS_Disconnect().then(
// function () {
this.oWebControl.JS_RequestInterface({ funcName: "destroyWnd" }); //
// },
this.oWebControl.JS_Disconnect(); function () {
//
}
);
} }
}, },
methods: { methods: {
// //
initPlugin() { init() {
let that = this; let argument = {
this.oWebControl = null; ...this.options,
that.oWebControl = new WebControl({ ...this.argument,
szPluginContainer: "playWnd", // id };
iServicePortStart: 15900, // 使 if (this.playMode > -1 && this.playMode < 2) {
iServicePortEnd: 15909, argument.playMode = this.playMode;
szClassId: "23BF3B0A-2C56-4D97-9C03-0CB103AA8F11", // IE10使ActiveXclsid }
cbConnectSuccess: () => { // eslint-disable-next-line no-undef
// WebControl this.iWidth = Math.min(this.iWidth, $(window).width());
that.oWebControl this.oWebControl = initPlugin(
.JS_StartService("window", { "playWnd",
// WebControl this.iWidth,
// "./VideoPluginConnect.dll" this.iHeight,
dllPath: "./VideoPluginConnect.dll", argument,
}) this.cbIntegrationCallBack,
.then( () => {
function () { this.setRate();
// this.setResize(this.iWidth, this.iHeight);
that.oWebControl.JS_SetWindowControlCallback({ this.isInitComolete = true;
cbIntegrationCallBack: that.cbIntegrationCallBack, this.$emit("initFinish");
});
//JS_CreateWnd
that.oWebControl
.JS_CreateWnd("playWnd", 2040, 945, { bEmbed: true })
//2040,945
.then(function () {
//
that.init();
});
},
function () {
//
}
);
}, },
// WebControl () => {
cbConnectError: function () { if (this.downloadDialog) {
that.oWebControl = null; this.dialogVisible = true;
// alert('...')
// that.$message.warning("...");
// errorwakeup
window.WebControl.JS_WakeUp("VideoWebPlugin://");
that.initCount++;
if (that.initCount < 3) {
setTimeout(function () {
that.initPlugin();
}, 3000);
} else {
// that.messageBox = true
// alert('')
// that.downloadHikVideo()
// setTimeout(function () {
// that.messageBox = false
// }, 5000)
// setTimeout(function () {
// alert('')
// that.$message({
// message: ' \n https://www.baidu.com',
// type: 'warning'
// });
// }, 5000)
} }
}, this.$emit("pluginError");
cbConnectClose: () => { }
// bNormalClose = false );
// JS_DisconnectbNormalClose = true
// console.log("cbConnectClose");
that.oWebControl = null;
},
});
}, },
// //
init(callback) { reInit() {
let that = this; if (this.oWebControl) {
that.getPubKey(() => { this.oWebControl
let appkey = that.objData.appkey; //appkey
let secret = that.setEncrypt(that.objData.secret); //secret
let ip = that.objData.ip; //IP
let playMode = that.objData.playMode; //0-1-
let port = that.objData.port; //HTTPS443
let snapDir = "D:\\SnapDir"; //
let videoDir = "D:\\VideoDir"; //
let layout = that.objData.layout; //playMode
let enableHTTPS = 1; //HTTPS1
let encryptedFields = "secret"; //secret
let showToolbar = 1; //0-0-
let showSmart = 1; //线0-0-
let buttonIDs =
"0,16,256,257,258,259,260,512,513,514,515,516,517,768,769"; //
// var toolBarButtonIDs = "2049,2304" //
that.oWebControl
.JS_RequestInterface({ .JS_RequestInterface({
funcName: "init", funcName: "uninit",
argument: JSON.stringify({
appkey: appkey, //APIappkey
secret: secret, //APIsecret
ip: ip, //APIIP
playMode: playMode, //
port: port, //
snapDir: snapDir, //
videoDir: videoDir, //
layout: layout, //
enableHTTPS: enableHTTPS, //HTTPS
encryptedFields: encryptedFields, //
showToolbar: showToolbar, //
showSmart: showSmart, //
buttonIDs, //
}),
}) })
.then(function (oData) { .then(() => {
that.oWebControl.JS_Resize(that.playWndWidth, that.playWndHeight); // resizefirefoxDIV this.init();
if (callback) {
callback();
}
//
// that.oWebControl.JS_HideWnd()
}); });
}); }
}, },
// setRate() {
getPubKey(callback) { // eslint-disable-next-line no-undef
let that = this; var iWidth = $(window).width();
this.oWebControl this.rate = this.iWidth / iWidth;
.JS_RequestInterface({ },
funcName: "getRSAPubKey", //
argument: JSON.stringify({ handleWindEvent() {
keyLength: 1024, // resize使DIV
}), // eslint-disable-next-line no-undef
}) if (this.autoResize) {
.then(function (oData) { // eslint-disable-next-line no-undef
if (oData.responseMsg.data) { $(window).resize(() => {
that.pubKey = oData.responseMsg.data; if (this.oWebControl) {
callback(); // eslint-disable-next-line no-undef
var iWidth = $(window).width();
// eslint-disable-next-line no-undef
this.iWidth = iWidth * this.rate;
this.oWebControl.JS_Resize(this.iWidth, this.iHeight);
this.setWndCover();
} }
}); });
}
// scroll使
// eslint-disable-next-line no-undef
$(window).scroll(() => {
if (this.oWebControl) {
this.oWebControl.JS_Resize(this.iWidth, this.iHeight);
this.setWndCover();
}
});
}, },
// RSA //
setEncrypt(value) {
let that = this;
let encrypt = new window.JSEncrypt();
encrypt.setPublicKey(that.pubKey);
return encrypt.encrypt(value);
},
//
cbIntegrationCallBack(oData) { cbIntegrationCallBack(oData) {
let { responseMsg: type } = oData; if (oData?.responseMsg?.type) {
if (type === "error") { let data = oData.responseMsg;
} else { switch (data.type) {
} //
}, case 1:
// if (this.curWindIndex !== data.msg.wndId) {
previewVideo(data) { this.curWindIndex = data.msg.wndId;
let that = this; this.$emit("windowChange", this.curWindIndex);
let cameraIndexCode = data; // }
let streamMode = 0; // 0-1- break;
let transMode = 0; // 0-UDP1-TCP //
let gpuMode = 0; // GPU0-1- case 6:
let wndId = -1; // 2x2 this.$emit("layoutChange", data.msg);
// console.log(cameraIndexCode, "-------cameraIndexCode-"); break;
that.oWebControl.JS_RequestInterface({
funcName: "startPreview",
argument: JSON.stringify({
cameraIndexCode: cameraIndexCode.trim(), //
streamMode: streamMode, //
transMode: transMode, //
gpuMode: gpuMode, // GPU
wndId: wndId, //
}),
});
},
//
stopAllPreview() {
this.oWebControl.JS_RequestInterface({
funcName: "stopAllPreview",
});
},
//
dateFormat(oDate, fmt) {
let o = {
"M+": oDate.getMonth() + 1, //
"d+": oDate.getDate(), //
"h+": oDate.getHours(), //
"m+": oDate.getMinutes(), //
"s+": oDate.getSeconds(), //
"q+": Math.floor((oDate.getMonth() + 3) / 3), //
S: oDate.getMilliseconds(), //
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
(oDate.getFullYear() + "").substr(4 - RegExp.$1.length)
);
}
for (let k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length == 1
? o[k]
: ("00" + o[k]).substr(("" + o[k]).length)
);
} }
} }
return fmt;
}, },
// JS_CuttingPartWindow // JS_CuttingPartWindow
setWndCover() { setWndCover() {
// eslint-disable-next-line no-undef
var iWidth = $(window).width(); var iWidth = $(window).width();
// eslint-disable-next-line no-undef
var iHeight = $(window).height(); var iHeight = $(window).height();
// eslint-disable-next-line no-undef
var oDivRect = $("#playWnd").get(0).getBoundingClientRect(); var oDivRect = $("#playWnd").get(0).getBoundingClientRect();
var iCoverLeft = oDivRect.left < 0 ? Math.abs(oDivRect.left) : 0; var iCoverLeft = oDivRect.left < 0 ? Math.abs(oDivRect.left) : 0;
@ -302,42 +257,239 @@ export default {
? Math.round(oDivRect.bottom - iHeight) ? Math.round(oDivRect.bottom - iHeight)
: 0; : 0;
iCoverLeft = iCoverLeft > 2041 ? 2041 : iCoverLeft; iCoverLeft = iCoverLeft > this.iWidth ? this.iWidth : iCoverLeft;
iCoverTop = iCoverTop > 945 ? 945 : iCoverTop; iCoverTop = iCoverTop > this.iHeight ? this.iHeight : iCoverTop;
iCoverRight = iCoverRight > 2041 ? 2041 : iCoverRight; iCoverRight = iCoverRight > this.iWidth ? this.iWidth : iCoverRight;
iCoverBottom = iCoverBottom > 945 ? 945 : iCoverBottom; iCoverBottom = iCoverBottom > this.iHeight ? this.iHeight : iCoverBottom;
this.oWebControl.JS_RepairPartWindow(0, 0, 2041, 946); // 1 this.oWebControl.JS_RepairPartWindow(
0,
0,
this.iWidth + 1,
this.iHeight + 1
); // 1
if (iCoverLeft != 0) { if (iCoverLeft != 0) {
this.oWebControl.JS_CuttingPartWindow(0, 0, iCoverLeft, 946); this.oWebControl.JS_CuttingPartWindow(0, 0, iCoverLeft, this.iHeight);
} }
if (iCoverTop != 0) { if (iCoverTop != 0) {
this.oWebControl.JS_CuttingPartWindow(0, 0, 2041, iCoverTop); // this.oWebControl.JS_CuttingPartWindow(
0,
0,
this.iWidth + 1,
iCoverTop + 1
); //
} }
if (iCoverRight != 0) { if (iCoverRight != 0) {
this.oWebControl.JS_CuttingPartWindow( this.oWebControl.JS_CuttingPartWindow(
2041 - iCoverRight, this.iWidth - iCoverRight,
0, 0,
iCoverRight, iCoverRight,
946 this.iHeight
); );
} }
if (iCoverBottom != 0) { if (iCoverBottom != 0) {
this.oWebControl.JS_CuttingPartWindow( this.oWebControl.JS_CuttingPartWindow(
0, 0,
946 - iCoverBottom, this.iHeight - iCoverBottom,
2041, this.iWidth,
iCoverBottom iCoverBottom
); );
} }
}, },
/**
* @param {*} cameraIndexCode :获取输入的监控点编号值必填
* @param {*} argument:api参数,
* argument属性cameraIndexCode优先级高于函数参数cameraIndexCode
*/
startPreview(cameraIndexCode, argument = {}) {
if (this.oWebControl) {
let params = {
cameraIndexCode: cameraIndexCode, //
streamMode: 0, //
transMode: 1, //
gpuMode: 1, //GPU
wndId: -1,
};
this.oWebControl
.JS_RequestInterface({
funcName: "startPreview",
argument: JSON.stringify({
...params,
...argument,
}),
})
.then(() => {});
}
},
//
stopAllPreview() {
this.oWebControl.JS_RequestInterface({
funcName: "stopAllPreview",
});
},
//()
/**
* idArr:播放窗口序号数组
*/
stopListPreview(idArr) {
let list = idArr.map((item) => {
return {
wndId: item,
};
});
this.oWebControl.JS_RequestInterface({
funcName: "stopMultiPlay",
argument: {
list,
},
});
},
/**
* @param {*} cameraIndexCode :获取输入的监控点编号值必填
* @param {*} startTime:开始时间
* @param {*} endTime:结束时间
* @param {*} recordLocation://0-1-
* @param {*} argument:api参数
* argument属性cameraIndexCode优先级高于函数参数cameraIndexCode
*/
startPlayBack(
cameraIndexCode,
startTime,
endTime,
recordLocation = 0,
argument = {}
) {
var startTimeStamp = new Date(
startTime.replace("-", "/").replace("-", "/")
).getTime(); //
var endTimeStamp = new Date(
endTime.replace("-", "/").replace("-", "/")
).getTime(); //
// var recordLocation = 0; //0-1-
var transMode = 1; //0-UDP1-TCP
var gpuMode = 0; //GPU0-1-
var wndId = -1; //2x2
this.oWebControl.JS_RequestInterface({
funcName: "startPlayback",
argument: JSON.stringify({
cameraIndexCode: cameraIndexCode, //
startTimeStamp: Math.floor(startTimeStamp / 1000).toString(), //
endTimeStamp: Math.floor(endTimeStamp / 1000).toString(), //
recordLocation: recordLocation, //0-1-
transMode: transMode, //0-UDP1-TCP
gpuMode: gpuMode, //GPU0-1-
wndId: wndId, //
...argument,
}),
});
},
//
stopAllPlayBack() {
this.oWebControl.JS_RequestInterface({
funcName: "stopAllPlayback",
});
},
//
//latyou2x2
setLayout(layout) {
this.oWebControl.JS_RequestInterface({
funcName: " setLayout",
argument: {
layout,
},
});
},
/**
* @param {*} text :文字
* @param {*} x:相对播放窗口左上角的横坐标起点
* @param {*} y:相对播放窗口左上角的纵坐标起点
* @param {*} fontSize:字体大小
* @param {*} color:字体颜色默认白色
* @param {*} argument:api参数
* argument属性cameraIndexCode优先级高于函数参数cameraIndexCode
*/
drawText(
text,
x = 5,
y = 5,
fontSize = 20,
color = 16777215,
argument = {}
) {
this.oWebControl.JS_RequestInterface({
funcName: "drawOSD",
argument: {
text,
x,
y,
fontSize,
color,
...argument,
},
});
},
//
setFullScreen() {
this.oWebControl.JS_RequestInterface({
funcName: "setFullScreen",
});
},
//退
exitFullScreen() {
this.oWebControl.JS_RequestInterface({
funcName: "exitFullScreen",
});
},
//
snapShot(argument = {}) {
this.oWebControl.JS_RequestInterface({
funcName: "snapShot",
argument,
});
},
//
hideWindow() {
this.oWebControl.JS_HideWnd();
},
//
showWindow() {
this.oWebControl.JS_ShowWnd();
},
//
setResize(width, height) {
this.oWebControl.JS_Resize(width, height);
this.setWndCover();
},
//
handleDownloadExe() {
this.dialogVisible = false;
if (this.downloadUrl) {
this.downloadFile(this.downloadUrl);
} else {
console.log("下载地址为空");
}
this.$emit("clickDownload");
},
//
downloadFile(url, fileName = "") {
const a = document.createElement("a");
a.style.display = "none";
if (fileName) {
a.setAttribute("download", fileName);
}
a.setAttribute("href", url);
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(a.href);
document.body.removeChild(a);
},
}, },
}; };
</script> </script>
<style scoped>
<style lang="scss" scoped> </style>
.videoMain {
width: 100%;
height: 100%;
}
</style>

View File

@ -146,11 +146,7 @@
<defective :message="this.defectiveData" /> <defective :message="this.defectiveData" />
</div> </div>
<div style="width: 30%; margin-top: 50px"> <div style="width: 30%; margin-top: 50px">
<hkVideo <hkVideo :monitoringNumber="cameraIndexCode"></hkVideo>
:cameraIndexCode="cameraIndexCode"
:objData="objData"
ref="hikVideo"
></hkVideo>
</div> </div>
</div> </div>
<div style="height: 50%; display: flex"> <div style="height: 50%; display: flex">
@ -251,6 +247,7 @@
</template> </template>
<script> <script>
import axios from "axios";
import { listWorkorder } from "@/api/mes/pro/workorder"; import { listWorkorder } from "@/api/mes/pro/workorder";
// import * as statisServer from "@/api/statistics"; // import * as statisServer from "@/api/statistics";
@ -265,7 +262,7 @@ export default {
components: { defective, complete, ticket, hkVideo }, components: { defective, complete, ticket, hkVideo },
data() { data() {
return { return {
cameraIndexCode: "", //wed cameraIndexCode: "1a033f81-a404-4a66-aabf-cb0ead6cc2be", //wed
//wed //wed
objData: { objData: {
appkey: "", //appkey appkey: "", //appkey

View File

@ -381,7 +381,7 @@
</el-col> </el-col>
<el-col <el-col
:span="12" :span="12"
v-if="this.form.code == 'CNC' || this.form.code == 'ROBOT'" v-if="this.form.code == 'CNC'"
> >
<el-form-item label="安全门状态" prop="securityDoor"> <el-form-item label="安全门状态" prop="securityDoor">
<el-radio-group v-model="form.securityDoor"> <el-radio-group v-model="form.securityDoor">
@ -548,9 +548,6 @@ export default {
nextProcessId: [ nextProcessId: [
{ required: true, message: "工序ID不能为空", trigger: "blur" }, { required: true, message: "工序ID不能为空", trigger: "blur" },
], ],
machineryTypeId: [
{ required: true, message: "设备类型不能为空", trigger: "blur" },
],
keyFlag: [ keyFlag: [
{ {
required: true, required: true,

View File

@ -461,6 +461,7 @@ import {
delWorkorder, delWorkorder,
addWorkorder, addWorkorder,
updateWorkorder, updateWorkorder,
deleteShopFace,
} from "@/api/mes/pro/workorder"; } from "@/api/mes/pro/workorder";
import { listGanttTaskList } from "@/api/mes/pro/protask"; import { listGanttTaskList } from "@/api/mes/pro/protask";
import { listProductprocess } from "@/api/mes/pro/routeprocess"; import { listProductprocess } from "@/api/mes/pro/routeprocess";
@ -532,7 +533,7 @@ export default {
tasks: { tasks: {
data: [], data: [],
links: [], links: [],
}, },
// //
form: {}, form: {},
ids: "", ids: "",
@ -665,7 +666,8 @@ export default {
handleproductione(row) { handleproductione(row) {
const routeId = row.workorderId || this.ids; const routeId = row.workorderId || this.ids;
axios axios
.get("http://192.168.3.53:8077/manage/task/execute?ids=" + routeId) .get("http://192.168.2.104:8077/manage/task/execute?ids=" + routeId)
// .get("http://192.168.3.53:8077/manage/task/execute?ids=" + routeId)
// .get("http://127.0.0.1:8077/manage/task/execute?ids=" + routeId) // .get("http://127.0.0.1:8077/manage/task/execute?ids=" + routeId)
.then((res) => { .then((res) => {
if (res.data.code === 200) { if (res.data.code === 200) {
@ -681,7 +683,8 @@ export default {
Pendingproduction(row) { Pendingproduction(row) {
const routeId = row.workorderId || this.ids; const routeId = row.workorderId || this.ids;
axios axios
.get("http://192.168.3.53:8077/manage/task/suspension?id=" + routeId) .get("http://192.168.2.104:8077/manage/task/suspension?id=" + routeId)
// .get("http://192.168.3.53:8077/manage/task/suspension?id=" + routeId)
// .get("http://127.0.0.1:8077/manage/task/suspension?id=" + routeId) // .get("http://127.0.0.1:8077/manage/task/suspension?id=" + routeId)
.then((res) => { .then((res) => {
if (res.data.code === 200) { if (res.data.code === 200) {
@ -694,21 +697,21 @@ export default {
}, },
// //
handleSuspended(row) { handleSuspended(row) {
// const workorderIds = row.workorderId || this.ids; const workorderId = row.workorderId || this.ids;
// this.$modal this.$modal
// .confirm("") .confirm("确认删除数据项?")
// .then(function () { .then(() => {
// return dofinish(workorderIds); // deleteShopFace({workorderId:workorderId}).then((response) => {
// }) console.log(response);
// .then(() => { if (response.code === 200) {
// if (res.data.code === 200) { this.getList();
// this.getList(); this.$modal.msgSuccess("删除成功");
// this.$modal.msgSuccess(""); } else {
// } else { this.$message.error(res.msg);
// this.$message.error(res.data.msg); }
// } });
// }) })
// .catch(() => {}); .catch(() => {});
}, },
selectable(row, index) { selectable(row, index) {

View File

@ -434,6 +434,7 @@
</template> </template>
<script> <script>
import axios from "axios";
import { import {
listItemrecpt, listItemrecpt,
getItemrecpt, getItemrecpt,
@ -441,7 +442,6 @@ import {
addItemrecpt, addItemrecpt,
updateItemrecpt, updateItemrecpt,
confirmItemrecpt, confirmItemrecpt,
storage,
} from "@/api/mes/wm/itemrecpt"; } from "@/api/mes/wm/itemrecpt";
import { listItemrecptline } from "@/api/mes/wm/itemrecptline"; import { listItemrecptline } from "@/api/mes/wm/itemrecptline";
import { listMdItem } from "@/api/mes/md/pallet"; import { listMdItem } from "@/api/mes/md/pallet";
@ -693,8 +693,12 @@ export default {
listItemrecptline({ recptId: row.recptId }).then((response) => { listItemrecptline({ recptId: row.recptId }).then((response) => {
this.itemrecptlineList = response.rows; this.itemrecptlineList = response.rows;
}); });
var queryParams = {
pageNum: 1,
pageSize: 10000,
};
// //
listMdItem(this.queryParams).then((response) => { listMdItem(queryParams).then((response) => {
this.itemList = response.rows; this.itemList = response.rows;
}); });
}, },
@ -707,7 +711,6 @@ export default {
} }
this.perform.itemCode = data.itemCode; this.perform.itemCode = data.itemCode;
this.perform.lineId = data.lineId; this.perform.lineId = data.lineId;
this.perform.itemId = data.itemId;
}, },
selectTray(data) { selectTray(data) {
this.perform.palletId = data.proPalletId; this.perform.palletId = data.proPalletId;
@ -715,12 +718,20 @@ export default {
}, },
submitFileForm() { submitFileForm() {
if (this.remainingquantity != 0) { if (this.remainingquantity != 0) {
storage(this.perform).then((response) => { axios
this.$modal.msgSuccess("入库成功"); .get("http://192.168.2.104:8077/manage/matter/storageItem", {
this.warehousing = false; params: this.perform,
this.getList(); })
this.selectEncoding(); .then((res) => {
}); if (res.data.code === 200) {
this.$modal.msgSuccess("入库成功");
this.warehousing = false;
this.getList();
this.selectEncoding();
} else {
this.$message.error(res.data.msg);
}
});
} else { } else {
this.$message({ this.$message({
message: "当前入库数量为0", message: "当前入库数量为0",

View File

@ -35,14 +35,16 @@ module.exports = {
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
"/prod-api": { "/prod-api": {
target: `http://192.168.3.53:8063`, target: `http://192.168.2.104:8063`,
// target: `http://192.168.3.53:8063`,
changeOrigin: true, changeOrigin: true,
// pathRewrite: { // pathRewrite: {
// ['^' + process.env.VUE_APP_BASE_API]: '' // ['^' + process.env.VUE_APP_BASE_API]: ''
// } // }
}, },
"/ureport": { "/ureport": {
target: `http://192.168.3.53:8063`, target: `http://192.168.2.104:8063`,
// target: `http://192.168.3.53:8063`,
ws: false, ws: false,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {