|
@@ -31,10 +31,14 @@
|
|
|
<view class="title u-line-1">
|
|
|
{{ item.funcname }}{{ item.params.unit || '' }}
|
|
|
</view>
|
|
|
- <u-number-box :asyncChange="true" :min="item.params.num_minvalue" :max="item.params.num_maxvalue"
|
|
|
- :step="item.params.num_step" v-model="value" :decimal-length="item.params.num_scale"
|
|
|
- @change="stepChange" @focus="stepFocus" @blur="stepBlue" inputWidth="100" />
|
|
|
- <!-- </view> -->
|
|
|
+ <!-- if 和 else 是因为有时候decimal-length设置为0不能点击加减 -->
|
|
|
+ <u-number-box v-if="item.params.num_scale" :asyncChange="true" v-model="value"
|
|
|
+ :min="item.params.num_minvalue" :max="item.params.num_maxvalue" :step="item.params.num_step"
|
|
|
+ :decimal-length="item.params.num_scale" @change="stepChange" @focus="stepFocus" @blur="stepBlue"
|
|
|
+ inputWidth="100" />
|
|
|
+ <u-number-box v-else :asyncChange="true" v-model="value" :min="item.params.num_minvalue"
|
|
|
+ :max="item.params.num_maxvalue" :step="item.params.num_step" @change="stepChange" @focus="stepFocus"
|
|
|
+ @blur="stepBlue" inputWidth="100" />
|
|
|
<view class="tips" v-if="item.paramValue">
|
|
|
<u-icon name="info-circle-fill" color="#E2201A" />
|
|
|
<text style="margin-left: 4px;">
|
|
@@ -146,6 +150,7 @@ export default {
|
|
|
confirmText: '确定',
|
|
|
loading: false,
|
|
|
stepIsCalculate: false,
|
|
|
+ stagingMethod: null,
|
|
|
isSlot: false,
|
|
|
switchTips: ""
|
|
|
}
|
|
@@ -211,8 +216,8 @@ export default {
|
|
|
if (item.paramValue) toBeUpdated = `查询到“${item.funcname}”有待更新记录,待更新值为“${item.paramValue}”`
|
|
|
} else if (item.inputType == "step") {
|
|
|
this.value = params.lastvalue;
|
|
|
- if (this.value > params.num_maxvalue) this.value = params.num_maxvalue;
|
|
|
- if (this.value < params.num_minvalue) this.value = params.num_minvalue;
|
|
|
+ /* if (this.value > params.num_maxvalue) this.value = params.num_maxvalue;
|
|
|
+ if (this.value < params.num_minvalue) this.value = params.num_minvalue; */
|
|
|
if (params.num_minvalue || params.num_maxvalue) tips += `输入范围:${params.num_minvalue || 0} ~ ${params.num_maxvalue || '∞'}`
|
|
|
if (params.num_scale) tips += ` 保留${params.num_scale}位小数`
|
|
|
if (params.num_step) tips += ` 增量${params.num_step || 0}`
|
|
@@ -244,9 +249,12 @@ export default {
|
|
|
this.stepIsCalculate = true;
|
|
|
},
|
|
|
stepBlue(e) {
|
|
|
- const { num_step, num_scale } = this.item.params;
|
|
|
+ const { num_step, num_scale, num_maxvalue, num_minvalue } = this.item.params;
|
|
|
this.value = currency(currency(e.value, { increment: num_step, precision: num_scale }).format()).value;
|
|
|
+ if (this.value < num_minvalue) this.value = num_minvalue - 0;
|
|
|
+ if (this.value > num_maxvalue) this.value = num_maxvalue - 0;
|
|
|
this.stepIsCalculate = false;
|
|
|
+ if (this.stagingMethod) this.confirm();
|
|
|
},
|
|
|
/* 时段修改 */
|
|
|
changeT_T(e) {
|
|
@@ -265,12 +273,12 @@ export default {
|
|
|
let item = this.item,
|
|
|
params = item.params,
|
|
|
value = "";
|
|
|
- if (item.inputType == 'int') {
|
|
|
+ if (item.inputType == 'int' || item.inputType == 'step') {
|
|
|
value = this.value - 0;
|
|
|
if (value == 0) return this.submitBreak("还未输入值")
|
|
|
if (params.num_scale != 0) value = value.toFixed(params.num_scale)
|
|
|
- if (params.num_minvalue && value > params.num_minvalue) return this.submitBreak("输入值小于最低范围")
|
|
|
- if (params.num_maxvalue && value < params.num_maxvalue) return this.submitBreak("输入值大于最大范围")
|
|
|
+ if (params.num_minvalue && value < params.num_minvalue) return this.submitBreak("输入值小于最低范围")
|
|
|
+ if (params.num_maxvalue && value > params.num_maxvalue) return this.submitBreak("输入值大于最大范围")
|
|
|
} else if (item.inputType == "switch") {
|
|
|
let paramValue = item.paramValue + "";
|
|
|
if (paramValue.length) {
|
|
@@ -302,11 +310,14 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
async submit(w_functionid, params) {
|
|
|
+ console.log("提交", w_functionid, params)
|
|
|
+ if (this.stepIsCalculate) return this.stagingMethod = true;
|
|
|
this.loading = true;
|
|
|
let res = await this.$Http.setControlItem(w_functionid, params)
|
|
|
this.loading = false;
|
|
|
if (res) {
|
|
|
this.show = false;
|
|
|
+ this.stepIsCalculate = null;
|
|
|
setTimeout(() => {
|
|
|
// this.item = null;
|
|
|
}, 200);
|