From c6e8b600398de38b6684f5fa1eaaaade8562859b Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期六, 20 九月 2025 15:16:56 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhiHuiQiCe/LongDeLiLiKu

---
 项目代码/WCS/WCSClient/src/views/LineInfocopy.vue |  325 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 325 insertions(+), 0 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/LineInfocopy.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/LineInfocopy.vue"
new file mode 100644
index 0000000..338a8f0
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/LineInfocopy.vue"
@@ -0,0 +1,325 @@
+<template>
+	<div :class="update()" :style="{ left: left, top: top, marginBottom: 0 + 'px', marginTop: 15 + 'px' }"
+		@click="mouseClick" v-loading.fullscreen.lock="fullscreenLoading">
+		<img v-if="imgType === '2'" src="../../public/lines.png" />
+		<img v-if="imgType === '1'" src="../../public/lines2.png" />
+		<label v-if="equipNo" class="equip-no">{{ equipNo }}</label>
+	</div>
+	<el-dialog v-model="dialogVisible" title="杈撻�佺嚎淇℃伅鏌ョ湅" :before-close="handleClose">
+		<el-form ref="$form" :model="lineItemInfo" label-position="left" label-width="100px" size="medium">
+			<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+				<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+					<el-form-item label="璁惧缂栧彿锛�">
+						<j-el-description :value="equipNo" type="primary" ellipsis></j-el-description>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+					<el-form-item label="鏄惁鏈夌洏:">
+						<j-el-description :value="lineItemInfo.inStock" type="primary" ellipsis></j-el-description>
+					</el-form-item>
+				</el-col>
+			</el-row>
+			<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+				<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+					<el-form-item label="浠诲姟鍙�:">
+						<j-el-description :value="lineItemInfo.taskNum" type="primary" ellipsis></j-el-description>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+					<el-form-item label="鎶ヨ浠g爜锛�">
+						<j-el-description :value="lineItemInfo.alarm" type="primary" ellipsis></j-el-description>
+					</el-form-item>
+				</el-col>
+			</el-row>
+
+		</el-form><el-divider />
+		<h4 style="margin-bottom: 20px;">鎵嬪姩鎿嶄綔</h4>
+		<el-form ref="form" :model="form" label-width="100px">
+			<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+				<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
+					<el-form-item label="浠�  鍔�  鍛�  浠�" prop="TargetAddress">
+						<el-select size="large" v-model="form.TaskType" placeholder="璇烽�夋嫨浠诲姟鍛戒护">
+							<el-option label="鍏ュ簱" value="1" />
+							<el-option label="鍑哄簱" value="2" />
+						</el-select>
+					</el-form-item>
+				</el-col>
+			</el-row>
+			<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+				<el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
+					<el-form-item label="涓嬩竴鐩爣鍦板潃:">
+						<el-input size="large" v-model="form.TargetAddress" placeholder="璇疯緭鍏ヤ笅涓�鐩爣鍦板潃" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+		<el-divider />
+		<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+			<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+				<el-button type="primary" size="small" plain @click="SendCommand">
+					<i class="el-icon-check">鍙戦�佸懡浠�</i>
+				</el-button>
+			</el-col>
+			<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+				<el-button type="warning" size="small" plain @click="ConveyorLineReset">
+					<i class="el-icon-check">澶嶄綅</i>
+				</el-button>
+
+			</el-col>
+			<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+				<el-button type="danger" size="small" plain @click="ConveyorLineEmergencyStop">
+					<i class="el-icon-check">鍋滄</i>
+				</el-button>
+			</el-col>
+			<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+				<el-button type="danger" size="small" plain @click="ConveyorLineReturn">
+					<i class="el-icon-check">閫�鍥�</i>
+				</el-button>
+			</el-col>
+			<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+				<el-button type="danger" size="small" plain @click="ConveyorLineCancel">
+					<i class="el-icon-check">鍙栨秷浠诲姟</i>
+				</el-button>
+			</el-col>
+			<el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+				<el-button type="danger" size="small" plain @click="ConveyorLineInitialize">
+					<i class="el-icon-check">宸ヤ綅鍒濆鍖�</i>
+				</el-button>
+			</el-col>
+		</el-row>
+		<template #footer>
+			<div class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="dialogVisible = false">
+					纭
+				</el-button>
+			</div>
+		</template>
+	</el-dialog>
+</template>
+
+<script>
+import { defineComponent } from "vue";
+import JElDescription from "./JElDescription";
+export default defineComponent({
+	components: {
+		JElDescription
+	},
+	props: {
+		equipNoFontColor: {
+			type: String,
+			default: "blue",
+		},
+		equipNo: {
+			type: String,
+			default: "0",
+		},
+		imgType: {
+			type: String,
+			default: "1",
+		},
+		positionX: {
+			type: Int32Array,
+			default: 1,
+		},
+		positionY: {
+			type: Int32Array,
+			default: 1,
+		},
+		url: {
+			type: String,
+			default: "",
+		},
+		condition: {
+			type: Boolean,
+			default: false,
+		},
+	},
+	data() {
+		return {
+			left: "500px",
+			top: "400px",
+			dialogVisible: false,
+			lineItemInfo: {
+				inStock: "",
+				taskNum: "",
+				alarm: "",
+			},
+			form: {
+				TaskType: "",
+				TargetAddress: "",
+				DeviceCode: "",
+			},
+		};
+	},
+	mounted() {
+		const axisX = (this.positionX - 1) * 40 + 100;
+		const axisY = (this.positionY - 1) + 50;
+		this.$nextTick(() => {
+			this.left = `${axisX}px`;
+			this.top = `${axisY}px`;
+		});
+	},
+	methods: {
+		mouseClick() {
+			this.fullscreenLoading = true;
+			this.dialogVisible = true;
+			// 澶勭悊鐐瑰嚮浜嬩欢
+			this.http.post("api/DeviceInfo/GetConveyorLineInfo?DeviceChildCode=" + this.equipNo, null, "")
+				.then((x) => {
+					if (x.status) {
+						this.lineItemInfo = x.data;
+					} else {
+						this.$message({
+							type: "error",
+							message: x.message,
+						});
+					}
+				});
+
+			this.fullscreenLoading = false;
+		},
+
+		SendCommand() {
+			this.fullscreenLoading = true;
+			this.form.DeviceCode=this.equipNo;
+			this.http.post("api/DeviceInfo/ConveyorLineHandTask" ,this.form)
+				.then((x) => {
+					if (!x.status) {
+						this.$message.error(x.message);
+					} else {
+						this.$Message.success(x.message);
+					}
+				})
+				.finally(() => {
+					this.fullscreenLoading = false;
+				});
+		}, 
+		ConveyorLineReset() {
+			this.fullscreenLoading = true;
+			this.http.post("api/DeviceInfo/ConveyorLineReset?DeviceChildCode=" + this.equipNo, null, "")
+				.then((x) => {
+					if (!x.status) {
+						this.$message.error(x.message);
+					} else {
+						this.$Message.success(x.message);
+
+					}
+				})
+				.finally(() => {
+					this.fullscreenLoading = false;
+				});
+		},
+		ConveyorLineEmergencyStop() {
+			this.fullscreenLoading = true;
+			this.http.post("api/DeviceInfo/ConveyorLineEmergencyStop?DeviceChildCode=" + this.equipNo, null, "")
+				.then((x) => {
+					if (!x.status) {
+						this.$message.error(x.message);
+					} else {
+						this.$Message.success(x.message);
+
+					}
+				})
+				.finally(() => {
+					this.fullscreenLoading = false;
+				});
+		}, 
+		ConveyorLineReturn() {
+			this.fullscreenLoading = true;
+			this.http.post("api/DeviceInfo/ConveyorLineReturn?DeviceChildCode=" + this.equipNo, null, "")
+				.then((x) => {
+					if (!x.status) {
+						this.$message.error(x.message);
+					} else {
+						this.$Message.success(x.message);
+					}
+				})
+				.finally(() => {
+					this.fullscreenLoading = false;
+				});
+		},
+		ConveyorLineCancel() {
+			this.fullscreenLoading = true;
+			this.http.post("api/DeviceInfo/ConveyorLineCancel?DeviceChildCode=" + this.equipNo, null, "")
+				.then((x) => {
+					if (!x.status) {
+						this.$message.error(x.message);
+					} else {
+						this.$Message.success(x.message);
+					}
+				})
+				.finally(() => {
+					this.fullscreenLoading = false;
+				});
+		},
+		ConveyorLineInitialize() {
+			this.fullscreenLoading = true;
+			this.http.post("api/DeviceInfo/ConveyorLineInitialize?DeviceChildCode=" + this.equipNo, null, "")
+				.then((x) => {
+					if (!x.status) {
+						this.$message.error(x.message);
+					} else {
+						this.$Message.success(x.message);
+					}
+				})
+				.finally(() => {
+					this.fullscreenLoading = false;
+				});
+		},
+		update() {
+			return !this.condition ? 'custom-img' : 'custom-img-color'
+		},
+		startTimer() {
+			// 寮�鍚畾鏃跺櫒锛屾瘡3绉掓墽琛屼竴娆�
+			this.timer1 = setInterval(() => {
+				update();
+			}, 500);
+		},
+	},
+});
+</script>
+
+<style scoped>
+.custom-img {
+	position: relative;
+	display: inline-block;
+	/* background-color:  #d9ecff ; */
+}
+
+.custom-img-color {
+	position: relative;
+	display: inline-block;
+	background-color: #05fa7f;
+	color: white;
+	text-align: center;
+}
+
+/* .custom-img-color::before {
+  content: "";
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  background-color: #05fa7f;
+  border-radius: 50%;  
+} */
+
+.custom-img img {
+	width: 40px;
+	height: 40px;
+}
+
+.custom-img-color img {
+	width: 40px;
+	height: 40px;
+}
+
+.equip-no {
+	position: absolute;
+	top: 15px;
+	font-size: 12px;
+	margin-left: -35px;
+}
+</style>

--
Gitblit v1.9.3