From 7755e9ba6ca8ce58cc0a58578ddc1d965aba380a Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 14 八月 2024 18:13:23 +0800
Subject: [PATCH] 最新版本

---
 admin/src/components/business/OperaPlatformWindow.vue |  199 +++++++++++++++++++++++++++----------------------
 1 files changed, 108 insertions(+), 91 deletions(-)

diff --git a/admin/src/components/business/OperaPlatformWindow.vue b/admin/src/components/business/OperaPlatformWindow.vue
index 753000b..de11275 100644
--- a/admin/src/components/business/OperaPlatformWindow.vue
+++ b/admin/src/components/business/OperaPlatformWindow.vue
@@ -1,88 +1,60 @@
 <template>
   <GlobalWindow
     :title="title"
+    width="50%"
     :visible.sync="visible"
     :confirm-working="isWorking"
     @confirm="confirm"
   >
     <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator">
-        <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/>
+      <el-form-item label="鏈堝彴鍚嶇О锛�"  >
+       <span>{{form.name}}</span>
       </el-form-item>
-      <el-form-item label="鍒涘缓鏃堕棿" prop="createDate">
-        <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker>
+      <el-form-item label="鏈堝彴缂栫爜锛�" prop="code">
+        <el-input v-model="form.code" placeholder="璇疯緭鍏ユ湀鍙扮紪鐮�" v-trim/>
+       <span class="tip-warn"><i class="el-icon-warning"></i>璇存槑锛氬搴擶MS绯荤粺涓殑缂栫爜</span>
       </el-form-item>
-      <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor">
-        <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/>
+      <el-form-item label="鎵�灞炴湀鍙板垎缁勶細" prop="groupId">
+        <el-select v-model="form.groupId"  >
+          <el-option
+              v-for="item in groupList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+          </el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="鏇存柊鏃堕棿" prop="editDate">
-        <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker>
+      <el-form-item label="骞挎挱璁惧锛�" prop="broadcastIds">
+        <el-select v-model="form.broadcastIds" multiple >
+          <el-option
+              v-for="item in broadcastList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+          </el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted">
-        <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/>
+      <el-form-item label="LED璁惧锛�" prop="ledIds">
+        <el-select v-model="form.ledIds" multiple >
+          <el-option
+              v-for="item in ledList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+          </el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="鍚嶇О" prop="name">
-        <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
+      <el-form-item label="鍚屾椂浣滀笟鏁伴噺锛�" prop="workingNum" >
+        <el-input type="number" v-model="form.workingNum" placeholder="璇疯緭鍏ュ悓鏃朵綔涓氭暟閲�" v-trim/>
       </el-form-item>
-      <el-form-item label="澶囨敞" prop="remark">
-        <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim/>
+      <el-form-item label="鏈堝彴浣滀笟鏁堢巼(涓囧彧/灏忔椂)锛�" prop="workRate">
+        <el-input type="number"  v-model="form.workRate" placeholder="璇疯緭鍏ユ湀鍙颁綔涓氭晥鐜�(涓囧彧/灏忔椂)" v-trim/>
       </el-form-item>
-      <el-form-item label="鐘舵�� 0鍚敤 1绂佺敤" prop="status">
-        <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" v-trim/>
+      <el-form-item label="浣滀笟瓒呮椂鎶ヨ鏃堕棿(鍒嗛挓)锛�" prop="waitCallTime">
+        <el-input type="number"  v-model="form.waitCallTime" placeholder="璇疯緭鍏ヤ綔涓氳秴鏃舵姤璀︽椂闂�(鍒嗛挓)" v-trim/>
       </el-form-item>
