月球大数据地理空间分析展示平台-【中台】
Surpriseplus
2023-09-15 cd6722665d20ed6a9221a44d381b5e0901fc918d
颜色别表更新
已修改7个文件
954 ■■■■ 文件已修改
src/api/api.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/en.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/zh.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/layerManagement.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/uploadmanage.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/maintenance/blackwhiteList.vue 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/maintenance/colorTableManage.vue 636 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js
@@ -1248,3 +1248,22 @@
export function publish_selectSjMissionStatus(params) {
  return request.get("/publish/selectSjMissionStatus", { params: params });
}
//颜色表管理=>分页查询并返回记录数
export function colortab_selectByPageAndCount(params) {
  return request.get("/colortab/selectByPageAndCount", { params: params });
}
//颜色表管理=>插入一条
export function colortab_insert(params) {
  return service.post('/colortab/insert', params);
}
//颜色表管理=>插入一条
export function colortab_update(params) {
  return service.post('/colortab/update', params);
}
//颜色表管理=>删除多条
export function colortab_deletes(params) {
  return service.get('/colortab/deletes', { params: params });
}
src/assets/lang/en.js
@@ -309,6 +309,7 @@
      labe13: 'Grade',
      labe14: 'Classification',
      labe15: 'Range',
      label6: 'Color Table Details'
    },
src/assets/lang/zh.js
@@ -242,6 +242,7 @@
      labe17: '拉伸因子',
      labe18: '渲染类型',
      labe19: '颜色表类型'
    },
    dictionaryManage: '字典管理',
    dictionaryManageObj: {
@@ -303,6 +304,7 @@
      labe13: '分级',
      labe14: '分类',
      labe15: '值域',
      label6: '颜色表详情'
    },
    styleObj: {
      index: '序号',
src/views/datamanage/layerManagement.vue
@@ -99,7 +99,7 @@
        </div>
        <div class="dividing-line"></div>
        <div style="padding: 10px;">
        <div style="padding: 10px;height: 70vh;margin-top: 10px; overflow: auto;">
          <el-form
            :model="formInline"
            class="demo-form-inline"
src/views/datamanage/uploadmanage.vue
@@ -805,7 +805,7 @@
        },
        {
          value: 1,
          label: "直方图均衡",
          label: "渐变颜色表",
        }],
      loadingText: '数据发布中',
    }
src/views/maintenance/blackwhiteList.vue
@@ -1,16 +1,27 @@
<template>
  <div class="logLog_box">
    <My-bread
      :list="[
    <My-bread :list="[
        `${$t('operatManage.operatManage')}`,
        `${$t('operatManage.blackwhiteList')}`,
      ]"
    ></My-bread>
      ]"></My-bread>
    <el-divider />
    <el-tabs v-model="activeName" @tab-click="handleClick">
      <el-tab-pane :label="$t('operatManage.BWL.blackList')" name="first">
        <div class="inquire subpage_Div" ref="container">
          <el-form ref="queryInfo" :model="queryInfo" :inline="true">
    <el-tabs
      v-model="activeName"
      @tab-click="handleClick"
    >
      <el-tab-pane
        :label="$t('operatManage.BWL.blackList')"
        name="first"
      >
        <div
          class="inquire subpage_Div"
          ref="container"
        >
          <el-form
            ref="queryInfo"
            :model="queryInfo"
            :inline="true"
          >
            <div class="flex_box">
              <div style="margin-right: auto">
                <el-form-item
@@ -18,45 +29,48 @@
                  prop="blackListIP"
                >
                  <el-input
                      size="small"
                    size="small"
                    style="width: 200px"
                    v-model="queryInfo.ip"
                    :placeholder="$t('operatManage.BWL.blackListIPHolder')"
                  >
                    <i slot="suffix" class="el-icon-search" @click="queryBlackInfo"></i>
                    <i
                      slot="suffix"
                      class="el-icon-search"
                      @click="queryBlackInfo"
                    ></i>
                  </el-input>
                </el-form-item>
