From 035ae011994018a6ab7774836d31e49dcd362f57 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期一, 12 六月 2023 15:54:12 +0800
Subject: [PATCH] 发布管理,添加模型发布类型;发布管理界面优化;目录管理上传文件改为上传目录,目录下载改为文件夹下载,默认选中最后一个菜单节点;钻孔柱状图效果修改;矢量数据入库修改

---
 src/views/datamanage/uploadmanage.vue |  876 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 593 insertions(+), 283 deletions(-)

diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue
index c3d77b8..19342e3 100644
--- a/src/views/datamanage/uploadmanage.vue
+++ b/src/views/datamanage/uploadmanage.vue
@@ -8,230 +8,351 @@
     <el-divider />
     <!-- tabs鍒囨崲 -->
     <div class="tabs_box">
-      <div class="tabs_pane"
-           @click="setTabsChange(1)">
-        <div class="tabsSpan"
-             :class="{ changetabs : active == 'first'}">
+      <div
+        class="tabs_pane"
+        @click="setTabsChange(1)"
+      >
+        <div
+          class="tabsSpan"
+          :class="{ changetabs : active == 'first'}"
+        >
           <span> {{$t('dataManage.uploadObj.dataRelease')}}</span>
         </div>
       </div>
-      <div class="tabs_pane"
-           @click="setTabsChange(2)">
-        <div class="tabsSpan"
-             :class="{ changetabs : active == 'second'}">
+      <div
+        class="tabs_pane"
+        @click="setTabsChange(2)"
+      >
+        <div
+          class="tabsSpan"
+          :class="{ changetabs : active == 'second'}"
+        >
           <span> {{$t('dataManage.uploadObj.releaseList')}}</span>
         </div>
       </div>
-      <div class="tabs_pane"
-           @click="setTabsChange(3)">
-        <div class="tabsSpan"
-             :class="{ changetabs : active == 'third'}">
+      <div
+        class="tabs_pane"
+        @click="setTabsChange(3)"
+      >
+        <div
+          class="tabsSpan"
+          :class="{ changetabs : active == 'third'}"
+        >
           <span> {{$t('dataManage.uploadObj.modelAttachMount')}}</span>
         </div>
       </div>
     </div>
-    <div v-if="active != 'third'"
-         class="content_box">
-      <el-form :inline="true"
-               :model="formInline"
-               class="demo-form-inline">
+    <div
+      v-if="active != 'third'"
+      class="content_box"
+    >
+      <el-form
+        :inline="true"
+        :model="formInline"
+        class="demo-form-inline"
+      >
         <!-- 鍗曚綅 -->
         <el-form-item v-if="active == 'first'">
-          <el-select size="small"
-                     v-model="formInline.depid">
-            <el-option :value="formInline.depid"
-                       :label="formInline.depName"
-                       style="height: auto">
-              <el-tree ref="tree"
-                       :data="depOption"
-                       node-key="id"
-                       :props="defaultProps"
-                       @node-click="handleDepChange" />
+          <el-select
+            size="small"
+            v-model="formInline.depid"
+          >
+            <el-option
+              :value="formInline.depid"
+              :label="formInline.depName"
+              style="height: auto"
+            >
+              <el-tree
+                ref="tree"
+                :data="depOption"
+                node-key="id"
+                :props="defaultProps"
+                @node-click="handleDepChange"
+              />
             </el-option>
           </el-select>
         </el-form-item>
         <!-- 鐩綍 -->
         <el-form-item v-if="active == 'first'">
-          <el-select size="small"
-                     v-model="formInline.dirid">
-            <el-option :value="formInline.dirid"
-                       :label="formInline.dirName"
-                       style="height: auto">
-              <el-tree ref="tree"
-                       :data="dirOption"
-                       node-key="id"
-                       :props="defaultProps"
-                       @node-click="handleDirChange" />
+          <el-select
+            size="small"
+            v-model="formInline.dirid"
+          >
+            <el-option
+              :value="formInline.dirid"
+              :label="formInline.dirName"
+              style="height: auto"
+            >
+              <el-tree
+                ref="tree"
+                :data="dirOption"
+                node-key="id"
+                :props="defaultProps"
+                @node-click="handleDirChange"
+              />
             </el-option>
           </el-select>
         </el-form-item>
         <!-- 鐗堟湰 -->
         <el-form-item v-if="active == 'first'">
-          <el-select size="small"
-                     v-model="formInline.verid"
-                     @change="handleVerChange"> <el-option v-for="item in verOption"
-                       :key="item.id"
-                       :label="item.name"
-                       :value="item.id">
+          <el-select
+            size="small"
+            v-model="formInline.verid"
+            @change="handleVerChange"
+          > <el-option
+              v-for="item in verOption"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            >
             </el-option>
           </el-select>
         </el-form-item>
         <!-- 绫诲瀷 -->
         <el-form-item v-if="active == 'first'">
