Browse Source

终版提交

wanger 2 tháng trước cách đây
mục cha
commit
72f3a2ab20

+ 13 - 0
website/src/api/ghcgysc/cggl.js

@@ -187,6 +187,19 @@ export function getxblist(parameter) {
         }
     })
 }
+
+//删除旗县修编申请
+export function xbDelete(parameter) {
+    return request({
+        url: '/apply/cggl/xbdelete',
+        method: 'get',
+        params: parameter,
+        headers: {
+            'Content-Type': 'application/json;charset=UTF-8'
+        }
+    })
+}
+
 //获取村庄规划统计信息
 export function getStatistics(parameter) {
     return request({

+ 40 - 6
website/src/permission.js

@@ -13,7 +13,7 @@ import NProgress from 'nprogress'
 import 'nprogress/nprogress.css'
 import { getToken } from '@/utils/auth'
 import { isHttp } from '@/utils/validate'
-import { checkToken, currentUserInfo } from "@/api/login";
+import { checkToken, currentUserInfo, validateTicket, SsoLogout } from "@/api/login";
 
 
 NProgress.configure({ showSpinner: false });
@@ -61,17 +61,50 @@ router.beforeEach((to, from, next) => {
                         })
                         .catch((e) => {
                             console.log('认证登录失败:');
-                            next(`/login?redirect=/`) // 否则全部重定向到登录页
+                            next(SSOExitUrl) // 否则全部重定向到登录页
                         });
                 })
                 .catch((e) => {
                     console.log('用户信息获取失败');
-                    next(`/login?redirect=/`) // 否则全部重定向到登录页
+                    next(SSOExitUrl) // 否则全部重定向到登录页
                 });
         }).catch(e => {
             console.log('Token过期,请重新登录!');
-            next(`/login?redirect=/`) // 否则全部重定向到登录页
+            next(SSOExitUrl) // 否则全部重定向到登录页
         })
