管道基础大数据平台系统开发-【前端】-新系統界面
surprise
2024-04-22 3ffbf14664836032438b1fd496aefbd99187e2c9
src/views/datamanage/SpatialData.vue
@@ -6,48 +6,38 @@
      ]"></My-bread>
    <el-divider />
    <div class="spatialContent ">
      <div
        class="spatial_leftTree subpage_Div "
        style="border: 1px solid #dcdfe6;"
      >
        <el-input
          size="small"
      <div class="spatial_leftTree subpage_Div "
           style="border: 1px solid #dcdfe6;">
        <el-input size="small"
          v-model="filterText"
          style="width:220px;"
          :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuedataName')"
          suffix-icon="el-icon-search"
        ></el-input>
                  suffix-icon="el-icon-search"></el-input>
        <div style="width:300px">
          <el-tree
            :data="tree"
          <el-tree :data="tree"
            :props="defaultProps"
            node-key="id"
            :current-node-key="10"
            @node-click="handleNodeClick"
            :filter-node-method="filterNode"
            ref="tree"
          ></el-tree>
                   ref="tree"></el-tree>
        </div>
      </div>
      <div class="contentshuju">
        <div class="contentshujutou">
          <el-form
            ref="ruleForm"
          <el-form ref="ruleForm"
            :model="ruleForm"
            :inline="true"
          >
                   :inline="true">
            <el-form-item>
              <!-- type="textarea" disabled-->
              <el-input
                v-model="ruleForm.fileName"
              <el-input v-model="ruleForm.fileName"
                size="small"
                :rows="2"
                style="width: 300px;"
                disabled
                :placeholder="$t('shuJuGuanLi.shuJuJianSuo.label')"
              >
                        :placeholder="$t('shuJuGuanLi.shuJuJianSuo.label')">
                <!-- <i
                  slot="suffix"
                  class="el-icon-search"
@@ -58,22 +48,18 @@
            </el-form-item>
            <el-form-item>
              <el-button
                @click="conditionVisible = true"
              <el-button @click="conditionVisible = true"
                size="small"
                type="success"
                icon="el-icon-plus"
              >{{$t('common.lable6')}}</el-button>
                         icon="el-icon-plus">{{$t('common.lable6')}}</el-button>
            </el-form-item>
            <el-form-item style="float: right">
              <el-button
                @click="resetForm"
              <el-button @click="resetForm"
                type="info"
                size="small"
                icon="el-icon-refresh"
              >{{$t('common.reset')}}</el-button>
                         icon="el-icon-refresh">{{$t('common.reset')}}</el-button>
            </el-form-item>
            <!--            <el-form-item style="float: right">
