Browse Source

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

XiaXxxxxx 2 năm trước cách đây
mục cha
commit
a4d6d43f6d

+ 13 - 6
src/api/sys/menu.ts

@@ -6,7 +6,7 @@ import menu from '/@/mock/menu.json'
 import menu_get_ids from '/@/mock/menu_get_ids.json'
 import tool from '/@/utils/Tool';
 import { identity } from 'lodash-es';
-import { session } from '/@/utils/Memory';
+import { local, session } from '/@/utils/Memory';
 import { getAuthCache } from '/@/utils/auth';
 import { USER_INFO_KEY } from '/@/enums/cacheEnum';
 
@@ -57,15 +57,22 @@ export const saveStructure = (params) => {
  */
 
 export const structureList = () => {
+  var list = local.getItem("structureList");
+  if (list) {
+    return new Promise<void>((resolve, reject) => {
+      resolve(list);
+    })
+  }
   return new Promise<void>((resolve, reject) => {
     defHttp.post({ url: Api.GetChildDepartment }).then((res) => {
       if (res.datas && res.datas.depInfo) {
         var a = tool.structureTree([res.datas]);
         console.log(a)
-        a[0].children.forEach(item=>{
+        a[0].children.forEach(item => {
           item.level = 0
         })
         resolve(a[0].children)
+        local.setItem("structureList", a[0].children);
       } else {
         resolve([])
       }
@@ -130,7 +137,7 @@ function buildTree(nodes, parentId = null) {
   for (let node of nodes) {
     if (node.parentid === parentId) {
       node.meta = JSON.parse(node.meta)
-      node.meta.status==='1' && (node.disabled=true)
+      node.meta.status === '1' && (node.disabled = true)
       node.children = buildTree(nodes, node.id);
       tree.push(node);
     }
@@ -212,21 +219,21 @@ export const getMenusIdsByRoleId = () => {
       url: Api.GetRoleMenus, params: {
         menusId: true,
         systemId: '1',
-        roleIds: session.getItem("roles")||userInfo.info.ROLES[0].ROLE_ID,//'FB264E2A-BBEN-FB9T-9CEU-FF94AF30DB87',
+        roleIds: session.getItem("roles") || userInfo.info.ROLES[0].ROLE_ID,//'FB264E2A-BBEN-FB9T-9CEU-FF94AF30DB87',
       }
     }).then(r => {
       resolve(r.datas.map(i => i.id))
     })
   })
   var p2 = new Promise((resolve, reject) => {
-    
+
     defHttp.post<Array<string>>({
       url: Api.GetUserMenus, params: {
         getMenuId: true,
         getUserConfigMenu: true,
         systemId: "1",
         useOneRole: true,
-        userId: session.getItem('userId')||userInfo.info.EMPLOYEE.EMPLOYEE_ID,
+        userId: session.getItem('userId') || userInfo.info.EMPLOYEE.EMPLOYEE_ID,
       }
     }).then(r => {
       resolve(r.datas)

+ 7 - 10
src/views/authorize/empower/index.vue

@@ -13,8 +13,7 @@
         </div>
         <div class="input" v-if="selectTypeValue != 'SR'">
           <span>应用系统</span>
-          <a-select allowClear v-model:value="selectSystemValue" style="width: 200px"
-            :options="sysOptions"></a-select>
+          <a-select allowClear v-model:value="selectSystemValue" style="width: 200px" :options="sysOptions"></a-select>
         </div>
         <div class="input">
           <span>审核状态</span>
@@ -84,7 +83,6 @@ import moment from 'moment';
 import { session } from '/@/utils/Memory';
 import { queryTaskInfoPage, queryTaskYbInfoPage } from '/@/api/resource/examine';
 import { getAppDesign } from '/@/api/oem';
-import { useRouter } from 'vue-router';
 import MapResourceUpload from '/@/views/dataAdmin/dataAdmin/mapUpload/MapSourceModal.vue';
 import FileResourceUpload from '/@/views/dataAdmin/dataAdmin/fileResourceUpload/AddMethod.vue';
 import SceneResourceUpload from '/@/views/dataAdmin/dataAdmin/sceneResourceUpload/AddMethod.vue';
@@ -93,15 +91,14 @@ import { useModal } from '/@/components/Modal';
 import { queryResourceById } from '/@/api/resource/map';
 import { useAppStore } from '/@/store/modules/app';
 
+
 export default defineComponent({
-  name: 'Empowerment',
-  components: { BasicTable, TableAction, AuditModal, MapResourceUpload, FileResourceUpload, SceneResourceUpload, AssResourceUpload },
   setup() {
-    const appStore = useAppStore();
     const [registerModal, { openModal }] = useModal();
     const ischect = ref(true)
+  const appStore = useAppStore();
     const searchValue = ref('')
-    const selectTypeValue = ref('')
+    const selectTypeValue = ref('MR')
     const selectSystemValue = ref('')
     const selectStatusValue = ref('0')
     const searchTime = ref(null)
@@ -293,10 +290,10 @@ export default defineComponent({
 
     const onFetchSuccess = () => {
       // 请求后拿到数据,打开对应的资源审核弹窗
-      nextTick(()=>{
+      nextTick(() => {
         let dataList = getDataSource()
-        if(currRoute?.query?.bussid && appStore.routerPushAuditFlag){
-          dataList.forEach(item=>{
+        if (currRoute?.query?.bussid && appStore.routerPushAuditFlag) {
+          dataList.forEach(item => {
             item.BUSSID === currRoute.query.bussid && handleAudit(item)
           })
         }

+ 1 - 0
src/views/interface/index.vue

@@ -35,6 +35,7 @@ export default defineComponent({
       interfaceGroupId.value = i.groupId
     }
     onMounted(() => getGroupList())
+    eventBus.on('interfaceCenter', () => getGroupList());
     var menu = ref([]);
     function getGroupList() {
       getGroup().then((res) => {

+ 7 - 5
src/views/interface/item/AssemblyData.vue

@@ -76,8 +76,8 @@ export default defineComponent({
     const action = ref({});
     const pageSizeOptions = ref(['10', '20', '30', '40', '50']);
     const current = ref(1);
-    const pageSize = ref(6);
-    const total = ref(50);
+    const pageSize = ref(10);
+    const total = ref(0);
     const groupId = ref("")
 
     const showDrawer = (i) => {
@@ -90,8 +90,8 @@ export default defineComponent({
     };
 
 
-    const onShowSizeChange = (current, pageSize) => {
-      pageSize.value = pageSize;
+    const onShowSizeChange = (current, val) => {
+      pageSize.value = val;
       getGroupIdList()
     };
     watch(current, () => {
@@ -133,7 +133,7 @@ export default defineComponent({
         getList(e)
       } else {
         current.value = 1
-        pageSize.value = 6
+        pageSize.value = 10
         getGroupIdList()
       }
     }
@@ -147,6 +147,8 @@ export default defineComponent({
       () => props.groupId,
       (val) => {
         groupId.value = val;
+        current.value = 1;
+        pageSize.value = 10;
         getGroupIdList();
       }
     )

+ 26 - 15
src/views/interface/item/child/InterfaceCarModal.vue

@@ -17,7 +17,8 @@
                     </div>
                     <div class="input">
                         <span>申请时间</span>
-                        <a-date-picker v-model:value="searchTime" placeholder="申请时间" style="width: 200px" />
+                        <!-- <a-date-picker v-model:value="searchTime" placeholder="申请时间" style="width: 200px" /> -->
+                        <a-range-picker placeholder="申请时间" v-model:value="searchTime" />
                     </div>
                 </div>
                 <div class="right-btns">
@@ -39,9 +40,13 @@
                             {
                                 label: '移出',
                                 tooltip: '移出',
-                                // icon: 'ant-design:form-outlined',
                                 onClick: handleDelete.bind(null, record),
-                                disabled: !(record.shzt === '未提交')
+                                disabled: record.shzt != '未提交' && record.shzt != '审核不通过'
+                            },
+                            {
+                                label: '提交申请',
+                                disabled: record.shzt != '未提交' && record.shzt != '审核不通过',
+                                onClick: handleAdd.bind(null, record),
                             },
                         ]" />
                     </template>
@@ -94,7 +99,7 @@ export default defineComponent({
     name: 'modal',
     components: { BasicTable, TableAction, ExclamationCircleOutlined, ApplyModal },
     props,
-    emits:['closeModal'],
+    emits: ['closeModal'],
     setup(props, { emit }) {
         const data = reactive({
             width: '1440px',
@@ -102,7 +107,7 @@ export default defineComponent({
         })
         const searchValue = ref('')
         const selectValue = ref('')
-        const searchTime = ref(null)
+        const searchTime = ref([])
         const statusOptions = [
             {
                 label: "未提交",
@@ -131,7 +136,8 @@ export default defineComponent({
                 getResInCar({
                     keyword: searchValue.value,
                     shzt: selectValue.value,
-                    sqsj: searchTime.value ? moment(searchTime).format('YYYY-MM-DD') : '',
+                    sqsj: searchTime.value.length == 2 ? moment(searchTime.value[0]).format('YYYY-MM-DD') : '',
+                    endSqsj: searchTime.value.length == 2 ? moment(searchTime.value[1]).format('YYYY-MM-DD') : '',
                     userId: session.getItem('userId'),
                 }).then((res) => {
                     if (res.datas?.length) {
@@ -263,8 +269,9 @@ export default defineComponent({
         //重置查询
         const handleReset = () => {
             searchValue.value = ''
-            selectValue.value = '未审核'
-            searchTime.value = moment()
+            selectValue.value = ''
+            searchTime.value = ""
+            reload();
         }
         //条件查询
         const handleSearch = () => {
@@ -284,21 +291,25 @@ export default defineComponent({
                     let params = {
                         idList: [record.resInCarId]
                     }
-                    deleteResInCar(params).then(res => {
+                    deleteResInCar(params, record).then(res => {
                         reload();
+                        eventBus.emit('interfaceCenter')
+                        eventBus.emit('addResToCarEventBusInterface')
                     })
                 })
             });
         }
         //添加申请
-        const handleAdd = () => {
+        const handleAdd = (record) => {
             // showSelectAppModal.value = true;
             // selectAppKey.value = ''
-            var list = getSelectRowKeys();
-            openModal(true, {
-                isUpdate: false,
-                sqzys: list
-            });
+            var list = record && record.resInCarId ? [record.resInCarId] : getSelectRowKeys();
+            if (list.length) {
+                openModal(true, {
+                    isUpdate: false,
+                    sqzys: list
+                });
+            }
         }
         const handleSubmit = () => {
             queryFlowInfoPage({

+ 35 - 24
src/views/interface/item/child/Search.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="wrapper">
-        <span class="sqrk"  @click="showModal">申请库({{ resNum }})</span>
+        <span class="sqrk" @click="showModal">申请库({{ resNum }})</span>
         <span>
             <a-select allowClear ref="select" v-model:value="value" style="width: 200px" :options="options"
                 @change="handleChange">
@@ -19,7 +19,7 @@
         <!-- <a-modal style="top: 50px" v-model:visible="visible" title="申请库" @ok="handleOk" width="1440px">
             <library></library>
         </a-modal> -->
-        <InterfaceCarModal v-if="visible" @closeModal="visible = false"/>
+        <InterfaceCarModal v-if="visible" @closeModal="visible = false" />
     </div>
 </template>
 
@@ -33,9 +33,9 @@ import { session } from '/@/utils/Memory';
 import { message } from 'ant-design-vue';
 
 const props = {
-    totalNum:{
-        type:Number,
-        default:0
+    totalNum: {
+        type: Number,
+        default: 0
     }
 }
 
@@ -43,27 +43,36 @@ export default defineComponent({
     name: 'Search',
     components: { library, InterfaceCarModal },
     props,
-    setup(props,{emit}) {
-        const value = ref('1');
+    setup(props, { emit }) {
+        const value = ref('全部');
         const key = ref('');
         const checked1 = ref(false);
         const checked2 = ref(false);
         const checked3 = ref(false);
         const checked4 = ref(false);
 
+        // const options = ref([
+        //     {
+        //         value: '1',
+        //         label: '已审核',
+        //     },
+        //     {
+        //         value: '2',
+        //         label: '未审核',
+        //     },
+        //     {
+        //         value: '3',
+        //         label: '未通过',
+        //     },
+        // ]);
+
         const options = ref([
-            {
-                value: '1',
-                label: '已审核',
-            },
-            {
-                value: '2',
-                label: '未审核',
-            },
-            {
-                value: '3',
-                label: '未通过',
-            },
+            { value: '', label: '全部' },
+            { value: '未加入', label: '加入申请库' },
+            { value: '已加入', label: '已加入申请库' },
+            { value: '审核通过', label: '审核通过' },
+            { value: '审核不通过', label: '审核不通过' },
+            { value: '审核中', label: '审核中' },
         ]);
 
         function onSearch(e) {
@@ -84,24 +93,25 @@ export default defineComponent({
         onMounted(() => {
             getResData();
         })
+        eventBus.on('addResToCarEventBusInterface', () => getResData());
         const getResData = () => {
             getResInCar({
                 userId: session.getItem('userId'),
             }).then((res) => {
                 if (res.datas) {
-                    let resData = res.datas.filter(item=>item.applyCarInfo.workflowType==='INTERFACE')
+                    let resData = res.datas.filter(item => item.applyCarInfo.workflowType === 'INTERFACE')
                     resNum.value = resData.length
                 }
             })
         }
 
         watch(
-            ()=>props.totalNum,
-            (val)=>{
+            () => props.totalNum,
+            (val) => {
                 num.value = val
             }
         )
-        const handleChange = ()=>{
+        const handleChange = () => {
 
         }
 
@@ -165,7 +175,8 @@ export default defineComponent({
     font-weight: normal;
     color: #333333;
 }
-.total-num>span{
+
+.total-num>span {
     font-size: 20px;
     color: #0671DD;
 }

+ 1 - 0
src/views/interface/item/child/applyModal/config.data.ts

@@ -51,6 +51,7 @@ export const formSchema: FormSchema[] = [
     field: 'sqdw',
     component: 'ApiTreeSelect',
     label: '申请单位',
+    dynamicDisabled: true,
     componentProps: {
       placeholder: '请选择申请单位',
       api: async () => {

+ 7 - 7
src/views/resource/plat/index.vue

@@ -70,7 +70,7 @@ export default defineComponent({
       currentTreeNodeKeys.value[0] = selectedKey[0]
       if (selectedKey.length) {
         console.log(node.dataRef)
-        platList({id: node.dataRef.id}).then(res => {
+        platList({ id: node.dataRef.id }).then(res => {
           if (res.length) {
             achieveList.value = res
           }
@@ -98,18 +98,18 @@ export default defineComponent({
     eventBus.on('platListCenter', (o) => {
       var type = null;
       if (o && o.type) type = o.type == 'MAP' ? 'MR' : o.type == 'SCENE' ? 'ER' : 'DR';
-      let params = JSON.parse(JSON.stringify(o))
+      let params = o ? JSON.parse(JSON.stringify(o)) : {};
       params.id = currentTreeNodeKeys.value.length ? currentTreeNodeKeys.value[0] : null
       platList(params).then((r) => {
         if (r) {
           if (type) {
             var list = JSON.parse(JSON.stringify(achieveList.value))
             let resArr = []
-            list.forEach((item,index)=>{
-              item.type!==type && (resArr[index]=item)
+            list.forEach((item, index) => {
+              item.type !== type && (resArr[index] = item)
             })
-            r.forEach((item,index)=>{
-              item.type===type && (resArr[index]=item)
+            r.forEach((item, index) => {
+              item.type === type && (resArr[index] = item)
             })
             achieveList.value = resArr;
             // achieveList.value = list.map(i => {
@@ -127,7 +127,7 @@ export default defineComponent({
 
     const resAddToCar = () => {
       let params = {
-        id:currentTreeNodeKeys.value.length ? currentTreeNodeKeys.value[0] : null
+        id: currentTreeNodeKeys.value.length ? currentTreeNodeKeys.value[0] : null
       }
       platList(params).then((r) => { if (r) achieveList.value = r });
     }

+ 1 - 1
src/views/resource/plat/item/child/DetailModal.vue

@@ -317,7 +317,7 @@ export default defineComponent({
             }
         })
         return {
-            setHtmlImg,
+            // setHtmlImg,
             baseInfo,
             metaInfo,
             // formRef,

+ 19 - 6
src/views/resource/plat/item/child/ResCarModal.vue

@@ -70,6 +70,8 @@ import { queryFlowInfoPage, submitExamine } from '/@/api/resource/examine';
 import ApplyModal from './applyModal/ApplyModal.vue';
 import { useModal } from '/@/components/Modal';
 import { columns } from "./ResCarModal.data"
+import { list } from '/@/api/authorize/authorize';
+
 
 
 export default defineComponent({
@@ -96,7 +98,8 @@ export default defineComponent({
             { label: "审核不通过", value: "审核不通过" },
         ]
         // 请求所有申请库中的资源
-        const getAllData = () => {
+        const getAllData = async () => {
+            var appList = await list();
             return new Promise((resolve) => {
                 getResInCar({
                     keyword: searchValue.value,
@@ -107,24 +110,34 @@ export default defineComponent({
                 }).then((res) => {
                     if (res?.datas?.length) {
                         let resData = []
+
                         res.datas.forEach(item => {
                             //筛掉接口服务
                             var type = item.applyCarInfo.workflowType;
                             if (type == props.type) {
                                 if (item?.resInfo?.SERVICEID) {
+                                    var shr = [];
+                                    var shyj = [];
+                                    if (item.shlc.length > 1) {
+                                        item.shlc.map((i, index) => {
+                                            if (index != 0 && index != item.shlc.length - 1) {
+                                                shr.push(i.USER_NAME)
+                                                shyj.push(i.CHECKINFO)
+                                            }
+                                        })
+                                    }
+                                    var app = appList.find((i) => i.KEY == item.systemkey);
                                     resData.push({
                                         resInCarId: item.applyCarInfo.id,
                                         serviceid: item?.resInfo?.SERVICEID,
                                         zylx: type === 'MAP' ? '地图资源' : type === 'SCENE' ? '场景资源' : '文件资源',
-                                        // zymc: item.resInfo.SERVICENAME,
                                         zymc: item.applyCarInfo.resName,
-                                        yyxt: item.systemkey,
-                                        // sqdz: "",
+                                        yyxt: app?.NAME || '',
                                         sqsj: item.applyCarInfo.createtime,
                                         sqr: item.sqrname,
                                         shzt: item.shzt,
-                                        shr: "",
-                                        shyj: ""
+                                        shr: shr.join(','),
+                                        shyj: shyj.join(','),
                                     })
                                 }
                             }

+ 1 - 1
src/views/resource/plat/item/child/applyModal/ApplyModal.vue

@@ -19,7 +19,7 @@ export default defineComponent({
   emits: ['success', 'register'],
   setup(_, { emit }) {
     const isUpdate = ref(true);
-    const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
+    const [registerForm, { resetFields, setFieldsValue, validate, setProps }] = useForm({
       labelWidth: 100,
       schemas: formSchema,
       showActionButtonGroup: false,

+ 1 - 0
src/views/resource/plat/item/child/applyModal/config.data.ts

@@ -51,6 +51,7 @@ export const formSchema: FormSchema[] = [
     field: 'sqdw',
     component: 'ApiTreeSelect',
     label: '申请单位',
+    dynamicDisabled: true,
     componentProps: {
       placeholder: '请选择申请单位',
       api: async () => {