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