-      <el-form-item label="鎺掑簭鐮�" prop="sortnum">
-        <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
-      </el-form-item>
-      <el-form-item label="鎵�灞炴湀鍙板垎閽熺紪鐮侊紙g鍏宠仈platform_group)" prop="groupId">
-        <el-input v-model="form.groupId" placeholder="璇疯緭鍏ユ墍灞炴湀鍙板垎閽熺紪鐮侊紙g鍏宠仈platform_group)" v-trim/>
-      </el-form-item>
-      <el-form-item label="宸ヤ綔寮�濮嬫椂闂�" prop="startTime">
-        <el-input v-model="form.startTime" placeholder="璇疯緭鍏ュ伐浣滃紑濮嬫椂闂�" v-trim/>
-      </el-form-item>
-      <el-form-item label="宸ヤ綔缁撴潫鏃堕棿" prop="endTime">
-        <el-input v-model="form.endTime" placeholder="璇疯緭鍏ュ伐浣滅粨鏉熸椂闂�" v-trim/>
-      </el-form-item>
-      <el-form-item label="鍚屾椂浣滀笟鏁伴噺" prop="workingNum">
-        <el-input v-model="form.workingNum" placeholder="璇疯緭鍏ュ悓鏃朵綔涓氭暟閲�" v-trim/>
-      </el-form-item>
-      <el-form-item label="绛夊緟鏁欏ソ鏃堕棿(绉掞級" prop="wariCallTime">
-        <el-input v-model="form.wariCallTime" placeholder="璇疯緭鍏ョ瓑寰呮暀濂芥椂闂�(绉掞級" v-trim/>
-      </el-form-item>
-      <el-form-item label="鍋滅暀瓒呮椂鎶ヨ鏃堕棿(绉掞級" prop="alermTime">
-        <el-input v-model="form.alermTime" placeholder="璇疯緭鍏ュ仠鐣欒秴鏃舵姤璀︽椂闂�(绉掞級" v-trim/>
-      </el-form-item>
-      <el-form-item label="鏈�鍚庝簨浠舵帹閫佹椂闂�" prop="lastEventTime">
-        <el-date-picker v-model="form.lastEventTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ渶鍚庝簨浠舵帹閫佹椂闂�"></el-date-picker>
-      </el-form-item>
-      <el-form-item label="鐩戞帶鐐瑰悕绉帮紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑" prop="deviceNames">
-        <el-input v-model="form.deviceNames" placeholder="璇疯緭鍏ョ洃鎺х偣鍚嶇О锛屽涓敤鑻辨枃閫楀彿闅斿紑" v-trim/>
-      </el-form-item>
-      <el-form-item label="鏈堝彴灞忓箷鍚嶇О锛屽涓敤鑻辨枃閫楀彿闅斿紑" prop="screenName">
-        <el-input v-model="form.screenName" placeholder="璇疯緭鍏ユ湀鍙板睆骞曞悕绉帮紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑" v-trim/>
-      </el-form-item>
-      <el-form-item label="娴峰悍鏍囪瘑" prop="hkId">
-        <el-input v-model="form.hkId" placeholder="璇疯緭鍏ユ捣搴锋爣璇�" v-trim/>
-      </el-form-item>
-      <el-form-item label="鍏宠仈鎵跨鍏徃" prop="companys">
-        <el-input v-model="form.companys" placeholder="璇疯緭鍏ュ叧鑱旀壙绉熷叕鍙�" v-trim/>
-      </el-form-item>
-      <el-form-item label="X鍧愭爣" prop="xpos">
-        <el-input v-model="form.xpos" placeholder="璇疯緭鍏鍧愭爣" v-trim/>
-      </el-form-item>
-      <el-form-item label="Y鍧愭爣" prop="ypos">
-        <el-input v-model="form.ypos" placeholder="璇疯緭鍏鍧愭爣" v-trim/>
-      </el-form-item>
-      <el-form-item label="瀹藉害" prop="width">
-        <el-input v-model="form.width" placeholder="璇疯緭鍏ュ搴�" v-trim/>
-      </el-form-item>
-      <el-form-item label="楂樺害" prop="height">
-        <el-input v-model="form.height" placeholder="璇疯緭鍏ラ珮搴�" v-trim/>
-      </el-form-item>
-      <el-form-item label="瑙掑害" prop="angle">
-        <el-input v-model="form.angle" placeholder="璇疯緭鍏ヨ搴�" v-trim/>
-      </el-form-item>
-      <el-form-item label="娴峰悍鏍囪瘑鍚屾鏃堕棿" prop="hkData">
-        <el-date-picker v-model="form.hkData" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ捣搴锋爣璇嗗悓姝ユ椂闂�"></el-date-picker>
+      <el-form-item label="鍋滅暀瓒呮椂鎶ヨ鏃堕棿(鍒嗛挓锛夛細" prop="alermTime">
+        <el-input type="number"  v-model="form.alermTime" placeholder="璇疯緭鍏ヨ杈撳叆鍋滅暀瓒呮椂鎶ヨ鏃堕棿(鍒嗛挓)" v-trim/>
       </el-form-item>
     </el-form>
   </GlobalWindow>