<!--                <el-form-item-->
<!--                  :label="$t('operatManage.BWL.interceptionNumber')"-->
<!--                  prop="visit"-->
<!--                >-->
<!--                  <el-input-->
<!--                      size="small"-->
<!--                    style="width: 200px"-->
<!--                    v-model="queryInfo.visit"-->
<!--                    :placeholder="$t('operatManage.BWL.interceptionNumber')"-->
<!--                  />-->
<!--                </el-form-item>-->
                <!--                <el-form-item-->
                <!--                  :label="$t('operatManage.BWL.interceptionNumber')"-->
                <!--                  prop="visit"-->
                <!--                >-->
                <!--                  <el-input-->
                <!--                      size="small"-->
                <!--                    style="width: 200px"-->
                <!--                    v-model="queryInfo.visit"-->
                <!--                    :placeholder="$t('operatManage.BWL.interceptionNumber')"-->
                <!--                  />-->
                <!--                </el-form-item>-->
              </div>
              <div>
<!--                <el-form-item>-->
<!--                  <el-button-->
<!--                    type="primary"-->
<!--                    @click="queryBlackInfo()"-->
<!--                    size="small"-->
<!--                    icon="el-icon-search"-->
<!--                    >{{ $t("operatManage.BWL.search") }}-->
<!--                  </el-button>-->
<!--                </el-form-item>-->
                <!--                <el-form-item>-->
                <!--                  <el-button-->
                <!--                    type="primary"-->
                <!--                    @click="queryBlackInfo()"-->
                <!--                    size="small"-->
                <!--                    icon="el-icon-search"-->
                <!--                    >{{ $t("operatManage.BWL.search") }}-->
                <!--                  </el-button>-->
                <!--                </el-form-item>-->
                <el-form-item>
                  <el-button
                      icon="el-icon-edit"
                      v-if="menuStatus.insert"
                      type="success"
                      size="small"
                      @click="showInsertdialog(1)"
                  >{{ $t("common.append") }}</el-button
                  >
                    icon="el-icon-edit"
                    v-if="menuStatus.insert"
                    type="success"
                    size="small"
                    @click="showInsertdialog(1)"
                  >{{ $t("common.append") }}</el-button>
                </el-form-item>
                <el-form-item>
                  <el-button
@@ -65,23 +79,24 @@
                    type="danger"
                    size="small"
                    @click="delBWList"
                    >{{ $t("common.delete") }}</el-button
                  >
                  >{{ $t("common.delete") }}</el-button>
                </el-form-item>
                <el-form-item>
                  <el-button
                      type="info"
                      @click="resetInfo('queryInfo')"
                      icon="el-icon-refresh"
                      size="small"
                  >{{ $t("operatManage.BWL.reset") }}</el-button
                  >
                    type="info"
                    @click="resetInfo('queryInfo')"
                    icon="el-icon-refresh"
                    size="small"
                  >{{ $t("operatManage.BWL.reset") }}</el-button>
                </el-form-item>
              </div>
            </div>
          </el-form>
        </div>
        <div class="table_box subpage_Div" :style="styleVar">
        <div
          class="table_box subpage_Div"
          :style="styleVar"
        >
          <el-table
            :data="BTableData"
            border
@@ -89,7 +104,10 @@
            style="width: 100%"
            height="calc(100% - 45px)"
          >
            <el-table-column type="selection" width="55" />
            <el-table-column
              type="selection"
              width="55"
            />
            <el-table-column
              align="center"
              type="index"
@@ -138,12 +156,14 @@
                  type="warning"
                  plain
                  size="small"
                  >{{ $t("common.update") }}</el-button
                >
                >{{ $t("common.update") }}</el-button>
              </template>
            </el-table-column>
          </el-table>
          <div class="pagination_box" style="margin-top: 10px">
          <div
            class="pagination_box"
            style="margin-top: 10px"
          >
            <el-pagination
              @size-change="BhandleSizeChange"
              @current-change="BhandleCurrentChange"
@@ -157,9 +177,16 @@
          </div>
        </div>
      </el-tab-pane>
      <el-tab-pane :label="$t('operatManage.BWL.whiteList')" name="second">
      <el-tab-pane
        :label="$t('operatManage.BWL.whiteList')"
        name="second"
      >
        <div class="inquire subpage_Div">
          <el-form ref="queryInfo" :model="queryInfo" :inline="true">
          <el-form
            ref="queryInfo"
            :model="queryInfo"
            :inline="true"
          >
            <div class="flex_box">
              <div style="margin-right: auto">
                <el-form-item
@@ -167,43 +194,46 @@
                  prop="ip"
                >
                  <el-input
                      size="small"
                    size="small"
                    style="width: 200px"
                    v-model="queryInfo.ip"
                    :placeholder="$t('operatManage.BWL.whiteListIPHolder')"
                  >
                    <i slot="suffix" class="el-icon-search" @click="queryWhiteInfo"></i>
                    <i
                      slot="suffix"
                      class="el-icon-search"
                      @click="queryWhiteInfo"
                    ></i>
                  </el-input>
                </el-form-item>
