|
@@ -6,7 +6,7 @@
|
|
|
<!-- 整数类型 -->
|
|
|
<block v-if="item.inputType == 'int'">
|
|
|
<view class="title u-line-1">
|
|
|
- {{ item.funcname }}{{ item.params.unit }}
|
|
|
+ {{ item.funcname }}{{ item.params.unit || '' }}
|
|
|
</view>
|
|
|
<block v-if="item.inputType == 'int'">
|
|
|
<u--input :focus="intFocus" v-model="value" :type="item.num_scale == 0 ? 'number' : 'digit'"
|
|
@@ -28,7 +28,7 @@
|
|
|
<!-- 布尔开关 -->
|
|
|
<block v-else-if="item.inputType == 'switch'">
|
|
|
<view class="title u-line-1">
|
|
|
- {{ item.funcname }}{{ item.params.unit }}
|
|
|
+ {{ item.funcname }}{{ item.params.unit || '' }}
|
|
|
</view>
|
|
|
{{ tips }}
|
|
|
</block>
|
|
@@ -36,6 +36,33 @@
|
|
|
<block v-else-if="item.inputType == 'step'">
|
|
|
步进器还没写
|
|
|
</block>
|
|
|
+ <!-- 时段 -->
|
|
|
+ <block v-else-if="item.inputType == 'dayParting'">
|
|
|
+ <view class="title u-line-1">
|
|
|
+ {{ item.funcname }}{{ item.params.unit || '' }}
|
|
|
+ </view>
|
|
|
+ <view class="day-parting">
|
|
|
+ <picker mode="time" :value="item.params[item.key + 'T']" @change="changeT_T">
|
|
|
+ <view class="row">
|
|
|
+ <view class="label">
|
|
|
+ 时间:
|
|
|
+ </view>
|
|
|
+ {{ item.params[item.key + 'T'] }}
|
|
|
+ </view>
|
|
|
+ </picker>
|
|
|
+ <view class="row" style="margin-top: 20px">
|
|
|
+ <view class="label">压力:</view>
|
|
|
+ <u--input :focus="dayPartingFocus" v-model="value" type="digit"
|
|
|
+ :placeholder="item.params[item.key + 'P']" border="surround" />
|
|
|
+ </view>
|
|
|
+ <view class="tips" v-if="tips">
|
|
|
+ <u-icon name="info-circle-fill" color="#E2201A" />
|
|
|
+ <text style="margin-left: 4px;">
|
|
|
+ {{ tips }}
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
<!-- 其他类型 -->
|
|
|
<block v-else>
|
|
|
其他类型
|
|
@@ -53,13 +80,15 @@ export default {
|
|
|
item: {},
|
|
|
tips: "",
|
|
|
intFocus: false,
|
|
|
+ dayPartingFocus: false,
|
|
|
value: "",
|
|
|
- confirmText: '确定'
|
|
|
+ confirmText: '确定',
|
|
|
+ loading: false
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
/**
|
|
|
- * @param item.inputType int:数字 step:步进器 radio:单选 switch:开关
|
|
|
+ * @param item.inputType int:数字 step:步进器 radio:单选 switch:开关 dayParting:分时段
|
|
|
*/
|
|
|
openInput(item) {
|
|
|
this.item = item;
|
|
@@ -86,9 +115,22 @@ export default {
|
|
|
this.confirmText = '切换'
|
|
|
tips = `是否将“${item.funcname}”${this.confirmText}为:“${params.options.find(v => v.value != item.paramValue).label}”`
|
|
|
}
|
|
|
+ } else if (item.inputType == "dayParting") {
|
|
|
+ console.log("分时段", item)
|
|
|
+ this.value = item.params[item.key + 'p'];
|
|
|
+ this.dayPartingFocus = false;
|
|
|
+ this.item = JSON.parse(JSON.stringify(item))
|
|
|
+ tips = item.toBeUpdated.time || item.toBeUpdated.value ? `查询到一条待更新指令,更新内容为时间:${item.toBeUpdated.time.split("_").join(":")},压力:${item.toBeUpdated.value}MPA` : ""
|
|
|
+ setTimeout(() => {
|
|
|
+ this.dayPartingFocus = true
|
|
|
+ }, 300);
|
|
|
}
|
|
|
this.tips = tips;
|
|
|
},
|
|
|
+ /* 时段修改 */
|
|
|
+ changeT_T(e) {
|
|
|
+ this.item.params[this.item.key + 'T'] = e.detail.value;
|
|
|
+ },
|
|
|
submitBreak(content) {
|
|
|
uni.showToast({
|
|
|
title: content + "",
|
|
@@ -97,6 +139,7 @@ export default {
|
|
|
this.$refs.uModal.loading = false;
|
|
|
},
|
|
|
confirm() {
|
|
|
+ if (this.loading) return;
|
|
|
let item = this.item,
|
|
|
params = item.params,
|
|
|
value = "";
|
|
@@ -113,17 +156,29 @@ export default {
|
|
|
} else {
|
|
|
value = item.params.lastvalue == 1 ? 0 : 1
|
|
|
}
|
|
|
+ } else if (item.inputType == "dayParting") {
|
|
|
+ value = this.value - 0;
|
|
|
+ return this.submit(item.w_functionid, {
|
|
|
+ [item.key + 'P']: value,
|
|
|
+ [item.key + 'T']: params[item.key + 'T'].split(":").join("_")
|
|
|
+ })
|
|
|
}
|
|
|
this.submit(item.w_functionid, {
|
|
|
[item.paramName]: value
|
|
|
})
|
|
|
},
|
|
|
async submit(w_functionid, params) {
|
|
|
- await this.$Http.setControlItem(w_functionid, params)
|
|
|
- this.show = false;
|
|
|
- setTimeout(() => {
|
|
|
- this.item = null;
|
|
|
- }, 200);
|
|
|
+ this.loading = true;
|
|
|
+ let res = await this.$Http.setControlItem(w_functionid, params)
|
|
|
+ this.loading = false;
|
|
|
+ if (res) {
|
|
|
+ this.show = false;
|
|
|
+ setTimeout(() => {
|
|
|
+ this.item = null;
|
|
|
+ }, 200);
|
|
|
+ } else {
|
|
|
+ this.$refs.uModal.loading = false;
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
}
|
|
@@ -155,6 +210,28 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ .day-parting {
|
|
|
+
|
|
|
+ .row {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .label {
|
|
|
+ width: 50px;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/.u-input {
|
|
|
+ .uni-input-input {
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|
|
|
</style>
|