|
@@ -180,12 +180,12 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <a-drawer title="策略配置" :visible="showBatchCL" width="500" @close="handleOk">
|
|
|
- <a-form-model :form="formData" :label-col="{ span: 6 }" :wrapperCol="{ span: 16 }" style="overflow-y: auto;">
|
|
|
+ <a-drawer title="批量执行" :visible="showBatchCL" width="500" @close="handleOk">
|
|
|
+ <a-form-model :form="formData" :label-col="{ span: 6 }" :wrapperCol="{ span: 16 }">
|
|
|
<a-form-item label="选择策略:" class="formItem">
|
|
|
<a-radio-group v-model="formData.resource">
|
|
|
<a-radio value="1">已有策略</a-radio>
|
|
|
- <a-radio value="2">自定义</a-radio>
|
|
|
+ <a-radio value="2">自定义策略</a-radio>
|
|
|
</a-radio-group>
|
|
|
</a-form-item>
|
|
|
|
|
@@ -202,94 +202,189 @@
|
|
|
</a-form-item>
|
|
|
|
|
|
<a-form-item label="执行方式:" class="formItem">
|
|
|
- <a-select default-value="0" style="width: 200px" v-model="formData.method">
|
|
|
- <a-select-option value="1"> 每日执行 </a-select-option>
|
|
|
- <a-select-option value="2"> 工作日与非工作日区别执行 </a-select-option>
|
|
|
+ <a-select default-value="0" style="width: 200px" :disabled="formData.resource == '1'" v-model="formData.method">
|
|
|
+ <a-select-option value="1"> 按工作日和非工作日 </a-select-option>
|
|
|
+ <a-select-option value="2"> 每天固定 </a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
|
|
|
<a-form-item label="执行时间:" class="formItem">
|
|
|
- <timeRange time-format="yyyy/MM/DD" :time-range="formData.timeRange" />
|
|
|
+ <timeRange time-format="yyyy/MM/DD" :disabled="formData.resource == '1'" :time-range="formData.timeRange" />
|
|
|
</a-form-item>
|
|
|
|
|
|
- <div style="margin-left: 8%;font-weight: bold;margin-bottom: 15px" v-if="formData.method == '2'">工作日策略 -</div>
|
|
|
+ <div class="drawer-bottom-button" v-if="formData.method == '1'">
|
|
|
+ <a-button type="primary" @click="showCalendar = true">设置工作日</a-button>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div style="margin-left: 8%;font-weight: bold;margin-bottom: 15px" v-if="formData.method == '1'">
|
|
|
+ <a-divider orientation="left">工作日策略</a-divider>
|
|
|
+ </div>
|
|
|
|
|
|
<a-form-item label="开机策略:" class="formItem">
|
|
|
- <a-select default-value="0" style="width: 200px" v-model="formData.openCl">
|
|
|
+ <a-select
|
|
|
+ default-value="0"
|
|
|
+ style="width: 200px"
|
|
|
+ :disabled="formData.resource == '1'"
|
|
|
+ v-model="formData.workDayopenCl"
|
|
|
+ >
|
|
|
<a-select-option value="0"> 定时开关机 </a-select-option>
|
|
|
<a-select-option value="1"> 24小时开机 </a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
- <a-form-item label="开机时间:" class="formItem">
|
|
|
- <a-time-picker use24-hours v-model="formData.openTime" :disabled="!(formData.openCl == '0')" />
|
|
|
+ <a-form-item label="开机时间:" class="formItem" v-show="formData.workDayopenCl == '0'">
|
|
|
+ <a-time-picker
|
|
|
+ use24-hours
|
|
|
+ v-model="formData.workDayopenTime"
|
|
|
+ :disabled="!(formData.workDayopenCl == '0') || formData.resource == '1'"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
- <a-form-item label="关机时间:" class="formItem">
|
|
|
- <a-time-picker use24-hours v-model="formData.closeTime" :disabled="!(formData.openCl == '0')" />
|
|
|
+ <a-form-item label="关机时间:" class="formItem" v-show="formData.workDayopenCl == '0'">
|
|
|
+ <a-time-picker
|
|
|
+ use24-hours
|
|
|
+ v-model="formData.workDaycloseTime"
|
|
|
+ :disabled="!(formData.workDayopenCl == '0') || formData.resource == '1'"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
- <a-form-item label="空调模式:" class="formItem">
|
|
|
- <a-select style="width: 200px" v-model="formData.mode">
|
|
|
- <a-select-option value="1"> 制冷 </a-select-option>
|
|
|
- <a-select-option value="2"> 制热 </a-select-option>
|
|
|
+ <a-form-item label="灯光亮度:" class="formItem">
|
|
|
+ <a-select style="width: 200px" v-model="formData.workDaymode" :disabled="formData.resource == '1'">
|
|
|
+ <a-select-option value="1"> 25% </a-select-option>
|
|
|
+ <a-select-option value="2"> 50% </a-select-option>
|
|
|
+ <a-select-option value="3"> 75% </a-select-option>
|
|
|
+ <a-select-option value="4"> 100% </a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
|
|
|
- <a-form-item label="空调风速:" class="formItem">
|
|
|
- <a-select style="width: 200px" v-model="formData.wind">
|
|
|
- <a-select-option value="1"> 一级 </a-select-option>
|
|
|
- <a-select-option value="2"> 二级 </a-select-option>
|
|
|
- <a-select-option value="3"> 三级 </a-select-option>
|
|
|
+ <a-form-item label="灯光色温:" class="formItem">
|
|
|
+ <a-select style="width: 200px" v-model="formData.workDaywind" :disabled="formData.resource == '1'">
|
|
|
+ <a-select-option value="1"> 白光 </a-select-option>
|
|
|
+ <a-select-option value="2"> 暖光 </a-select-option>
|
|
|
+ <a-select-option value="3"> 冷光 </a-select-option>
|
|
|
<a-select-option value="0"> 自动 </a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
|
|
|
- <a-form-item label="设置温度:" class="formItem">
|
|
|
- <a-select style="width: 200px" v-model="formData.tm">
|
|
|
- <a-select-option value="18"> 18°C </a-select-option>
|
|
|
- <a-select-option value="19"> 19°C </a-select-option>
|
|
|
- <a-select-option value="20"> 20°C </a-select-option>
|
|
|
- <a-select-option value="21"> 21°C </a-select-option>
|
|
|
- <a-select-option value="22"> 22°C </a-select-option>
|
|
|
- <a-select-option value="23"> 23°C </a-select-option>
|
|
|
- <a-select-option value="24"> 24°C </a-select-option>
|
|
|
- <a-select-option value="25"> 25°C </a-select-option>
|
|
|
- <a-select-option value="26"> 26°C </a-select-option>
|
|
|
- <a-select-option value="27"> 27°C </a-select-option>
|
|
|
- <a-select-option value="28"> 28°C </a-select-option>
|
|
|
+ <a-form-item label="灯光颜色:" class="formItem">
|
|
|
+ <a-select style="width: 200px" v-model="formData.workDaytm" :disabled="formData.resource == '1'">
|
|
|
+ <a-select-option value="18"> 红 </a-select-option>
|
|
|
+ <a-select-option value="19"> 黄 </a-select-option>
|
|
|
+ <a-select-option value="20"> 蓝 </a-select-option>
|
|
|
+ <a-select-option value="21"> 绿 </a-select-option>
|
|
|
+ <a-select-option value="22"> 青 </a-select-option>
|
|
|
+ <a-select-option value="23"> 橙 </a-select-option>
|
|
|
+ <a-select-option value="24"> 紫 </a-select-option>
|
|
|
+ <a-select-option value="25"> 白 </a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
|
|
|
<a-form-item label="人体感应:" class="formItem">
|
|
|
- <a-select default-value="0" style="width: 200px" v-model="formData.sensor">
|
|
|
- <a-select-option value="0"> 无 </a-select-option>
|
|
|
+ <a-select
|
|
|
+ default-value="0"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model="formData.workDaysensor"
|
|
|
+ :disabled="formData.resource == '1'"
|
|
|
+ >
|
|
|
+ <a-select-option value="0"> 无人 </a-select-option>
|
|
|
+ <a-select-option value="1"> 有人 </a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
|
|
|
- <div v-if="formData.method == '2'">
|
|
|
- <div style="margin-left: 8%;font-weight: bold;margin-bottom: 15px">非工作日策略 -</div>
|
|
|
+ <div v-if="formData.method == '1'">
|
|
|
+ <div style="margin-left: 8%;font-weight: bold;margin-bottom: 15px">
|
|
|
+ <a-divider orientation="left">非工作日策略</a-divider>
|
|
|
+ </div>
|
|
|
|
|
|
<a-form-item label="开机策略:" class="formItem">
|
|
|
- <a-select default-value="0" style="width: 200px" v-model="formData.openCl">
|
|
|
+ <a-select
|
|
|
+ default-value="0"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model="formData.unWorkDayopenCl"
|
|
|
+ :disabled="formData.resource == '1'"
|
|
|
+ >
|
|
|
<a-select-option value="0"> 定时开关机 </a-select-option>
|
|
|
<a-select-option value="1"> 24小时开机 </a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
- <a-form-item label="开机时间:" class="formItem">
|
|
|
- <a-time-picker use24-hours v-model="formData.openTime" :disabled="!(formData.openCl == '0')" />
|
|
|
+ <a-form-item label="开机时间:" class="formItem" v-show="formData.unWorkDayopenCl == '0'">
|
|
|
+ <a-time-picker
|
|
|
+ use24-hours
|
|
|
+ v-model="formData.openTime"
|
|
|
+ :disabled="!(formData.unWorkDayopenCl == '0') || formData.resource == '1'"
|
|
|
+ />
|
|
|
+ </a-form-item>
|
|
|
+ <a-form-item label="关机时间:" class="formItem" v-show="formData.unWorkDayopenCl == '0'">
|
|
|
+ <a-time-picker
|
|
|
+ use24-hours
|
|
|
+ v-model="formData.closeTime"
|
|
|
+ :disabled="!(formData.unWorkDayopenCl == '0') || formData.resource == '1'"
|
|
|
+ />
|
|
|
+ </a-form-item>
|
|
|
+ <a-form-item label="灯光亮度:" class="formItem">
|
|
|
+ <a-select style="width: 200px" v-model="formData.unWorkDaymode" :disabled="formData.resource == '1'">
|
|
|
+ <a-select-option value="1"> 25% </a-select-option>
|
|
|
+ <a-select-option value="2"> 50% </a-select-option>
|
|
|
+ <a-select-option value="3"> 75% </a-select-option>
|
|
|
+ <a-select-option value="4"> 100% </a-select-option>
|
|
|
+ </a-select>
|
|
|
</a-form-item>
|
|
|
- <a-form-item label="关机时间:" class="formItem">
|
|
|
- <a-time-picker use24-hours v-model="formData.closeTime" :disabled="!(formData.openCl == '0')" />
|
|
|
+
|
|
|
+ <a-form-item label="灯光色温:" class="formItem">
|
|
|
+ <a-select style="width: 200px" v-model="formData.unWorkDaywind" :disabled="formData.resource == '1'">
|
|
|
+ <a-select-option value="1"> 白光 </a-select-option>
|
|
|
+ <a-select-option value="2"> 暖光 </a-select-option>
|
|
|
+ <a-select-option value="3"> 冷光 </a-select-option>
|
|
|
+ <a-select-option value="0"> 自动 </a-select-option>
|
|
|
+ </a-select>
|
|
|
</a-form-item>
|
|
|
- <a-form-item label="灯光亮度:" class="formItem"> <a-slider id="test" v-model="formData.brightness" /> </a-form-item>
|
|
|
|
|
|
- <a-form-item label="灯光色温:" class="formItem"> <a-slider id="test" v-model="formData.color" /> </a-form-item>
|
|
|
+ <a-form-item label="灯光颜色:" class="formItem">
|
|
|
+ <a-select style="width: 200px" v-model="formData.unWorkDaytm" :disabled="formData.resource == '1'">
|
|
|
+ <a-select-option value="18"> 红 </a-select-option>
|
|
|
+ <a-select-option value="19"> 黄 </a-select-option>
|
|
|
+ <a-select-option value="20"> 蓝 </a-select-option>
|
|
|
+ <a-select-option value="21"> 绿 </a-select-option>
|
|
|
+ <a-select-option value="22"> 青 </a-select-option>
|
|
|
+ <a-select-option value="23"> 橙 </a-select-option>
|
|
|
+ <a-select-option value="24"> 紫 </a-select-option>
|
|
|
+ <a-select-option value="25"> 白 </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
|
|
|
<a-form-item label="人体感应:" class="formItem">
|
|
|
- <a-select default-value="0" style="width: 200px" v-model="formData.sensor">
|
|
|
- <a-select-option value="0"> 无 </a-select-option>
|
|
|
+ <a-select
|
|
|
+ default-value="0"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model="formData.unWorkDaysensor"
|
|
|
+ :disabled="formData.resource == '1'"
|
|
|
+ >
|
|
|
+ <a-select-option value="0"> 无人 </a-select-option>
|
|
|
+ <a-select-option value="1"> 有人 </a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</div>
|
|
|
</a-form-model>
|
|
|
+ <div class="drawer-bottom-button">
|
|
|
+ <a-button @click="handleOk">取消</a-button><a-button type="primary" @click="handleOk">批量执行</a-button>
|
|
|
+ </div>
|
|
|
+ </a-drawer>
|
|
|
+ <a-drawer title="设置工作日" :visible="showCalendar" width="1000" @close="hideCalendar">
|
|
|
+ <!-- <a-alert message="系统默认周一至周五为工作日,可对任意日期进行设置。点击即可切换状态!" /> -->
|
|
|
+ <!-- 日历面板 -->
|
|
|
+ <a-calendar>
|
|
|
+ <div
|
|
|
+ slot="dateCellRender"
|
|
|
+ slot-scope="value"
|
|
|
+ class="events subCalendar"
|
|
|
+ :style="{ background: isWorkDay(value) ? '#FFFFFF' : '#badeff' }"
|
|
|
+ @click="changeWorkDay(value)"
|
|
|
+ >
|
|
|
+ <a-icon :type="isWorkDay(value) ? 'desktop' : 'coffee'" style="font-size: 30px;" />
|
|
|
+ <p>{{ isWorkDay(value) ? "工作日" : "非工作日" }}</p>
|
|
|
+ </div>
|
|
|
+ <!-- </a-popover> -->
|
|
|
+ </a-calendar>
|
|
|
+ <div class="drawer-bottom-button">
|
|
|
+ <a-button @click="hideCalendar">取消</a-button><a-button @click="hideCalendar" type="primary">确定</a-button>
|
|
|
+ </div>
|
|
|
</a-drawer>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -307,6 +402,8 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
formData: {},
|
|
|
+ showCalendar: false, // 日历显示状态
|
|
|
+ unWorkDayList: [],
|
|
|
currFloor: "1F",
|
|
|
showCard: true,
|
|
|
showBatchCL: false,
|
|
@@ -532,6 +629,53 @@ export default {
|
|
|
this.oriFloors = JSON.parse(JSON.stringify(this.floors));
|
|
|
},
|
|
|
methods: {
|
|
|
+ getListData(value) {
|
|
|
+ let listData = [];
|
|
|
+ if (this.$moment().isSame(value, "day")) {
|
|
|
+ listData.push({ type: "error", content: "今日" });
|
|
|
+ }
|
|
|
+ switch (value.day()) {
|
|
|
+ case 0:
|
|
|
+ listData.push({ type: "warning", content: "非工作日" });
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ listData.push({ type: "warning", content: "非工作日" });
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ listData.push({ type: "success", content: "工作日" });
|
|
|
+ }
|
|
|
+ return listData || [];
|
|
|
+ },
|
|
|
+ isWorkDay(value) {
|
|
|
+ let isWorkDay_ = false;
|
|
|
+ switch (value.day()) {
|
|
|
+ case 0:
|
|
|
+ isWorkDay_ = false;
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ isWorkDay_ = false;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ isWorkDay_ = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ let momentStr = this.$moment(value).format("YYYY/MM/DD");
|
|
|
+ if (this.unWorkDayList.indexOf(momentStr) != -1) {
|
|
|
+ isWorkDay_ = !isWorkDay_;
|
|
|
+ }
|
|
|
+ return isWorkDay_;
|
|
|
+ },
|
|
|
+ changeWorkDay(value) {
|
|
|
+ let momentStr = this.$moment(value).format("YYYY/MM/DD");
|
|
|
+ if (this.unWorkDayList.indexOf(momentStr) != -1) {
|
|
|
+ this.unWorkDayList.splice(this.unWorkDayList.indexOf(momentStr), 1);
|
|
|
+ } else {
|
|
|
+ this.unWorkDayList.push(momentStr);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ hideCalendar() {
|
|
|
+ this.showCalendar = false;
|
|
|
+ },
|
|
|
clearSelectRow() {
|
|
|
this.selectedRowKeys = [];
|
|
|
},
|
|
@@ -544,7 +688,23 @@ export default {
|
|
|
},
|
|
|
handleCardClick() {
|
|
|
this.showBatchCL = true;
|
|
|
- this.formData = {};
|
|
|
+ this.formData = {
|
|
|
+ resource: "2", // 默认策略(已有策略)
|
|
|
+ clId: "0", // 已有策略默认下标
|
|
|
+ clName: "", // 策略名称
|
|
|
+ method: "1", // 默认执行方式(按工作日和非工作日)
|
|
|
+ // timeRange: "", // 默认执行时间
|
|
|
+ workDayopenCl: "1", // 默认开机策略
|
|
|
+ workDaymode: "1", // 默认模式
|
|
|
+ workDaywind: "0", // 默认风速
|
|
|
+ workDaytm: "25", // 默认温度
|
|
|
+ workDaysensor: "1", // 人体感应
|
|
|
+ unWorkDayopenCl: "1", // 默认开机策略
|
|
|
+ unWorkDaymode: "1", // 默认模式
|
|
|
+ unWorkDaywind: "0", // 默认风速
|
|
|
+ unWorkDaytm: "25", // 默认温度
|
|
|
+ unWorkDaysensor: "1" // 人体感应
|
|
|
+ };
|
|
|
},
|
|
|
|
|
|
domClick(id) {
|
|
@@ -638,6 +798,10 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
+.drawer-bottom-button {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+}
|
|
|
.formItem {
|
|
|
margin: 12px 0;
|
|
|
}
|
|
@@ -686,4 +850,18 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+/deep/ .ant-fullcalendar-fullscreen .ant-fullcalendar-header .ant-radio-group {
|
|
|
+ display: none !important;
|
|
|
+}
|
|
|
+.subCalendar {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ cursor: pointer;
|
|
|
+ display: flex;
|
|
|
+ align-content: center;
|
|
|
+ align-items: center;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: space-around;
|
|
|
+ flex-wrap: nowrap;
|
|
|
+}
|
|
|
</style>
|