@@ -91,6 +63,9 @@
 <script>
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
+import { numRuleGtZero } from '@/utils/form'
+import { allList } from '@/api/platform/platformGroup'
+import { getList as deviceList } from '@/api/business/device'
 export default {
   name: 'OperaPlatformWindow',
   extends: BaseOpera,
@@ -98,37 +73,25 @@
   data () {
     return {
       // 琛ㄥ崟鏁版嵁
+      groupList: [],
+      broadcastList: [],
+      ledList: [],
       form: {
         id: null,
-        creator: '',
-        createDate: '',
-        editor: '',
-        editDate: '',
-        isdeleted: '',
+        ledIds: null,
+        broadcastIds: null,
         name: '',
-        remark: '',
-        status: '',
-        sortnum: '',
         groupId: '',
         startTime: '',
         endTime: '',
-        workingNum: '',
-        wariCallTime: '',
-        alermTime: '',
-        lastEventTime: '',
-        deviceNames: '',
-        screenName: '',
-        hkId: '',
-        companys: '',
-        xpos: '',
-        ypos: '',
-        width: '',
-        height: '',
-        angle: '',
-        hkData: ''
+        workingNum: 1,
+        workRate: '',
+        waitCallTime: '',
+        alermTime: ''
       },
       // 楠岃瘉瑙勫垯
       rules: {
+        workingNum: [{ required: true, validator: numRuleGtZero, message: '璇疯緭鍏ュ悓鏃朵綔涓氭暟閲�,蹇呴』澶т簬0! ', trigger: 'blur' }]
       }
     }
   },
@@ -137,6 +100,60 @@
       api: '/platform/platform',
       'field.id': 'id'
     })
+  },
+  methods: {
+    /**
+     * 鎵撳紑绐楀彛
+     * @title 绐楀彛鏍囬
+     * @target 缂栬緫鐨勫璞�
+     */
+    open (title, target) {
+      this.title = title
+      this.visible = true
+      // 鏂板缓
+      if (target == null) {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form[this.configData['field.id']] = null
+          this.form.company = []
+        })
+        return
+      }
+      // 缂栬緫
+      this.$nextTick(() => {
+        for (const key in this.form) {
+          this.form[key] = target[key]
+        }
+        this.form.workingNum = this.form.workingNum || 1
+      })
+      this.loadGroupList()
+      this.loadLedList()
+      this.loadBroadcastList()
+    },
+    loadGroupList () {
+      allList({})
+        .then(res => {
+          this.groupList = res || []
+        })
+    },
+    loadLedList () {
+      deviceList({ type: 2 })
+        .then(res => {
+          this.ledList = res || []
+        })
+    },
+    loadBroadcastList () {
+      deviceList({ type: 3 })
+        .then(res => {
+          this.broadcastList = res || []
+        })
+    }
   }
 }
 </script>
+<style scoped>
+.labelTip{
+  font-size: 12px;
+  color: #666666;
+}
+</style>

--
Gitblit v1.9.3