sujunling hace 2 años
padre
commit
6ad585c277

BIN
.DS_Store


+ 1 - 1
.env.development

@@ -11,7 +11,7 @@ VITE_GLOB_PUBLIC_PATH = /
 # VITE_PROXY = [["/api","http://192.168.2.225/api"]]
 
 # 线上演示环境
-VITE_PROXY = [["/api","http://117.174.10.73:19200"],["/agent","http://117.174.10.73:31895"],["/iserver","http://221.182.8.141:15000/iserver"],["/onlineIde","http://106.12.170.138:4001/examples"],["/tfDemo","http://106.12.170.138:4001/demo"],["/mapTools","http://192.168.2.208:10090"]]
+VITE_PROXY = [["/api","http://117.174.10.73:19200"],["/agent","http://117.174.10.73:31895"],["/iserver","http://221.182.8.141:15000/iserver"],["/onlineIde","http://106.12.170.138:4001/examples"],["/tfDemo","http://106.12.170.138:4001/demo"],["/mapTools","http://106.12.170.138:10090"]]
 # VITE_PROXY = [["/api","http://192.168.119.143:9200"],["/agent","http://192.168.119.143:31895"],["/iserver","http://221.182.8.141:15000/iserver"],["/onlineIde","http://106.12.170.138:4001/examples"],["/tfDemo","http://106.12.170.138:4001/demo"]]                                                            
 # 线上测试环境
 # VITE_PROXY = [["/api","http://localhost:8080/api"],["/thingskit-drawio","http://localhost:3000/"]]

+ 6 - 0
index.html

@@ -34,6 +34,11 @@
       opacity: 0 !important;
     }
 
+    .vben-simple-menu-sub-title:contains("用户管理") {
+      width: 50px !important;
+      text-overflow: clip !important;
+    }
+
     .vben-layout-menu-logo img {
       width: 22px !important;
       opacity: 0 !important;
@@ -241,6 +246,7 @@
     </style>
   </div>
   <script type="module" src="/src/main.ts"></script>
+
 </body>
 
 </html>

+ 2 - 1
public/mapview.html

@@ -36,7 +36,8 @@
                 if (arr[1].indexOf("onlineIde_") > -1) {
                     creteIframe(`http://106.12.170.138:4001/examples/onlineIde.html#${arr[1].replace("onlineIde_", "")}`)
                 } else {
-                    creteIframe(arr[1])
+                    // creteIframe(arr[1])
+                    creteIframe(`http://192.168.119.143:8080/onemapV5.0/mapview.html?${arr[1]}`)
                 }
             }
         }

+ 2 - 0
src/layouts/default/header/index.vue

@@ -78,6 +78,7 @@ import outSys from "/@/assets/images/outSys.svg";
 import Tips from '/@/views/tips/index.vue';
 import { createApp } from 'vue';
 import settingImg from '/@/assets/images/headerSet.svg';