-          <el-select size="small"
-                     v-model="formInline.type"
-                     @change="handleTypeChange">
-            <el-option v-for="item in typeOption"
-                       :key="item.value"
-                       :label="item.label"
-                       :value="item.value">
+          <el-select
+            size="small"
+            v-model="formInline.type"
+            @change="handleTypeChange"
+          >
+            <el-option
+              v-for="item in typeOption"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-input size="small"
-                    :title="$t('dataManage.vmobj.keyword')"
-                    v-model="formInline.name"
-                    :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuedataName')"> <i @click="getTableData"
-               :title="$t('common.iquery')"
-               slot="suffix"
-               class="el-icon-search"
-               style="padding-right: 8px"></i></el-input>
+          <el-input
+            size="small"
+            :title="$t('dataManage.vmobj.keyword')"
+            v-model="formInline.name"
+            :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuedataName')"
+          > <i
+              @click="getTableData"
+              :title="$t('common.iquery')"
+              slot="suffix"
+              class="el-icon-search"
+              style="padding-right: 8px"
+            ></i></el-input>
         </el-form-item>
         <el-form-item style="float:right">
           <!-- 鍙戝竷 -->
-          <el-button v-if="active == 'first'"
-                     type="success"
-                     size="small"
-                     icon="el-icon-s-promotion"
-                     @click="setPagePublish">{{$t('common.publish')}}</el-button>
+          <el-button
+            v-if="active == 'first'"
+            type="success"
+            size="small"
+            icon="el-icon-s-promotion"
+            @click="setPagePublish"
+          >{{$t('common.publish')}}</el-button>
           <!-- 鍒櫎 -->
-          <el-button v-if="active == 'second'"
-                     type="danger"
-                     size="small"
-                     icon="el-icon-delete"
-                     @click="setPageDelete">{{$t('common.delete')}}</el-button>
+          <el-button
+            v-if="active == 'second'"
+            type="danger"
+            size="small"
+            icon="el-icon-delete"
+            @click="setPageDelete"
+          >{{$t('common.delete')}}</el-button>
           <!-- 閲嶇疆 -->
-          <el-button type="info"
-                     size="small"
-                     @click="setPageStart"
-                     icon="el-icon-refresh">{{$t('common.reset')}}</el-button>
+          <el-button
+            type="info"
+            size="small"
+            @click="setPageStart"
+            icon="el-icon-refresh"
+          >{{$t('common.reset')}}</el-button>
         </el-form-item>
       </el-form>
 
       <div class="dividing-line"></div>
       <div class="table_box content_Table">
-        <el-table :data="tableData"
-                  style="width: 100%"
-                  @selection-change="handleSelectionChange"
-                  @cell-dblclick="copyText"
-                  height="calc(100% - 1px)">
-          <el-table-column type="selection"
-                           width="55" />
-          <el-table-column :label="$t('dataManage.dictionaryManageObj.number')"
-                           type="index"
-                           width="50"
-                           align="center">
+        <el-table
+          :data="tableData"
+          style="width: 100%"
+          @selection-change="handleSelectionChange"
+          @cell-dblclick="copyText"
+          height="calc(100% - 1px)"
+          ref="tableBox"
+        >
+          <el-table-column
+            type="selection"
+            width="55"
+            key="1"
+          />
+          <el-table-column
+            :label="$t('dataManage.dictionaryManageObj.number')"
+            type="index"
+            width="50"
+            align="center"
+            key="2"
+          >
           </el-table-column>
