tengmingxue 2 роки тому
батько
коміт
8f49cd16d6

+ 24 - 4
src/api/resource/map.ts

@@ -2,7 +2,7 @@
  * @Author: tengmingxue 1473375109@qq.com
  * @Date: 2023-08-15 11:20:48
  * @LastEditors: tengmingxue 1473375109@qq.com
- * @LastEditTime: 2023-08-21 17:13:06
+ * @LastEditTime: 2023-09-23 17:41:20
  * @FilePath: \xld-gis-admin\src\api\resource\map.ts
  * @Description: 地图资源接口
  */
@@ -140,7 +140,7 @@ export function queryCoors() {
 }
 
 /**
- * @description:新增地图资源
+ * @description:新增资源
  */
 export function insertService(params) {
     if (!params) return
@@ -158,9 +158,29 @@ export function insertService(params) {
     })
 }
 
+/**
+ * @description:根据资源id查询
+ */
+ export function queryResourceById(id) {
+    if (!id) return
+    const formData = new FormData();
+    formData.append("interfaceName", "antu.space.provider.sservicebase.ServiceBaseMetaDataViewProvider");
+    formData.append("methodName", "getResourceByServiceId");
+    formData.append("args[]", session.getItem('tokenV2'));
+    formData.append("args[]", id)
+    return new Promise<void>((resolve, reject) => {
+        defHttp.post({ url: Api.Login, params: formData, ...interfaceType })
+            .then((r) => {
+                let result = null
+                if(r && r.status === '0') result = JSON.parse(r.result)
+                resolve(result);
+            })
+    })
+}
+
 
 /**
- * @description:修改地图资源
+ * @description:修改资源
  */
 export function updateService(params) {
     if (!params) return
@@ -180,7 +200,7 @@ export function updateService(params) {
 
 
 /**
- * @description:删除地图资源
+ * @description:删除资源
  */
 export function deleteService(param) {
     if (!param) return

+ 7 - 7
src/views/dataAdmin/dataAdmin/fileResourceUpload/fileUploadData.js

@@ -28,24 +28,24 @@ export const columns = [
   },
   {
     title: '当前环节',
-    dataIndex: 'currhj',
-    width: 200,
+    dataIndex: 'nodename',
+    width: 90,
   },
   {
     title: '当前处理人',
-    dataIndex: 'currHandler',
-    width: 200,
+    dataIndex: 'checkname',
+    width: 100,
   },
   {
     title: '审核状态',
     dataIndex: 'status',
-    width: 200,
+    width: 110,
     slots: { customRender: 'status' },
   },
   {
     title: '审核时间',
-    dataIndex: 'status',
-    width: 200,
+    dataIndex: 'checktime',
+    width: 180,
   },
 ];
 

+ 21 - 10
src/views/dataAdmin/dataAdmin/mapUpload/SourceDetail.vue

@@ -2,7 +2,7 @@
  * @Author: tengmingxue 1473375109@qq.com
  * @Date: 2023-08-15 22:08:21
  * @LastEditors: tengmingxue 1473375109@qq.com
- * @LastEditTime: 2023-09-22 19:05:39
+ * @LastEditTime: 2023-09-23 19:05:00
  * @FilePath: \xld-gis-admin\src\views\resource\map\SourceDetail.vue
  * @Description: 地图资源明细界面
 -->
@@ -437,6 +437,7 @@ export default defineComponent({
       () => props.formData,
       (obj) => {
         data.detail = obj;
+        console.log('查询数据',data.detail)
         if (data.isUpdate) setFormData();
       }
     );
@@ -576,20 +577,30 @@ export default defineComponent({
       // console.log('EPSGCodes', EPSGCodes);
       formState.public = data.detail.ispublic === '1' ? true : false;
       formState.servicename = data.detail?.servicename;
-      formState.publishtime = data.detail?.publishdate
-        ? moment(data.detail?.publishdate).format('YYYY-MM-DD HH:mm:ss')
-        : '';
+      formState.publishtime = data.detail?.publishdate ? moment(data.detail?.publishdate).format('YYYY-MM-DD HH:mm:ss'): '';
       formState.publisher = data.detail?.publisher;
-      formState.runtimestatus = data.detail.runtimestatus === 0 ? false : true;
+      formState.runtimestatus = data.detail.runtimestatus === '0' ? false : true;
       formState.servicealiasname = data.detail?.servicealiasname;
       formState.code = data.detail?.serviceid;
       formState.servicetype = data.detail?.servicetype;
-      formState.updatetime = data.detail?.updatedate
-        ? moment(data.detail?.updatedate).format('YYYY-MM-DD HH:mm:ss')
-        : '';
-      formState.servicetype = data.detail?.servicetype;
+      formState.updatetime = data.detail?.updatedate ? moment(data.detail?.updatedate).format('YYYY-MM-DD HH:mm:ss') : '';
       formState.coordinate = data.detail?.crs;
-      formState.searched = data.detail.searched === 0 ? false : true;
+      formState.searched = data.detail.searched === '0' ? false : true;
+
+      formState.keywords = data.detail?.keywords;
+      formState.description = data.detail?.description;
+      formState.mapingurl =  data.detail?.mapingurl
+      formState.dataScope =  data.detail?.dataScope
+      formState.source =  data.detail?.source
+      formState.secrets =  data.detail?.secretlevel
+      formState.formdatabase =  data.detail?.formdatabase
+      formState.collect =  data.detail?.keepingunit
+      formState.respUnit =  data.detail?.rboffice
+      formState.updateType =  data.detail?.updateType
+      formState.epsgcode =  data.detail?.epsgCode
+      formState.share =   data.detail.servicetypepublic === '0' ? false : true
+      formState.externalApply =  data.detail.externalApply === '0' ? false : true
+      formState.immExaim =  data.detail.ishistory === '0' ? false : true
     };
     
     /**

+ 122 - 77
src/views/dataAdmin/dataAdmin/mapUpload/index.vue

@@ -1,12 +1,21 @@
 <template>
   <div class="p-4">
-    <BasicTable :rowSelection="{ type: 'checkbox' }" @register="registerTable" :clickToRowSelect="false">
+    <BasicTable
+      :rowSelection="{ type: 'checkbox' }"
+      @register="registerTable"
+      :clickToRowSelect="false"
+    >
       <template #toolbar>
         <Authority>
           <a-button type="primary" @click="handleCreate">新增地图</a-button>
         </Authority>
         <Authority>
-          <Popconfirm title="您确定要批量删除数据" ok-text="确定" cancel-text="取消" @confirm="handleDeleteOrBatchDelete(null)">
+          <Popconfirm
+            title="您确定要批量删除数据"
+            ok-text="确定"
+            cancel-text="取消"
+            @confirm="handleDeleteOrBatchDelete(null)"
+          >
             <a-button type="primary" color="error" :disabled="hasBatchDelete"> 批量删除 </a-button>
           </Popconfirm>
         </Authority>
@@ -16,56 +25,76 @@
           @change="(checked: boolean) => statusChange(checked, record)" />
       </template> -->
       <template #action="{ record }">
-        <TableAction :actions="[
-          {
-            label: '浏览',
-            icon: '' /**clarity:note-edit-line*/,
-            onClick: handleViewMap.bind(null, record),
-          },
-          {
-            label: '查看',
-            icon: '' /**clarity:note-edit-line*/,
-            onClick: handleView.bind(null, record),
-          },
-          {
-            label: '编辑',
-            icon: '' /**clarity:note-edit-line*/,
-            color: 'warning',
-            onClick: handleEdit.bind(null, record),
-          },
-          {
-            label: '审核',
-            icon: '',
-            color: 'warning',
-            onClick: handleExam.bind(null, record),
-          },
-          {
-            label: '删除',
-            icon: '' /**ant-design:delete-outlined'*/,
-            color: 'error',
-            ifShow: record.roleType != RoleEnum.SYS_ADMIN,
-            popConfirm: {
-              title: '是否确认删除',
-              confirm: handleDelete.bind(null, record),
+        <TableAction
+          :actions="[
+            {
+              label: '浏览',
+              icon: '' /**clarity:note-edit-line*/,
+              onClick: handleViewMap.bind(null, record),
             },
-          },
-        ]" />
+            {
+              label: '查看',
+              icon: '' /**clarity:note-edit-line*/,
+              onClick: handleView.bind(null, record),
+            },
+            {
+              label: '编辑',
+              icon: '' /**clarity:note-edit-line*/,
+              color: 'warning',
+              onClick: handleEdit.bind(null, record),
+            },
+            {
+              label: '审核',
+              icon: '',
+              color: 'warning',
+              ifShow: record.nodename === '',
+              onClick: handleExam.bind(null, record),
+            },
+            {
+              label: '删除',
+              icon: '' /**ant-design:delete-outlined'*/,
+              color: 'error',
+              ifShow: record.roleType != RoleEnum.SYS_ADMIN,
+              popConfirm: {
+                title: '是否确认删除',
+                confirm: handleDelete.bind(null, record),
+              },
+            },
+          ]"
+        />
       </template>
       <template #pdate="{ record }">
         <Tag :color="'red'">
-          {{
-            record.publishdate ? moment(record.publishdate).format('YYYY-MM-DD HH:mm:ss') : ''
-          }}
+          {{ 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' : '#05B069'};`">
           {{
-            record.status === 0 ? '待审核' : (record.status === 1 ? '审核通过' : (record.status === 2 ? '审核不通过' : (record.status
-              === 3 ? '被驳回' : '未提交')))
+            record.status === 0
+              ? '待审核'
+              : record.status === 1
+              ? '审核通过'
+              : record.status === 2
+              ? '审核不通过'
+              : record.status === 3
+              ? '被驳回'
+              : '未提交'
           }}
         </Tag>
       </template>
+      <template #nodename="{ record }">
+        <Tag :style="`color:${record.nodename === '' ? 'red' : '#05B069'};`">
+          {{
+            record.nodename === '' ? '未提交' : record.nodename
+          }}
+        </Tag>
+      </template>
+      <template #checkname="{ record }">
+        <Tag>
+          {{ record.checkname === '' ? record.publisher : record.checkname }}
+        </Tag>
+      </template>
     </BasicTable>
     <!-- <MapDrawer @register="registerDrawer" @success="handleSuccess" /> -->
     <MapSourceModal @register="registerModal" @success="handleSuccess" />
@@ -85,27 +114,35 @@ 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, deleteService, mapList } from '/@/api/resource/map';
+import { list, deleteService, mapList, queryResourceById } from '/@/api/resource/map';
 import Moment from 'moment';
-import { session } from "/@/utils/Memory.js";
+import { session } from '/@/utils/Memory.js';
 
 export default defineComponent({
   name: 'RoleManagement',
   components: { BasicTable, MapDrawer, MapSourceModal, TableAction, Authority, Switch, Popconfirm },
   setup() {
-    const tagValue = ref('')
+    const tagValue = ref('');
     const getData = () => {
       const formData = new FormData();
-      formData.append("interfaceName", "antu.space.provider.sservicebase.ServiceBaseMetaDataViewProvider");
-      formData.append("methodName", "getResourcePagedList");
-      formData.append("args[]", session.getItem('tokenV2'));
-      formData.append("args[]", `{"type":"MR","fields":{"DATA":["serviceid","servicename","servicetype","servicealiasname"],"METADATA":["publisher ","publishdate"]},"pageIndex":1,"pageSize":10, "tagValue":"${tagValue.value || ""}" }`);
+      formData.append(
+        'interfaceName',
+        'antu.space.provider.sservicebase.ServiceBaseMetaDataViewProvider'
+      );
+      formData.append('methodName', 'getResourcePagedList');
+      formData.append('args[]', session.getItem('tokenV2'));
+      formData.append(
+        'args[]',
+        `{"type":"MR","fields":{"DATA":["serviceid","servicename","servicetype","servicealiasname"],"METADATA":["publisher ","publishdate"]},"pageIndex":1,"pageSize":10, "tagValue":"${
+          tagValue.value || ''
+        }" }`
+      );
       return new Promise((resolve) => {
         mapList(formData).then((res) => {
-          resolve(res)
-        })
-      })
-    }
+          resolve(res);
+        });
+      });
+    };
     //const [registerDrawer, { openDrawer }] = useDrawer();
     const [registerModal, { openModal }] = useModal();
     const [registerTable, { setProps, reload, setSelectedRowKeys }] = useTable({
@@ -131,16 +168,16 @@ export default defineComponent({
         hideOnSinglePage: false,
       },
       handleSearchInfoFn: (t) => {
-        tagValue.value = t.resTag
+        tagValue.value = t.resTag;
       },
       tableSetting: {
         redo: true,
         size: true,
         setting: false,
-        fullScreen: false
+        fullScreen: false,
       },
     });
-    const moment = Moment
+    const moment = Moment;
     const { createMessage } = useMessage();
     const { hasBatchDelete, handleDeleteOrBatchDelete, selectionOptions, resetSelectedRowKeys } =
       useBatchDelete(delRole, handleSuccess, setProps);
@@ -162,22 +199,30 @@ export default defineComponent({
       });
     }
 
-    function handleView(record: Recordable) {
-      openModal(true, {
-        record,
-        isUpdate: true,
-        isView: true,
-      });
+    async function handleView(record: Recordable) {
+      const res = await queryResourceById(record?.serviceid);
+      if (res) {
+        const result = Object.assign(res.metadata, res.servicebase);
+        openModal(true, {
+          record: result,
+          isUpdate: true,
+          isView: true,
+        });
+      }
     }
 
-    function handleEdit(record: Recordable) {
-      openModal(true, {
-        record,
-        isUpdate: true,
-      });
+    async function handleEdit(record: Recordable) {
+      const res = await queryResourceById(record?.serviceid);
+      if (res) {
+        const result = Object.assign(res.metadata, res.servicebase);
+        openModal(true, {
+          record: result,
+          isUpdate: true,
+        });
+      }
     }
 
-    function handleExam(record: Recordable){
+    function handleExam(record: Recordable) {
       openModal(true, {
         record,
         isUpdate: true,
@@ -185,21 +230,24 @@ export default defineComponent({
     }
 
     function handleViewMap(record: Recordable) {
-      window.open(`http://106.12.170.138:8080/onemapV5.0/mapview.html?${record.serviceid}`, 'target', "")
+      window.open(
+        `http://192.168.119.143:8080/onemapV5.0/mapview.html?${record.serviceid}`,
+        'target',
+        ''
+      );
     }
 
     const handleDelete = async (record: Recordable) => {
       if (record?.serviceid) {
-        const res = await deleteService(record?.serviceid)
+        const res = await deleteService(record?.serviceid);
         if (res?.status !== '-1') {
           reload();
-          createMessage.success('删除成功!', 1)
-        }
-        else {
-          createMessage.error('删除失败!失败原因:' + res?.message, 1)
+          createMessage.success('删除成功!', 1);
+        } else {
+          createMessage.error('删除失败!失败原因:' + res?.message, 1);
         }
       }
-    }
+    };
 
     function handleSuccess() {
       openModal(false, {
@@ -229,9 +277,7 @@ export default defineComponent({
         reload();
       }
     };
-    onBeforeMount(async () => {
-
-    })
+    onBeforeMount(async () => {});
 
     return {
       moment,
@@ -256,7 +302,6 @@ export default defineComponent({
 </script>
 <style lang="less" scoped>
 .p-4 {
-
   ::v-deep.vben-basic-table-form-container {
     padding: 0;
 

+ 7 - 5
src/views/dataAdmin/dataAdmin/mapUpload/map.data.ts

@@ -60,7 +60,7 @@ export const columns: BasicColumn[] = [
   {
     title: '资源编号',
     dataIndex: 'serviceid',
-    width: 120,
+    width: 100,
   },
   {
     title: '资源名称',
@@ -85,18 +85,20 @@ export const columns: BasicColumn[] = [
   {
     title: '发布时间',
     dataIndex: 'publishdate',
-    width: 180,
+    width: 90,
     slots: { customRender: 'pdate' },
   },
   {
     title: '当前环节',
-    dataIndex: 'curLink',
+    dataIndex: 'nodename',
     width: 90,
+    slots: { customRender: 'nodename' },
   },
   {
     title: '当前处理人',
-    dataIndex: 'curHandler',
+    dataIndex: 'checkname',
     width: 100,
+    slots: { customRender: 'checkname' },
   },
   {
     title: '审核状态',
@@ -106,7 +108,7 @@ export const columns: BasicColumn[] = [
   },
   {
     title: '审核时间',
-    dataIndex: 'checkTime',
+    dataIndex: 'checktime',
     width: 180,
   },
 ];

+ 48 - 9
src/views/dataAdmin/dataAdmin/sceneResourceUpload/AddMethod.vue

@@ -84,8 +84,11 @@ import { useMessage } from '/@/hooks/web/useMessage';
 import { TOption } from '/@/views/rule/linkedge/config/config.data';
 import { PlusOutlined } from '@ant-design/icons-vue';
 // import { upload } from '/@/api/oss/ossFileUploader';
-import FlowStep from '../flowStep/index.vue'
+import FlowStep from '../flowStep/index.vue';
 import { addFileResource } from '../../api/fileUploadApi';
+import { insertService, updateService } from '/@/api/resource/map';
+import { session } from '/@/utils/Memory.js';
+
 export default defineComponent({
   name: 'AccountModal',
   components: {
@@ -143,21 +146,57 @@ export default defineComponent({
       setModalProps({ confirmLoading: true });
       try {
         const { createMessage } = useMessage();
-        const values = await validate(['parentId']);
+        const values = await validate(); //validate(['parentId']);
         Object.assign(postData, values);
-
-        console.log('准备传递的参数' + JSON.stringify(postData));
-
-        await addFileResource(paramsToFormData(postData as any), unref(isUpdate));
-        closeModal();
-        emit('success');
-        createMessage.success(unref(isUpdate) ? '编辑成功' : '新增成功');
+        const userinfo = session.getItem('userInfo');
+        let servicebase = Object.assign(
+          {
+            name: values.servicename, // 资源名称
+            thumbnail: '', //缩略图名称-------------根据上传的缩略图更新
+            workSpace: '', //工作空间
+            urlInfo: '', //路径信息
+            otherService: '', //其他服务
+            bz: '', //备注
+            externalApply: '1', //是否申请应用
+            publisher: userinfo?.EMPLOYEE?.NAME, //发布者
+            username: userinfo?.EMPLOYEE?.NAME, //用户名称
+            userid: userinfo?.EMPLOYEE?.EMPLOYEE_ID, //用户id
+          },
+          values
+        );
+        let metadata = Object.assign(
+          {
+            thumbnail: '', //缩略图名称-------------根据上传的缩略图更新
+            workSpace: '', //工作空间
+            urlInfo: '', //路径信息
+            otherService: '', //其他服务
+            bz: '', //备注
+            externalApply: '1', //是否申请应用
+            publisher: userinfo?.EMPLOYEE?.NAME, //发布者
+            username: userinfo?.EMPLOYEE?.NAME, //用户名称
+            userid: userinfo?.EMPLOYEE?.EMPLOYEE_ID, //用户id
+          },
+          values
+        );
+        let postFormData = {
+          type: 'ER',
+          servicebase: servicebase,
+          metadata: metadata,
+        };
+        const res = await insertService(postFormData);
+        if (res) {
+          console.log('上传成功!',res);
+          closeModal();
+          emit('success');
+          createMessage.success(unref(isUpdate) ? '编辑成功' : '新增成功');
+        }
       } finally {
         setTimeout(() => {
           setModalProps({ confirmLoading: false });
         }, 300);
       }
     }
+
     // async function customUpload({ file }) {
     //   if (beforeUpload(file)) {
     //     tenantLogo.value = '';

+ 119 - 50
src/views/dataAdmin/dataAdmin/sceneResourceUpload/index.vue

@@ -2,51 +2,69 @@
 <template>
   <div style="height: 100%; width: 100%; margin-top: 0; padding: 0">
     <!-- 使用搜索框和表格封装组件 -->
-    <BasicTable :rowSelection="{ type: 'checkbox' }" @register="registerTable" :clickToRowSelect="false">
+    <BasicTable
+      :rowSelection="{ type: 'checkbox' }"
+      @register="registerTable"
+      :clickToRowSelect="false"
+    >
       <!-- 表格右上角按钮 -->
       <template #toolbar>
         <Authority>
           <a-button type="primary" @click="addMethod">新增场景</a-button>
         </Authority>
         <Authority>
-          <Popconfirm title="您确定要批量删除数据" ok-text="确定" cancel-text="取消" @confirm="handleDeleteOrBatchDelete(null)">
+          <Popconfirm
+            title="您确定要批量删除数据"
+            ok-text="确定"
+            cancel-text="取消"
+            @confirm="handleDeleteOrBatchDelete(null)"
+          >
             <a-button type="primary" color="error" :disabled="hasBatchDelete"> 批量删除 </a-button>
           </Popconfirm>
         </Authority>
       </template>
       <!-- 表格操作栏 -->
       <template #action="{ record }">
-        <TableAction :actions="[
-          {
-            label: '浏览',
-            // auth: 'api:yt:role:saveOrUpdateRoleInfoWithMenu:update',
-            icon: '',//'clarity:note-edit-line', //图标
-            onClick: viewScene.bind(null, record),
-          },
-          {
-            label: '查看',
-            //auth: 'api:yt:role:saveOrUpdateRoleInfoWithMenu:update',
-            icon: '',//'clarity:note-edit-line',
-            onClick: handleEdit.bind(null, record),
-          },
-          {
-            label: '编辑',
-            //auth: 'api:yt:role:saveOrUpdateRoleInfoWithMenu:update',
-            icon: '',//'clarity:note-edit-line',
-            onClick: handleEdit.bind(null, record),
-          },
-          {
-            label: '删除',
-            //auth: 'api:yt:role:delete',
-            icon: '',//'ant-design:delete-outlined',
-            color: 'error',
-            ifShow: true,
-            popConfirm: {
-              title: '是否确认删除',
-              confirm: handleDeleteOrBatchDelete.bind(null, record),
+        <TableAction
+          :actions="[
+            {
+              label: '浏览',
+              // auth: 'api:yt:role:saveOrUpdateRoleInfoWithMenu:update',
+              icon: '', //'clarity:note-edit-line', //图标
+              onClick: viewScene.bind(null, record),
             },
-          },
-        ]" />
+            {
+              label: '查看',
+              //auth: 'api:yt:role:saveOrUpdateRoleInfoWithMenu:update',
+              icon: '', //'clarity:note-edit-line',
+              onClick: handleView.bind(null, record),
+            },
+            {
+              label: '编辑',
+              //auth: 'api:yt:role:saveOrUpdateRoleInfoWithMenu:update',
+              icon: '', //'clarity:note-edit-line',
+              onClick: handleEdit.bind(null, record),
+            },
+            {
+              label: '审核',
+              icon: '',
+              color: 'warning',
+              ifShow: record.nodename === '',
+              onClick: handleExam.bind(null, record),
+            },
+            {
+              label: '删除',
+              //auth: 'api:yt:role:delete',
+              icon: '', //'ant-design:delete-outlined',
+              color: 'error',
+              ifShow: true,
+              popConfirm: {
+                title: '是否确认删除',
+                confirm: handleDelete.bind(null, record),
+              },
+            },
+          ]"
+        />
       </template>
       <template #pdate="{ record }">
         <Tag :color="'red'">
@@ -62,17 +80,29 @@
         <Tag :style="`color:${record.status === 2 || record.status === 3 ? 'red' : '#05B069'};`">
           {{
             record.status === 0
-            ? '待审核'
-            : record.status === 1
+              ? '待审核'
+              : record.status === 1
               ? '审核通过'
               : record.status === 2
-                ? '审核不通过'
-                : record.status === 3
-                  ? '被驳回'
-                  : '未提交'
+              ? '审核不通过'
+              : record.status === 3
+              ? '被驳回'
+              : '未提交'
           }}
         </Tag>
       </template>
+      <template #nodename="{ record }">
+        <Tag :style="`color:${record.nodename === '' ? 'red' : '#05B069'};`">
+          {{
+            record.nodename === '' ? '未提交' : record.nodename
+          }}
+        </Tag>
+      </template>
+      <template #checkname="{ record }">
+        <Tag>
+          {{ record.checkname === '' ? record.publisher : record.checkname }}
+        </Tag>
+      </template>
     </BasicTable>
     <!-- 新增和编辑 -->
     <!-- <RoleDrawer @register="registerDrawer" @success="handleSuccess" /> -->
@@ -80,24 +110,26 @@
   </div>
 </template>
 
-<script>
+<script lang="ts">
 import { defineComponent, nextTick } from 'vue';
 import { BasicTable, TableAction, useTable } from '/@/components/Table';
 import { Authority } from '/@/components/Authority';
 import { useModal } from '/@/components/Modal';
 import { Popconfirm } from 'ant-design-vue';
-import { getSceneListByPage, delSceneResource } from '../../api/sceneUploadApi';
+import { useMessage } from '/@/hooks/web/useMessage';
 import { columns, searchFormSchema } from './sceneUploadData';
 import { useBatchDelete } from '/@/hooks/web/useBatchDelete';
 import AddMethod from './AddMethod.vue';
 import Moment from 'moment';
 import { list } from '/@/api/resource/scene';
+import { deleteService, queryResourceById } from '/@/api/resource/map';
 
 export default defineComponent({
   name: 'mapUpload',
   components: { BasicTable, Authority, Popconfirm, TableAction, AddMethod },
   setup() {
     const moment = Moment;
+    const { createMessage } = useMessage();
     //按钮的权限控制标识
     const bottomAuthority = 'api:dataresource:sceneupload:';
     const authList = {
@@ -145,14 +177,14 @@ export default defineComponent({
         redo: true,
         size: true,
         setting: false,
-        fullScreen: false
+        fullScreen: false,
       },
     });
     //
     const { hasBatchDelete, handleDeleteOrBatchDelete, selectionOptions, resetSelectedRowKeys } =
-      useBatchDelete(delSceneResource, handleSuccess, setProps);
+      useBatchDelete(deleteService, handleSuccess, setProps);
     //
-    selectionOptions.rowSelection.getCheckboxProps = (record) => {
+    selectionOptions.rowSelection.getCheckboxProps = (record: Recordable) => {
       // Demo:status为1的选择框禁用
       if (record.status === 1) {
         return { disabled: true };
@@ -172,9 +204,13 @@ export default defineComponent({
     }
     /**
      * 浏览
-    */
+     */
     function viewScene(record) {
-      window.open(`http://106.12.170.138:8080/onemapV5.0/mapview.html?${record.serviceid}`, 'target', "")
+      window.open(
+        `http://192.168.119.143:8080/onemapV5.0/sceneview.html?${record.serviceid}`,
+        'target',
+        ''
+      );
     }
 
     function addMethod() {
@@ -182,26 +218,59 @@ export default defineComponent({
         isUpdate: false,
       });
     }
+
+    //查看
+    async function handleView(record: Recordable) {
+      const res = await queryResourceById(record?.serviceid);
+      if (res) {
+        const result = Object.assign(res.metadata,res.servicebase);
+        openModal(true, {
+          record: result,
+          isUpdate: true,
+        });
+      }
+    }
     // 编辑
-    function handleEdit(record) {
-      openModal(true, {
-        record,
-        isUpdate: true,
-      });
+    async function handleEdit(record: Recordable) {
+      const res = await queryResourceById(record?.serviceid);
+      if (res) {
+        const result = Object.assign(res.metadata,res.servicebase);
+        openModal(true, {
+          record: result,
+          isUpdate: true,
+        });
+      }
     }
 
+    //审核
+    const handleExam = async(record: Recordable)=>{};
+    const handleDelete = async (record: Recordable) => {
+      if (record?.serviceid) {
+        const res = await deleteService(record?.serviceid);
+        if (res?.status !== '-1') {
+          reload();
+          createMessage.success('删除成功!', 1);
+        } else {
+          createMessage.error('删除失败!失败原因:' + res?.message, 1);
+        }
+      }
+    };
 
     return {
       moment,
+      createMessage,
       registerModal,
       authList,
       registerTable,
       // handleCreate,
       addMethod,
       viewScene,
+      handleView,
       handleEdit,
+      handleExam,
       handleSuccess,
       hasBatchDelete,
+      handleDelete,
       handleDeleteOrBatchDelete,
     };
   },

+ 106 - 30
src/views/dataAdmin/dataAdmin/sceneResourceUpload/sceneUploadData.js

@@ -12,7 +12,7 @@ export const columns = [
   {
     title: '资源编号',
     dataIndex: 'serviceid',
-    width: 200,
+    width: 100,
   },
   {
     title: '资源名称',
@@ -32,7 +32,7 @@ export const columns = [
   {
     title: '发布人',
     dataIndex: 'publisher',
-    width: 200,
+    width: 90,
   },
   {
     title: '发布时间',
@@ -42,25 +42,26 @@ export const columns = [
   },
   {
     title: '当前环节',
-    dataIndex: 'currHj',
-    width: 200,
+    dataIndex: 'nodename',
+    slots: { customRender: 'nodename' },
+    width: 90,
   },
   {
     title: '当前处理人',
-    dataIndex: 'auditStatus',
-    width: 200,
+    dataIndex: 'checkname',
+    slots: { customRender: 'checkname' },
+    width: 100,
   },
   {
     title: '审核状态',
     dataIndex: 'status',
-    width: 200,
+    width: 110,
     slots: { customRender: 'status' },
   },
   {
     title: '审核时间',
-    dataIndex: 'eximdata',
-    width: 200,
-    slots: { customRender: 'edate' },
+    dataIndex: 'checktime',
+    width: 180,
   },
 ];
 
@@ -117,15 +118,15 @@ export const accountFormSchema = [
       maxLength: 36,
     },
   },
-  {
-    field: 'serviceCode',
-    label: '资源编码',
-    component: 'Input',
-    colProps: { span: 12 },
-    componentProps: {
-      placeholder: '请输入资源编码',
-    },
-  },
+  // {
+  //   field: 'serviceCode',
+  //   label: '资源编码',
+  //   component: 'Input',
+  //   colProps: { span: 12 },
+  //   componentProps: {
+  //     placeholder: '请输入资源编码',
+  //   },
+  // },
   {
     field: 'servicename',
     label: '资源名称',
@@ -175,7 +176,7 @@ export const accountFormSchema = [
         value: 'value',
       },
       maxTagCount: 10,
-      options:serviceTags
+      options: serviceTags
     },
   },
   {
@@ -233,7 +234,7 @@ export const accountFormSchema = [
         value: 'value',
       },
       maxTagCount: 100,
-      options:sysCoors
+      options: sysCoors
     },
   },
   {
@@ -245,24 +246,59 @@ export const accountFormSchema = [
       placeholder: '请输入服务地址',
     },
   },
+  {
+    field: 'datatype',
+    label: '数据类型',
+    required: false,
+    component: 'Select',
+    colProps: { span: 12 },
+    componentProps: {
+      replaceFields: {
+        title: 'label',
+        key: 'value',
+        value: 'value',
+      },
+      maxTagCount: 100,
+      options: [{ label: '二维', value: '2' }, { label: '三维', value: '3' }]
+    },
+  },
   {
     field: 'dataScope',
     label: '数据范围',
     component: 'Input',
     colProps: { span: 12 },
     componentProps: {
-      placeholder: '请输入',
+      placeholder: '请输入数据范围',
+    },
+  },
+  {
+    field: 'updateType',
+    label: '更新方式',
+    component: 'Input',
+    colProps: { span: 12 },
+    componentProps: {
+      placeholder: '请输入更新方式',
     },
   },
+
   {
     field: 'source',
     label: '数据来源',
     component: 'Input',
     colProps: { span: 12 },
     componentProps: {
-      placeholder: '请输入',
+      placeholder: '请输入数据来源',
     },
   },
+  // {
+  //   field: 'formdatabase',
+  //   label: '数据表',
+  //   component: 'Input',
+  //   colProps: { span: 12 },
+  //   componentProps: {
+  //     placeholder: '请输入数据表',
+  //   },
+  // },
   {
     field: 'secretlevel',
     label: '密级',
@@ -275,7 +311,7 @@ export const accountFormSchema = [
         value: 'value',
       },
       maxTagCount: 10,
-      options:secrets
+      options: secrets
     },
   },
   // {
@@ -300,7 +336,7 @@ export const accountFormSchema = [
       },
       maxTagCount: 10,
       getPopupContainer: () => document.body,
-      options:collectDept,
+      options: collectDept,
     },
   },
   {
@@ -317,7 +353,7 @@ export const accountFormSchema = [
       },
       maxTagCount: 10,
       getPopupContainer: () => document.body,
-      options:respDept
+      options: respDept
     },
   },
   {
@@ -325,7 +361,7 @@ export const accountFormSchema = [
     label: '发布日期',
     component: 'DatePicker',
     colProps: { span: 12 },
-    dynamicDisabled:true,
+    dynamicDisabled: true,
     componentProps: {
       placeholder: '请输入',
     },
@@ -336,7 +372,7 @@ export const accountFormSchema = [
     label: '发布者',
     component: 'Input',
     colProps: { span: 12 },
-    dynamicDisabled:true,
+    dynamicDisabled: true,
     componentProps: {
       placeholder: '请输入',
     },
@@ -355,7 +391,7 @@ export const accountFormSchema = [
     label: '更新日期',
     component: 'DatePicker',
     colProps: { span: 12 },
-    dynamicDisabled:true,
+    dynamicDisabled: true,
     componentProps: {
       placeholder: '请输入更新日期',
     },
@@ -368,7 +404,7 @@ export const accountFormSchema = [
     component: 'Select',
     colProps: { span: 12 },
     componentProps: {
-      placeholder: '请输入EPSC CODE', 
+      placeholder: '请输入EPSC CODE',
       replaceFields: {
         title: 'label',
         key: 'value',
@@ -378,6 +414,46 @@ export const accountFormSchema = [
       options: EPSGCodes
     },
   },
+
+  {
+    field: 'ishistory',
+    label: '是否历史版本',
+    required: false,
+    component: 'Select',
+    colProps: { span: 12 },
+    componentProps: {
+      replaceFields: {
+        title: 'label',
+        key: 'value',
+        value: 'value',
+      },
+      maxTagCount: 10,
+      options: [{ label: '否', value: '0' }, { label: '是', value: '1' }]
+    },
+  },
+
+  {
+    field: 'shsqlc',
+    label: '适合申请流程',
+    required: false,
+    component: 'Select',
+    colProps: { span: 12 },
+    componentProps: {
+      replaceFields: {
+        title: 'label',
+        key: 'value',
+        value: 'value',
+      },
+      maxTagCount: 10,
+      options: [
+        { value: "ggdata", label: "国家秘密和工作秘密数据成果申请" },
+        { value: "other", label: "其他数据成果申请" },
+        { value: "mr", label: "地图资源申请" },
+        { value: "interface", label: "接口服务申请" },
+      ]
+    },
+  },
+
   {
     field: 'runtimestatus',
     label: "运行状态", //状态