+import eventBus from '/@/utils/eventBus';
 
 export default defineComponent({
   name: 'LayoutHeader',
@@ -126,6 +127,7 @@ export default defineComponent({
     const router = useRouter();
     const gotoSysManage = () => {
       router.push('/system/structure');
+      eventBus.emit('userSysRemove');
     }
 
     const { getShowLocalePicker } = useLocale();

+ 22 - 0
src/main.ts

@@ -29,6 +29,28 @@ import eventBus from './utils/eventBus';
 import * as echarts from 'echarts';
 window.eventBus = eventBus;
 
+removeMenu();
+if (eventBus) eventBus.on('userSysRemove', () => removeMenu())
+function removeMenu() {
+  var num = 0;
+  var loopsjl = setInterval(() => {
+    var dom = document.querySelectorAll(".ml-2.vben-simple-menu-sub-title");
+    if (dom.length > 0) {
+      for (var i = 0; i < dom.length; i++) {
+        var str = dom[i].innerHTML;
+        var o = dom[i].style;
+        if (str === '用户管理   .' || str === '系统管理   .') {
+          o.textOverflow = 'clip';
+          o.width = '60px';
+          if (str === '系统管理   .') o.display = 'inline-flex';
+          num++
+          if (num == 2) clearInterval(loopsjl), num = 0;
+        }
+      }
+    }
+  }, 100)
+}
+
 if (import.meta.env.DEV) {
   import('ant-design-vue/dist/antd.less');
 }

+ 9 - 4
src/views/resource/plat/index.vue

@@ -15,7 +15,8 @@
     <Tabs>
       <template v-for="item in  achieveList " :key="item.type">
         <TabPane :tab="[`${item.typeName}资源(${item.count})`]">
-          <component :is="item.type == 'MR'?'MapData':'FileData'" :listData="item.items" :numb="1" />
+          <component :is="item.type == 'MR'?'MapData':item.type == 'ER'?'SceneData':'FileData'" :listData="item.items"
+            :numb="1" />
           <!-- <MapData v-if="item.type == 'MR'" :listData="item.items" /> -->
           <!-- <FileData v-if="item.type == 'DR'" :listData="item.items" /> -->
         </TabPane>
@@ -29,6 +30,7 @@ import { Tabs } from 'ant-design-vue';
 import { defineComponent, ref, watch } from 'vue';
 import MapData from './item/MapData.vue';
 import FileData from './item/FileData.vue';
+import SceneData from './item/SceneData.vue';
 import { onMounted } from 'vue';
 import { directoryTree, platList } from '/@/api/resource/plat';
 
@@ -40,6 +42,7 @@ export default defineComponent({
     TabPane: Tabs.TabPane,
     MapData,
     FileData,
+    SceneData,
   },
   setup() {
     const treeData = ref([]);
@@ -108,23 +111,25 @@ export default defineComponent({
 
   ::v-deep .ant-tree-treenode-selected {
     .ant-tree-node-content-wrapper.ant-tree-node-content-wrapper-normal.ant-tree-node-selected::before {
-      background: #e0eaf5!important;
+      background: #e0eaf5 !important;
     }
 
     .ant-tree-node-content-wrapper.ant-tree-node-content-wrapper-open.ant-tree-node-selected::before {
-      background: #e0eaf5!important;
+      background: #e0eaf5 !important;
     }
 
     .ant-tree-node-content-wrapper.ant-tree-node-content-wrapper-close.ant-tree-node-selected::before {
-      background: #e0eaf5!important;
+      background: #e0eaf5 !important;
     }
 
     .ant-tree-node-content-wrapper.ant-tree-node-content-wrapper-normal.ant-tree-node-selected {
       color: #0671DD;
     }
+
     .ant-tree-node-content-wrapper.ant-tree-node-content-wrapper-open.ant-tree-node-selected {
       color: #0671DD;
     }
+
     .ant-tree-node-content-wrapper.ant-tree-node-content-wrapper-close.ant-tree-node-selected {
       color: #0671DD;
     }

+ 3 - 2
src/views/resource/plat/item/FileData.vue

@@ -9,7 +9,7 @@
             <div class="item-top">
               <div class="img_container" data-num="1">
                 <img class="tab-list-icon-img-MR00001936 img_mr MR00001936"
-                  :src="(i.info && i.info.length && i.info[0].thumbnail) || '/static/img/default-dr3.jpg'" alt="">
+                  :src="(i.info && i.info.length && i.info[0].thumbnail) || './static/img/default-dr3.jpg'" alt="">
               </div>
             </div>
             <div class="item-title">
@@ -26,7 +26,7 @@
           <div class="operation-box">
             <div class="operation-item browse-item-btn browse-item-MR00001936">
               <a target="_blank"
-                :href="(i.info && i.info.length && i.info[0].thumbnail) || '/static/img/default-dr3.jpg'">
+                :href="(i.info && i.info.length && i.info[0].thumbnail) || './static/img/default-dr3.jpg'">
                 <span>浏览</span>
               </a>
             </div>
@@ -137,6 +137,7 @@ export default defineComponent({
           if (o && o.items && o.items.length) {
             o.items.map(async (i) => i.info = await img(i.SERVICEID))
             setTimeout(() => {
+              console.log("资源中心文件资源:", o.items)
               list.value = o.items;
             }, 5000)
           }

+ 3 - 2
src/views/resource/plat/item/MapData.vue

@@ -25,7 +25,8 @@
           </div>
           <div class="operation-box">
             <div class="operation-item browse-item-btn browse-item-MR00001936">
-              <a target="_blank" :href="`../../mapview.html?${i.MAPINGURL}.ol3`">
+              <!-- <a target="_blank" :href="`./mapview.html?${i.MAPINGURL}.ol3`"> -->
+              <a target="_blank" :href="`./mapview.html?${i.SERVICEID}`">
                 <span>浏览</span>
               </a>
             </div>
@@ -129,10 +130,10 @@ export default defineComponent({
 
     function getDataList(text) {
       platList(text).then((r) => {
-        console.log("资源中心地图资源:", r)
         if (r && r.length) {
           list.value = r[0].items;
           list.value.map(async (i) => i.info = await img(i.SERVICEID))
+          console.log("资源中心地图资源:", list.value)
         } else {
           list.value = r;
         }

+ 317 - 0
src/views/resource/plat/item/SceneData.vue

@@ -0,0 +1,317 @@
+<template>
+  <Search></Search>
+  <div style="background-color: #f0f2f5" class="dark:bg-dark-900">
+    <div class="datacenter-right">
+      <div class="resource_list" id="map_list">
+        <div v-for="(i, n) in list" v-if="list.length" :key="n" data-permission="true" class="resource_item"
+          data-checking="false" data-searching="1" data-ispub="1">
+          <div class="mapItem-top-box">
+            <div class="item-top">
+              <div class="img_container" data-num="1">
+                <img class="tab-list-icon-img-MR00001936 img_mr MR00001936"
+                  :src="(i.info && i.info.length && i.info[0].thumbnail) || './static/img/default-dr3.jpg'" alt="">
+              </div>
+            </div>
+            <div class="item-title">
+              <span class="r_name">{{ i.SERVICENAME }}</span>
+              <!-- <span class="r-number" data-num="1" title="编目1次">1</span> -->
+            </div>
+            <div class="item-msg">
+              <div class="item-msg-val">坐标系:<span>{{ i.CRS }}</span></div>
+              <div class="item-msg-val">适用流程:<span>国家秘密和工作秘密数据成果申请,</span></div>
+              <div class="item-msg-val">关键字:<span>测试数据</span></div>
+              <div class="item-msg-val">服务类型:<span>{{ i.TYPENAME }}</span></div>
+            </div>
+          </div>
+          <div class="operation-box">
+            <div class="operation-item browse-item-btn browse-item-MR00001936">
+              <a target="_blank" :href="`./mapview.html?${i.SERVICEID}`">
+                <span>浏览</span>
+              </a>
+            </div>
+
+            <div class="operation-item alone-apply-btn alone-apply-btn-MR00001936">
+              <span style="border-right: 1px #ccc solid;" onclick="cardApplyItem('mr')">
+                <span>申请</span>
+              </span>
+            </div>
+            <!-- <div class="user-apply-btn user-apply-btn-MR00001936"
+              onclick="addApplyBank(this,'MR00001936','行政区域','1','测试数据','mr','2000坐标系4490')">
+              <span>加入申请库</span>
+            </div>
+            <div class="dis-apply-btn dis-apply-btn-MR00001936">
+              <span>已加入申请库</span>
+            </div> -->
+            <div class="operation-item" @click="handleQuery(i)">
+              <a href="javascript:void(0)" class="">
+                <span>详细</span>
+              </a>
+            </div>
+            <!-- <div class="operation-item" @click="handleQuery(i)">
+              <a href="javascript:void(0)" class="">
+                <span>加入申请库</span>
+              </a>
+            </div>
+            <div class="operation-item operation-item-active" @click="handleQuery(i)">
+              <a href="javascript:void(0)" class="">
+                <span>已加入申请库</span>
+              </a>
+            </div> -->
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!-- <BasicTable @register="registerTable" class="dark:bg-dark-900">
+      <template #toolbar>
+        <Authority value="api:yt:smsLog:delete">
+          <Popconfirm title="您确定要批量删除数据" ok-text="确定" cancel-text="取消" @confirm="handleDeleteOrBatchDelete(null)">
+            <a-button type="primary" color="error" :disabled="hasBatchDelete"> 批量删除 </a-button>
+          </Popconfirm>
+        </Authority>
+      </template>
+      <template #remark="{ record }">
+        <Tooltip :title="record.remark">
+          <div class="truncate w-full">{{ record.remark }}</div>
+        </Tooltip>
+      </template>
+      <template #action="{ record }">
+        <TableAction :actions="[
+          {
+            label: '查看',
+            auth: 'api:yt:smsLog:get',
+            icon: 'ant-design:fund-view-outlined',
+            onClick: handleQuery.bind(null, record),
+          },
+          {
+            label: '删除',
+            auth: 'api:yt:smsLog:delete',
+            icon: 'ant-design:delete-outlined',
+            color: 'error',
+            popConfirm: {
+              title: '是否确认删除',
+              confirm: handleDeleteOrBatchDelete.bind(null, record),
+            },
+          },
+        ]" />
+      </template>
+    </BasicTable> -->
+    <!-- 弹出框 -->
+    <MapDrawer @register="registerModal" />
+  </div>
+</template>
+<script lang="ts">
+import { defineComponent, nextTick, onMounted, ref, defineProps, watch } from 'vue';
+import { BasicTable, useTable, TableAction } from '/@/components/Table';
+import { columns, searchFormSchema } from './sms.data';
+import { Popconfirm, Tooltip } from 'ant-design-vue';
+import { Authority } from '/@/components/Authority';
+import { platList, img } from '/@/api/resource/plat';
+// 加载自定义侧边弹出框 组件
+import { useDrawer } from '/@/components/Drawer';
+// 导入子页面【新增、修改】
+import MapDrawer from './MapDrawer.vue';
+import Search from './child/Search.vue';
+
+
+export default defineComponent({
+  name: 'SmsLog',
+  components: { BasicTable, TableAction, Search, Authority, Popconfirm, Tooltip, MapDrawer },
+  setup() {
+    const [registerModal, { openDrawer }] = useDrawer(); //使用右侧弹出框
+    const list = ref([]);
+    const props = defineProps({
+      listData: {
+        type: Array,
+        default: () => [],
+      }
+    })
+
+    onMounted(() => getDataList());
+
+    function getDataList(text) {
+      platList(text).then((r) => {
+        if (r && r.length) {
+          var o = r.find(i => i.type == 'ER')
+          if (o && o.items && o.items.length) {
+            o.items.map(async (i) => i.info = await img(i.SERVICEID))
+            setTimeout(() => {
+              console.log("资源中心场景资源:", o.items)
+              list.value = o.items;
+            }, 5000)
+          }
+        } else {
+          list.value = [];
+        }
+      });
+    }
+
+    function handleQuery(record: Recordable) {
+      console.log("11111:", record)
+      openDrawer(true, {
+        record,
+      });
+    }
+
+    return {
+      getDataList,
+      registerModal,
+      list,
+      handleQuery,
+    };
+  },
+});
+</script>
+
+<style scoped>
+.datacenter-right .resource_list .item-title .r_name {
+  color: #5e5d5e;
+  display: inline-block;
+  width: 190px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  font-family: Source Han Sans CN;
+  font-size: 16px;
+  font-weight: bold;
+  line-height: 16.38px;
+  letter-spacing: 0px;
+  color: #333333;
+}
+
+.datacenter-right .resource_list {
+  box-sizing: border-box;
+  width: 100%;
+  float: left;
+  clear: both;
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+}
+
+.datacenter-right .resource_list>div:not(:nth-of-type(4n + 4)) {
+  margin-right: 7px;
+}
+
+.resource_item {
+  height: 318px;
+  width: 224px;
+  margin-bottom: 14px;
+  border: 2px dashed transparent;
+
+  width: 386px;
+  height: 402px;
+  border-radius: 4px;
+  opacity: 1;
+  background: #FFFFFF;
+  border: 1px solid #DEDEDE;
+}
+
+.mapItem-top-box {
+  height: 350px;
+}
+
+.datacenter-right .resource_list .operation-box {
+  height: 42px;
+  display: flex;
+  margin-bottom: 10px;
+  margin-left: 20px;
+}
+
+.datacenter-right .resource_list .item-top {
+  padding: 10px 16px 10px;
+}
+
+.datacenter-right .resource_list .item-top img {
+  width: 360px;
+  height: 190px;
+  border: solid 1px #eeebeb;
+}
+
+.datacenter-right .resource_list .item-title {
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: bold;
+  color: #5e5d5e;
+  line-height: 16px;
+  padding: 0 0 0 14px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
+.datacenter-right .resource_list .item-msg {
+  padding: 0 13px 13px;
+}
+
+.img_container {
+  text-align: center;
+}
+
+.img_container {
+  width: 100%;
+  height: 100%;
+  background: #b7bed3;
+  border-radius: 4px;
+}
+
+.datacenter-right .resource_list .item-msg-val {
+  font-size: 12px;
+  font-family: PingFang SC;
+  font-weight: bold;
+  color: #888888;
+  line-height: 26px;
+  /* opacity: 0.5; */
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
+.item-msg-val>span {
+  font-family: Source Han Sans CN;
+  font-size: 14px;
+  font-weight: normal;
+  line-height: 16.38px;
+  letter-spacing: 0px;
+  color: #333333;
+}
+
+.datacenter-right .resource_list .operation-item {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  min-width: 50px;
+  height: 34px;
+  opacity: 1;
+  margin-right: 22px;
+  padding: 0 10px;
+  background: #E8E8E8;
+}
+
+.datacenter-right .resource_list .operation-item:hover {
+  background: #0671DD;
+}
+
+.datacenter-right .resource_list .operation-item:hover a {
+  color: #fff;
+}
+
+.datacenter-right .resource_list .operation-item.alone-apply-btn {
+  display: none;
+}
+
+.operation-item-active {
+  background: #05B069 !important;
+}
+
+.operation-item-active a {
+  color: #fff !important;
+}
+
+.datacenter-right .resource_list .operation-item a {
+  font-size: 12px;
+  width: 100%;
+  text-align: center;
+  color: #5e5d5e;
+}
+</style>

BIN
target/xld-gis-admin.zip