-          <el-table-column prop="name"
-                           :label="$t('dataManage.vmobj.name')"
-                           align="center" />
-          <el-table-column prop="type"
-                           :label="$t('dataManage.vmobj.format')"
-                           align="center" />
-          <el-table-column v-if="active == 'first'"
-                           prop="sizes"
-                           :label="$t('dataManage.vmobj.size')"
-                           :formatter="stateFormatSizes"
-                           align="center" />
-          <el-table-column prop="depName"
-                           :label="$t('dataManage.vmobj.depName')"
-                           align="center" />
-          <el-table-column prop="dirName"
-                           :label="$t('dataManage.vmobj.dirName')"
-                           width="200"
-                           align="center" />
-          <el-table-column prop="verName"
-                           :label="$t('dataManage.vmobj.versionNumber')"
-                           align="center" />
-          <el-table-column prop="url"
-                           :label="$t('common.publishAddress')"
-                           align="center" />
-          <el-table-column v-if="active == 'first'"
-                           prop="uname"
-                           :label="$t('common.rublisher')"
-                           align="center"
-                           :key="Math.random()" />
-          <el-table-column v-if="active != 'first'"
-                           prop="createName"
-                           :label="$t('common.rublisher')"
-                           align="center"
-                           :key="Math.random()" />
-          <el-table-column prop="createTime"
-                           :label="$t('common.releaseTime')"
-                           align="center" />
-
-          <el-table-column min-width="150"
-                           :label="$t('common.operate')">
+          <el-table-column
+            prop="name"
+            :label="$t('dataManage.vmobj.name')"
+            align="center"
+            key="3"
+          />
+          <el-table-column
+            prop="type"
+            :label="$t('dataManage.vmobj.format')"
+            align="center"
+            key="4"
+          />
+          <el-table-column
+            v-if="active == 'first'"
+            prop="sizes"
+            :label="$t('dataManage.vmobj.size')"
+            :formatter="stateFormatSizes"
+            align="center"
+            key="5"
+          />
+          <el-table-column
+            prop="depName"
+            :label="$t('dataManage.vmobj.depName')"
+            align="center"
+            key="6"
+          />
+          <el-table-column
+            prop="dirName"
+            :label="$t('dataManage.vmobj.dirName')"
+            width="200"
+            align="center"
+            key="7"
+          />
+          <el-table-column
+            prop="verName"
+            :label="$t('dataManage.vmobj.versionNumber')"
+            align="center"
+            key="8"
+          />
+          <el-table-column
+            prop="url"
+            :label="$t('common.publishAddress')"
+            align="center"
+            key="9"
+          />
+          <el-table-column
+            v-if="active == 'first'"
+            prop="uname"
+            :label="$t('common.rublisher')"
+            align="center"
+            key="10"
+          />
+          <el-table-column
+            v-if="active != 'first'"
+            prop="createName"
+            :label="$t('common.rublisher')"
+            align="center"
+            key="11"
+          />
+          <el-table-column
+            prop="createTime"
+            :label="$t('common.releaseTime')"
+            align="center"
+            key="12"
+          />
+          <el-table-column
+            v-if="active == 'first'"
+            prop="createTime"
+            :label="$t('common.publishStatus')"
+            align="center"
+            key="13"
+          >
             <template slot-scope="scope">
-              <el-button v-if="active == 'second'"
-                         size="small"
-                         type="info"
-                         plain
-                         @click="setPreviewDetails(scope.row)">{{$t('common.details')}}
+              <span v-if="scope.row.url ">宸插彂甯�</span>
+
+            </template>
+          </el-table-column>
+          <el-table-column
+            min-width="150"
+            :label="$t('common.operate')"
+            v-if="active == 'second'"
+          >
+            <template slot-scope="scope">
+              <el-button
+                v-if="active == 'second'"
+                size="small"
+                type="info"
+                plain
+                @click="setPreviewDetails(scope.row)"
+              >{{$t('common.details')}}
 
               </el-button>
-              <el-button v-if="active == 'second'"
-                         size="small"
-                         type="warning"
-                         plain
-                         @click="setPreviewEdit(scope.row)">{{$t('common.update')}}
+              <el-button
+                v-if="active == 'second'"
+                size="small"
+                type="warning"
+                plain
+                @click="setPreviewEdit(scope.row)"
+              >{{$t('common.update')}}
 
               </el-button>
 
-              <el-button v-if="scope.row.url"
-                         size="small"
-                         type="success"
-                         plain
-                         @click="setPreviewLayer(scope.row)">{{$t('common.preview')}}
+              <el-button
+                v-if="scope.row.url && active == 'second'"
+                size="small"
+                type="success"
+                plain
+                @click="setPreviewLayer(scope.row)"
+              >{{$t('common.preview')}}
+
+              </el-button>
+              <el-button
+                v-if="scope.row.url && active == 'first'"
+                size="small"
+                type="success"
+                plain
+              >宸插彂甯�
 
               </el-button>
             </template>
           </el-table-column>
         </el-table>
       </div>
-      <div class="pagination_box"
-           style="margin-top: 10px">
-        <el-pagination @size-change="handleSizeChange"
-                       @current-change="handleCurrentChange"
-                       :current-page="listData.pageIndex"
-                       :page-sizes="showPageSize"
-                       :page-size="listData.pageSize"
-                       layout="total, sizes, prev, pager, next, jumper"
-                       :total="listData.count">
+      <div
+        class="pagination_box"
+        style="margin-top: 10px"
+      >
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="listData.pageIndex"
+          :page-sizes="showPageSize"
+          :page-size="listData.pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listData.count"
+        >
         </el-pagination>
       </div>
     </div>
-    <div v-if="active == 'third'"
-         class="content_box">
+    <div
+      v-if="active == 'third'"
+      class="content_box"
+    >
       <mapview v-if="active == 'third'"></mapview>
     </div>
     <!-- 鍦板潃棰勮 -->