<!--                <el-form-item-->
<!--                  :label="$t('operatManage.BWL.interceptionNumber')"-->
<!--                  prop="visit"-->
<!--                >-->
<!--                  <el-input-->
<!--                      size="small"-->
<!--                    style="width: 200px"-->
<!--                    v-model="queryInfo.visit"-->
<!--                    :placeholder="$t('operatManage.BWL.interceptionNumber')"-->
<!--                  />-->
<!--                </el-form-item>-->
                <!--                <el-form-item-->
                <!--                  :label="$t('operatManage.BWL.interceptionNumber')"-->
                <!--                  prop="visit"-->
                <!--                >-->
                <!--                  <el-input-->
                <!--                      size="small"-->
                <!--                    style="width: 200px"-->
                <!--                    v-model="queryInfo.visit"-->
                <!--                    :placeholder="$t('operatManage.BWL.interceptionNumber')"-->
                <!--                  />-->
                <!--                </el-form-item>-->
              </div>
              <div>
<!--                <el-form-item>-->
<!--                  <el-button size="small" type="primary" @click="queryWhiteInfo"-->
<!--                    ><i class="el-icon-search"></i> &nbsp;{{-->
<!--                      $t("operatManage.BWL.search")-->
<!--                    }}</el-button-->
<!--                  >-->
<!--                </el-form-item>-->
                <!--                <el-form-item>-->
                <!--                  <el-button size="small" type="primary" @click="queryWhiteInfo"-->
                <!--                    ><i class="el-icon-search"></i> &nbsp;{{-->
                <!--                      $t("operatManage.BWL.search")-->
                <!--                    }}</el-button-->
                <!--                  >-->
                <!--                </el-form-item>-->
                <el-form-item>
                  <el-button
                      type="success"
                      size="small"
                      icon="el-icon-edit"
                      v-if="menuStatus.insert"
                      @click="showInsertdialog(2)"
                  >{{ $t("common.append") }}</el-button
                  >
                    type="success"
                    size="small"
                    icon="el-icon-edit"
                    v-if="menuStatus.insert"
                    @click="showInsertdialog(2)"
                  >{{ $t("common.append") }}</el-button>
                </el-form-item>
                <el-form-item>
                  <el-button
@@ -212,24 +242,25 @@
                    icon="el-icon-delete"
                    v-if="menuStatus.delete"
                    @click="delBWList"
                    >{{ $t("common.delete") }}</el-button
                  >
                  >{{ $t("common.delete") }}</el-button>
                </el-form-item>
                <el-form-item>
                  <el-button
                      @click="resetForm('queryInfo')"
                      type="info"
                      size="small"
                    @click="resetForm('queryInfo')"
                    type="info"
                    size="small"
                  ><i class="el-icon-delete"></i> &nbsp;{{
                      $t("operatManage.BWL.reset")
                    }}</el-button
                  >
                    }}</el-button>
                </el-form-item>
              </div>
            </div>
          </el-form>
        </div>
        <div class="table_box subpage_Div" :style="styleVar">
        <div
          class="table_box subpage_Div"
          :style="styleVar"
        >
          <el-table
            :data="WTableData"
            border
@@ -237,7 +268,10 @@
            style="width: 100%"
            height="calc(100% - 45px)"
          >
            <el-table-column type="selection" width="55" />
            <el-table-column
              type="selection"
              width="55"
            />
            <el-table-column
              align="center"
              type="index"
@@ -286,13 +320,15 @@
                  type="warning"
                  plain
                  size="small"
                  >{{ $t("common.update") }}</el-button
                >
                >{{ $t("common.update") }}</el-button>
              </template>
            </el-table-column>
          </el-table>
          <div class="pagination_box" style="margin-top: 10px">
          <div
            class="pagination_box"
            style="margin-top: 10px"
          >
            <el-pagination
              @size-change="WhandleSizeChange"
              @current-change="WhandleCurrentChange"
@@ -313,7 +349,11 @@
      :before-close="handleClose"
    >
      <el-form ref="insertform" :model="insertform" label-position="top">
      <el-form
        ref="insertform"
        :model="insertform"
        label-position="top"
      >
        <el-form-item
          :label-width="formLabelWidth"
          :label="$t('operatManage.tokentoolObj.ip')"
