Browse Source

Merge branch 'dev' of http://39.106.8.246:3003/web/ibms into dev

shaun-sheep 5 years ago
parent
commit
465f6e74d5

+ 2 - 1
package.json

@@ -20,9 +20,10 @@
   },
   "dependencies": {
     "@saga-web/base": "2.1.9",
-    "@saga-web/cad-engine": "2.0.541",
+    "@saga-web/cad-engine": "2.0.547",
     "@saga-web/draw": "2.1.75",
     "@saga-web/graphy": "2.1.42",
+    "@saga-web/topology": "1.0.1",
     "axios": "^0.18.0",
     "echarts": "^4.1.0",
     "el-cascader-multi": "^1.1.8",

+ 2 - 2
src/components/business_space/newAddDialogs/addEquipDialog.vue

@@ -166,13 +166,13 @@ export default {
       if (this.showType) {
         if (this.type == "Equipment") {
           // pa.data.Cascade.push({ Name: "zoneSpaceInBase" })
-          delete pa.data.Cascade;
+          pa.data.Cascade = [{ Name: "equipCategory" }];
           getEqNotInSpace(pa, res => {
             this.getDataSuc(res, 'ZoneSpaceBaseIn')
           })
         } else {
           // pa.data.Cascade.push({ Name: "zoneSpaceForBase" })
-          delete pa.data.Cascade;
+          pa.data.Cascade = [{ Name: "equipCategory" }];
           getEqNotForSpace(pa, res => {
             this.getDataSuc(res, 'ZoneSpaceBaseFor')
           })

+ 1 - 1
src/components/business_space/newGraphy/graphy.vue

@@ -464,7 +464,7 @@ export default {
         this.$message.warning('请至少选择一个空间');
         return;
       }
-      this.$refs.unRelateBSP.showDialog();
+      this.$refs.unRelateBSP.showDialog(this.buildFloor);
     },
     // 取消(所有取消公用)
     cancelGraphy() {

+ 4 - 1
src/components/business_space/newGraphy/unRelateBSP.vue

@@ -81,7 +81,10 @@ export default {
   },
   methods: {
     // 显示弹窗
-    showDialog() {
+    showDialog(buildFloor) {
+      if (buildFloor) {
+        this.floor = buildFloor;
+      }
       this.dialogVisible = true;
       this.getTableData();
     },

+ 4 - 3
src/components/data_admin/zoneInput.vue

@@ -12,8 +12,8 @@
             <el-option v-for="(soption,skey) in item.options" :key="skey" :label="soption.Name" :value="soption.Code">
             </el-option>
           </el-select>
-          <el-cascader v-model="item.inputValue" v-else-if="item.InputMode == 'D1L'" placeholder="请选择"
-            :props="item.props" :options="item.options" filterable :show-all-levels="false"></el-cascader>
+          <el-cascader v-model="item.inputValue" v-else-if="item.InputMode == 'D1L'" placeholder="请在台账中维护该类型信息点"
+            :props="item.props" :options="item.options" filterable clearable disabled :show-all-levels="false"></el-cascader>
           <el-input v-model="item.inputValue" v-else></el-input>
         </el-form-item>
       </div>
@@ -75,7 +75,8 @@ export default {
             item.props = {
               value: 'Code',
               label: 'Name',
-              children: 'Content'
+              children: 'Content',
+              checkStrictly: true
             }
           }
           item.options = options;

+ 4 - 1
src/components/globaluploader/index.vue

@@ -304,7 +304,10 @@ export default {
       // })
 
       // file.uniqueIdentifier = this.params.uploadId;
-      file.resume();
+
+      // file.resume();//继续上传文件
+      // 调用依赖中继续上传的方法达到状态刷新的目的(原生点击继续上传按钮)
+      document.querySelector(`.file_${file.id} .uploader-file-resume`).click();
       this.statusRemove(file.id);
     },
 

+ 3 - 3
src/components/ledger/details/detail/exhibitionBaseInformation.vue

@@ -59,7 +59,7 @@
         <el-button slot="reference" type="text">{{value.Value ? '有' :'-'}}</el-button>
       </el-popover>
       <el-popover
-        v-else-if="value.Value && value.Value.length  && `${value.InfoPointName}:${value.Value}`.length>22 "
+        v-else-if="value.Value && value.Value.length  && `${value.InfoPointName}:${value.Value}`.length>21 "
         placement="right"
         width="160"
         trigger="hover">
@@ -98,7 +98,7 @@
       },
       handleName(infoPoint, val) {
         let text = `${infoPoint}:${val}`;
-        return text.length > 22 ? val.substring(0, 22-`${infoPoint}:`.length) + '...' : val;
+        return text.length > 21 ? val.substring(0, 21-`${infoPoint}:`.length) + '...' : val;
       }
     }
   }
@@ -129,7 +129,7 @@
     }
 
     .infoPoint-item {
-      width: 335px;
+      width: 315px;
       display: inline-block;
       margin-left: 20px;
       vertical-align: text-top;

+ 3 - 3
src/components/ledger/details/detail/exhibitionCrux.vue

@@ -57,7 +57,7 @@
           <el-button slot="reference" type="text">{{item.value ? '有' :'-'}}</el-button>
         </el-popover>
         <el-popover
-          v-else-if="item.value && item.value.length && `${item.InfoPointName}:${item.value}`.length>22"
+          v-else-if="item.value && item.value.length && `${item.InfoPointName}:${item.value}`.length>21"
           placement="top"
           width="160"
           trigger="hover">
@@ -116,7 +116,7 @@
       },
       handleName(infoPoint, val) {
         let text = `${infoPoint}:${val}`;
-        return text.length > 22 ? val.substring(0, 22-`${infoPoint}:`.length) + '...' : val;
+        return text.length > 21 ? val.substring(0, 21-`${infoPoint}:`.length) + '...' : val;
       }
     }
   }