-    <el-dialog :title="$t('common.preview')"
-               :class="isFullscreen ? '' : 'dialogClass_his'"
-               custom-class="handleDialogClass"
-               width="73.4%"
-               :fullscreen="isFullscreen"
-               v-if="dialogVisible"
-               :visible.sync="dialogVisible"
-               :show-close="false"
-               :close-on-click-modal="false"
-               :close-on-press-escape="false">
-      <dialog-header slot="title"
-                     :dialog-tittle="$t('common.preview')"
-                     :fullscreen="isFullscreen"
-                     @handle-closed="handleClose"
-                     @is-fullscreen="onFullscreen"></dialog-header>
+    <el-dialog
+      :title="$t('common.preview')"
+      :class="isFullscreen ? '' : 'dialogClass_his'"
+      custom-class="handleDialogClass"
+      width="73.4%"
+      :fullscreen="isFullscreen"
+      v-if="dialogVisible"
+      :visible.sync="dialogVisible"
+      :show-close="false"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+    >
+      <dialog-header
+        slot="title"
+        :dialog-tittle="$t('common.preview')"
+        :fullscreen="isFullscreen"
+        @handle-closed="handleClose"
+        @is-fullscreen="onFullscreen"
+      ></dialog-header>
       <div :class="{'fullscreen1':isFullscreen}">
         <mapview v-if="showMapView"></mapview>
       </div>
@@ -251,57 +372,75 @@
         id="MapDiv"
         style="background:red;widht:100%;height:calc(100% - 10px)"
       ></div>
-      <!-- 
+     
     </el-dialog> -->
     <!-- 淇敼鏁版嵁 -->
-    <el-dialog :title="$t('common.update')"
-               :visible.sync="editDialogVisible"
-               width="50%"
-               :show-close="false"
-               :close-on-click-modal="false">
+    <el-dialog
+      :title="$t('common.update')"
+      :visible.sync="editDialogVisible"
+      width="50%"
+      :show-close="false"
+      :close-on-click-modal="false"
+    >
       <div style="width:100%;height:50vh">
-        <el-form ref="form"
-                 :model="editLayer"
-                 label-width="150px">
+        <el-form
+          ref="form"
+          :model="editLayer"
+          label-width="150px"
+        >
           <el-form-item :label="$t('dataManage.vmobj.name')">
             <el-input v-model="editLayer.name"></el-input>
           </el-form-item>
           <el-form-item :label="$t('dataManage.vmobj.format')">
-            <el-input disabled
-                      v-model="editLayer.type"></el-input>
+            <el-input
+              disabled
+              v-model="editLayer.type"
+            ></el-input>
           </el-form-item>
           <el-form-item :label="$t('dataManage.vmobj.depName')">
-            <el-input disabled
-                      v-model="editLayer.depName"></el-input>
+            <el-input
+              disabled
+              v-model="editLayer.depName"
+            ></el-input>
           </el-form-item>
 
           <el-form-item :label="$t('dataManage.vmobj.dirName')">
-            <el-input disabled
-                      v-model="editLayer.dirName"></el-input>
+            <el-input
+              disabled
+              v-model="editLayer.dirName"
+            ></el-input>
           </el-form-item>
           <el-form-item :label="$t('dataManage.vmobj.versionNumber')">
-            <el-input disabled
-                      v-model="editLayer.verName"></el-input>
+            <el-input
+              disabled
+              v-model="editLayer.verName"
+            ></el-input>
           </el-form-item>
           <el-form-item :label="$t('common.publishAddress')">
             <el-input v-model="editLayer.url"></el-input>
           </el-form-item>
           <el-form-item>
-            <el-button size="small"
-                       type="primary"
-                       @click="setEditLayerSubmit">{{$t('common.submit')}}</el-button>
-            <el-button size="small"
-                       type="info"
-                       @click="setEditLayerCancle">{{$t('common.cancel')}}</el-button>
+            <el-button
+              size="small"
+              type="primary"
+              @click="setEditLayerSubmit"
+            >{{$t('common.submit')}}</el-button>
+            <el-button
+              size="small"
+              type="info"
+              @click="setEditLayerCancle"
+            >{{$t('common.cancel')}}</el-button>
           </el-form-item>
         </el-form>
       </div>
     </el-dialog>
     <!-- 鏁版嵁璇︽儏 -->
-    <el-dialog :title="$t('common.details')"
-               :visible.sync="detailsDialogVisible"
-               width="50%"
-               :close-on-click-modal="false">
+    <el-dialog
+      :title="$t('common.details')"
+      :visible.sync="detailsDialogVisible"
+      width="50%"
+      :close-on-click-modal="false"
+    >
       <div style="width:100%;height:50vh">
         <p>{{ $t("dataManage.vmobj.name") }}锛歿{ itemdetail.name }}</p>
         <el-divider></el-divider>
@@ -326,89 +465,183 @@
       </div>
     </el-dialog>
     <!-- 鍙戝竷 -->