@@ -321,7 +361,7 @@
          <el-input
            v-model="insertform.ip"
            :placeholder="$t('common.pleaseInput')"
             style="width:85%"
            style="width:85%"
          />
        </el-form-item>
        <el-form-item
@@ -331,7 +371,7 @@
          <el-input
            v-model="insertform.visit"
            :placeholder="$t('common.pleaseInput')"
             style="width:85%"
            style="width:85%"
          />
        </el-form-item>
        <el-form-item
@@ -341,16 +381,26 @@
          <el-input
            v-model="insertform.descr"
            :placeholder="$t('common.pleaseInput')"
             style="width:85%"
            style="width:85%"
          />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button size="small" @click="insertFromDataClose">{{
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="insertFromDataClose"
        >{{
          $t("common.close")
        }}</el-button>
        <el-button @click="insertFromData" type="primary" size="small">{{
        <el-button
          @click="insertFromData"
          type="primary"
          size="small"
        >{{
          $t("common.confirm")
        }}</el-button>
      </div>
@@ -361,22 +411,35 @@
      :visible.sync="updateFormdialog"
      :before-close="handleCloseEdit"
    >
      <el-form ref="editfrom" :model="editfrom" label-position="top">
        <el-form-item :label-width="formLabelWidth" label="IP地址">
      <el-form
        ref="editfrom"
        :model="editfrom"
        label-position="top"
      >
        <el-form-item
          :label-width="formLabelWidth"
          label="IP地址"
        >
          <el-input
            v-model="editfrom.ip"
            :placeholder="$t('common.pleaseInput')"
            style="width:85%"
          />
        </el-form-item>
        <el-form-item :label-width="formLabelWidth" label="访问次数">
        <el-form-item
          :label-width="formLabelWidth"
          label="访问次数"
        >
          <el-input
            v-model="editfrom.visit"
            :placeholder="$t('common.pleaseInput')"
            style="width:85%"
          />
        </el-form-item>
        <el-form-item :label-width="formLabelWidth" label="描述">
        <el-form-item
          :label-width="formLabelWidth"
          label="描述"
        >
          <el-input
            v-model="editfrom.descr"
            :placeholder="$t('common.pleaseInput')"
@@ -384,11 +447,21 @@
          />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button size="small" @click="editFromDataClose">{{
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="editFromDataClose"
        >{{
          $t("common.close")
        }}</el-button>
        <el-button @click="editFromData" type="primary" size="small">{{
        <el-button
          @click="editFromData"
          type="primary"
          size="small"
        >{{
          $t("common.confirm")
        }}</el-button>
      </div>
@@ -654,12 +727,7 @@
      var s = time.getSeconds();
      return (
        y + "-" + this.add0(m) + "-" + this.add0(d)
        // " " +
        // this.add0(h) +
        // ":" +
        // this.add0(mm) +
        // ":" +
        // this.add0(s)
      );
    },
    //格式化列表
@@ -769,7 +837,7 @@
    width: 300px;
  }
  .inquire {
    padding:0 8px;
    padding: 0 8px;
    //margin-top: 20px;
    border-radius: 5px;
src/views/maintenance/colorTableManage.vue
@@ -20,7 +20,7 @@
              <el-input
                style="width:200px"
                size="small"
                v-model="ruleForm.name"
                v-model="listData.name"
                :placeholder="$t('userManage.authorityM.nameHolder')"
              >
                <i
@@ -74,6 +74,7 @@
        style="width: 100%"
        border
        height="calc(100% - 55px)"
        @selection-change="handleSelectionChange"
      >
        <el-table-column
          type="selection"
@@ -86,6 +87,44 @@
          width="70px"
        />
        <el-table-column
          align="center"
          prop="name"
          :label="$t('dataManage.styleObj.name')"
        />
        <el-table-column
          align="center"
          prop="type"
          :label="$t('common.type')"
          :formatter="formatType"
        />
        <el-table-column
          align="center"
          prop="bak"
          :label="$t('common.bak')"
        />
        <el-table-column
          align="center"
          prop="createUser"
          :label="$t('operatManage.BWL.creator')"
        />
        <el-table-column
          align="center"
          prop="createTime"
          :label="$t('operatManage.BWL.creationTime')"
          :formatter="formatData"
        />
        <el-table-column
          align="center"
          prop="updateUser"
          :label="$t('operatManage.BWL.update')"
        />
        <el-table-column
          align="center"
          prop="updateTime"
          :label="$t('operatManage.BWL.UpdateTime')"
          :formatter="formatData"
        />
        <el-table-column
          min-width="100"
          :label="$t('dataManage.dictionaryManageObj.operation')"
        >
@@ -95,12 +134,14 @@
              type="primary"
              plain
              size="small"
              @click="handleShowDetial(scope.$index, scope.row)"
            >{{ $t('dataManage.dictionaryManageObj.lookOver') }}</el-button>
            <el-button
              v-if="btnStatus.update"
              type="warning"
              plain
              size="small"
              @click="handleEdit(scope.$index, scope.row)"
            >{{ $t('dataManage.dictionaryManageObj.revamp') }}</el-button>
          </template>
@@ -129,11 +170,15 @@
      :visible.sync="dialogVisible"
    >
      <el-form
        ref="form"
        ref="formInline"
        :model="formInline"
        label-width="100px"
        :rules="rules"
      >
        <el-form-item :label="$t('dataManage.colorTableObj.labe11')">
        <el-form-item
          :label="$t('dataManage.colorTableObj.labe11')"
          prop="name"
        >
          <el-input
            style="width: 100%;"
            size="small"
@@ -214,7 +259,13 @@
          </el-col>
        </el-row>
        <el-form-item :label="$t('common.bak')">
          <el-input
            style="width: 100%;"
            size="small"
            v-model="formInline.bak"
          ></el-input>
        </el-form-item>
      </el-form>
      <div class="dialogContent">
        <div v-for="(item,index) in listOption">
@@ -256,18 +307,18 @@
              ></el-color-picker>
            </div>
            <div
              v-show="formInline.type == 1"
              v-show="formInline.type == 0"
              class="contentBackground"
              :style="{background: item.start}"
            >
            </div>
            <div
              v-show="formInline.type == 2"
              v-show="formInline.type == 1"
              class="contentBackground"
              :style="{   background: `linear-gradient(to right,${ item.start},${item.end}`,}"
            >
            </div>
            <div v-show="formInline.type == 2">
            <div v-show="formInline.type == 1">
              <el-color-picker
                size="small"
                v-model="item.end"
@@ -280,84 +331,183 @@
      </div>
      <div style="padding-top: 10px;width: 100%; display: flex; justify-content: end;">
        <el-button size="mini">{{ $t('common.cancel') }}</el-button>
        <el-button
          size="mini"
          @click="resetForm('formInline')"
        >{{ $t('common.cancel') }}</el-button>
        <el-button
          size="mini"
          type="primary"
          @click="submitForm('formInline')"
        >{{ $t('common.confirm') }}</el-button>
      </div>
    </el-dialog>
    <div
      class="infoBox_box"
      v-show="showinfoBox"
    <!-- 查看 -->
    <el-dialog
      :title=" `${$t('dataManage.colorTableObj.label6')}` "
      :visible.sync="showDialogVisible"
    >
      <div class="infoBox subpage_Div box_div">
      <el-form
        ref="formInline"
        :model="fromDetial"
        label-width="100px"
        :rules="rules"
      >
        <el-form-item :label="$t('dataManage.colorTableObj.labe11')">
          <el-input
            style="width: 100%;"
            size="small"
            v-model="fromDetial.name"
            disabled
          ></el-input>
        </el-form-item>
        <el-form-item :label="$t('dataManage.colorTableObj.labe12')">
          <el-row>
            <el-col :span="10">
              <div>
                <el-input-number
                  style="width: 100%;"
                  :step="1"
                  controls-position="right"
                  size="small"
                  v-model="fromDetial.low"
                  disabled
                ></el-input-number>
              </div>
            </el-col>
            <el-col :span="2">
              <div style="display: flex; align-items: center;justify-content: center;color: white;">——</div>
            </el-col>
            <el-col :span="12">
              <div><el-input-number
                  size="small"
                  controls-position="right"
                  :step="1"
                  style="width: 100%;"
                  v-model="fromDetial.height"
                  disabled
                ></el-input-number></div>
            </el-col>
          </el-row>
        </el-form-item>
        <el-row>
          <el-col :span="11">
            <el-form-item :label="$t('dataManage.colorTableObj.labe13')">
              <el-select
                style="width: 100%;"
                v-model="fromDetial.level"
                placeholder="请选择"
                size="small"
                disabled
              >
                <el-option
                  v-for="item in leveloptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="2">
            <div style="width: 100%;"> </div>
          </el-col>
          <el-col :span="13">
            <el-form-item :label="$t('dataManage.colorTableObj.labe14')">
              <el-select
                style="width: 100%;"
                v-model="fromDetial.type"
                placeholder="请选择"
                size="small"
                disabled
              >
                <el-option
                  v-for="item in typeOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
                </el-option>
              </el-select>
            </el-form-item>
        <div
          slot="header"
          class="clearfix"
        >
          <span>{{ $t('dataManage.styleObj.deInformation') }}</span>
          <div
            style="float: right; cursor: pointer"
            @click="closeDetial"
          >
            <i class="el-icon-close"></i>
          </el-col>
        </el-row>
        <el-form-item :label="$t('common.bak')">
          <el-input
            style="width: 100%;"
            size="small"
            disabled
            v-model="fromDetial.bak"
          ></el-input>
        </el-form-item>
      </el-form>
      <div class="dialogContent">
        <div v-for="(item,index) in listOption">
          <div class="content">
            <div>
              <label>{{ $t('dataManage.colorTableObj.labe15')}} : </label>
            </div>
            <div>
              <el-input-number
                :disabled="index ==0"
                style="width: 100%;"
                :step="0.001"
                controls-position="right"
                size="small"
                v-model="item.low"
                disabled
              ></el-input-number>
            </div>
            <div>-</div>
            <div>
              <el-input-number
                :disabled="index ==listOption.length-1"
                style="width: 100%;"
                :step="0.001"
                controls-position="right"
                size="small"
                v-model="item.height"
                disabled
              ></el-input-number>
            </div>
            <div>
              <el-color-picker
                size="small"
                v-model="item.start"
                show-alpha
                disabled
              ></el-color-picker>
            </div>
            <div
              v-show="fromDetial.type == 0"
              class="contentBackground"
              :style="{background: item.start}"
            >
            </div>
            <div
              v-show="fromDetial.type == 1"
              class="contentBackground"
              :style="{   background: `linear-gradient(to right,${ item.start},${item.end}`,}"
            >
            </div>
            <div v-show="fromDetial.type == 1">
              <el-color-picker
                size="small"
                v-model="item.end"
                show-alpha
                disabled
              ></el-color-picker>
            </div>
          </div>
        </div>
        <el-divider></el-divider>
        <div class="contentBox">
          <p>
            <label> {{ $t('dataManage.styleObj.name') }}:</label>
            <label class="boxlabel">{{ itemdetail.name }}</label>
          </p>
          <el-divider></el-divider>
          <p>
          <p>
            <label> {{ $t('common.fileType') }}:</label>
            <label class="boxlabel">{{ itemdetail.fileType }}</label>
          </p>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('common.templateType') }}:</label>
            <label class="boxlabel">{{ itemdetail.code }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('common.filePath') }}:</label>
            <label class="boxlabel">{{ itemdetail.fname }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('common.bak') }}:</label>
            <label class="boxlabel">{{ itemdetail.bak }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('dataManage.vmobj.createonuser') }}:</label>
            <label class="boxlabel">{{ itemdetail.createName }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('dataManage.vmobj.createontime') }}:</label>
            <label class="boxlabel">{{ itemdetail.cTime }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('dataManage.vmobj.updateonuser') }}:</label>
            <label class="boxlabel">{{ itemdetail.updateName }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('dataManage.vmobj.updateontime') }}:</label>
            <label class="boxlabel">{{ itemdetail.uTime }}</label>
          </p>
          <el-divider></el-divider>
        </div>
      </div>
    </div>
      <div style="padding-top: 10px;width: 100%; display: flex; justify-content: end;">
      </div>
    </el-dialog>
  </div>
