Forráskód Böngészése

Merge branch 'master' of http://152.136.206.27:3000/dongjh/ems_client

dongjh 1 éve%!(EXTRA string=óta)
szülő
commit
3eb6eb84c9

+ 96 - 38
src/views/module_base/energyRate/modules/EnergyRateForm.vue

@@ -47,8 +47,8 @@
             </a-form-model-item>
           </a-col>
         </a-row>
-      </a-form-model>
-     </j-form-container>
+      <!-- </a-form-model>
+     </j-form-container> -->
       <!-- 子表单区域 -->
       <div class="cmms-dialog-item-title">价格信息表详情</div>
       <a-button type="primary" style="margin-bottom:10px;" @click="newMember">新增</a-button>
@@ -63,32 +63,39 @@
         >
 
         <template slot="begintime" slot-scope="text, record,index">
-            <a-form-model-item :prop="'data.'+index+'.begintime'" :rules="validatorListRules.begintime" style="margin-bottom: 0px;">
-              <a-time-picker date-format="HH:mm:ss" placeholder="请选择分时开始时间" v-model="record.begintime" style="width: 100%" />
+            <a-form-model-item :prop="'data.'+index+'.begintime'" :rules="validatorRules.begintime2" style="margin-bottom: 0px;">
+              <a-time-picker format="HH:mm:ss" placeholder="请选择分时开始时间" v-model="record.begintime" style="width: 100%" />
             </a-form-model-item>
         </template>
         <template slot="endtime" slot-scope="text, record,index">
-            <a-form-model-item :prop="'data.'+index+'.endtime'" :rules="validatorListRules.endtime" style="margin-bottom: 0px;">
-              <a-time-picker date-format="HH:mm:ss" placeholder="请选择分时结束时间" v-model="record.endtime" style="width: 100%" />
+            <a-form-model-item :prop="'data.'+index+'.endtime'" :rules="validatorRules.endtime2" style="margin-bottom: 0px;">
+              <a-time-picker format="HH:mm:ss" placeholder="请选择分时结束时间" v-model="record.endtime" style="width: 100%" />
             </a-form-model-item>
         </template>
         <template slot="pandv" slot-scope="text, record,index">
-            <a-form-model-item :prop="'data.'+index+'.pandv'" :rules="validatorListRules.pandv" style="margin-bottom: 0px;">
-              <j-dict-select-tag type="list" v-model="record.pandv" dictCode="ems_pandv" placeholder="请选择峰平谷" style="width: 100%" />
+            <a-form-model-item :prop="'data.'+index+'.pandv'" :rules="validatorRules.pandv" style="margin-bottom: 0px;">
+              <!-- <j-dict-select-tag type="list" v-model="record.pandv" dictCode="ems_pandv" placeholder="请选择峰平谷" style="width: 100%" /> -->
+              <a-select
+              v-model="record.pandv"
+              placeholder="请选择峰平谷"
+              showSearch
+              :filterOption="filterOption"
+              :options="typeOptions">
+              </a-select>
             </a-form-model-item>
         </template>
         <template slot="price" slot-scope="text, record,index">
-            <a-form-model-item :prop="'data.'+index+'.price'" :rules="validatorListRules.price" style="margin-bottom: 0px;">
+            <a-form-model-item :prop="'data.'+index+'.price'" :rules="validatorRules.price" style="margin-bottom: 0px;">
               <a-input v-model="record.price" placeholder="请输入价格" ></a-input>
             </a-form-model-item>
         </template>
         <template slot="beginamount" slot-scope="text, record,index">
-            <a-form-model-item :prop="'data.'+index+'.beginamount'" :rules="validatorListRules.beginamount" style="margin-bottom: 0px;">
+            <a-form-model-item :prop="'data.'+index+'.beginamount'" :rules="validatorRules.beginamount" style="margin-bottom: 0px;">
               <a-input v-model="record.beginamount" placeholder="请输入起始量" ></a-input>
             </a-form-model-item>
         </template>
         <template slot="endamount" slot-scope="text, record,index">
-            <a-form-model-item :prop="'data.'+index+'.endamount'" :rules="validatorListRules.endamount" style="margin-bottom: 0px;">
+            <a-form-model-item :prop="'data.'+index+'.endamount'" :rules="validatorRules.endamount" style="margin-bottom: 0px;">
               <a-input v-model="record.endamount" placeholder="请输入结束量" ></a-input>
             </a-form-model-item>
         </template>
@@ -100,6 +107,8 @@
           </span>
         </template>
       </a-table>
