yijianjun 1 månad sedan
förälder
incheckning
c2109d28f7

+ 18 - 34
src/views/modules/load-forecasting-v2/components/add-or-update.vue

@@ -18,29 +18,22 @@
             </el-select>
             </el-select>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
-        <!-- <el-col :span="24">
-          <el-form-item label="预测方法" prop="predictType" class="input">
-            <el-select
-              style="width: 100%"
-              v-model="ruleForm.predictType"
-              placeholder="预测方法"
-              clearable
-            >
-              <el-option label="依据历史数据" value="0">依据历史数据</el-option>
-              <el-option label="温度和历史数据" value="2">温度和历史数据</el-option>
-            </el-select>
-          </el-form-item>
-        </el-col> -->
         <el-col :span="24">
         <el-col :span="24">
           <el-form-item
           <el-form-item
-            label="温度"
+            label="温度范围"
             prop="temperatures"
             prop="temperatures"
             class="input"
             class="input"
-            :rules="[{ required: true, message: '请输入温度', trigger: ['blur'] }]"
+            :rules="[{ required: true, trigger: ['blur'], validator: validateTemperatures }]"
           >
           >
-            <el-input style="width: 100%" type="number" v-model="ruleForm.temperatures" placeholder="请输入温度" :readonly="type == 'view'">
-              <template slot="append">℃</template>
-            </el-input>
+            <div style="display: flex; align-items: center">
+              <el-input type="number" v-model="ruleForm.minTemperatures" placeholder="请输入最小温度" :readonly="type == 'view'">
+                <template slot="append">℃</template>
+              </el-input>
+              <span style="margin: 0 5px">-</span>
+              <el-input type="number" v-model="ruleForm.maxTemperatures" placeholder="请输入最大温度" :readonly="type == 'view'">
+                <template slot="append">℃</template>
+              </el-input>
+            </div>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="24">
         <el-col :span="24">
@@ -75,22 +68,6 @@
             </el-input>
             </el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
-        <!-- <el-col :span="24">
-          <el-form-item
-            label="当前用户数量"
-            prop="userCount"
-            class="input"
-            :rules="[{ required: true, message: '请输入当前用户数量', trigger: ['blur'] }]"
-          >
-            <el-input
-              style="width: 100%"
-              type="number"
-              v-model="ruleForm.userCount"
-              placeholder="请输入当前用户数量"
-              :readonly="type == 'view'"
-            />
-          </el-form-item>
-        </el-col> -->
         <el-col :span="24">
         <el-col :span="24">
           <el-form-item
           <el-form-item
             label="开始时间"
             label="开始时间"
@@ -192,6 +169,13 @@ export default {
     this.getRegionList();
     this.getRegionList();
   },
   },
   methods: {
   methods: {
+    validateTemperatures(rule, value, callback) {
+      if (!this.ruleForm.minTemperatures || !this.ruleForm.maxTemperatures) {
+        callback(new Error('请输入温度范围'));
+      } else {
+        callback();
+      }
+    },
     init(id, type) {
     init(id, type) {
       this.type = type;
       this.type = type;
       this.resetForm();
       this.resetForm();

+ 3 - 8
src/views/modules/load-forecasting-v2/components/forecasting-detail.vue

@@ -52,22 +52,17 @@
         <el-table-column align="center" :resizable="true" :sortable="true" prop="voltageLevel" label="电压等级" />
         <el-table-column align="center" :resizable="true" :sortable="true" prop="voltageLevel" label="电压等级" />
         <el-table-column align="center" :resizable="true" :sortable="true" prop="mainNum" label="主变台数" />
         <el-table-column align="center" :resizable="true" :sortable="true" prop="mainNum" label="主变台数" />
         <el-table-column align="center" :resizable="true" :sortable="true" width="180" prop="capacity" label="主变容量(MVA)" />
         <el-table-column align="center" :resizable="true" :sortable="true" width="180" prop="capacity" label="主变容量(MVA)" />
-        <el-table-column align="center" :resizable="true" :sortable="true" v-for="key in columns" :key="key" :label="key">
-          <el-table-column align="center" :prop="`${key}_peakLoad`" label="最大负荷">
+        <el-table-column align="center" :resizable="true" v-for="key in columns" :key="key" :label="key">
+          <el-table-column align="center" :sortable="true" :prop="`${key}_peakLoad`" label="最大负荷">
             <template slot-scope="scope">
             <template slot-scope="scope">
               {{ scope.row[`${key}_peakLoad`] ? scope.row[`${key}_peakLoad`] : '---' }}
               {{ scope.row[`${key}_peakLoad`] ? scope.row[`${key}_peakLoad`] : '---' }}
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column align="center" :prop="`${key}_loadRate`" label="最大负荷率">
+          <el-table-column align="center" :sortable="true" :prop="`${key}_loadRate`" label="最大负荷率">
             <template slot-scope="scope">
             <template slot-scope="scope">
               {{ scope.row[`${key}_loadRate`] ? scope.row[`${key}_loadRate`] + '%' : '---' }}
               {{ scope.row[`${key}_loadRate`] ? scope.row[`${key}_loadRate`] + '%' : '---' }}
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <!-- <el-table-column :prop="`${key}_confidence`" label="置信度">
-            <template slot-scope="scope">
-              {{ scope.row[`${key}_confidence`] ? scope.row[`${key}_confidence`] + '%' : '---' }}
-            </template>
-          </el-table-column> -->
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
     </div>
     </div>

+ 8 - 6
src/views/modules/load-forecasting-v2/index.vue

@@ -263,7 +263,7 @@
           <!-- <el-table-column :resizable="true" :sortable="true" prop="recordDate" label="预测方法" /> -->
           <!-- <el-table-column :resizable="true" :sortable="true" prop="recordDate" label="预测方法" /> -->
           <el-table-column :resizable="true" :sortable="true" prop="temperatures" label="预测参数">
           <el-table-column :resizable="true" :sortable="true" prop="temperatures" label="预测参数">
             <template slot-scope="scope">
             <template slot-scope="scope">
-              {{ '温度' + scope.row.temperatures + '℃' }}
+              {{ '温度范围:' + scope.row.minTemperatures + '℃ - ' + scope.row.maxTemperatures + '℃' }}
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column :resizable="true" :sortable="true" prop="dimension" label="时间维度">
           <el-table-column :resizable="true" :sortable="true" prop="dimension" label="时间维度">
@@ -502,9 +502,11 @@ export default {
     },
     },
     /// 删除
     /// 删除
     deleteHandler(id) {
     deleteHandler(id) {
-		var ids = id? [Number(id)]: this.dataListSelections.map(item => {
-			return Number(item.id);
-		});
+      var ids = id
+        ? [Number(id)]
+        : this.dataListSelections.map(item => {
+            return Number(item.id);
+          });
       this.$confirm('确认删除吗?', '提示', {
       this.$confirm('确认删除吗?', '提示', {
         confirmButtonText: '确定',
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         cancelButtonText: '取消',
@@ -512,8 +514,8 @@ export default {
       }).then(() => {
       }).then(() => {
         this.$http({
         this.$http({
           url: `/predict-conf/delete`,
           url: `/predict-conf/delete`,
-          method: "post",
-		  data: ids
+          method: 'post',
+          data: ids,
         }).then(({ data }) => {
         }).then(({ data }) => {
           if (data && data.code === 0) {
           if (data && data.code === 0) {
             this.$message({
             this.$message({