</template>
@@ -365,10 +515,14 @@
<script>
import MyBread from "../../components/MyBread.vue";
import {
  colortab_selectByPageAndCount,
  colortab_insert,
  colortab_update,
  colortab_deletes
} from "../../api/api.js";
import { getToken } from "@/utils/auth";
import { helper } from 'echarts';
import { sector } from '@turf/turf';
export default {
  name: "templateManage",
  components: { MyBread },
@@ -391,7 +545,14 @@
        low: 0,
        height: 2000,
        level: 1,
        type: 1
        type: 0,
        bak: ''
      },
      rules: {
        name: [
          { required: true, message: '请输入活动名称', trigger: 'blur' },
        ],
      },
      listData: {
        pageIndex: 1,
@@ -418,12 +579,15 @@
      leveloptions: [],
      typeOptions: [],
      listOption: [],
      showDialogVisible: false,
      fromDetial: {},
      multipleSelection: []
    };
  },
  created() {
    this.showPermsBtn();
    this.setDataStart();
    this.setSearchTable();
  },
  beforeDestroy() {
    this.timer && clearTimeout(this.timer);
@@ -434,6 +598,264 @@
    this.calHeight();
  },
  methods: {
    handleSelectionChange(val) {
      this.multipleSelection = val;
    },
    //详情关闭
    handleShowDetial(index, row) {
      var val = JSON.parse(JSON.stringify(row))
      var json = JSON.parse(val.json)
      var length = json.levels.length;
      var level = json.levels;
      this.fromDetial = {
        name: val.name,
        low: level[0].low,
        height: level[length - 1].height,
        level: length,
        type: val.type,
        id: val.id,
        bak: val.bak
      }
      this.listOption = [];
      var color = "rgba(255,0,0,1)"
      for (var i = 0; i < length; i++) {
        var color1, color2
        if (val.type == 0) {
          var start = [level[i].r, level[i].g, level[i].b, 1]
          color1 = 'rgba(' + start.toString() + ')'
          color2 = color;
        } else if (val.type == 1) {
          var start = [level[i].r_start, level[i].g_start, level[i].b_start, 1]
          var end = [level[i].r_end, level[i].g_end, level[i].b_end, 1]
          color1 = 'rgba(' + start.toString() + ')';
          color2 = 'rgba(' + end.toString() + ')';
        }
        this.listOption.push({
          low: level[i].low,
          height: level[i].height,
          start: color1,
          end: color2,
          id: i + 1,
        })
      }
      this.showDialogVisible = true;
    },
    handleEdit(index, row) {
      var val = JSON.parse(JSON.stringify(row))
      var json = JSON.parse(val.json)
      var length = json.levels.length;
      var level = json.levels;
      this.formInline = {
        name: val.name,
        low: level[0].low,
        height: level[length - 1].height,
        level: length,
        type: val.type,
        id: val.id,
        bak: val.bak
      }
      this.listOption = [];
      var color = "rgba(255,0,0,1)"
      for (var i = 0; i < length; i++) {
        var color1, color2
        if (val.type == 0) {
          var start = [level[i].r, level[i].g, level[i].b, 1]
          color1 = 'rgba(' + start.toString() + ')'
          color2 = color;
        } else if (val.type == 1) {
          var start = [level[i].r_start, level[i].g_start, level[i].b_start, 1]
          var end = [level[i].r_end, level[i].g_end, level[i].b_end, 1]
          color1 = 'rgba(' + start.toString() + ')';
          color2 = 'rgba(' + end.toString() + ')';
        }
        this.listOption.push({
          low: level[i].low,
          height: level[i].height,
          start: color1,
          end: color2,
          id: i + 1,
        })
      }
      this.behavior = '修改';
      this.dialogVisible = true;
    },
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          if (this.behavior == '新增') {
            this.setInsertColorTable();
          } else if (this.behavior == '修改') {
            this.setEditColorTable();
          }
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
    resetForm(formName) {
      this.dialogVisible = false;
    },
    async setEditColorTable() {
      this.dialogVisible = false;
      var obj = this.getColorLevels();
      var updateObj = {
        name: this.formInline.name,
        type: this.formInline.type,
        json: JSON.stringify(obj),
        id: this.formInline.id,
        bak: this.formInline.bak
      }
      colortab_update(updateObj).then((res) => {
        if (res.code != 200) {
          this.$message({
            message: "颜色表修改失败 !",
            type: "warning",
          });
          return
        }
        this.$message({
          message: "颜色表修改成功!",
          type: "success",
        });
        this.setSearchTable();
      })
    },
    setInsertColorTable() {
      this.dialogVisible = false;
      var obj = this.getColorLevels();
      var insertObj = {
        name: this.formInline.name,
        type: this.formInline.type,
        json: JSON.stringify(obj),
        bak: this.formInline.bak
      }
      colortab_insert(insertObj).then((res) => {
        if (res.code != 200) {
          this.$message({
            message: "颜色表添加失败 !",
            type: "warning",
          });
          return
        }
        this.$message({
          message: "颜色表添加成功!",
          type: "success",
        });
        this.setSearchTable();
      })
    },
    getColorLevels() {
      var levels = [];
      for (var i in this.listOption) {
        levels.push(this.getRgbaColor(this.listOption[i]))
      }
      var obj = {}
      if (this.formInline.type == 0) {//普通
        obj = {
          default: {
            r: -1,
            g: -1,
            b: -1
          },
          levels: levels,
          type: this.formInline.type
        }
      } else if (this.formInline.type == 1) {//渐变
        obj = {
          gradation: 'visibility',
          default: {
            r: -1,
            g: -1,
            b: -1
          },
          levels: levels,
          type: this.formInline.type
        }
      }
      return obj
    },
    getRgbaColor(res) {
      var start = this.setColorToString(res.start)
      var end = this.setColorToString(res.end)
      if (this.formInline.type == 0) {
        return {
          r: start.r,
          g: start.g,
          b: start.b,
          height: res.height,
          low: res.low,
        }
      } else if (this.formInline.type == 1) {
        return {
          r_start: start.r,
          g_start: start.g,
          b_start: start.b,
          r_end: end.r,
          g_end: end.g,
          b_end: end.b,
          height: res.height,
          low: res.low,
        }
      }
    },
    setColorToString(res) {
      var val = res.slice(5).slice(0, -1).split(',')
      return {
        r: val[0],
        g: val[1],
        b: val[2],
      }
    },
    //格式化时间
    add0(m) {
      return m < 10 ? "0" + m : m;
    },
    //格式化时间
    format(shijianchuo) {
      //shijianchuo是整数,否则要parseInt转换
      var time = new Date(shijianchuo);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return (
        y + "-" + this.add0(m) + "-" + this.add0(d)
      );
    },
    formatType(row, column) {
      let data = row[column.property];
      if (data == null) {
        return data;
      }
      if (data == 0) {
        return '普通'
      } else if (data == 1) {
        return '渐变'
      }
    },
    //格式化列表
    formatData(row, column) {
      let data = row[column.property];
      if (!data) {
        return data;
      }
      return this.format(data);
    },
    setColorEndChange(res) {
      if (res.id == this.listOption.length) return;
      for (var i = 0; i < this.listOption.length; i++) {
@@ -443,7 +865,7 @@
      }
    },
    setColorStartChange(res) {
      if (this.formInline.type == 1) return
      if (this.formInline.type == 0) return
      if (res.id == 1) return;
      for (var i = 0; i < this.listOption.length; i++) {
        if (this.listOption[i].id == res.id) {
@@ -477,7 +899,8 @@
          this.listOption[i].height = (parseFloat(val.height) + parseFloat(step)).toFixed(3);
        }
      }
      this.listOption[res - 1].height = this.formInline.height
      this.listOption[this.listOption.length - 1].height = this.formInline.height
    },
    //级别切换
@@ -517,10 +940,10 @@
        })
      }
      this.typeOptions = [{
        value: 1,
        value: 0,
        label: '普通'
      }, {
        value: 2,
        value: 1,
        label: '渐变'
      }]
    },