+      </a-form-model>
+    </j-form-container>
       <!-- <a-tabs v-model="activeKey" @change="handleChangeTabs">
         <a-tab-pane tab="详情" :key="refKeys[0]" :forceRender="true">
           <j-editable-table
@@ -122,6 +131,7 @@
   import { FormTypes,getRefPromise,VALIDATE_NO_PASSED } from '@/utils/JEditableTableUtil'
   import { JEditableTableModelMixin } from '@/mixins/JEditableTableModelMixin'
   import { validateDuplicateValue } from '@/utils/util'
+  import {ajaxGetDictItems,getDictItemsFromCache} from '@/api/api'
 
   export default {
     name: 'EnergyRateForm',
@@ -130,6 +140,12 @@
     },
     data() {
       return {
+        // typeOptions: [
+        //   {label: '尖', value: 0},
+        //   {label: '峰', value: 1},
+        //   {label: '平', value: 2},
+        //   {label: '谷', value: 3},
+        // ],
         labelCol: {
           xs: { span: 24 },
           sm: { span: 6 },
@@ -167,40 +183,58 @@
           //  rateunit: [
           //     { required: true, message: '请输入单位!'},
           //  ],
-           begintime: [
+            begintime: [
               { required: true, message: '请输入费率有效期开始!'},
-           ],
-           endtime: [
+            ],
+            endtime: [
               { required: true, message: '请输入费率有效期结束!'},
-           ],
-        },
-        validatorListRules: {
-          begintime: [
-            { required: true, message: '请选择分时开始时间!'},
-          ],
-          endtime: [
-            { required: true, message: '请选择分时结束时间!'},
-          ],
-          pandv: [
-            { required: true, message: '请选择峰平谷!'},
-          ],
-          price: [
-            { required: true, message: '请输入价格!'},
-          ],
-          beginamount: [
-            { required: true, message: '请输入起始量!'},
-          ],
-          endamount: [
-            { required: true, message: '请输入结束量!'},
-          ],
+            ],
+            begintime2: [
+              { required: true, message: '请选择分时开始时间!'},
+            ],
+            endtime2: [
+              { required: true, message: '请选择分时结束时间!'},
+            ],
+            pandv: [
+              { required: true, message: '请选择峰平谷!'},
+            ],
+            price: [
+              { required: true, message: '请输入价格!'},
+            ],
+            beginamount: [
+              { required: true, message: '请输入起始量!'},
+            ],
+            endamount: [
+              { required: true, message: '请输入结束量!'},
+            ],
         },
+        // validatorListRules: {
+        //   begintime: [
+        //     { required: true, message: '请选择分时开始时间!'},
+        //   ],
+        //   endtime: [
+        //     { required: true, message: '请选择分时结束时间!'},
+        //   ],
+        //   pandv: [
+        //     { required: true, message: '请选择峰平谷!'},
+        //   ],
+        //   price: [
+        //     { required: true, message: '请输入价格!'},
+        //   ],
+        //   beginamount: [
+        //     { required: true, message: '请输入起始量!'},
+        //   ],
+        //   endamount: [
+        //     { required: true, message: '请输入结束量!'},
+        //   ],
+        // },
         // 新增时子表默认添加几行空数据
         addDefaultRowNum: 1,
         refKeys: ['baseEnergyRateDetail', ],
         tableKeys:['baseEnergyRateDetail', ],
         activeKey: 'baseEnergyRateDetail',
         // base_energy_rate_detail
-        // model: {
+        // baseEnergyRateDetailTable: {
         //   loading: false,
         //   data: [],
         //   columns1: []
@@ -213,7 +247,8 @@
           },
         },
         count: 1,
-        ratetype: ''
+        ratetype: '',
+        dictCode: 'ems_pandv'
       }
     },
     props: {
@@ -230,8 +265,27 @@
       },
     },
     created () {
+      this.initDictData()
     },
     methods: {
+      initDictData() {
+        //优先从缓存中读取字典配置
+        if(getDictItemsFromCache(this.dictCode)){
+          this.typeOptions = getDictItemsFromCache(this.dictCode);
+          return
+        }
+
+        //根据字典Code, 初始化字典数组
+        ajaxGetDictItems(this.dictCode, null).then((res) => {
+          if (res.success) {
+//                console.log(res.result);
+            this.typeOptions = res.result;
+          }
+        })
+      },
+      filterOption (value, option) {
+          return option.componentOptions.children[0].text.indexOf(value) >= 0
+      },
       addBefore(){
             this.model.data=[]
       },
@@ -348,6 +402,7 @@
             endamount: ''
           })
           this.count++