+    } else if (to.query && to.query.ticket) { //TODO wanger 对接基础信息平台
+        // 通过ticket获取登录用户信息
+        validateTicket(to.query.ticket).then(res => {
+                console.log('用户信息获取成功:' + JSON.stringify(res.data));
+                // 获取username
+                let username = res.data.account;
+                // 调用action的登录方法,进行自动认证登录
+                console.log('开始自动认证登录');
+                store.dispatch("LoginNew", username)
+                    .then(() => {
+                        store.commit("SET_SUPERUSER", username);
+                        next("/")
+                    })
+                    .catch((e) => {
+                        console.log('认证登录失败:');
+                        next(SSOExitUrl) // 否则全部重定向到登录页
+                    });
+            })
+            .catch((e) => {
+                console.log('用户信息获取失败');
+                next(SSOExitUrl) // 否则全部重定向到登录页
+            });
+    } else if (to.query && to.query.logout) { //TODO wanger 对接基础信息平台
+        store.dispatch("LogOut").then(() => {});
+        // 获取Token对应登录用户信息
+        SsoLogout().then(res => {
+                console.log('单点登录退出成功');
+                next(SSOUrl) // 否则全部重定向到登录页
+            })
+            .catch((e) => {
+                console.log('单点登录退出失败');
+                next(SSOExitUrl) // 否则全部重定向到登录页
+            });
     } else {
         if (getToken()) {
 
@@ -120,7 +153,7 @@ router.beforeEach((to, from, next) => {
                             console.log('Token过期,请重新登录!');
                             store.commit("SET_SUPERUSER", "");
                             store.commit("SET_SUPERTOKEN", "");
-                            next(`/login?redirect=/`) // 否则全部重定向到登录页
+                            next(SSOExitUrl) // 否则全部重定向到登录页
                             return
                         })
                     } else {
@@ -140,7 +173,8 @@ router.beforeEach((to, from, next) => {
                 // 在免登录白名单,直接进入
                 next()
             } else {
-                next(`/login?redirect=${to.path}`) // 否则全部重定向到登录页
+                window.location = JcptSSOExitUrl;
+                // next(`/login?redirect=${to.path}`) // 否则全部重定向到登录页
                 NProgress.done()
             }
         }

+ 8 - 3
website/src/utils/websocket.js

@@ -56,18 +56,23 @@ export const socket = {
     //心跳检测
     heartbeat() {
         socket.clientTimeout = setTimeout(() => {
-            if (socket.websocket) {
+            console.log("socket.websocket.readyState==" + socket.websocket.readyState);
+            if (socket.websocket && socket.websocket.readyState == 1) {
                 //向后台发送消息进行心跳检测
                 socket.websocket.send("");
                 // socket.websocketState = false;
                 //一分钟内服务器不响应则关闭连接
                 socket.serverTimeout = setTimeout(() => {
                     if (!socket.websocketState) {
-                        socket.websocket.onclose()
+                        socket.websocket.onclose();
                     } else {
-                        this.resetHeartbeat()
+                        this.resetHeartbeat();
                     }
                 }, 100);
+            } else {
+                socket.serverTimeout = setTimeout(() => {
+                    this.resetHeartbeat();
+                }, 100);
             }
         }, 100);
     },

+ 34 - 3
website/src/views/ghcgscygl/ghcgsb/Qxxb.vue

@@ -85,7 +85,7 @@
             align="center"
             type="flex"
             justity="space-between"
-            width="220"
+            width="260"
           >
             <template #default="scope">
               <div class="">
@@ -107,11 +107,19 @@
                 <el-button
                   type="primary"
                   size="mini"
-                  @click="xbDownload(scope.row.id)"
+                  @click="xbDownload(scope.row.uuid)"
                   v-if="scope.row.path"
                   style="display: inline-block"
                   >下载</el-button
                 >
+                <el-button
+                  type="primary"
+                  size="mini"
+                  @click="xbDeleteFun(scope.row.uuid)"
+                  v-if="$store.getters.roles.join(',').indexOf('admin') > -1"
+                  style="display: inline-block"
+                  >删除</el-button
+                >
               </div>
             </template>
           </el-table-column>
@@ -219,7 +227,7 @@ import {
   reuploadThirdpartyReviseData,
 } from "@/api/ghcgysc/search.js";
 import request from "@/utils/request.js";
-import { getxblist } from "@/api/ghcgysc/cggl.js";
+import { getxblist, xbDelete } from "@/api/ghcgysc/cggl.js";
 import ShjlDialog from "@/components/ghcgscygl/ghcgsb/search/Shjl.vue";
 import GhcgDialog from "@/components/ghcgscygl/ghcgsb/ztgh/ghcgDialog.vue";
 import CzghcgDialog from "@/components/ghcgscygl/ghcgsb/xxgh/czgh/Qxyh/czghcgDialog.vue";
@@ -344,6 +352,29 @@ export default {
           request.defaults.baseURL + "/apply/cggl/xbfiledownload?id=" + id,
         );
       },
+      xbDeleteFun(id) {
+        this.$confirm("确定删除此项修编申请吗?", "提示框", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+          .then(() => {
+            xbDelete({ id: id }).then((res) => {
+              if (res.success) {
+                ElMessage.success("删除成功");
+              } else {
+                ElMessage.error("删除失败");
+              }
+              qxyh.getlist();
+            });
+          })
+          .catch(() => {
+            // this.$message({
+            //   type: "info",
+            //   message: "已取消删除",
+            // });
+          });
+      },
       handleRemove() {
         qxyh.xbfile = null;
         qxyh.fileList = [];

+ 4 - 13
website/src/views/ghcgscygl/ghcgsb/Search.vue

@@ -102,7 +102,6 @@
                   size="mini"
                   style="display: inline-block"
                   @click="download(scope.row)"
-                  v-if="formInline.planType == '1'"
                   >审查报告</el-button
                 >
               </div>
@@ -422,11 +421,9 @@ export default {
       },
       upload(row) {
         qxyh.instid = row.instId;
-        if (qxyh.formInline.planType == "1") {
-          qxyh.ztghDialog = true;
-        } else if (qxyh.formInline.planType == "2") {
+        if (qxyh.formInline.planType == "2") {
           qxyh.ghcgscDialog = true;
-        } else if (qxyh.formInline.planType == "3") {
+        } else {
           qxyh.ztghDialog = true;
         }
       },
@@ -485,10 +482,7 @@ export default {
           getLandGetAllTasks(qxyh.formInline).then((res) => {
             qxyh.formInline.total = res.data.total || 999;
             //待办的村庄规划需要检查补正的状态,未补正的可以上传成果包
-            if (
-              qxyh.formInline.planType == 2 ||
-              qxyh.formInline.planType == 3
-            ) {
+            if (qxyh.formInline.planType == 2) {
               getInstIds().then((res2) => {
                 qxyh.instids = res2.data.join(",");
                 qxyh.tableData2 = res.data.records;
@@ -517,10 +511,7 @@ export default {
             qxyh.formInline.current = 1;
             qxyh.formInline.total = res.data.total || 999;
             //待办的村庄规划需要检查补正的状态,未补正的可以上传成果包
-            if (
-              qxyh.formInline.planType == 2 ||
-              qxyh.formInline.planType == 3
-            ) {
+            if (qxyh.formInline.planType == 2) {
               getInstIds().then((res2) => {
                 qxyh.instids = res2.data.join(",");
                 qxyh.tableData2 = res.data.records;