@@ -144,7 +144,7 @@
     }
       .crux-list {
         display: inline-block;
-        width: 335px;
+        width: 315px;
         margin-left: 20px;
         vertical-align: text-top;
       }

+ 9 - 7
src/components/ledger/rentList/roomCountDrawer.vue

@@ -109,13 +109,15 @@ export default {
         this.option.GeneralZone = res.Content.map(build => {
           build.value = build.BuildID;
           build.label = build.BuildLocalName;
-          build.Floor = build.Floor.map(floor => {
-            floor.value = floor.FloorID;
-            floor.label = floor.FloorLocalName;
-            floor.Floor = [];
-            return floor;
-          });
-          build.Floor.unshift({ value: 'noknowFloor', label: '未明确楼层', Floor: [] })
+          if (build.Floor) {
+            build.Floor = build.Floor.map(floor => {
+              floor.value = floor.FloorID;
+              floor.label = floor.FloorLocalName;
+              floor.Floor = [];
+              return floor;
+            });
+            build.Floor.unshift({ value: 'noknowFloor', label: '未明确楼层', Floor: [] })
+          }
           return build;
         })
         this.option.GeneralZone.unshift({ value: 'noknowBuild', label: '未明确建筑', Floor: [] });

+ 5 - 4
src/components/model/file/floorTable.vue

@@ -10,14 +10,14 @@
           <span style="margin-left: 10px">{{ scope.row.FloorName }}</span>
         </template>
       </el-table-column>
-      <el-table-column prop="Note" label="备注" width="180"></el-table-column>
+      <el-table-column prop="Note" label="备注" width="240"></el-table-column>
       <el-table-column label="版本号">
         <template slot-scope="scope">
           <span style="margin-right: 5px">{{ scope.row.Version }}</span>
-          <i v-show="scope.row.Version && scope.row.Status == 4" class="iconfont icon-warn" style="cursor:pointer;" title="查看版本更新信息" @click="handleClickVersion(scope.row)"></i>
+          <i v-show="scope.row.Version && scope.row.Status == 4" class="iconfont icon-warn" style="cursor:pointer;position:relative;top:1px;" title="查看版本更新信息" @click="handleClickVersion(scope.row)"></i>
         </template>
       </el-table-column>
-      <el-table-column prop="AcceptTime" label="上传时间" width="140"></el-table-column>
+      <el-table-column prop="AcceptTime" label="上传时间" width="200"></el-table-column>
       <el-table-column prop="UserName" label="上传人"></el-table-column>
       <el-table-column prop="address" align="center" label="操作" width="240">
         <template slot-scope="scope">
@@ -167,7 +167,8 @@ export default {
 .box-card {
   height: 100%;
   .filterTable-container {
-    height: calc(100% - 80px);
+    height: calc(100% - 54px);
+    margin-bottom: 8px;
   }
   .operate {
     .iconfont {

+ 9 - 6
src/components/model/file/replaceModelDialog.vue

@@ -6,10 +6,10 @@
     <el-dialog
       title="替换模型"
       :visible.sync="repliceModelVisible"
-      width="30%"
+      width="650px"
       :before-close="handleClose"
     >
-      <el-form ref="form" :model="form" label-width="100px">
+      <el-form ref="form" :model="form" label-width="170px">
         <el-form-item label="模型文件:">
           <el-upload
             class="upload-demo"
@@ -41,11 +41,11 @@
             <el-date-picker v-model="form.finishTime" type="date" placeholder="选择日期"></el-date-picker>
           </div>
         </el-form-item>
-        <el-form-item>
-          <el-button type="primary" @click="onSubmit">确认</el-button>
-          <el-button @click="handleClose">取消</el-button>
-        </el-form-item>
       </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="onSubmit">确认</el-button>
+        <el-button @click="handleClose">取消</el-button>
+      </span>
     </el-dialog>
   </div>
 </template>
@@ -121,5 +121,8 @@ export default {
     display: flex;
     justify-content: left;
   }
+  .dialog-footer {
+    text-align: right;
+  }
 }
 </style>

+ 7 - 3
src/components/point/report/tabFunNumOverview.vue

@@ -11,7 +11,8 @@
     </div>
     <!-- 数据表格 -->
     <div class="table-area">
-      <el-table :data="tableData" style="width: 100%" height="calc(100% - 32px)" v-loading="loading" :header-cell-style="headerStyle" @row-click="handleClickRow">
+      <el-table :data="tableData" style="width: 100%" height="calc(100% - 32px)" v-loading="loading" :header-cell-style="headerStyle"
+        @row-click="handleClickRow">
         <el-table-column prop='' label='' show-overflow-tooltip width="35" header-align='center'>
           <template slot-scope="scope">
             <el-tooltip v-if="scope.row.DataQuality!=0" content="已断数,请检查" effect="dark" placement="top">
@@ -132,8 +133,8 @@ export default {
         this.drawers[index].drawer = true;
       }
     },
-    handleClickRow(row,column,event){//点击表格行
-      lStorage.set('screen_data', {path: this.$route.path, data: {MeterFunc: row.MeterFunc, RelatedInstance: row.RelatedInstance}})
+    handleClickRow(row, column, event) {//点击表格行
+      lStorage.set('screen_data', { path: this.$route.path, data: { MeterFunc: row.MeterFunc, RelatedInstance: row.RelatedInstance } })
     },
     //获取统计数据
     getOverViewList() {
@@ -248,4 +249,7 @@ export default {
 /deep/ .el-dialog__body {
   padding-bottom: 20px;
 }
+/deep/ .el-drawer__header>:first-child:focus{
+  outline: none;
+}
 </style>

+ 73 - 75
src/components/ready/buildfloor/addBuild.vue

@@ -20,97 +20,95 @@
           :key="item.InfoPointCode"
           v-for="item in val"
           :class="[{'upload-file':item.InputMode == 'F2' ||  item.Path === 'BuildingInfo.BuildingType.Pic'}]"
-          style="width: 50%;display: inline-block"
+          style="width: 50%;display: inline-block">
 
-        >
           <el-form-item
             :class="{FloorTypeSelect:item.InputMode == 'D1'||item.Unit}"
             :label="item.InfoPointName"
             :prop="item.InfoPointCode"
-            v-if="all||item.Visible"
-
-          >
+            v-if="all||item.Visible">
 
             <el-input
-              v-model="form[item.Path]"
               v-if="item.InputMode == 'B1' || item.InputMode == 'B2'"
-            />
-
+              v-model="form[item.Path]"/>
 
-            <el-input type="number" v-else-if="item.InputMode == 'A1'||item.InputMode == 'A2'"
-                      v-model="form[item.Path]">
+            <el-input 
+              v-else-if="item.InputMode == 'A1'||item.InputMode == 'A2'"
+              type="number"
+              v-model="form[item.Path]">
               <template slot="append" v-if="item.Unit">{{item.Unit}}</template>
             </el-input>
+
             <el-select
-            placeholder="请选择"
-            v-else-if="item.InputMode == 'D1' || item.InputMode == 'E2'"
-            v-model="form[item.Path]"
-          >
-            <el-option :key="op.Name" :label="op.Name" :value="op.Code" v-for="op in item.options"></el-option>
-          </el-select>
-        <el-select
-          placeholder="请选择"
-          v-else-if="item.InputMode == 'D2'"
-          v-model="form[item.Path]"
-          multiple
-          collapse-tags
-        >
+              v-else-if="item.InputMode == 'D1' || item.InputMode == 'E2'"
+              placeholder="请选择"
+              v-model="form[item.Path]">
+              <el-option :key="op.Name" :label="op.Name" :value="op.Code" v-for="op in item.options"></el-option>
+            </el-select>
 
-            <el-option :key="op.Name" :label="op.Name" :value="op.Code" v-for="op in item.options"></el-option>
-          </el-select>
-           <el-date-picker
-             v-model="form[item.Path]"
-             type="daterange"
-             v-else-if="item.InputMode == 'C6'"
-             value-format="yyyy-MM-dd"
-             range-separator="至"
-             start-placeholder="开始日期"
-             end-placeholder="结束日期"
-           />
-             <el-cascader
-               v-else-if="item.InputMode == 'D1L'"
-               placeholder="请选择"
-               :options="item.options"
-               v-model="form[item.Path]"
-               :props="item.props"
-               filterable
-               :show-all-levels="false"
-               clearable
-               style="width: 200px"
-             />
-          <el-input
-            v-else-if="item.InputMode == 'L'||item.InputMode == 'L1'||item.InputMode == 'L2'||item.InputMode == 'M'"
-            v-model="form[item.Path]">
-            <template slot="append" v-if="item.Unit">{{item.Unit}}</template>
-          </el-input>
-          <el-date-picker
-            placeholder="选择日期"
-            value-format="yyyy-MM-dd"
-            type="date" v-else-if="item.InputMode == 'C5'" v-model="form[item.Path]">
-          </el-date-picker>
+            <el-select
+              v-else-if="item.InputMode == 'D2'"
+              placeholder="请选择"
+              v-model="form[item.Path]"
+              multiple
+              collapse-tags>
+              <el-option :key="op.Name" :label="op.Name" :value="op.Code" v-for="op in item.options"></el-option>
+            </el-select>
 
-          <uploadImgs
-            :readOnly="false"
-            v-else-if="item.InputMode == 'F2'&& item.Path === 'BuildingInfo.BuildingType.Pic'"
-            v-model="form[item.Path]"
-            :keysArr="Array.isArray(buildData[item.Path]) ? buildData[item.Path]:[]"
-            :context-key="item.Path"
-            :isShow="1"
-            @change="changeItem"
-          />
+            <el-date-picker
+              v-else-if="item.InputMode == 'C6'"
+              v-model="form[item.Path]"
+              type="daterange"
+              value-format="yyyy-MM-dd"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"/>
 
-             <upload-files
-               v-model="form[item.Path]"
-               v-else-if="item.InputMode == 'F2'"
-               :readOnly="false"
-               :isShow="1"
-               :keys-arr="Array.isArray(buildData[item.Path]) ? buildData[item.Path]:[] "
-               :show-file-list="false"
-               :context-key="item.Path"
-               @change="changeItem"
-             />
-            <el-input disabled title="暂不支持" v-else v-model="form[item.Path]"/>
+            <el-cascader
+              v-else-if="item.InputMode == 'D1L'"
+              placeholder="请选择"
+              :options="item.options"
+              v-model="form[item.Path]"
+              :props="item.props"
+              filterable
+              :show-all-levels="false"
+              clearable
+              style="width: 200px"/>
 
+            <el-input
+              v-else-if="item.InputMode == 'L'||item.InputMode == 'L1'||item.InputMode == 'L2'||item.InputMode == 'M'"
+              v-model="form[item.Path]">
+              <template slot="append" v-if="item.Unit">{{item.Unit}}</template>
+            </el-input>
+
+            <el-date-picker
+              v-else-if="item.InputMode == 'C5'" v-model="form[item.Path]"
+              placeholder="选择日期"
+              value-format="yyyy-MM-dd"
+              type="date">
+            </el-date-picker>
+
+            <uploadImgs
+              v-else-if="item.InputMode == 'F2'&& item.Path === 'BuildingInfo.BuildingType.Pic'"
+              :readOnly="false"
+              v-model="form[item.Path]"
+              :keysArr="Array.isArray(buildData[item.Path]) ? buildData[item.Path]:[]"
+              :context-key="item.Path"
+              :isShow="1"
+              @change="changeItem"/>
+
+            <upload-files
+              v-else-if="item.InputMode == 'F2'"
+              v-model="form[item.Path]"
+              :readOnly="false"
+              :isShow="1"
+              :keys-arr="Array.isArray(buildData[item.Path]) ? buildData[item.Path]:[] "
+              :show-file-list="false"
+              :context-key="item.Path"
+              @change="changeItem"/>
+
+            <el-input disabled title="暂不支持" v-else v-model="form[item.Path]"/>
+            
           </el-form-item>
         </div>
       </template>

+ 55 - 53
src/components/ready/buildfloor/formItems.vue

@@ -6,78 +6,72 @@
           :label="item.InfoPointName"
           :prop="item.InfoPointCode"
           v-if="all||item.Visible"
-          :class="{FloorTypeSelect:item.InputMode == 'D1'||item.Unit}"
-        >
+          :class="{FloorTypeSelect:item.InputMode == 'D1'||item.Unit}">
+
           <!--BIM模型中坐标-->
           <el-input
             v-model="form[item.Path]"
             v-if="item.InfoPointCode == 'BIMLocation'"
-            disabled
-          />
+            disabled/>
+
           <!--二维码相关-->
           <span v-else-if="item.InfoPointCode == 'DefaultQRCode' ">
-          <el-input
-            v-model="form[item.Path]"
-            v-if="!form[item.Path]"
-            disabled
-          />
-              <el-popover
-                v-else
-                placement="right"
-                width="210"
-                trigger="click">
-        <div style="overflow:hidden;">
-            <img
-              style="width:200px;height:200px;"
-              :src="'/image-service/common/file_get/'+ form[item.Path] +'?systemId=dataPlatform'"
-              alt="二维码"
-            >
-          </div>
-        <el-button slot="reference" type="text">点击查看</el-button>
-      </el-popover>
+            <el-input v-if="!form[item.Path]" v-model="form[item.Path]" disabled/>
+            <el-popover v-else placement="right" width="210" trigger="click">
+              <div style="overflow:hidden;">
+                <img
+                  style="width:200px;height:200px;"
+                  :src="'/image-service/common/file_get/'+ form[item.Path] +'?systemId=dataPlatform'"
+                  alt="二维码">
+              </div>
+              <el-button slot="reference" type="text">点击查看</el-button>
+            </el-popover>
           </span>
+
           <span v-else-if="item.InfoPointCode == 'QRCodePic' ">
-          <el-input
-            v-model="form[item.Path]"
-            v-if="!form[item.Path]"
-            disabled
-          />
-              <el-popover
-                v-else
-                placement="right"
-                width="210"
-                trigger="click">
-        <div style="overflow:hidden;">
-            <img
-              style="width:200px;height:200px;"
-              :src="'/image-service/common/file_get/'+ form[item.Path] +'?systemId=dataPlatform'"
-              alt="二维码"
-            >
-          </div>
-        <el-button slot="reference" type="text">点击查看</el-button>
-      </el-popover>
+            <el-input v-if="!form[item.Path]" v-model="form[item.Path]" disabled/>
+            <el-popover v-else placement="right" width="210" trigger="click">
+              <div style="overflow:hidden;">
+                <img
+                  style="width:200px;height:200px;"
+                  :src="'/image-service/common/file_get/'+ form[item.Path] +'?systemId=dataPlatform'"
+                  alt="二维码">
+              </div>
+              <el-button slot="reference" type="text">点击查看</el-button>
+            </el-popover>
           </span>
 
           <!--/二维码相关-->
           <span v-else-if="item.InputMode == 'B1'">
-            <el-input
-              v-model="form[item.Path]"
-              :placeholder="(item.InputMode === 'B1' && item.Path==='FloorLocalID') ? '填写示例:F1、B1?':'' "/>
-              <div
-                v-if="item.InputMode === 'B1' && item.Path==='FloorLocalID' && isShowTitle"
-                style="color: gray;font-size: 12px"
-              >用于楼层平面图切换</div>
+            <el-input v-model="form[item.Path]" :placeholder="(item.InputMode === 'B1' && item.Path==='FloorLocalID') ? '填写示例:F1、B1?':'' "/>
+              <div v-if="item.InputMode === 'B1' && item.Path==='FloorLocalID' && isShowTitle" style="color: gray;font-size: 12px" >
+                用于楼层平面图切换
+              </div>
           </span>
+
           <el-input v-model="form[item.Path]" v-else-if="item.InputMode == 'A1'||item.InputMode == 'A2'" type="number">
             <template slot="append" v-if="item.Unit">{{item.Unit}}</template>
           </el-input>
+
           <el-select v-model="form[item.Path]" placeholder="请选择" v-else-if="item.InputMode == 'D1'">
             <el-option v-for="op in item.options" :key="op.Code" :label="op.Name" :value="op.Code"></el-option>
           </el-select>
-          <el-input v-model="form[item.Path]"
-                    v-else-if="item.InputMode == 'L'||item.InputMode == 'L1'||item.InputMode == 'L2'||item.InputMode == 'M'">
+
+          <el-cascader
+              v-else-if="item.InputMode == 'D1L'"
+              placeholder="请选择"
+              :options="item.options"
+              v-model="form[item.Path]"
+              :props="item.props"
+              filterable
+              :show-all-levels="false"
+              clearable
+              style="width: 200px"/>
+
+          <el-input v-else-if="item.InputMode == 'L'||item.InputMode == 'L1'||item.InputMode == 'L2'||item.InputMode == 'M'" v-model="form[item.Path]">
             <template slot="append" v-if="item.Unit">{{item.Unit}}</template>
           </el-input>
+
           <el-input v-model="form[item.Path]" v-else disabled title="暂不支持"></el-input>
 <!--                    <div>{{item.InfoPointCode}}</div>-->
         </el-form-item>
@@ -141,8 +135,16 @@
         };
         getDataDictionary(params, res => {
           let arr = res.Content.map(item => {
-            if (item.InputMode === 'D1') {
-              item.options = item.DataSource && JSON.parse(item.DataSource)
+            if ((item.InputMode === 'D1' || item.InputMode === 'D2' || item.InputMode === 'E2' || item.InputMode === 'D1L') && item.DataSource) {
+              item.options = JSON.parse(item.DataSource)
+              if (item.options[0] && item.options[0].Content) {
+                item.props = {
+                  value: 'Code',
+                  label: 'Name',
+                  children: 'Content',
+                  checkStrictly: true
+                }
+              }
             }
             switch (item.InfoPointCode) { //过滤掉待删除的
               case 'FloorIdentity':

+ 6 - 25
src/views/ledger/facility/details/index.vue

@@ -19,18 +19,10 @@
             </div>
             <div class="content-point">
               <div class="content-point-left">
-                <!-- <el-scrollbar style="height:100%;"> -->
-                  <!-- <div> -->
-                    <exhibitionBaseInformation :exhibitionBaseInformation="exhibitionBaseInformation"/>
-                  <!-- </div> -->
-                <!-- </el-scrollbar> -->
+                <exhibitionBaseInformation :exhibitionBaseInformation="exhibitionBaseInformation"/>
               </div>
               <div class="content-point-right">
-                <!-- <el-scrollbar style="height:100%;"> -->
-                  <!-- <div> -->
-                    <exhibitionEnergy :exhibitionEnergy="exhibitionEnergy"/>
-                  <!-- </div> -->
-                <!-- </el-scrollbar> -->
+                <exhibitionEnergy :exhibitionEnergy="exhibitionEnergy"/>
               </div>
             </div>
           </div>
@@ -39,13 +31,9 @@
               <exhibitionMaintain :exhibitionMaintain="exhibitionMaintain"/>
             </div>
             <div class="content-media">
-              <!-- <el-scrollbar style="height:100%;"> -->
-                <!-- <div> -->
-                  <exhibitionImage :exhibitionImage="exhibitionImage" v-show="isShowImage"/>
-                  <exhibitionVideo :exhibitionVideo="exhibitionVideo" v-show="isShowVideo"/>
-                  <exhibitionFile :exhibitionFile="exhibitionFile" v-show="isShowFile"/>
-                <!-- </div> -->
-              <!-- </el-scrollbar> -->
+              <exhibitionImage :exhibitionImage="exhibitionImage" v-show="isShowImage"/>
+              <exhibitionVideo :exhibitionVideo="exhibitionVideo" v-show="isShowVideo"/>
+              <exhibitionFile :exhibitionFile="exhibitionFile" v-show="isShowFile"/>
             </div>
           </div>
         </div>
@@ -575,9 +563,8 @@
           .content-keyPoint {
             border: 1px solid #ccc;
             box-sizing: border-box;
-            // height: 100px;
             margin-bottom: 10px;
-            overflow: hidden;
+            // overflow: hidden;
             background: @bgc;
           }
           .content-showType {
@@ -590,7 +577,6 @@
           .content-point {
             display: flex;
             flex-direction: row;
-            // height: calc(100% - 160px);
             border: 1px solid #ccc;
             box-sizing: border-box;
             background: @bgc;
@@ -618,9 +604,6 @@
             box-sizing: border-box;
           }
           .content-media {
-            // height: calc(100% - 60px);
-            // background: @bgc;
-            // border: 1px solid #ccc;
             box-sizing: border-box;
           }
         }
@@ -631,12 +614,10 @@
       position: fixed;
       bottom: 0;
       left: 235px;
-      // margin-top: 5px;
       width: calc(100% - 235px);
       height: 45px;
       background-color: #fff;
       box-sizing: border-box;
-      // border: 1px solid #ccc;
     }
   }
 

+ 5 - 20
src/views/ledger/property/details/index.vue

@@ -19,23 +19,15 @@
             </div>
             <div class="content-point">
               <div class="content-point-left">
-                <!-- <el-scrollbar style="height:100%;"> -->
-                  <!-- <div> -->
-                    <exhibitionBaseInformation :exhibitionBaseInformation="exhibitionBaseInformation"/>
-                  <!-- </div> -->
-                <!-- </el-scrollbar> -->
+                <exhibitionBaseInformation :exhibitionBaseInformation="exhibitionBaseInformation"/>
               </div>
             </div>
           </div>
           <div class="content-right">
             <div class="content-media">
-              <!-- <el-scrollbar style="height:100%;"> -->
-                <!-- <div> -->
-                  <exhibitionImage :exhibitionImage="exhibitionImage" v-show="isShowImage"/>
-                  <exhibitionVideo :exhibitionVideo="exhibitionVideo" v-show="isShowVideo"/>
-                  <exhibitionFile :exhibitionFile="exhibitionFile" v-show="isShowFile"/>
-                <!-- </div> -->
-              <!-- </el-scrollbar> -->
+              <exhibitionImage :exhibitionImage="exhibitionImage" v-show="isShowImage"/>
+              <exhibitionVideo :exhibitionVideo="exhibitionVideo" v-show="isShowVideo"/>
+              <exhibitionFile :exhibitionFile="exhibitionFile" v-show="isShowFile"/>
             </div>
           </div>
         </div>
@@ -500,9 +492,8 @@
           .content-keyPoint {
             border: 1px solid #ccc;
             box-sizing: border-box;
-            // height: 100px;
             margin-bottom: 10px;
-            overflow: hidden;
+            // overflow: hidden;
             background: @bgc;
           }
           .content-showType {
@@ -515,7 +506,6 @@
           .content-point {
             display: flex;
             flex-direction: row;
-            // height: calc(100% - 160px);
             border: 1px solid #ccc;
             box-sizing: border-box;
             background: @bgc;
@@ -529,9 +519,6 @@
           margin-left: 10px;
           box-sizing: border-box;
           .content-media {
-            // height: 100%;
-            // background: @bgc;
-            // border: 1px solid #ccc;
             box-sizing: border-box;
           }
         }
@@ -542,12 +529,10 @@
       position: fixed;
       bottom: 0;
       left: 235px;
-      // margin-top: 5px;
       width: calc(100% - 235px);
       height: 45px;
       background-color: #fff;
       box-sizing: border-box;
-      // border: 1px solid #ccc;
     }
   }
 

+ 5 - 20
src/views/ledger/spacelist/spaceDetail/index.vue

@@ -30,18 +30,10 @@
               </div>
               <div class="content-point">
                 <div class="content-point-left">
-                  <!-- <el-scrollbar style="height:100%;"> -->
-                    <!-- <div > -->
-                      <exhibitionBaseInformation :exhibitionBaseInformation="exhibitionBaseInformation"/>
-                    <!-- </div> -->
-                  <!-- </el-scrollbar> -->
+                  <exhibitionBaseInformation :exhibitionBaseInformation="exhibitionBaseInformation"/>
                 </div>
                 <div class="content-point-right">
-                  <!-- <el-scrollbar style="height:100%;"> -->
-                    <!-- <div> -->
-                      <exhibitionEnergy :exhibitionEnergy="exhibitionEnergy" />
-                    <!-- </div> -->
-                  <!-- </el-scrollbar> -->
+                  <exhibitionEnergy :exhibitionEnergy="exhibitionEnergy" />
                 </div>
               </div>
             </div>
@@ -50,13 +42,9 @@
                 <exhibitionMaintain :exhibitionMaintain="exhibitionMaintain"/>
               </div>
               <div class="content-media">
-                <!-- <el-scrollbar style="height:100%;"> -->
-                  <!-- <div > -->
-                    <exhibitionImage :exhibitionImage="exhibitionImage" v-show="isShowImage"/>
-                    <exhibitionVideo :exhibitionVideo="exhibitionVideo" v-show="isShowVideo"/>
-                    <exhibitionFile :exhibitionFile="exhibitionFile" v-show="isShowFile"/>
-                  <!-- </div> -->
-                <!-- </el-scrollbar> -->
+                <exhibitionImage :exhibitionImage="exhibitionImage" v-show="isShowImage"/>
+                <exhibitionVideo :exhibitionVideo="exhibitionVideo" v-show="isShowVideo"/>
+                <exhibitionFile :exhibitionFile="exhibitionFile" v-show="isShowFile"/>
               </div>
             </div>
           </div>
@@ -594,7 +582,6 @@
           .content-point {
             display: flex;
             flex-direction: row;
-            // height: calc(100% - 50px);
             border: 1px solid #ccc;
             box-sizing: border-box;
             background: @bgc;
@@ -620,8 +607,6 @@
             box-sizing: border-box;
           }
           .content-media {
-            // height: calc(100% - 60px);
-            // border: 1px solid #ccc;
             box-sizing: border-box;
           }
         }

+ 4 - 15
src/views/ledger/system/systemDetail/index.vue

@@ -29,11 +29,7 @@
               </div>
               <div class="content-point">
                 <div class="content-point-left">
-                  <!-- <el-scrollbar style="height:100%;"> -->
-                    <!-- <div> -->
-                      <exhibitionBaseInformation :exhibitionBaseInformation="exhibitionBaseInformation"/>
-                    <!-- </div> -->
-                  <!-- </el-scrollbar> -->
+                  <exhibitionBaseInformation :exhibitionBaseInformation="exhibitionBaseInformation"/>
                 </div>
               </div>
             </div>
@@ -42,13 +38,9 @@
                 <exhibitionMaintain :exhibitionMaintain="exhibitionMaintain"/>
               </div>
               <div class="content-media">
-                <!-- <el-scrollbar style="height:100%;"> -->
-                  <!-- <div> -->
-                    <exhibitionImage :exhibitionImage="exhibitionImage" v-show="isShowImage"/>
-                    <exhibitionVideo :exhibitionVideo="exhibitionVideo" v-show="isShowVideo"/>
-                    <exhibitionFile :exhibitionFile="exhibitionFile" v-show="isShowFile"/>
-                  <!-- </div> -->
-                <!-- </el-scrollbar> -->
+                <exhibitionImage :exhibitionImage="exhibitionImage" v-show="isShowImage"/>
+                <exhibitionVideo :exhibitionVideo="exhibitionVideo" v-show="isShowVideo"/>
+                <exhibitionFile :exhibitionFile="exhibitionFile" v-show="isShowFile"/>
               </div>
             </div>
           </div>
@@ -556,7 +548,6 @@
           .content-point {
             display: flex;
             flex-direction: row;
-            // height: calc(100% - 50px);
             border: 1px solid #ccc;
             box-sizing: border-box;
             background: @bgc;
@@ -578,8 +569,6 @@
             box-sizing: border-box;
           }
           .content-media {
-            // height: calc(100% - 60px);
-            // border: 1px solid #ccc;
             box-sizing: border-box;
           }
         }

+ 16 - 27
src/views/model/file/index.vue

@@ -7,15 +7,13 @@
           <div class="top_hand left_top_hand">
             <div class="folder-box">
               <el-tooltip class="item" effect="dark" content="新建文件夹" placement="top-start">
-                <el-button icon="el-icon-folder-add" @click="addFolder" class="icon_font"></el-button>
+                <el-button icon="el-icon-plus" size="small" @click="addFolder"></el-button>
               </el-tooltip>
               <el-tooltip class="item" effect="dark" content="删除文件夹" placement="top-start">
-                <el-button icon="el-icon-folder-remove" class="icon_font" @click="removeFolder"></el-button>
+                <el-button icon="el-icon-minus" size="small" @click="removeFolder"></el-button>
               </el-tooltip>
-            </div>
-            <div class="file-box">
               <el-tooltip class="item" effect="dark" content="编辑文件夹" placement="top-start">
-                <el-button @click="editFolder" icon="el-icon-edit" class="icon_font"></el-button>
+                <el-button @click="editFolder" icon="el-icon-edit-outline" size="small"></el-button>
               </el-tooltip>
             </div>
           </div>
@@ -41,11 +39,11 @@
       <el-card class="box-card" :body-style="{ padding: '0px', height:'100%' }">
         <!-- 顶部操作栏 -->
         <div class="top_hand right_top_hand">
-          <el-button @click="addFloorFile">添加楼层文件</el-button>
-          <el-button @click="queryFloorFile(currentFolderId)">刷新</el-button>
+          <el-button size="small" @click="addFloorFile">添加楼层文件</el-button>
+          <el-button size="small" @click="queryFloorFile(currentFolderId)">刷新</el-button>
         </div>
         <!-- 列表 -->
-        <floorTable ref="floorTable" :tableData="tableData" :modelFolderName="currentFolderName" @openModelLog="queryModelLog"
+        <floorTable v-loading="tableLoading" ref="floorTable" :tableData="tableData" :modelFolderName="currentFolderName" @openModelLog="queryModelLog"
           @replaceModel="repliaceModel" @percentFinish="queryFloorFile(currentFolderId)"
           :persentList="persentList"></floorTable>
       </el-card>
@@ -102,17 +100,14 @@ export default {
       modelLogVisible: false, //是否显示模型日志弹窗
       changeFolderNameVisible: false, //是否显示编辑文件夹弹窗
       folderName: "", //新建文件夹名称
-      navigationModel: [
-        {
-          Name: ""
-        }
-      ], //文件夹模型list
+      navigationModel: [], //文件夹模型list
       choiceIndex: 0, //当前文件夹index
       currentFolderId: "", //当前选择的文件夹id
       currentFolderName: "", //当前选择文件夹的Name
       currentFloorModelId: "", //当前选择的楼层文件id
       tableData: [],
       loading: false, //加载loading
+      tableLoading: false, //表格加载loading
       logData: [], //楼层文件对应的模型日志
       replaceModelItem: null, //替换文件的item
       uploadFloorModelIdList: [], //上传楼层文件得数组,上传完成则为空
@@ -190,6 +185,7 @@ export default {
     },
     // 查询所有文件夹模型
     queryModel() {
+      this.navigationModel = [];
       this.loading = true;
       request.queryModel("", res => {
         this.navigationModel = res.Content;
@@ -214,6 +210,8 @@ export default {
      */
     queryFloorFile(currentFolderId) {
       if(currentFolderId){
+        this.tableData = [];
+        this.tableLoading = true;
         let data = {
           FolderId: currentFolderId,
           ProjectId: this.projectId
@@ -250,7 +248,7 @@ export default {
               // }
             });
             this.tableData = res.Content;
-            this.loading = false;
+            this.tableLoading = false;
             resolve();
           });
         });
@@ -376,7 +374,7 @@ export default {
   }
   // 顶部
   .top_hand {
-    height: 60px;
+    // height: 60px;
     width: 100%;
     padding: 10px;
     box-sizing: border-box;
@@ -386,18 +384,9 @@ export default {
     align-items: center;
     justify-content: space-between;
     .folder-box {
-      display: flex;
-      height: 40px;
-      flex-direction: row;
-    }
-    .box-icon {
-      width: 40px;
-      height: 40px;
-      font-size: 30px;
-      display: flex;
-      justify-content: center;
-      align-items: center;
-      float: left;
+      /deep/ .el-button--small {
+        padding: 10px 11px;
+      }
     }
   }
   // 左侧文件夹列表

+ 1 - 1
src/views/ready/buildfloor/drawGraphy/checkGraphy.vue

@@ -63,7 +63,7 @@ export default {
         this.$message.warning("请选择模型文件");
         return
       }
-      if (this.alreadyRelatedModel.indexOf(this.jsonKey) > -1) {
+      if (this.alreadyRelatedModel.indexOf(this.modelIdToFloorId[this.jsonKey]) > -1) {
         this.$message.warning('此模型已关联该建筑下的楼层');
         return;
       }

+ 1 - 1
src/views/ready/buildfloor/index.vue

@@ -243,7 +243,7 @@
           let list = res.Content.filter(i => (i.FirstName !== '工作历') && (i.FirstName !== '能耗信息') && (i.FirstName !== '人员信息'))
           list.map(item => {
             // console.log(item.FirstName)
-            if ((item.InputMode === 'D1' || item.InputMode === 'D2' || item.InputMode === 'E2' || item.InputMode === 'D1L') && item.DataSource != undefined) {
+            if ((item.InputMode === 'D1' || item.InputMode === 'D2' || item.InputMode === 'E2' || item.InputMode === 'D1L') && item.DataSource) {
               item.options = JSON.parse(item.DataSource)
               if (item.options[0] && item.options[0].Content) {
                 item.props = {

+ 9 - 18
src/views/ready/collectsetting/index.vue

@@ -22,7 +22,7 @@
         <div class="family_all">
           <div class="family" v-for="(letter,index) in letterArr" :key="index">
             <div class="family_title" :id="letter">{{letter}}</div>
-            <div class="family_content" v-if="searchVal == ''">
+            <div class="family_content" v-if="!searchArr.length">
               <ul class="family_list">
                 <li class="family_item" @click="familyActive(family.name,family.code)"
                     :class="active == family.name ? 'active' : ''" v-for="(family,index) in allFamily" :key="index"
@@ -50,18 +50,6 @@
         </div>
       </div>
       <div class="right_main" v-loading="rightLoading">
-        <!--                <el-tabs v-if="labelKey.length && tabsFalg" tab-position="right" style="height: 100%;">-->
-        <!--                    <el-tab-pane v-for="(item,index) in labelKey" :key="index">-->
-        <!--                        <span slot="label">{{item.FirstName || '信息'}}</span>-->
-        <!--                        <div class="label_main" v-for="(tag,tagIndex) in item.details" :key="tagIndex">-->
-        <!--                            <p>{{tag.SecondName}}</p>-->
-        <!--                            <ul v-for="(detail,detailInd) in tag.details" :key="detailInd">-->
-        <!--                                <el-checkbox :title="detail.InfoPointName" :disabled="!detail.UnDisabled" v-model="detail.Visible" @change="boxChange(detail)">{{detail.InfoPointName}}</el-checkbox>-->
-        <!--                            </ul>-->
-        <!--                        </div>-->
-        <!--                    </el-tab-pane>-->
-        <!--                </el-tabs>  -->
-
         <!--锚点-->
         <div v-if="labelKey.length && tabsFalg">
           <el-tabs
@@ -587,9 +575,10 @@
       },
       //获取所有设备族
       getAllFamily() {
-        this.labelKey = []
-        this.active = ""
-        this.searchVal = ""
+        this.labelKey = [];
+        this.active = "";
+        this.searchVal = "";
+        this.allFamily =[];
         if (this.value == "property") {
           queryFamilyAll(res => {
             this.allFamily = res.Content.map((item) => {
@@ -660,10 +649,11 @@
       },
       //修改search
       changeVal(val) {
+        this.searchArr = [];
+        this.letterArr = [];
         let newArr = [],
           arr = [],
           obj = {};
-        this.searchVal = val;
         const self = this;
         for (let i = 0; i < this.allFamily.length; i++) {
           if (this.allFamily[i].name.indexOf(val) >= 0 || this.allFamily[i].code.indexOf(val) >= 0) {
@@ -685,7 +675,7 @@
           this.getAllFamily();
         } else {
           this.searchArr = newArr;
-          this.letterArr = arr;
+          this.letterArr = arr.sort();
         }
       },
       //高亮行
@@ -800,6 +790,7 @@
       },
       //排序方法
       familySort() {
+        this.letterArr = [];
         let obj = {};
         let arr = [];
         const self = this;