Forráskód Böngészése

Merge branch 'master' of http://221.182.8.141:11666/sujunlin/xld-gis-admin

XiaXxxxxx 2 éve
szülő
commit
010bb94b8c

+ 17 - 6
src/api/dataAdmin/mrerdr.ts

@@ -11,12 +11,12 @@ const interfaceType = { apiUrl2: true };
 /**
  * @description:地图,场景,文件,组件集成列表处理接口
  */
-export function MSFAList(p) {
+export function MSFAList(p, callback) {
     const formData = new FormData();
     formData.append('interfaceName', 'antu.space.provider.sservicebase.ServiceBaseMetaDataViewProvider');
     formData.append('methodName', 'getResourcePagedList');
     formData.append('args[]', session.getItem('tokenV2'));
-    var obj = { type: p.type, pageIndex: p.page, pageSize: p.pageSize }
+    var obj = { type: p.type, pageIndex: p.page || 1, pageSize: p.pageSize || 10 }
     if (p.tagValue) obj.tagValue = p.tagValue;
     if (p.filterValue) obj.filterValue = p.filterValue;
     if (p.status != null && p.status != undefined && !isNaN(p.status)) {
@@ -36,6 +36,7 @@ export function MSFAList(p) {
                 }
                 result.total = result.totalItems;
                 console.log(p.type + "资源列表:", result);
+                callback && callback(result.totalItems)
                 resolve(result);
             })
     })
@@ -46,7 +47,7 @@ export function MSFAList(p) {
  */
 export function mapList(p) {
     p.type = 'MR';
-    return MSFAList(p)
+    return MSFAList(p, null)
 }
 
 /**
@@ -54,7 +55,7 @@ export function mapList(p) {
  */
 export function sceneList(p) {
     p.type = 'ER';
-    return MSFAList(p)
+    return MSFAList(p, null)
 }
 
 /**
@@ -62,7 +63,7 @@ export function sceneList(p) {
  */
 export function fileList(p) {
     p.type = 'DR';
-    return MSFAList(p)
+    return MSFAList(p, null)
 }
 
 /**
@@ -71,5 +72,15 @@ export function fileList(p) {
 export function assList(p) {
     p.status = Number(p.status);
     p.type = 'SR';
-    return MSFAList(p)
+    return MSFAList(p, null)
+}
+
+/**
+ * @description:资源查看页面,的数据统计
+ */
+export function MEDSTotal(p, id) {
+    MSFAList(p, (e) => {
+        var dom = document.getElementById(id);
+        if (dom) dom.innerHTML = e;
+    })
 }

+ 13 - 5
src/views/dataAdmin/assembly/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <BasicTable :rowSelection="{ type: 'checkbox' }" @register="registerTable" :clickToRowSelect="false">
-      <template #toolbar>
+      <template #toolbar v-if="props.isChild">
         <Authority>
           <a-button type="primary" @click="handleCreate">新增组件</a-button>
         </Authority>
@@ -34,6 +34,7 @@
             label: '编辑',
             icon: '' /**clarity:note-edit-line*/,
             color: 'warning',
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: handleEdit.bind(null, record),
           },
@@ -41,7 +42,7 @@
             label: '提交审核',
             color: 'warning',
             icon: '' /**clarity:note-edit-line*/,
-            // ifShow: record.servicealiasname,
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             // ifShow: record.servicealiasname,
             onClick: sendApprove.bind(null, record),
@@ -50,7 +51,7 @@
             label: '删除',
             icon: '' /**ant-design:delete-outlined'*/,
             color: 'error',
-            ifShow: record.roleType != RoleEnum.SYS_ADMIN,
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: deleteSelect.bind(null, record),
             // popConfirm: {