@@ -97,12 +83,10 @@
            </el-form-item>-->
            <el-form-item style="float: right">
              <el-button
                @click="getSpaceMapVisibale"
              <el-button @click="getSpaceMapVisibale"
                size="small"
                type="primary"
                icon="el-icon-search"
              >{{
                         icon="el-icon-search">{{
                  $t('synthesis.rangequery')
                }}</el-button>
            </el-form-item>
@@ -110,61 +94,45 @@
          </el-form>
        </div>
        <div class="dividing-line"></div>
        <div
          class="table_box"
          style="height:calc(100% - 130px); "
        >
        <div class="table_box"
             style="height:calc(100% - 130px); ">
          <!--          border-->
          <!--          ref="filterTable"-->
          <!--          :data="tableData"-->
          <!--          style="width: 100%"-->
          <!--          height="calc(100% - 57px)"-->
          <!--          :header-cell-style="{background:'#e6eaee',color:'#181818', 'text-align': 'center'}  "-->
          <el-table
            ref="refTableData"
          <el-table ref="refTableData"
            :data="tableData"
            style="width: 100% ;"
            border
            height="100%"
          >
            <el-table-column
              type="selection"
                    height="100%">
            <el-table-column type="selection"
              width="20"
              align="center"
            />
                             align="center" />
            <!--              :label="item.alias"-->
            <el-table-column
              min-width="135"
            <el-table-column min-width="135"
              v-for="(item, index) in attributeData"
              :key="index"
              :label="$i18n.locale == 'zh' ? item.alias : item.field"
              :prop="item.field"
              show-overflow-tooltip
              align="center"
            ></el-table-column>
            <el-table-column
              min-width="240"
              :label="$t('common.operate')"
            >
                             align="center"></el-table-column>
            <el-table-column min-width="240"
                             :label="$t('common.operate')">
              <template slot-scope="scope">
                <el-button
                  type="primary"
                <el-button type="primary"
                  plain
                  size="small"
                  @click="showDetail(scope.$index, scope.row)"
                >{{$t('common.details')}}</el-button>
                <el-button
                  plain
                           @click="showDetail(scope.$index, scope.row)">{{$t('common.details')}}</el-button>
                <el-button plain
                  size="small"
                  @click="getAttachTable(scope.$index, scope.row)"
                >{{$t('common.enclosure')}}</el-button>
                <el-button
                  plain
                           @click="getAttachTable(scope.$index, scope.row)">{{$t('common.enclosure')}}</el-button>
                <el-button plain
                  size="small"
                  type="info"
                  v-if="matchState1(scope, /[]/)"
                  @click="getAttributeTable(scope.$index, scope.row)"
                >{{$t('common.attribute')}}</el-button>
                           @click="getAttributeTable(scope.$index, scope.row)">{{$t('common.attribute')}}</el-button>
              </template>
            </el-table-column>
          </el-table>
@@ -172,37 +140,29 @@
        </div>
        <div class="pagination_box">
          <el-pagination
            @size-change="handleSizeChange"
          <el-pagination @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="listData.pageIndex"
            :page-sizes="[10, 50, 100,200]"
            :page-size="listData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="count"
          >
                         :total="count">
          </el-pagination>
        </div>
      </div>
    </div>
    <div
      class="infoBox_box"
      v-show="showinfoBox"
    >
    <div class="infoBox_box"
         v-show="showinfoBox">
      <div class="infoBox box_div">
        <div
          slot="header"
          class="clearfix"
        >
        <div slot="header"
             class="clearfix">
          <span>{{$t('common.details')}}</span>
          <div
            style="float: right; cursor: pointer"
            @click="closeDetial"
          >
          <div style="float: right; cursor: pointer"
               @click="closeDetial">
            <i class="el-icon-close"></i>
          </div>
          <el-divider></el-divider>
@@ -221,275 +181,201 @@
      </div>
    </div>
    <el-dialog
      :title="$t('common.attachinform')"
      :visible.sync="dialogFormVisible"
    >
    <el-dialog :title="$t('common.attachinform')"
               :visible.sync="dialogFormVisible">
      <div style="height:68vh">
        <el-form
          :model="formInline"
        <el-form :model="formInline"
          class="demo-form-inline"
          label-position="top"
        >
                 label-position="top">
          <el-form-item>
            <el-input
              v-model="formInline.file"
            <el-input v-model="formInline.file"
              style="width: 300px; margin-right: 20px"
              :placeholder="$t('common.choose')"
              disabled
            ></el-input>
            <input
              name="file1"
                      disabled></el-input>
            <input name="file1"
              type="file"
              id="insertFile"
              multiple="multiple"
              style="display: none"
              @change="insertFile( )"
            />
            <el-link
              @click="getInsertFile( )"
              :underline="false"
            ><i class="el-icon-folder-opened"></i></el-link>
                   @change="insertFile( )" />
            <el-link @click="getInsertFile( )"
                     :underline="false"><i class="el-icon-folder-opened"></i></el-link>
          </el-form-item>
          <el-form-item>
            <el-row>
              <el-col :span="3">
                <el-link
                  v-if="btnStatus.insert"
                <el-link v-if="btnStatus.insert"
                  class="elLink"
                  :underline="false"
                  @click="setAttachInsert"
                >{{$t('common.append')}}</el-link>
                         @click="setAttachInsert">{{$t('common.append')}}</el-link>
              </el-col>
              <el-col :span="3">
                <el-link
                  v-if="btnStatus.delete"
                <el-link v-if="btnStatus.delete"
                  class="elLink"
                  :underline="false"
                  @click="setAttachDel"
                >{{$t('common.delete')}}</el-link>
                         @click="setAttachDel">{{$t('common.delete')}}</el-link>
              </el-col>
              <!-- <el-col :span="3">  <el-link  class="elLink" :underline="false" >{{$t('common.reset')}}</i></el-link></el-col> -->
            </el-row>
          </el-form-item>
        </el-form>
        <el-table
          :data="tableAttach"
        <el-table :data="tableAttach"
          ref="filterTable"
          height="calc(100% - 130px)"
          border
          style="width: 100%"
          @selection-change="handleAttatchChange"
        >
          <el-table-column
            type="selection"
            width="70"
          />
          <el-table-column
            width="60"
                  @selection-change="handleAttatchChange">
          <el-table-column type="selection"
                           width="70" />
          <el-table-column width="60"
            type="index"
            :label="$t('common.index')"
          />
          <el-table-column
            prop="name"
            :label="$t('common.fileNme')"
          />
                           :label="$t('common.index')" />
          <el-table-column prop="name"
                           :label="$t('common.fileNme')" />
          <el-table-column
            prop="sizes"
          <el-table-column prop="sizes"
            :label="$t('common.size')"
            :formatter="statSizeChange"
          />
          <el-table-column
            align="center"
                           :formatter="statSizeChange" />
          <el-table-column align="center"
            :label="$t('common.operate')"
            min-width="100"
          >
                           min-width="100">
            <template slot-scope="scope">
              <el-link
                v-if="matchState(scope, /[]/)"
              <el-link v-if="matchState(scope, /[]/)"
                @click="setAttatchDetail(scope.$index, scope.row)"
                class="elLink"
              >{{ $t('common.see') }}</el-link>
                       class="elLink">{{ $t('common.see') }}</el-link>
            </template>
          </el-table-column>
        </el-table>
      </div>
    </el-dialog>
    <el-dialog
      :visible.sync="conditionVisible"
    <el-dialog :visible.sync="conditionVisible"
      title="高级查询"
      :before-close="handleconditionClose"
      width="44%"
    >
               width="44%">
      <el-form
        :inline="true"
      <el-form :inline="true"
        :model="formSql"
        class="demo-form-inline"
        label-position="top"
      >
               label-position="top">
        <el-form-item>
          <el-select
            @change="fieldChange($event)"
          <el-select @change="fieldChange($event)"
            v-model="formSql.field"
            :popper-append-to-body="false"
          >
            <el-option
              v-for="item in filedsOption"
                     :popper-append-to-body="false">
            <el-option v-for="item in filedsOption"
              :key="item.field"
              :label="item.alias"
              :value="item.field"
            >
                       :value="item.field">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item>
          <el-select
            :popper-append-to-body="false"
            v-model="formSql.condition"
          >
            <el-option
              v-for="item in condOption"
          <el-select :popper-append-to-body="false"
                     v-model="formSql.condition">
            <el-option v-for="item in condOption"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
                       :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item v-show="!fromSqlflag">
          <el-input
            v-model="formSql.value"
            :placeholder="$t('shuJuGuanLi.shuJuJianSuo.queryContent')"
          ></el-input>
          <el-input v-model="formSql.value"
                    :placeholder="$t('shuJuGuanLi.shuJuJianSuo.queryContent')"></el-input>
        </el-form-item>
        <el-form-item v-show="fromSqlflag">
          <el-date-picker
            v-model="formSql.date"
          <el-date-picker v-model="formSql.date"
            type="date"
            placeholder="选择日期"
            value-format="yyyy-MM-dd"
          >
                          value-format="yyyy-MM-dd">
          </el-date-picker>
        </el-form-item>
      </el-form>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
      <span slot="footer"
            class="dialog-footer">
        <el-button size="small"
                   @click="startFiledAndcondition">取 消</el-button>
        <el-button class="primaries"
          size="small"
          @click="startFiledAndcondition"
        >取 消</el-button>
        <el-button
          class="primaries"
          size="small"
          @click="appendQueryFilter"
        >确 定</el-button>
                   @click="appendQueryFilter">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog
      :title=" $t('synthesis.rangequery')"
    <el-dialog :title=" $t('synthesis.rangequery')"
      :visible.sync="dialogMapVisible"
      width="90%"
      top="10vh"
      :before-close="handleMapClose"
    >
               :before-close="handleMapClose">
      <div style="height:700px">
        <map-sdk v-if='showMapVisible'></map-sdk>
      </div>
    </el-dialog>
    <el-dialog
      title="预览"
    <el-dialog title="预览"
      :append-to-body="false"
      :visible.sync="dialog.dialogVisible"
      width="70%"
      :close-on-click-modal="false"
    >
      <div
        v-if="dialog.isPdf"
        class="pdfClass"
      >
        <iframe
          :src="dialog.src"
               :close-on-click-modal="false">
      <div v-if="dialog.isPdf"
           class="pdfClass">
        <iframe :src="dialog.src"
          type="application/x-google-chrome-pdf"
          width="100%"
          height="100%"
        >
                height="100%">
        </iframe>
      </div>
      <div
        v-if="dialog.isJpg"
        class="pdfClass"
      >
        <el-image
          style="width:100%; height:100%"
      <div v-if="dialog.isJpg"
           class="pdfClass">
        <el-image style="width:100%; height:100%"
          :src="dialog.src"
          :preview-src-list="[dialog.src]"
        >
                  :preview-src-list="[dialog.src]">
        </el-image>
      </div>
    </el-dialog>
    <el-dialog
      :title="attribute.title"
    <el-dialog :title="attribute.title"
      :append-to-body="false"
      :visible.sync="AttributedialogVisible"
      width="80%"
      :close-on-click-modal="false"
    >
               :close-on-click-modal="false">
      <div class="attributeBox">
        <div class="attrubuteLeft">
          <ul>
            <li
              v-for="item in attrbuteOption"
            <li v-for="item in attrbuteOption"
              :class="{active:attributeFlag === item.name}"
              @click="setChangeAttrubuteData(item)"
            >
                @click="setChangeAttrubuteData(item)">
              {{item.name}}
            </li>
          </ul>
        </div>
        <div class="attrubuteRight">
          <el-table
            ref="refAttributeTable"
          <el-table ref="refAttributeTable"
            :data="attributeTable"
            style="width:100%;"
            border
            height="calc(100% - 50px)"
          >
            <el-table-column
              type="selection"
              align="center"
            />
                    height="calc(100% - 50px)">
            <el-table-column type="selection"
                             align="center" />
            <el-table-column
              min-width="135"
            <el-table-column min-width="135"
              v-for="(item, index) in  attributeFild"
              :key="index"
              :label="item.alias"
              :prop="item.field"
              show-overflow-tooltip
              align="center"
            ></el-table-column>
                             align="center"></el-table-column>
          </el-table>
          <div class="pagination_box">
            <el-pagination
              @size-change="attributeSizeChange"
            <el-pagination @size-change="attributeSizeChange"
              @current-change="attributeCurrentChange"
              :current-page="attribute.pageIndex"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="attribute.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="attribute.count"
            >
                           :total="attribute.count">
            </el-pagination>
          </div>
        </div>