@@ -542,7 +965,8 @@
        low: 0,
        height: 2000,
        level: 1,
        type: 1
        type: 0,
        bak: ''
      }
      this.setLevelChange(this.formInline.level);
      this.behavior = '新增';
@@ -550,22 +974,54 @@
    },
    //删除
    setTableDelete() {
    //删除
    async setTableDelete() {
      if (this.multipleSelection.length <= 0) {
        this.$message({
          message: '请选择要删除的颜色表',
          type: 'warning'
        });
        return
      }
      var std = [];
      for (var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].id)
      }
      colortab_deletes({ ids: std.toString() }).then((res) => {
        if (res.code != 200) {
          this.$message({
            message: "颜色表删除失败 !",
            type: "warning",
          });
          return
        }
        this.$message({
          message: "颜色表删除成功!",
          type: "success",
        });
        this.setSearchTable();
      })
    },
    //重置
    setTableRefresh() {
      this.listData = {
        pageIndex: 1,
        pageSize: 10,
        name: "",
        count: 0,
      }
      this.setSearchTable();
    },
    //查询
    setSearchTable() {
    async setSearchTable() {
      const data = await colortab_selectByPageAndCount(this.listData)
      if (data.code != 200) return;
      this.tableData = data.result;
      this.listData.count = data.count;
    },
    //详情关闭
    closeDetial() {
    },
    onResize() {
      this.timer && clearTimeout(this.timer);
      this.timer = setTimeout(() => {
@@ -650,7 +1106,7 @@
    }
  }
  .dialogContent {
    width: 100%;
    width: calc(100% - 20px);
    height: 40vh;
    background: rgba(104, 156, 255, 0.1);
    .content {