@@ -122,7 +123,13 @@ import { assList } from '/@/api/dataAdmin/mrerdr';
 export default defineComponent({
   name: 'RoleManagement',
   components: { BasicTable, MapDrawer, MapSourceModal, TableAction, Authority, Switch, Popconfirm },
-  setup() {
+  props: {
+    isChild: {
+      type: Boolean,
+      default: true,
+    }
+  },
+  setup(props) {
     const [registerModal, { openModal }] = useModal();
     const [registerTable, { setProps, reload, setSelectedRowKeys, getSelectRows }] = useTable({
       title: '组件资源列表',
@@ -138,7 +145,7 @@ export default defineComponent({
       bordered: true,
       showIndexColumn: true,
       actionColumn: {
-        width: 250,
+        width: props.isChild ? 250 : 100,
         title: '操作',
         dataIndex: 'action',
         slots: { customRender: 'action' },
@@ -273,6 +280,7 @@ export default defineComponent({
     }
 
     return {
+      props,
       handleSee,
       deleteSelect,
       sendApprove,

+ 13 - 4
src/views/dataAdmin/dataAdmin/fileResourceUpload/index.vue

@@ -4,7 +4,7 @@
     <!-- 使用搜索框和表格封装组件 -->
     <BasicTable :rowSelection="{ type: 'checkbox' }" @register="registerTable" :clickToRowSelect="false">
       <!-- 表格右上角按钮 -->
-      <template #toolbar>
+      <template #toolbar v-if="props.isChild">
         <Authority>
           <a-button type="primary" @click="addMethod">新增文件</a-button>
         </Authority>
@@ -35,6 +35,7 @@
             //auth: 'api:yt:role:saveOrUpdateRoleInfoWithMenu:update',
             //icon: 'clarity:note-edit-line',
             color: 'warning',
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: handleEdit.bind(null, record),
           },
@@ -43,6 +44,7 @@
             //auth: 'api:yt:role:saveOrUpdateRoleInfoWithMenu:update',
             //icon: 'clarity:note-edit-line',
             color: 'warning',
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: sendApprove.bind(null, record),
           },
@@ -51,7 +53,7 @@
             //auth: 'api:yt:role:delete',
             //icon: 'ant-design:delete-outlined',
             color: 'error',
-            ifShow: true,
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: handleDelete.bind(null, record),
           },
@@ -124,7 +126,13 @@ import uiTool from '/@/utils/uiTool';
 export default defineComponent({
   name: 'mapUpload',
   components: { BasicTable, Authority, Popconfirm, TableAction, AddMethod },
-  setup() {
+  props: {
+    isChild: {
+      type: Boolean,
+      default: true,
+    }
+  },
+  setup(props) {
     //按钮的权限控制标识
     const bottomAuthority = 'api:dataresource:fileupload:';
     const authList = {
@@ -160,7 +168,7 @@ export default defineComponent({
       showIndexColumn: true,
       // 表格操作栏
       actionColumn: {
-        width: 250,
+        width: props.isChild ? 250 : 100,
         title: '操作',
         dataIndex: 'action',
         slots: { customRender: 'action' },
@@ -313,6 +321,7 @@ export default defineComponent({
     }
 
     return {
+      props,
       getKeywords,
       moment,
       createMessage,

+ 13 - 5
src/views/dataAdmin/dataAdmin/mapUpload/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="p-4">
     <BasicTable :rowSelection="{ type: 'checkbox' }" @register="registerTable" :clickToRowSelect="false">
-      <template #toolbar>
+      <template #toolbar v-if="props.isChild">
         <Authority>
           <a-button type="primary" @click="handleCreate">新增地图</a-button>
         </Authority>
@@ -34,6 +34,7 @@
             label: '编辑',
             icon: '' /**clarity:note-edit-line*/,
             color: 'warning',
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: handleEdit.bind(null, record),
           },
@@ -41,7 +42,7 @@
             label: '提交审核',
             icon: '',
             color: 'warning',
-            // ifShow: record.nodename === '',
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: sendApprove.bind(null, record),
           },
@@ -49,7 +50,7 @@
             label: '删除',
             icon: '' /**ant-design:delete-outlined'*/,
             color: 'error',
-            ifShow: record.roleType != RoleEnum.SYS_ADMIN,
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: handleDelete.bind(null, record),
           },
@@ -116,7 +117,13 @@ import uiTool from '/@/utils/uiTool';
 export default defineComponent({
   name: 'RoleManagement',
   components: { BasicTable, MapDrawer, MapSourceModal, TableAction, Authority, Switch, Popconfirm },
-  setup() {
+  props: {
+    isChild: {
+      type: Boolean,
+      default: true,
+    }
+  },
+  setup(props) {
     const tagValue = ref('');
     const [registerModal, { openModal }] = useModal();
     const [registerTable, { setProps, reload, setSelectedRowKeys, getSelectRows }] = useTable({
@@ -132,7 +139,7 @@ export default defineComponent({
       bordered: true,
       showIndexColumn: true,
       actionColumn: {
-        width: 250,
+        width: props.isChild ? 250 : 100,
         title: '操作',
         dataIndex: 'action',
         slots: { customRender: 'action' },
@@ -279,6 +286,7 @@ export default defineComponent({
     onBeforeMount(async () => { });
 
     return {
+      props,
       getKeywords,
       moment,
       createMessage,

+ 13 - 5
src/views/dataAdmin/dataAdmin/sceneResourceUpload/index.vue

@@ -4,7 +4,7 @@
     <!-- 使用搜索框和表格封装组件 -->
     <BasicTable :rowSelection="{ type: 'checkbox' }" @register="registerTable" :clickToRowSelect="false">
       <!-- 表格右上角按钮 -->
-      <template #toolbar>
+      <template #toolbar v-if="props.isChild">
         <Authority>
           <a-button type="primary" @click="addMethod">新增场景</a-button>
         </Authority>
@@ -34,6 +34,7 @@
             //auth: 'api:yt:role:saveOrUpdateRoleInfoWithMenu:update',
             icon: '', //'clarity:note-edit-line',
             color: 'warning',
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: handleEdit.bind(null, record),
           },
@@ -41,7 +42,7 @@
             label: '提交审核',
             icon: '',
             color: 'warning',
-            // ifShow: record.nodename === '',
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: sendApprove.bind(null, record),
           },
@@ -50,7 +51,7 @@
             //auth: 'api:yt:role:delete',
             icon: '', //'ant-design:delete-outlined',
             color: 'error',
-            ifShow: true,
+            ifShow: props.isChild,
             disabled: record.status == 3 ? false : true,
             onClick: handleDelete.bind(null, record),
           },
@@ -125,7 +126,13 @@ import uiTool from '/@/utils/uiTool';
 export default defineComponent({
   name: 'mapUpload',
   components: { BasicTable, Authority, Popconfirm, TableAction, AddMethod },
-  setup() {
+  props: {
+    isChild: {
+      type: Boolean,
+      default: true,
+    }
+  },
+  setup(props) {
     const moment = Moment;
     const { createMessage } = useMessage();
     //按钮的权限控制标识
@@ -162,7 +169,7 @@ export default defineComponent({
       showIndexColumn: true,
       // 表格操作栏
       actionColumn: {
-        width: 250,
+        width: props.isChild ? 250 : 100,
         title: '操作',
         dataIndex: 'action',
         slots: { customRender: 'action' },
@@ -289,6 +296,7 @@ export default defineComponent({
     }
 
     return {
+      props,
       getKeywords,
       moment,
       createMessage,

+ 25 - 177
src/views/dataAdmin/dataView/index.vue

@@ -2,206 +2,49 @@
   <div class="examine-container">
     <div class="left-container">
       <template v-for="source in sourceTypes" :key="source.name">
-        <div
-          class="soure-item-row"
-          :class="{ active: current === source.name }"
-          @click="current = source.name"
-        >
-          {{ `${source.name}(${source.num})` }}
+        <div class="soure-item-row" :class="{ active: current === source.name }" @click="current = source.name">
+          {{ source.name }}( <span :id="'sjck' + source.type">{{ getNum(source.type, 'sjck') }} </span>)
         </div>
       </template>
     </div>
     <div class="right-container">
-      <BasicTable :rowSelection="{ type: 'checkbox' }" rowKey="serviceid" @register="registerTable">
-        <template #action="{ record }">
-          <TableAction
-            :actions="[
-              {
-                label: '浏览',
-                icon: '' /**clarity:note-edit-line*/,
-                onClick: handleEdit.bind(null, record),
-              },
-              {
-                label: '详情',
-                icon: '' /**clarity:note-edit-line*/,
-                onClick: handleEdit.bind(null, record),
-              }
-            ]"
-          />
-        </template>
-        <template #pdate="{ record }">
-          <Tag :color="'red'">
-            {{ record.publishdate ? moment(record.publishdate).format('YYYY-MM-DD HH:mm:ss') : '' }}
-          </Tag>
-        </template>
-        <template #status="{ record }">
-          <Tag :style="`color:${record.status === 3 || record.status === 3 ? 'red' : ''};`">
-            {{
-              record.status === 0
-                ? '待审核'
-                : record.status === 1
-                ? '审核通过'
-                : record.status === 2
-                ? '审核不通过'
-                : record.status === 3
-                ? '被驳回'
-                : '未提交'
-            }}
-          </Tag>
-        </template>
-      </BasicTable>
-      <MapSourceModal @register="registerModal" @success="handleSuccess" />
+      <MapList :isChild="false" v-if="current == '地图资源'"></MapList>
+      <SceneList :isChild="false" v-if="current == '场景资源'"></SceneList>
+      <FileList :isChild="false" v-if="current == '文件资源'"></FileList>
+      <AssList :isChild="false" v-if="current == '组件资源'"></AssList>
     </div>
   </div>
 </template>
 <script lang="ts">
-import { defineComponent, nextTick, onBeforeMount, reactive, ref, toRef } from 'vue';
-import { BasicTable, useTable, TableAction } from '/@/components/Table';
-import { delRole, getRoleListByPage, setRoleStatus } from '/@/api/system/system';
-// import { useDrawer } from '/@/components/Drawer';
-import { useModal } from '/@/components/Modal';
-import MapSourceModal from './MapSourceModal.vue';
-import { columns, searchFormSchema } from './map.data';
+import { defineComponent, ref } from 'vue';
 import { RoleEnum } from '/@/enums/roleEnum';
-import { Authority } from '/@/components/Authority';
-import { useBatchDelete } from '/@/hooks/web/useBatchDelete';
-import { useMessage } from '/@/hooks/web/useMessage';
-import { Switch, Popconfirm } from 'ant-design-vue';
-import { list } from '/@/api/resource/map';
-import Moment from 'moment';
-import { active } from 'sortablejs';
+import MapList from '../dataAdmin/mapUpload/index.vue';
+import SceneList from '../dataAdmin/sceneResourceUpload/index.vue';
+import FileList from '../dataAdmin/fileResourceUpload/index.vue';
+import AssList from '../assembly/index.vue';
+import { MEDSTotal } from '/@/api/dataAdmin/mrerdr';
 
 export default defineComponent({
   name: 'RoleManagement',
-  components: { BasicTable, MapSourceModal, TableAction, Authority, Switch, Popconfirm },
+  components: { MapList, SceneList, FileList, AssList },
   setup() {
     let current = ref('地图资源');
-    //const [registerDrawer, { openDrawer }] = useDrawer();
-    const [registerModal, { openModal }] = useModal();
-    const [registerTable, { getSelectRows, setProps, reload, setSelectedRowKeys }] = useTable({
-      title: '地图资源列表',
-      api: list, //求接口
-      //dataSource: dataSources, //表格的数据
-      columns,
-      rowKey: 'serviceid',
-      formConfig: {
-        labelWidth: 100,
-        schemas: searchFormSchema,
-      },
-      useSearchForm: true,
-      showTableSetting: true,
-      bordered: true,
-      showIndexColumn: true,
-      actionColumn: {
-        width: 200,
-        title: '操作',
-        dataIndex: 'action',
-        slots: { customRender: 'action' },
-        fixed: 'right',
-      },
-      pagination: {
-        hideOnSinglePage: false,
-      },
-      clickToRowSelect: true, //点击当前行多选框不选中,默认是true
-      rowSelection: { type: 'checkbox' }, //是否有多选功能
-      tableSetting: {
-        redo: true,
-        size: true,
-        setting: false,
-        fullScreen: false
-      },
-    });
-    const moment = Moment;
-
     const sourceTypes = ref([
-      { name: '地图资源', num: 4 },
-      { name: '场景资源', num: 5 },
-      { name: '文件资源', num: 10 },
-      { name: '组件资源', num: 2 },
+      { name: '地图资源', type: 'MR', num: 0 },
+      { name: '场景资源', type: 'ER', num: 0 },
+      { name: '文件资源', type: 'DR', num: 0 },
+      { name: '组件资源', type: 'SR', num: 0 },
     ]);
-    const { hasBatchDelete, handleDeleteOrBatchDelete, selectionOptions, resetSelectedRowKeys } =
-      useBatchDelete(delRole, handleSuccess, setProps);
-    selectionOptions.rowSelection.getCheckboxProps = (record: Recordable) => {
-      // Demo:status为1的选择框禁用
-      if (record.status === 1) {
-        return { disabled: true };
-      } else {
-        return { disabled: false };
-      }
-    };
-    nextTick(() => {
-      setProps(selectionOptions);
-    });
-
-    function handleCreate() {
-      // openDrawer(true, {
-      //   isUpdate: false,
-      // });
-      openModal(true, {
-        isUpdate: false,
-      });
-    }
 
-    function handleEdit(record: Recordable) {
-      // openDrawer(true, {
-      //   record,
-      //   isUpdate: true,
-      // });
-      openModal(true, {
-        record,
-        isUpdate: true,
-      });
+    function getNum(type, name) {
+      MEDSTotal({ type: type }, name + type)
     }
 
-    function handleSuccess() {
-      openModal(false, {
-        isUpdate: false,
-      });
-      reload();
-    }
-
-    const statusChange = async (checked, record) => {
-      setProps({
-        loading: true,
-      });
-      setSelectedRowKeys([]);
-      resetSelectedRowKeys();
-      const newStatus = checked ? 1 : 0;
-      const { createMessage } = useMessage();
-      try {
-        await setRoleStatus(record.id, newStatus);
-        if (newStatus) {
-          createMessage.success(`启用成功`);
-        } else {
-          createMessage.success('禁用成功');
-        }
-      } finally {
-        setProps({
-          loading: false,
-        });
-        reload();
-      }
-    };
-    const batchExamine = () => {
-      console.log('审核数据',getSelectRows())
-    };
-
-    onBeforeMount(async () => {});
-
     return {
+      getNum,
       current,
-      moment,
       sourceTypes,
-      registerTable,
-      registerModal,
-      handleCreate,
-      handleEdit,
-      handleSuccess,
       RoleEnum,
-      hasBatchDelete,
-      handleDeleteOrBatchDelete,
-      statusChange,
-      batchExamine,
     };
   },
 });
@@ -211,6 +54,7 @@ export default defineComponent({
   display: flex;
   height: 100%;
   width: 100%;
+
   .left-container {
     width: 240px;
     height: calc(100% - 32px);
@@ -218,6 +62,8 @@ export default defineComponent({
     padding: 10px 20px;
     background-color: #fff;
     border-radius: 2px;
+    cursor: pointer;
+
     .soure-item-row {
       height: 34px;
       width: 100%;
@@ -231,11 +77,13 @@ export default defineComponent({
       background: #eff0f5;
       border-radius: 2px;
     }
+
     .active {
       background: #0671dd;
       color: #fff;
     }
   }
+
   .right-container {
     width: calc(100% - 260px);
     height: 100%;

+ 43 - 0
src/views/resource/plat/item/EmpowerInfo.vue

@@ -0,0 +1,43 @@
+<template>
+    <a-modal v-model:visible="show" @cancel="() => show = false" :title="props.title" :footer="null">
+        <p>Some contents...</p>
+        <p>Some contents...</p>
+        <p>Some contents...</p>
+    </a-modal>
+</template>
+
+<script>
+import { defineComponent, reactive, ref, onMounted, watch, toRefs } from 'vue';
+import { message } from 'ant-design-vue';
+import { session } from '/@/utils/Memory';
+import moment from 'moment';
+import { setHtmlImg } from '/@/views/minWidgets/CommonWay.js';
+import { getResViewInfo, queryServiceTags } from '/@/api/resource/plat';
+import { getAllTags } from '/@/api/sys/tag';
+
+
+export default defineComponent({
+    name: 'EmpowerInfo',
+    components: {},
+    props: {
+        show: {
+            type: Boolean,
+            default: false
+        },
+        title: {
+            type: String,
+            default: ''
+        }
+    },
+    setup(props, { emit }) {
+        const show = ref(false);
+        onMounted(() => show.value = props.show);
+        watch(() => props.show, (val) => show.value = val);
+
+        return {
+            show,
+            props,
+        };
+    },
+});
+</script>

+ 14 - 4
src/views/resource/plat/item/MapData.vue

@@ -43,6 +43,11 @@
                   <span>加入申请库</span>
                 </a>
               </div>
+              <div class="operation-item" v-else-if="i.SFJRSQK === '审核通过'"
+                style="background-color: #05B069;color: #ffffff;cursor: pointer;"
+                @click="() => showEmpowerInfo = !showEmpowerInfo">
+                已申请信息
+              </div>
               <div class="operation-item" v-else style="cursor: not-allowed;background-color: #e8e8e8;">
                 <a href="javascript:void(0)" class="" style="cursor: not-allowed;color:#656363;">
                   <span>{{ i.SFJRSQK == '已加入' ? '已加入申请库' : i.SFJRSQK }}</span>
@@ -55,6 +60,7 @@
     </div>
     <MyPage :total="total"></MyPage>
     <DetailModal v-if="showResDeatil" :type="'MAP'" @closeModal="showResDeatil = false" :resId="detailResId" />
+    <EmpowerInfo title="地图资源申请信息" v-if="showEmpowerInfo" :show="showEmpowerInfo"></EmpowerInfo>
   </div>
 </template>
 <script>
@@ -67,17 +73,17 @@ import Search from './child/Search.vue';
 import { session } from '/@/utils/Memory';
 import MyPage from './child/MyPage.vue';
 import { setHtmlImg } from '/@/views/minWidgets/CommonWay.js';
-
+import EmpowerInfo from './EmpowerInfo.vue';
 
 
 export default defineComponent({
   name: 'MapData',
-  components: { Search, DetailModal, MyPage },
-  emits:['resAddToCar'],
+  components: { Search, DetailModal, MyPage, EmpowerInfo },
+  emits: ['resAddToCar'],
   props: {
     listData: {
       type: Object,
-      default: () => {},
+      default: () => { },
     }
   },
   setup(props, { emit }) {
@@ -160,8 +166,12 @@ export default defineComponent({
       })
     }
 
+    //申请信息查看
+    const showEmpowerInfo = ref(false);
+
 
     return {
+      showEmpowerInfo,
       setHtmlImg,
       getTag,
       tag,