-    <el-dialog :title="$t('common.publish')"
-               :visible.sync="insertDialogVisible"
-               width="40%"
-               :close-on-click-modal="false"
-               :show-close="false">
+    <el-dialog
+      :title="$t('common.publish')"
+      :visible.sync="insertDialogVisible"
+      width="40%"
+      :close-on-click-modal="false"
+      :show-close="false"
+    >
       <div style="width:100%; ">
-        <el-form ref="form"
-                 :model="insertLayer"
-                 label-width="150px">
+        <el-form
+          ref="form"
+          :model="insertLayer"
+          label-width="150px"
+        >
           <el-form-item :label="$t('dataManage.vmobj.name')">
-            <el-input v-model="insertLayer.name"
-                      :placeholder="$t('dataManage.vmobj.name')"></el-input>
+            <el-input
+              v-model="insertLayer.name"
+              :placeholder="$t('dataManage.vmobj.name')"
+            ></el-input>
           </el-form-item>
           <el-form-item :label="$t('dataManage.vmobj.numberFiles')">
-            <el-input disabled
-                      v-model="insertLayer.number"></el-input>
+            <el-input
+              disabled
+              v-model="insertLayer.number"
+            ></el-input>
           </el-form-item>
-          <el-form-item :label="$t('dataManage.vmobj.labe14')"
-                        v-show="formInline.type =='DOM'">
-            <el-select style="width:100%"
-                       v-model="insertLayer.noData">
-              <el-option label="榛戣壊"
-                         value="0"></el-option>
-              <el-option label="鐧借壊"
-                         value="255"></el-option>
+          <el-form-item
+            :label="$t('dataManage.vmobj.labe14')"
+            v-show="formInline.type =='DOM'"
+          >
+            <el-select
+              style="width:100%"
+              v-model="insertLayer.noData"
+            >
+              <el-option
+                label="榛戣壊"
+                value="0"
+              ></el-option>
+              <el-option
+                label="鐧借壊"
+                value="255"
+              ></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item v-show="formInline.type !='DEM'"
-                        :label="$t('dataManage.vmobj.minLevel')">
+          <el-form-item
+            v-show="formInline.type !='DEM'"
+            :label="$t('dataManage.vmobj.minLevel')"
+          >
             <!-- <el-input
               v-model="insertLayer.min"
               :placeholder="$t('dataManage.vmobj.labe11')"
             ></el-input> -->
-            <el-select style="width:100%"
-                       v-model="insertLayer.min"
-                       :placeholder="$t('dataManage.vmobj.labe11')">
-              <el-option v-for="item in options"
-                         :key="item.value"
-                         :label="item.label"
-                         :value="item.value">
+            <el-select
+              style="width:100%"
+              v-model="insertLayer.min"
+              :placeholder="$t('dataManage.vmobj.labe11')"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item :label="$t('dataManage.vmobj.maxLevel')"
-                        v-show="formInline.type !='DEM'">
+          <el-form-item
+            :label="$t('dataManage.vmobj.maxLevel')"
+            v-show="formInline.type !='DEM'"
+          >
             <!-- <el-input
               v-model="insertLayer.max"
               :placeholder="$t('dataManage.vmobj.labe12')"
             ></el-input> -->
-            <el-select style="width:100%"
-                       v-model="insertLayer.max"
-                       :placeholder="$t('dataManage.vmobj.labe12')">
-              <el-option v-for="item in options"
-                         :key="item.value"
-                         :label="item.label"
-                         :value="item.value">
+            <el-select
+              style="width:100%"
+              v-model="insertLayer.max"
+              :placeholder="$t('dataManage.vmobj.labe12')"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
               </el-option>
             </el-select>
           </el-form-item>
           <el-form-item>
-            <el-button size="small"
-                       type="primary"
-                       @click="setinsertLayerSubmit()">{{$t('common.submit')}}</el-button>
-            <el-button size="small"
-                       type="info"
-                       @click="setinsertLayerCancel()">{{$t('common.cancel')}}</el-button>
+            <el-button
+              size="small"
+              type="primary"
+              @click="setinsertLayerSubmit()"
+            >{{$t('common.submit')}}</el-button>
+            <el-button
+              size="small"
+              type="info"
+              @click="setinsertLayerCancel()"
+            >{{$t('common.cancel')}}</el-button>
           </el-form-item>
         </el-form>
       </div>
     </el-dialog>
+    <!--妯″瀷鍙戝竷 -->
+    <el-dialog
+      :title="$t('common.publish')"
+      :visible.sync="insertModelVisible"
+      width="25%"
+      :close-on-click-modal="false"
+      :show-close="false"
+    >
+      <div style="width:100%; ">
 