+          console.log(this.model.data)
         } 
         if (value == 2) {
           this.ratetype = value
@@ -394,6 +449,7 @@
             endamount: ''
           })
           this.count++
+          console.log(this.model.data)
         }
       },
       // 创建一条新数据
@@ -412,6 +468,7 @@
             endamount: ''
           })
           this.count++
+          console.log(this.model.data)
         }
       },
       remove(key) {
@@ -420,11 +477,12 @@
         this.model.data = newData
       },
       submitForm () {
+        console.log(1111)
         const that = this;
         // 触发表单验证
         this.$refs.form.validate(valid => {
           if (valid) {
-            console.log(1111)
+            console.log(22222)
             // that.confirmLoading = true;
             // let httpurl = '';
             // let method = '';

+ 23 - 6
src/views/module_ems/energyAnalyse/meterReadData/index.vue

@@ -3,7 +3,19 @@
     <!-- 查询区域 -->
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
-        <a-row :gutter="24"> </a-row>
+        <a-row :gutter="24">
+          <a-col :xl="7" :lg="11" :md="12" :sm="24">
+            <a-form-item label="统计时间">
+              <a-range-picker date-format="YYYY-MM-DD HH:mm:ss" :show-time="true" v-model="queryParam.date" @change="onChangeDate" style="width:100%;"/>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <span class="table-page-search-submitButtons table-operator">
+              <a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
+              <a-button type="primary" icon="reload" @click="searchReset">重置</a-button>
+            </span>
+          </a-col>
+        </a-row>
       </a-form>
     </div>
     <!-- 查询区域-END -->
@@ -22,7 +34,7 @@
         <a-button type="primary" icon="import">导入</a-button>
       </a-upload> -->
       <!-- 高级查询区域 -->
-      <j-super-query
+      <!-- <j-super-query
         :fieldList="superFieldList"
         ref="superQueryModal"
         @handleSuperQuery="handleSuperQuery"
@@ -32,7 +44,7 @@
           <a-menu-item key="1" @click="batchDel"><a-icon type="delete" />删除</a-menu-item>
         </a-menu>
         <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
-      </a-dropdown>
+      </a-dropdown> -->
     </div>
 
     <!-- table区域-begin -->
@@ -49,7 +61,7 @@
         size="middle"
         :scroll="{ x: true }"
         bordered
-        rowKey="id"
+        rowKey="equipmentcode"
         :columns="columns"
         :dataSource="dataSource"
         :loading="loading"
@@ -150,8 +162,8 @@ export default {
         },
       ],
       url: {
-        list: '/ems/emselectricity/liststa',
-        exportXlsUrl: '/ems/emselectricity/exportXls',
+        list: '/dataElectricity/dataElectricity/liststa',
+        exportXlsUrl: '/dataElectricity/dataElectricity/exportsta',
       },
       superFieldList: [],
       dataSource: [],
@@ -172,6 +184,11 @@ export default {
     },
   },
   methods: {
+    onChangeDate(date, dateString){
+      console.log(date, dateString);
+      this.queryParam.beginTime= dateString[0]
+      this.queryParam.endTime= dateString[1]
+    },
     // 后端好了需要删掉
     getTest() {
       this.dataSource = emsdata.meterreadData

+ 1 - 4
src/views/module_tpm/tag/modules/TagForm.vue

@@ -28,7 +28,7 @@
           </a-col> -->
           <a-col :span="12">
             <a-form-model-item label="点位类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tagtype">
-              <j-search-select-tag v-model="model.tagtype" placeholder="请选择点位类型" dict="tpm_tag_type" getPopupContainer="getModalAsContainer"/>
+              <j-search-select-tag v-model="model.tagtype" placeholder="请选择点位类型" dict="tpm_tag_type" />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
@@ -147,9 +147,6 @@
       this.getPointOptions()
     },
     methods: {
-      getModalAsContainer(node){
-        return document.querySelector('.j-modal-box .ant-modal-content')
-      },
       add () {
         this.edit(this.modelDefault);
       },

+ 72 - 1
src/views/module_tpm/tag/modulesPL/TagFormPL1.vue

@@ -69,17 +69,38 @@
                                 </template> -->
                                 <template slot="tagtype" slot-scope="text, record,index">
                                     <a-form-model-item :prop="'data.'+index+'.tagtype'" :rules="validatorRules.tagtype" style="margin-bottom: 0px;">
-                                        <j-search-select-tag v-model="record.tagtype" placeholder="请选择点位类型" dict="tpm_tag_type"/>
+                                        <!-- <j-search-select-tag v-model="record.tagtype" placeholder="请选择点位类型" dict="tpm_tag_type"/> -->
+                                        <a-select
+                                        v-model="record.tagtype"
+                                        showSearch
+                                        :filterOption="filterOption"
+                                        placeholder="请选择点位类型"
+                                        :options="tagTypeOptions">
+                                        </a-select>
                                     </a-form-model-item>
                                 </template>
                                 <template slot="energytypeid" slot-scope="text, record,index">
                                     <a-form-model-item :prop="'data.'+index+'.energytypeid'" :rules="validatorRules.energytypeid" style="margin-bottom: 0px;">
                                         <j-search-select-tag v-model="record.energytypeid" placeholder="请选择能源分类" dict="base_energy_type,name,id"/>
+                                        <!-- <a-select
+                                        v-model="record.energytypeid"
+                                        showSearch
+                                        :filterOption="filterOption"
+                                        placeholder="请选择能源分类"
+                                        :options="energyTypeOptions">
+                                        </a-select> -->
                                     </a-form-model-item>
                                 </template>
                                 <template slot="energyitemid" slot-scope="text, record,index">
                                     <a-form-model-item :prop="'data.'+index+'.energyitemid'" :rules="validatorRules.energyitemid" style="margin-bottom: 0px;">
                                         <j-search-select-tag v-model="record.energyitemid" placeholder="请选择能源分项" dict="base_energy_item,energyitemname,id"/>
+                                        <!-- <a-select
+                                        v-model="record.energyitemid"
+                                        showSearch
+                                        :filterOption="filterOption"
+                                        placeholder="请选择能源分项"
+                                        :options="energyItemOptions">
+                                        </a-select> -->
                                     </a-form-model-item>
                                 </template>
                                 <template slot="max" slot-scope="text, record,index">
@@ -125,6 +146,7 @@
 
 <script>
 import { httpAction, getAction } from '@/api/manage'
+import {ajaxGetDictItems,getDictItemsFromCache} from '@/api/api'
 
 export default {
     name: 'TagFormPL1',
@@ -273,13 +295,62 @@ export default {
                     { required: true, message: '请选择设备!'},
                 ],
             },
+            dictCode: 'tpm_tag_type',
+            dictCode2: 'base_energy_type',
+            dictCode3: 'base_energy_item',
+            tagTypeOptions: [],
+            energyTypeOptions: [],
+            energyItemOptions: []
         }
     },
     created () {
       // 获取点位数据
       this.getPointOptions()
+      this.initDictData()
     },
     methods: {
+        initDictData() {
+            //优先从缓存中读取字典配置
+            if(getDictItemsFromCache(this.dictCode)){
+            this.tagTypeOptions = getDictItemsFromCache(this.dictCode);
+            return
+            }
+
+            //根据字典Code, 初始化字典数组
+            ajaxGetDictItems(this.dictCode, null).then((res) => {
+            if (res.success) {
+                console.log(111,res)
+                this.tagTypeOptions = res.result;
+            }
+            })
+        },
+        // // a-select可搜索
+        // handleInput(e='') {
+        //     console.log(111,e,this.tagTypeOptions)
+        //     var resultArr = [];
+ 
+        //     // 遍历数组中的每个对象
+        //     for (let i = 0; i < this.tagTypeOptions.length; i++) {
+        //         // 判断当前对象的name属性是否包含指定的关键字
+        //         if (this.tagTypeOptions[i].label.includes(e)) {
+        //             // 如果包含则将该对象添加到结果数组中
+        //             resultArr.push(this.tagTypeOptions[i]);
+        //         }
+        //     }
+        //     console.log(999,resultArr);
+        //     this.tagTypeOptions = resultArr
+        //     return this.tagTypeOptions
+        // },
+        filterOption (value, option) {
+            return option.componentOptions.children[0].text.indexOf(value) >= 0
+        },
+        setCurrentDictOptions(tagTypeOptions){
+            this.tagTypeOptions = tagTypeOptions
+        },
+        getCurrentDictOptions(){
+            return this.tagTypeOptions
+        },
+        // 获取点位数据
         getPointOptions() {
             getAction(this.url.getPoint, this.queryParam).then((res) => {
                 this.dataPoint = res.result.map(item => {