From 3a154bdb0a5aaa2c0ac3eac95a6ba747068bd454 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 13 一月 2026 10:00:37 +0800
Subject: [PATCH] 优化

---
 admin/src/components/business/OperaDeviceDuanluqiWindow.vue |  190 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 190 insertions(+), 0 deletions(-)

diff --git a/admin/src/components/business/OperaDeviceDuanluqiWindow.vue b/admin/src/components/business/OperaDeviceDuanluqiWindow.vue
new file mode 100644
index 0000000..9cd78ab
--- /dev/null
+++ b/admin/src/components/business/OperaDeviceDuanluqiWindow.vue
@@ -0,0 +1,190 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        :visible.sync="visible"
+        width="65%"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        <el-form :model="form" ref="form" :rules="rules">
+          <p class="tip-header" >鍩烘湰淇℃伅</p>
+          <el-form-item label="璁惧鍚嶇О" prop="name">
+            <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
+          </el-form-item>
+          <el-form-item label="璁惧鏍囪瘑绗�" prop="no">
+            <el-input v-model="form.no" placeholder="璇疯緭鍏ヨ澶囨爣璇嗙" v-trim/>
+          </el-form-item>
+          <el-form-item label="璁惧鍙�" prop="doorNo">
+            <el-input v-model="form.doorNo" placeholder="璇疯緭鍏ュ簭鍒楀彿" v-trim/>
+          </el-form-item>
+          <el-form-item label="鍘傚晢" prop="manufature">
+            <el-input v-model="form.manufature" placeholder="璇疯緭鍏ユ墍鍦ㄤ綅缃�" v-trim/>
+          </el-form-item>
+          <el-form-item label="瀹夎浣嶇疆" prop="regionPathName">
+            <el-input v-model="form.regionPathName" placeholder="璇疯緭鍏ヨ澶囦綅缃�" v-trim/>
+          </el-form-item>
+          <el-form-item label="杩炴帴IP" prop="ip">
+            <el-input v-model="form.ip" placeholder="璇疯緭鍏ヨ澶囪繛鎺P鍦板潃" v-trim/>
+          </el-form-item>
+          <el-form-item label="杩炴帴绔彛" prop="port">
+            <el-input v-model="form.port" placeholder="璇疯緭鍏ヨ繛鎺ョ鍙�" v-trim/>
+          </el-form-item>
+          <p class="tip-header" >閰嶇疆鍙傛暟</p>
+          <p class="tip-warn" style="width: 100%;"><i class="el-icon-warning"></i>閰嶇疆鍙傛暟璇存槑锛�<br>
+            1.鍏ㄩ儴寮�鍏冲簭鍙凤細鍙傝�冭澶囧疄闄呴厤缃紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑锛屽 1,2,3;<br>
+            2.鎺у埗寮�鍏冲簭鍙凤細绯荤粺鏍规嵁閰嶇疆瑙勫垯锛屽垽鏂紑鍏冲綋鍓嶇┖闂蹭腑杩涜銆愯嚜鍔ㄥ垎闂搞��,澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑锛屽 1,2;<br>
+            3.鑷姩鍒嗛椄瑙勫垯锛氶拡瀵规帶鍒跺紑鍏冲簭鍙风殑閰嶇疆锛屽畾鏃舵娴嬨�愮┖闂叉椂闀裤�戝唴婊¤冻寮�鍏崇數娴佸�奸兘鍦ㄣ�愮┖闂茬數娴侀槇鍊笺�戣寖鍥村唴锛屽垯杩涜鑷姩鍒嗛椄鎺у埗;<br>
+            4.绌洪棽鏃堕暱: 璇疯缃嚦灏戠┖闂叉椂闀垮ぇ浜庣瓑浜�300绉掞紙5鍒嗛挓锛夈��<br>
+            5.淇敼閲嶅惎: 淇敼閰嶇疆鍙傛暟鍚庯紝杩斿洖鍒楄〃椤碉紝鐐瑰嚮閲嶅惎銆愬惎鐢ㄣ�戯紝鏄弬鏁扮敓鏁堬紒<br>
+            6.濡傞渶杩滅▼鎺у埗寮�鍏筹紝璇锋纭~鍐欎笅杩板叏閮ㄥ弬鏁颁俊鎭��
+          </p>
+          <div style="display: flex">
+            <el-form-item label="鍏ㄩ儴寮�鍏冲簭鍙�" prop="channelNo" style="display: inline-block;width:300px;">
+              <el-input v-model="form.channelNo" placeholder="璇疯緭鍏ュ紑鍏冲簭鍙凤紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑锛屽 1,2,3" v-trim style="width: 150px;"   />
+            </el-form-item>
+            <el-form-item label="鎺у埗寮�鍏冲簭鍙�"    prop="channelInfo" style="display: inline-block;width:300px;">
+              <el-input v-model="form.channelInfo" placeholder="璇疯緭鍏ユ帶鍒跺紑鍏冲簭鍙凤紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑锛屽 1,2,3" v-trim style="width: 150px;"   />
+            </el-form-item>
+          </div>
+          <div style="display: flex">
+            <!--    <el-form-item label="绌洪棽鐢垫祦闃堝��" prop="mqttPassword" style="display: inline-block;width:250px;">
+                <el-input v-model="form.doorNameObj.min" style="width: 150px;" disabled type="number"  maxlength="30" placeholder="鏈�灏忓��"  >
+                   <template slot="append">A</template>
+                 </el-input>
+               </el-form-item>
+               <span style="margin: 5px 10px;">鑷�</span>-->
+            <el-form-item label="绌洪棽鐢垫祦闃堝��" label-width="105px" prop="max" style="display: inline-block;width:300px">
+              <el-input v-model="form.doorNameObj.max" style="width: 150px;" type="number"  maxlength="30" placeholder="鏈�澶у��"   >
+                <template slot="append">A</template>
+              </el-input>
+            </el-form-item>
+            <el-form-item label="绌洪棽鏃堕暱(绉�)" prop="level"   style="display: inline-block;width:350px;margin-left: 0px;">
+              <el-input v-model="form.level" style="width: 180px;" type="number"  maxlength="30" placeholder="璇疯緭鍏ョ┖闂叉椂闀�"   >
+                <template slot="append">绉�</template>
+              </el-input>
+            </el-form-item>
+          </div>
+          <el-form-item label="MQTT鏈嶅姟IP" prop="mqttIp">
+            <el-input v-model="form.doorNameObj.mqttIp" placeholder="璇疯緭鍏ヨ澶囪繛鎺QTT-IP" v-trim/>
+          </el-form-item>
+          <el-form-item label="MQTT鏈嶅姟绔彛" prop="mqttPort">
+            <el-input v-model="form.doorNameObj.mqttPort" placeholder="璇疯緭鍏ヨ繛鎺QTT鏈嶅姟绔彛" v-trim/>
+          </el-form-item>
+          <el-form-item label="MQTT鏈嶅姟璐﹀彿" prop="mqttUsername">
+            <el-input v-model="form.doorNameObj.mqttUsername" placeholder="璇疯緭鍏ヨ澶囪繛鎺QTT鏈嶅姟璐﹀彿" v-trim/>
+          </el-form-item>
+          <el-form-item label="MQTT鏈嶅姟瀵嗙爜" prop="mqttPassword">
+            <el-input v-model="form.doorNameObj.mqttPassword" type="password"  maxlength="30" show-password></el-input>
+          </el-form-item>
+          <p class="tip-warn" style="width: 100%;"><i class="el-icon-warning"></i> 闈炲厖鐢电姸鎬佺數娴佸ぇ灏忔帴鍏ヨ澶囧悗锛屽弬鐓х幇鍦哄疄闄呭満鏅厤缃�;</p>
+        </el-form>
+    </GlobalWindow>
+</template>
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+export default {
+  name: 'OperaDeviceDuanluqiWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        name: '',
+        regionPathName: '',
+        doorNo: '',
+        no: '',
+        type: 5,
+        ip: '',
+        port: '',
+        level: '',
+        doorName: '',
+        doorId: '',
+        doorNameObj: {
+          mqttUsername: '',
+          mqttPassword: '',
+          mqttIp: '',
+          mqttPort: '',
+          max: null,
+          min: null
+        },
+        channelInfo: '',
+        manufature: '',
+        channelNo: ''
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+        name: [
+          { required: true, message: '璇疯緭鍏ヨ澶囧悕绉�' }
+        ],
+        /*max: [
+          { required: true, message: '璇疯緭鍏ヨ澶囩┖闂茬數娴侀槇鍊�' }
+        ],*/
+        doorId: [
+          { required: true, message: '璇疯緭鍏ヨ澶囪繛鎺ヨ处鍙�' }
+        ],
+        doorName: [
+          { required: true, message: '璇疯緭鍏ヨ澶囪繛鎺ュ瘑鐮�' }
+        ],
+        channelNo: [
+          { required: true, message: '璇疯緭鍏ュ紑鍏冲簭鍙�' }
+        ],
+        doorNo: [
+          { required: true, message: '璇疯緭鍏ヨ澶囧彿' }
+        ],
+        no: [
+          { required: true, message: '璇疯緭鍏ヨ澶囨爣璇嗙' }
+        ]
+      }
+    }
+  },
+  created () {
+    this.config({
+      api: '/business/device',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    open (title, target) {
+      this.title = title
+      this.visible = true
+      this.form.doorName = ''
+      this.form.doorNameObj = {
+        mqttUsername: '',
+        mqttPassword: '',
+        mqttIp: '',
+        mqttPort: '',
+        max: null,
+        min: 0
+      }
+      // debugger
+      // 鏂板缓
+      if (target == null) {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form[this.configData['field.id']] = null
+        })
+        if(!this.form.doorNameObj){
+          this.form.doorNameObj = {
+            mqttUsername: '',
+            mqttPassword: '',
+            mqttIp: '',
+            mqttPort: '',
+            max: null,
+            min: 0
+          }
+        }
+        return
+      }
+      // 缂栬緫
+      this.$nextTick(async () => {
+        for (const key in this.form) {
+          this.form[key] = target[key]
+        }
+      })
+    }
+  }
+}
+</script>

--
Gitblit v1.9.3