-    <div class="loadBox"
-         v-if="loadDialogVisible">
-      <div style="widht:100%; margin:20px; color:white">
-        <div style="margin-left:99%">
-          <el-link @click="setloadDialogVisible()"
-                   style="color:white"> X</el-link>
+        <div
+          v-for="item in modelOptions"
+          style="margin: 5px;"
+        >
+          <el-row :gutter="20">
+            <el-col :span="10">
+              <div style="height: 64px; display: flex; align-items: center;">
+                {{ item.name }}
+              </div>
+            </el-col>
+            <el-col :span="10">
+              <div style="height: 64px; display: flex; align-items: center;">
+
+                <el-select
+                  size="small"
+                  v-model="item.isModel"
+                  placeholder="璇烽�夋嫨鏁版嵁绫诲瀷"
+                >
+                  <el-option
+                    label="鍗曚綋妯″瀷"
+                    value="1"
+                  ></el-option>
+                  <el-option
+                    label="鍊炬枩妯″瀷"
+                    value="0"
+                  >鍊炬枩妯″瀷</el-option>
+                </el-select>
+
+              </div>
+            </el-col>
+          </el-row>
+        </div>
+        <div style="display: flex; justify-content: end;margin-top:10px;">
+          <el-button
+            size="small"
+            type="primary"
+            @click="setModelInsert"
+          >{{$t('common.submit')}}</el-button>
+          <el-button
+            size="small"
+            type="info"
+            @click="setModelCanel"
+          >{{$t('common.cancel')}}</el-button>
         </div>
       </div>
-      <div v-loading="true"
-           element-loading-background="rgba(0, 0, 0, 0.0) "
-           element-loading-text="鏁版嵁鍙戝竷涓�"
-           style="margin: 0px 20px;widht:100%;height:calc(100% - 80px); ">
+    </el-dialog>
+
+    <div
+      class="loadBox"
+      v-if="loadDialogVisible"
+    >
+      <div style="widht:100%; margin:20px; color:white">
+        <div style="margin-left:99%">
+          <el-link
+            @click="setloadDialogVisible()"
+            style="color:white"
+          > X</el-link>
+        </div>
+      </div>
+      <div
+        v-loading="true"
+        element-loading-background="rgba(0, 0, 0, 0.0) "
+        element-loading-text="鏁版嵁鍙戝竷涓�"
+        style="margin: 0px 20px;widht:100%;height:calc(100% - 80px); "
+      >
       </div>
     </div>
   </div>
@@ -437,7 +670,7 @@
     MyBread, mapview,
     'dialog-header': dialogHeader,
   },
