Selaa lähdekoodia

服务发布修改校验、授权管理接口对接

yls 1 vuosi sitten
vanhempi
commit
4a8d420eb6

+ 1 - 1
src/router/index.js

@@ -30,7 +30,7 @@ const router = createRouter({
           meta: { menuId: 'data_sqgl' },
         },
         {
-          path: 'warrantManageDataDetail/:type',
+          path: 'warrantManageDataDetail/:type/:id',
           name: 'WarrantManageDataDetail',
           component: () => import('../views/warrantManage/Detail.vue'),
           meta: { menuId: 'data_sqgl' },

+ 36 - 0
src/service/index2.js

@@ -0,0 +1,36 @@
+import axios from "axios"
+import { useUserStore } from '../stores/user'
+
+const userStore = useUserStore()
+
+const service = axios.create({
+    baseURL: 'http://10.81.74.131:8089/portal-service',
+    timeout: 60000, // 请求超时时间 毫秒
+    // withCredentials: true,
+    headers: {
+        "Content-Type": "application/json;charset=UTF-8",
+        "userId": userStore.$state.userId
+    },
+})
+
+service.interceptors.request.use(
+    (config) => {
+        return config;
+    },
+    (error) => {
+        return Promise.reject(error);
+    }
+)
+
+service.interceptors.response.use(
+    (response) => {
+        const res = response.data;
+        return res;
+    },
+    (error) => {
+        return Promise.reject(error);
+    }
+)
+
+export default service;
+

+ 41 - 0
src/service/warrantManage.js

@@ -0,0 +1,41 @@
+import request from "./index2";
+//列表查询
+export function WarrantManageList(page,limit,quickSearch) {
+    return request({
+        url: 'service/tApiApplication/listForAudit',
+        method: "post",
+        data: {page,limit,quickSearch }
+    })
+}
+// 服务基础信息
+export function ServiceManageDetail(id) {
+    return request({
+        url: '/service/dataService/detail',
+        method: "post",
+        data: {id }
+    })
+}
+//申请单信息
+export function ApplicationDetail(id) {
+    return request({
+        url: '/service/dataApplication/detail',
+        method: "post",
+        data: {id }
+    })
+}
+//审核信息
+export function AuditDetail(id) {
+    return request({
+        url: '/service/dataAudit/detailForApplication',
+        method: "post",
+        data: { id }
+    })
+}
+//审核信息保存
+export function AuditSave(tDataItem) {
+    return request({
+        url: '/service/dataAudit/save',
+        method: "post",
+        data: {...tDataItem }
+    })
+}

+ 6 - 37
src/views/servicePublish/Detail.vue

@@ -49,7 +49,7 @@
             <el-input type="textarea" :rows="4" v-model="form.extentInfo.serviceAddress" placeholder="请输入服务地址"></el-input>
           </el-form-item>
 
-          <el-form-item label="配置文件" prop="publishingMode" class="item-row" v-if="showDetail2">
+          <el-form-item label="配置文件" prop="serviceOption" class="item-row" v-if="showDetail2">
             <el-radio-group v-model="form.extentInfo.serviceOption">
               <el-radio :label="0">上传配图
                   <el-upload
@@ -150,42 +150,13 @@ function showPictureWay(val) {
   if (form.basicInfo.publishingMode === 1) {
     showDetail.value = false;
     showDetail2.value = true;
-  } else {
+  }
+  if (form.basicInfo.publishingMode === 0)
+    {
     showDetail.value = true;
     showDetail2.value = false;
   }
 }
-function retuSucc(response, file, fileList) {
-  this.$emit("handleSearch")
-  if (response.code == '200') {
-    this.$notify.success({
-      title: '导入成功',
-      duration: 3000
-    });
-  }
-  if (response.code == '500') {
-    this.$notify.error({
-      title: '导入出现问题',
-      duration: 15000
-    });
-  }
-  if (response.code == '400') {
-    this.$notify.warning({
-      title: '导入成功',
-      duration: 10000
-    });
-  }
-}
-function fileProgress(event, file, fileList) {
-  this.$notify('文件正在上传解析');
-}
-
-
-function handleFileSuccess(res){
-    console.log(res)
-    this.$refs.upload.clearFiles();
-}
-
 function handleClose() {
   router.push({
     name: route.name.slice(0,-6)
@@ -211,10 +182,8 @@ function handleSave() {
       if(route.params.type==='edit') {
         // 编辑
         pForm['id'] = route.params.id
-
-          // 只上传路径的接口
         ServicePublishEdit(pForm).then(res => {
-          if(res.code=='200'&&res.msg==='修改成功') {
+          if(res.code=='200'&&res.data==='保存成功') {
             ElMessage({type:'success', message: '修改成功'})
             handleClose()
           }
@@ -224,7 +193,7 @@ function handleSave() {
         pForm['id'] = null
         pForm['state'] = 1
         ServicePublishAdd(pForm).then(res => {
-          if(res.code=='200'&&res.msg==='新增成功') {
+          if(res.code=='200'&&res.data==='保存成功') {
             ElMessage({type:'success', message: '新增成功'})
             handleClose()
           }

+ 2 - 4
src/views/servicePublish/Index.vue

@@ -27,12 +27,12 @@
                 <el-table-column fixed="right" label="操作" min-width="120">
                     <template #default="scope">
                         <el-button link type="primary" @click="toDetail(scope.row)">详情</el-button>
-                        <el-popconfirm title="确认启用此条?" @confirm="toActivate(scope.row)">
+                        <el-popconfirm title="确认启用此条?" @confirm="toActivate(scope.row)" v-if="scope.row.state!==6">
                             <template #reference>
                                 <el-button link type="primary">启动</el-button>
                             </template>
                         </el-popconfirm>
-                        <el-popconfirm title="确认停止此条?" @confirm="toStop(scope.row)" >
+                        <el-popconfirm title="确认停止此条?" @confirm="toStop(scope.row)" v-if="scope.row.state!==5">
                             <template #reference>
                                 <el-button link type="primary">停止</el-button>
                             </template>
@@ -168,8 +168,6 @@
     }
 
     function toDetail(row) {
-        console.log('row', row)
-
         router.push({
             name: 'ServicePublishDataDetail',
             params: {

+ 120 - 48
src/views/warrantManage/Detail.vue

@@ -7,8 +7,8 @@
       </div>
       <div class="d-btns">
         <template v-if="route.params.type==='Check'">
-          <el-button class="btn-default primary" type="primary">审核通过</el-button>
-          <el-button class="btn-default primary" type="danger">审核不通过</el-button>
+          <el-button class="btn-default primary" type="primary" @click="handleSave(3)">审核通过</el-button>
+          <el-button class="btn-default primary" type="danger" @click="handleSave(1)">审核不通过</el-button>
         </template>
         <el-button class="btn-default" @click="handleClose">关闭</el-button>
       </div>
@@ -23,80 +23,75 @@
           <el-form-item label="资源名称" prop="resName">
             <el-input v-model="form.serviceInfo.resName" clearable></el-input>
           </el-form-item>
-          <el-form-item label="服务类型" prop="serviceType">
-            <el-select v-model="form.serviceInfo.serviceType" clearable>
-              <el-option v-for="item in select_test" :key="item.value" :label="item.label" :value="item.value"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="权限类型" prop="authType">
-            <el-select v-model="form.serviceInfo.authType" clearable>
-              <el-option v-for="item in select_test" :key="item.value" :label="item.label" :value="item.value"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="发布方式" prop="publishWay" class="item-row">
-            <el-radio-group v-model="form.serviceInfo.publishWay" class="radio-default">
-              <el-radio label="online">在线发布</el-radio>
-              <el-radio label="register">服务注册</el-radio>
+            <el-form-item label="服务类型" prop="serviceTypeName">
+              <el-input v-model="form.serviceInfo.serviceTypeName" clearable></el-input>
+            </el-form-item>
+            <el-form-item label="权限类型" prop="permissionType">
+              <el-input v-model="form.serviceInfo.permissionType" clearable></el-input>
+            </el-form-item>
+          <el-form-item label="发布方式" prop="publishingMode" class="item-row">
+            <el-radio-group v-model="form.serviceInfo.publishingMode">
+              <el-radio :label="0">在线发布</el-radio>
+              <el-radio :label="1">服务注册</el-radio>
             </el-radio-group>
           </el-form-item>
-          <el-form-item label="服务描述" prop="serviceDes" class="item-row">
-            <el-input type="textarea" :rows="4" v-model="form.serviceInfo.serviceDes"></el-input>
+          <el-form-item label="服务描述" prop="serviceDescribe" class="item-row">
+            <el-input type="textarea" :rows="4" v-model="form.serviceInfo.serviceDescribe"></el-input>
           </el-form-item>
         </el-form>
-
         <span class="detail-part-title">发布信息</span>
+<!--        // 接口没调-->
         <el-form :model="form.publishInfo" label-position="top" ref="publishInfo" class="form-detail" disabled>
-          <el-form-item label="发布人" prop="publishBy">
-            <el-input v-model="form.publishInfo.publishBy"></el-input>
+          <el-form-item label="发布人" prop="proposerId">
+            <el-input v-model="form.publishInfo.proposerId"></el-input>
           </el-form-item>
-          <el-form-item label="所属单位" prop="unit">
-            <el-input v-model="form.publishInfo.unit"></el-input>
+          <el-form-item label="所属单位" prop="unitName">
+            <el-input v-model="form.publishInfo.unitName"></el-input>
           </el-form-item>
           <el-form-item label="发布时间" prop="publishTime">
             <el-input v-model="form.publishInfo.publishTime"></el-input>
           </el-form-item>
         </el-form>
-
         <span class="detail-part-title">申请信息</span>
         <el-form :model="form.applyInfo" label-position="top" ref="applyInfo" class="form-detail" disabled>
-          <el-form-item label="访问IP" prop="accessAddress">
-            <el-input v-model="form.applyInfo.accessAddress"></el-input>
+          <el-form-item label="访问IP" prop="accessIp">
+            <el-input v-model="form.applyInfo.accessIp"></el-input>
           </el-form-item>
-          <el-form-item label="使用期限(天)" prop="limit">
-            <el-input v-model="form.applyInfo.limit"></el-input>
+          <el-form-item label="使用期限(天)" prop="serviceLife">
+            <el-input v-model="form.applyInfo.serviceLife"></el-input>
           </el-form-item>
-          <el-form-item label="每天访问数" prop="dailyAccess">
-            <el-input v-model="form.applyInfo.dailyAccess"></el-input>
+          <el-form-item label="每天访问数" prop="dailyVisits">
+            <el-input v-model="form.applyInfo.dailyVisits"></el-input>
           </el-form-item>
-          <el-form-item label="并发量" prop="concurrency">
-            <el-input v-model="form.applyInfo.concurrency"></el-input>
+          <el-form-item label="开发量" prop="developmentVolume">
+            <el-input v-model="form.applyInfo.developmentVolume"></el-input>
           </el-form-item>
-          <el-form-item label="申请人" prop="applyBy">
-            <el-input v-model="form.applyInfo.applyBy"></el-input>
+          <el-form-item label="申请人" prop="proposerId">
+            <el-input v-model="form.applyInfo.proposerId"></el-input>
           </el-form-item>
-          <el-form-item label="所属单位" prop="unit">
-            <el-input v-model="form.applyInfo.unit"></el-input>
+          <el-form-item label="所属单位" prop="unitName">
+            <el-input v-model="form.applyInfo.unitName"></el-input>
           </el-form-item>
-          <el-form-item label="申请时间" prop="applyTime">
-            <el-input v-model="form.applyInfo.applyTime"></el-input>
+          <el-form-item label="申请时间" prop="applicationTime">
+            <el-input v-model="form.applyInfo.applicationTime"></el-input>
           </el-form-item>
-          <el-form-item label="申请原因" prop="applyReason" class="item-row">
-            <el-input type="textarea" :rows="4" v-model="form.applyInfo.applyReason"></el-input>
+          <el-form-item label="申请原因" prop="applicationReason" class="item-row">
+            <el-input type="textarea" :rows="4" v-model="form.applyInfo.applicationReason"></el-input>
           </el-form-item>
         </el-form>
 
         <span class="detail-part-title">审核信息</span>
         <el-form :model="form.CheckInfo" label-position="top" ref="CheckInfo" class="form-detail">
           <template v-if="route.params.type==='Detail'">
-            <el-form-item label="审核人" prop="checkBy">
-              <el-input v-model="form.CheckInfo.checkBy" disabled></el-input>
+            <el-form-item label="审核人" prop="auditorId">
+              <el-input v-model="form.CheckInfo.auditorId" disabled></el-input>
             </el-form-item>
-            <el-form-item label="审核时间" prop="checkTime">
-              <el-input v-model="form.CheckInfo.checkTime" disabled></el-input>
+            <el-form-item label="审核时间" prop="auditorTime">
+              <el-input v-model="form.CheckInfo.auditorTime" disabled></el-input>
             </el-form-item>
           </template>
-          <el-form-item label="审核意见" prop="checkDes" class="item-row">
-            <el-input type="textarea" :rows="4" v-model="form.CheckInfo.checkDes" :disabled="route.params.type==='Detail'"></el-input>
+          <el-form-item label="审核意见" prop="auditReason" class="item-row">
+            <el-input type="textarea" :rows="4" v-model="form.CheckInfo.auditReason" :disabled="route.params.type==='Detail'"></el-input>
           </el-form-item>
         </el-form>
 
@@ -109,7 +104,9 @@
 <script setup>
 import { reactive, ref, watch } from 'vue'
 import { useRoute, useRouter } from 'vue-router'
-import { select_test } from '../../utils/data/select-data'
+import {onBeforeMount} from "@vue/runtime-core";
+import {ElMessage} from "element-plus";
+import {ApplicationDetail, AuditDetail, AuditSave, ServiceManageDetail} from "../../service/warrantManage";
 
 const route = useRoute()
 const router = useRouter()
@@ -120,7 +117,7 @@ const form = reactive({
     resName: '',
     serviceType: '',
     authType: '',
-    publishWay: 'online',
+    publishWay: '',
     serviceDes: ''
   },
   publishInfo: {
@@ -150,6 +147,81 @@ function handleClose() {
     name: route.name.slice(0,-6)
   })
 }
+const CheckInfo = ref(null)
+function handleSave(auditState) {
+  Promise.all([CheckInfo.value.validate()]).then(valid => {
+    if(valid.findIndex(val => val===false)===-1) {
+      // 校验通过
+      let pForm={}
+      for (const k in form.CheckInfo) {
+        pForm[k] = form.CheckInfo[k]
+      }
+      pForm.auditState=auditState.value;
+      console.log(pForm);
+        pForm['primaryId'] = route.params.id
+      AuditSave(pForm).then(res => {
+          if(res.code=='200'&&res.data==='保存成功') {
+            ElMessage({type:'success', message: '修改成功'})
+            handleClose()
+          }
+        })
+    }
+  })
+}
+function handleSave1() {
+
+}
+onBeforeMount(()=> {
+  if(route.params.type!=='add') {
+    ServiceManageDetail(route.params.id).then(res => {
+      if(res.code===200) {
+        const data = res.data
+        form.serviceInfo.serviceName = data.serviceName
+        form.serviceInfo.accessIp = data.accessIp
+        form.serviceInfo.resourceId = data.resourceId   // 去循环这个id  匹配到中文
+        form.serviceInfo.serviceType = data.serviceType
+        form.serviceInfo.permissionType = data.permissionType // 去循环这个id  匹配到中文
+        form.serviceInfo.publishingMode = data.publishingMode // 去循环这个id  匹配到中文
+        form.serviceInfo.serviceDescribe = data.serviceDescribe
+        switch (data.serviceType) {
+          case 0:
+            form.serviceInfo.serviceTypeName = '栅格切片'
+            break
+          case 1:
+            form.serviceInfo.serviceTypeName = '三维服务'
+            break
+          case 2:
+            form.serviceInfo.serviceTypeName = '要素服务'
+            break
+          case 3:
+            form.serviceInfo.serviceTypeName = '动态服务'
+            break
+        }
+        ApplicationDetail(data.id).then(res => {
+          console.log(res)
+          // 字段对应不上
+          form.applyInfo.accessIp = res.data.accessIp  // xx
+          form.applyInfo.serviceLife = res.data.serviceLife
+          form.applyInfo.dailyVisits = res.data.dailyVisits
+          form.applyInfo.developmentVolume = res.data.developmentVolume
+          form.applyInfo.proposerId = res.data.proposerId
+          form.applyInfo.unitName = res.data.unitName
+          form.applyInfo.applicationTime = res.data.applicationTime
+          form.applyInfo.applicationReason = res.data.applicationReason
+        })
+        AuditDetail(data.id).then(res => {
+          // console.log(res)  //kongde
+          form.CheckInfo.auditorId = res.data.auditorId
+          form.CheckInfo.auditorTime = res.data.auditorTime
+          form.CheckInfo.auditReason = res.data.auditReason
+          console.log(form)
+        })
+      } else {
+        ElMessage({type:'error', message: '查询失败'})
+      }
+    })
+  }
+})
 
 </script>
 

+ 74 - 47
src/views/warrantManage/Index.vue

@@ -4,29 +4,29 @@
     <div class="list-main">
       <el-table :data="tableData.value" ref="table" class="table-default" id="table-list" stripe>
         <el-table-column type="index" :index="indexCreate" label="序号" min-width="50"/>
-        <el-table-column label="服务名称" min-width="100" prop="name" show-overflow-tooltip/>
-        <el-table-column label="服务类型" min-width="100" prop="type" show-overflow-tooltip/>
-        <el-table-column label="资源名称" min-width="100" prop="resName" show-overflow-tooltip/>
-        <el-table-column label="资源类别" min-width="100" prop="resCata" show-overflow-tooltip/>
+        <el-table-column label="服务名称" min-width="100" prop="serviceName" show-overflow-tooltip/>
+        <el-table-column label="服务类型" min-width="100" prop="serviceTypeName" show-overflow-tooltip/>
+        <el-table-column label="资源名称" min-width="100" prop="resourceId" show-overflow-tooltip/>
+        <el-table-column label="资源类别" min-width="100" prop="resourceTypeName" show-overflow-tooltip/>
         <el-table-column label="服务状态" min-width="100">
           <template #default="scope">
             <span
             class="table-column-state"
             :class="{
-              'state-green':scope.row.serviceState==='审核通过',
-              'state-orange':scope.row.serviceState==='过期',
-              'state-red':scope.row.serviceState==='未通过',
-              'state-blue':scope.row.serviceState==='待审核',
+              'state-green':scope.row.applicationStatusName==='审核通过',
+              'state-orange':scope.row.applicationStatusName==='过期',
+              'state-red':scope.row.applicationStatusName==='未通过',
+              'state-blue':scope.row.applicationStatusName==='待审核',
             }"
-            >{{ scope.row.serviceState }}</span>
+            >{{ scope.row.applicationStatusName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="申请人" min-width="100" prop="applyBy" show-overflow-tooltip/>
-        <el-table-column label="申请时间" min-width="100" prop="applyTime" show-overflow-tooltip/>
+        <el-table-column label="申请人" min-width="100" prop="applicationUserName" show-overflow-tooltip/>
+        <el-table-column label="申请时间" min-width="100" prop="applicationTime" show-overflow-tooltip/>
         <el-table-column fixed="right" label="操作" min-width="120">
           <template #default="scope">
-            <el-button link type="primary" @click="toDetail">详情</el-button>
-            <el-button link type="primary" @click="toCheck">审核</el-button>
+            <el-button link type="primary" @click="toDetail(scope.row)">详情</el-button>
+            <el-button link type="primary" @click="toCheck(scope.row)">审核</el-button>
             <el-button link type="primary" @click="toRevoke">撤销</el-button>
           </template>
         </el-table-column>
@@ -41,6 +41,7 @@ import { reactive, ref, onMounted } from 'vue'
 import ListHeader from '../../components/ListHeader.vue';
 import { useRouter, useRoute  } from 'vue-router'
 import Pagination from '../../components/Pagination.vue';
+import {ServiceManageDetail, WarrantManageList} from "../../service/warrantManage";
 
 onMounted(() => {
   let tableH = document.getElementById('table-list').getElementsByClassName('el-table__body-wrapper')[0].clientHeight
@@ -51,6 +52,7 @@ onMounted(() => {
 
 const currentPage = ref(1)
 const pageSize = ref(10)
+const quickSearch = ref("{\"name\":null}")
 const tableTotal = ref(20)
 
 function pagi_changePage(page) {
@@ -63,57 +65,82 @@ function indexCreate(index) {
 }
 
 function getData(page, size) {
-  tableData.value=[]
-  for(let i=(page-1)*size; i<page*size&&i<tableTotal.value; i++) {
-    let state = ''
-    switch(Math.floor(Math.random()*4)) {
-      case 0:
-        state = '审核通过'
-        break
-      case 1:
-        state = '未通过'
-        break
-      case 2:
-        state = '过期'
-        break
-      case 3:
-        state = '待审核'
-        break
+  WarrantManageList(currentPage.value, pageSize.value, quickSearch.value).then(res => {
+    tableData.value = res.data.records
+    tableTotal.value = res.data.total
+    for (let data of tableData.value) {
+      switch (data.applicationStatus) {
+        case 1:
+          data.applicationStatusName = '待审核'
+          break
+        case 2:
+          data.applicationStatusName = '审核通过'
+          break
+        case 3:
+          data.applicationStatusName = '未通过'
+          break
+        case 4:
+          data.applicationStatusName = '过期'
+          break
+      }
+      ServiceManageDetail(data.id).then(res => {
+        data.serviceName = res.data.serviceName
+        data.serviceType = res.data.serviceType
+        data.resourceType = res.data.resourceType
+        data.resourceName = res.data.resourceName
+        data.resourceId = res.data.resourceId
+        // data.servicePublishUserName = res.data.servicePublishUserName
+        // data.servicePublishTime = res.data.servicePublishTime
+        switch (data.serviceType) {
+          case 0:
+            data.serviceTypeName = '栅格切片'
+            break
+          case 1:
+            data.serviceTypeName = '三维服务'
+            break
+          case 2:
+            data.serviceTypeName = '要素服务'
+            break
+          case 3:
+            data.serviceTypeName = '动态服务'
+            break
+        }
+        switch (data.resourceType) {
+          case '0':
+            data.resourceTypeName = '资源编目'
+            break
+          case '1':
+            data.resourceTypeName = '专题目录'
+            break
+
+        }
+      })
     }
-    tableData.value.push({ 
-      name: '轨道交通站点'+(i+1),
-      type: '栅格切片',
-      resName: '轨道交通站点',
-      resCata: '基础目录',
-      serviceState: state,
-      applyBy: '张三',
-      applyTime: '2022-01-01 16:30',
-
-    })
-  }
+  })
 }
 
-const table = ref(null)
 
 const tableData = reactive({value: []})
 
 const route = useRoute()
 const router = useRouter()
 
-function toDetail() {
+function toDetail(row) {
   router.push({
-    name: route.name + 'Detail',
+    name: 'WarrantManageDataDetail',
     params: {
-      type: 'Detail'
+      type: 'Detail',
+      id: row.id
     }
   })
 }
 
-function toCheck() {
+function toCheck(row) {
   router.push({
-    name: route.name + 'Detail',
+    name: 'WarrantManageDataDetail',
     params: {
-      type: 'Check'
+      type: 'Check',
+      id: row.id
     }
   })
 }