-  data () {
+  data() {
     return {
       active: 'first',
       formInline: {
@@ -459,6 +692,7 @@
       depOption: [],
       dirOption: [],
       verOption: [],
+      modelOptions: [],
       typeOption: [{
         value: 'DOM',
         label: '褰卞儚鏁版嵁(.tif, .img)'
@@ -494,14 +728,72 @@
       detailsDialogVisible: false,
       itemdetail: {},
       insertDialogVisible: false,
+      insertModelVisible: false,
       insertLayer: { name: '', number: null, min: 4, max: 18, noData: '0' },
       loadDialogVisible: false,
       options: [],
       isFullscreen: false,
+
     }
   },
   methods: {
-    copyText (row, column, cell, event) {
+
+    setModelCanel() {
+      this.insertModelVisible = false;
+      this.modelOptions = [];
+    },
+    async setModelInsert() {
+      var val = this.modelOptions.filter(res => {
+        if (!res.isModel) {
+          return res
+        }
+      })
+      var str = [];
+      if (val.length > 0) {
+        for (var i in val) {
+          str.push(val[i].name)
+        }
+        var mesage = str.toString() + '鏈�夋嫨鏁版嵁绫诲瀷'
+        this.$message(mesage);
+        return;
+      }
+      var ids = [];
+      var models = [];
+      for (var i in this.modelOptions) {
+        ids.push(this.modelOptions[i].id)
+        models.push(parseInt(this.modelOptions[i].isModel))
+      }
+      var obj = {
+        dircode: this.formInline.dirid,
+        depcode: this.formInline.depid,
+        min: null,
+        max: null,
+        name: null,
+        type: this.formInline.type,
+        noData: null,
+        ids: ids,
+        models: models
+
+      }
+      this.loadDialogVisible = true
+      this.insertModelVisible = false;
+
+      const data = await publish_insert(obj);
+
+      if (data.code == 200 && data.result > 0) {
+        this.$message({
+          message: '鏁版嵁鍙戝竷鎴愬姛',
+          type: 'success'
+        });
+      } else {
+        this.$message.error("鏁版嵁鍙戝竷澶辫触")
+      }
+      this.loadDialogVisible = false
+      this.getTableData();
+
+
+    },
+    copyText(row, column, cell, event) {
       // 鍙屽嚮澶嶅埗
       let save = function (e) {
         e.clipboardData.setData('text/plain', event.target.innerText);
@@ -511,7 +803,7 @@
       document.execCommand("copy");//鎵цcopy鏂规硶
       this.$message({ message: '澶嶅埗鎴愬姛', type: 'success' })//鎻愮ず
     },
-    setOptions () {
+    setOptions() {
       var std = [];
       for (var i = 0; i < 23; i++) {
         std.push({
@@ -521,15 +813,15 @@
       }
       this.options = std;
     },
-    setloadDialogVisible () {
+    setloadDialogVisible() {
       this.loadDialogVisible = false
     },
-    setinsertLayerCancel () {
+    setinsertLayerCancel() {
       this.insertDialogVisible = false;
       this.insertLayer = { name: '', number: null, min: 4, max: 18 };
     },
     //鍙戝竷鎻愪氦
-    async setinsertLayerSubmit () {
+    async setinsertLayerSubmit() {
 
       var min = this.insertLayer.min;
       var max = this.insertLayer.max;
@@ -591,7 +883,7 @@
     },
 
     //鏁版嵁鍙戝竷
-    async setPagePublish () {
+    async setPagePublish() {
       if (this.multipleSelection.length == 0) {
         this.$message("璇烽�夋嫨瑕佸彂甯冪殑鏁版嵁")
         return
@@ -602,6 +894,17 @@
         this.insertLayer.number = this.multipleSelection.length
         this.insertLayer.noData = '0';
         this.insertDialogVisible = true;
+      } if (this.formInline.type == "3DML" || this.formInline.type == "BIM") {
+        var val = JSON.parse(JSON.stringify(this.multipleSelection))
+        for (var i in val) {
+          val[i].isModel = null
+        }
+        this.modelOptions = val;
+
+        this.insertModelVisible = true;
+
+
+
       } else {
         var std = [];
         for (var i in this.multipleSelection) {
@@ -633,12 +936,12 @@
       }
     },
     //鏁版嵁璇︽儏
-    setPreviewDetails (res) {
+    setPreviewDetails(res) {
       this.itemdetail = res;
       this.detailsDialogVisible = true;
     },
     //淇敼鎻愪氦
-    async setEditLayerSubmit () {
+    async setEditLayerSubmit() {
       if (this.editLayer.url) {
         var url = this.editLayer.url;
         this.editLayer.url = url.replace(iisHost, "{host}");
@@ -657,7 +960,7 @@
       this.editDialogVisible = false;
     },
     //淇敼鍙栨秷
-    setEditLayerCancle () {
+    setEditLayerCancle() {
       if (this.editLayer == this.updateLayer) {
         this.editDialogVisible = false;
       } else {
@@ -672,13 +975,13 @@
       }
     },
     //淇敼寮圭獥
-    setPreviewEdit (res) {
+    setPreviewEdit(res) {
       this.updateLayer = JSON.stringify(res) //澶囦唤;
       this.editLayer = JSON.parse(JSON.stringify(res));
       this.editDialogVisible = true;
     },
     //鍒犻櫎
-    setPageDelete () {
+    setPageDelete() {
       if (this.multipleSelection.length == 0) {
         return this.$message.error("璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁")
       } else {
@@ -692,7 +995,7 @@
           });
       }
     },
-    async deletePage () {
+    async deletePage() {
       var std = [];
       for (var i in this.multipleSelection) {
         std.push(this.multipleSelection[i].id);
@@ -710,28 +1013,28 @@
       }
     },
     //棰勮寮圭獥鎵撳紑
-    setPreviewLayer (res) {
+    setPreviewLayer(res) {
       this.$store.state.previewLayer = res;
       this.dialogVisible = true;
       this.showMapView = true;
     },
     //鏄惁涓哄叏灞忓嚱鏁�
-    onFullscreen (fullscreen) {
+    onFullscreen(fullscreen) {
       this.isFullscreen = fullscreen;
     },
     //棰勮寮圭獥鍏抽棴
-    handleClose () {
+    handleClose() {
       this.getTableData();
       this.dialogVisible = false;
       this.showMapView = false;
 
     },
     // 鑾峰彇澶氶�夐�変腑鐨勫璞�
-    handleSelectionChange (val) {
+    handleSelectionChange(val) {
       this.multipleSelection = val
     },
     //鍗曚綅杞崲
-    stateFormatSizes (row, column) {
+    stateFormatSizes(row, column) {
       if (row.sizes >= 1024) {
         const val = parseFloat(row.sizes / 1024).toFixed(3)
         return val + " GB"
@@ -740,7 +1043,7 @@
       }
     },
     //鏍煎紡鍖栧湴鍧�
-    formatLayer (row, column) {
+    formatLayer(row, column) {
       let data = row.layer
       if (data == null) {
         return data
@@ -749,7 +1052,7 @@
       return data.replace("{host}", iisHost)
     },
     //鏍煎紡鍖栨椂闂�
-    formatData (row, column) {
+    formatData(row, column) {
       let data = row[column.property]
       if (data == null) {
         return data
@@ -757,18 +1060,18 @@
       return this.format(data)
     },
     //鍒嗛〉鍒囨崲
-    handleCurrentChange (val) {
+    handleCurrentChange(val) {
       this.listData.pageIndex = val;
       this.getTableData_one();
     },
     //姣忛〉鏄剧ず鏁伴噺
-    handleSizeChange (val) {
+    handleSizeChange(val) {
       this.listData.pageSize = val;
       this.listData.pageIndex = 1;
       this.getTableData_one();
     },
     //tabs鍒囨彌
-    setTabsChange (res) {
+    setTabsChange(res) {
       switch (res) {
         case 1:
           this.active = 'first';
@@ -783,12 +1086,19 @@
             url: "menuLayer"
           }
           this.active = 'third';
-
           break;
+
+
+
+          this.$nextTick(() => {
+            this.$refs.tableBox.doLayout()
+          })
+
+
       }
     },
     //椤甸潰鍒濆鍖�
-    setPageStart () {
+    setPageStart() {
       this.formInline = {
         dirid: null,
         dirName: null,
@@ -819,7 +1129,7 @@
       this.getDirTreeList();
     },
     //鑾峰彇鐩綍鍒楄〃
-    async getDirTreeList () {
+    async getDirTreeList() {
       const data = await selectdirTab();
       if (data.code != 200) {
         this.$message.error("鍗曚綅鍒楄〃鑾峰彇澶辫触")
@@ -831,7 +1141,7 @@
       this.getVerList(this.dirOption[0].id)
     },
     //鑾峰彇鐗堟湰鍒楄〃
-    async getVerList (res) {
+    async getVerList(res) {
       const data = await meta_selectVerByDirid({ dirid: res })
       if (data.code != 200) {
         this.$message.error("鐗堟湰鍒楄〃鑾峰彇澶辫触")
@@ -842,36 +1152,36 @@
       this.getTableData();
     },
     //鐗堟湰鍒楄〃鍒囨崲
-    handleVerChange (value) {
+    handleVerChange(value) {
 
       this.formInline.verid = value;
       this.getTableData();
     },
     //鏈嶅姟绫诲瀷鍒楄〃鍒囨崲
-    handleTypeChange (value) {
+    handleTypeChange(value) {
       this.formInline.type = value;
       this.getTableData();
     },
     //鍗曚綅鍒楄〃鍒囨崲
-    handleDepChange (data, node, nodeData) {
+    handleDepChange(data, node, nodeData) {
       this.formInline.depid = data.code
       this.formInline.depName = data.name
       this.getTableData();
     },
     //鐩綍鍒楄〃鍒囨崲
-    handleDirChange (data, node, nodeData) {
+    handleDirChange(data, node, nodeData) {
       this.formInline.dirid = data.code
       this.formInline.dirName = data.name
       this.getVerList(data.id)
     },
     //鑾峰彇Table琛ㄦ牸鏁版嵁
-    async getTableData () {
+    async getTableData() {
 
       this.listData.count = 0;
       this.listData.pageIndex = 1;
       this.getTableData_one();
     },
-    async getTableData_one () {
+    async getTableData_one() {
       this.tableData = [];
       if (this.active == "first") {
 
@@ -932,7 +1242,7 @@
       }
     },
     //鏍煎紡鍖栨椂闂�
-    format (shijianchuo) {
+    format(shijianchuo) {
       //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲
       var time = new Date(shijianchuo);
       var y = time.getFullYear();
@@ -956,11 +1266,11 @@
       );
     },
     //鏍煎紡鍖栨椂闂�
-    add0 (m) {
+    add0(m) {
       return m < 10 ? '0' + m : m;
     },
     //鑾峰彇鍗曚綅鍒楄〃
-    async getDepTreeList () {
+    async getDepTreeList() {
       const data = await selectdepTab();
       if (data.code != 200) {
         this.$message.error("鍗曚綅鍒楄〃鑾峰彇澶辫触")
@@ -971,7 +1281,7 @@
       this.formInline.depName = this.depOption[0].name
     },
     //鏍戝垪琛ㄧ敓鎴�
-    treeData (source) {
+    treeData(source) {
       let cloneData = JSON.parse(JSON.stringify(source)) // 瀵规簮鏁版嵁娣卞害鍏嬮殕
       return cloneData.filter(father => {
         // 寰幆鎵�鏈夐」
@@ -981,7 +1291,7 @@
       })
     },
   },
-  mounted () {
+  mounted() {
     this.active = 'first';
     this.setPageStart();
     this.setOptions();

--
Gitblit v1.9.3