Bläddra i källkod

修编对接市级接口

wanger 3 månader sedan
förälder
incheckning
1b5fbc2822

+ 1 - 1
manager/package.json

@@ -6,7 +6,7 @@
     "license": "MIT",
     "scripts": {
         "dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
-        "build:prod": "vue-cli-service build",
+        "build:prod": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
         "build:stage": "vue-cli-service build --mode staging",
         "preview": "node build/index.js --preview",
         "lint": "eslint --ext .js,.vue src"

+ 2 - 0
website/.env.development

@@ -7,3 +7,5 @@ VITE_APP_ENV = 'development'
 # 国土空间规划“一张图”实施监督信息系统/开发环境
 VITE_APP_BASE_API = '/dev-api'
 VITE_ARC_SERVER_API = '/qx-arc-server'
+# 单点登录-市级一张图系统
+VITE_APP_SSO_BASE_API = '/sso-api'

+ 2 - 0
website/.env.production

@@ -11,6 +11,8 @@ port = '5000'
 #通辽部署环境
 VITE_APP_BASE_API = 'http://192.168.60.240:8080'
 VITE_ARC_SERVER_API = 'http://192.168.60.240:6080'
+# 单点登录-市级一张图系统
+VITE_APP_SSO_BASE_API = 'http://192.168.60.20:8080'
 
 # 是否在打包时开启压缩,支持 gzip 和 brotli
 #VITE_BUILD_COMPRESS = gzip

+ 1 - 1
website/public/js/config.js

@@ -35,7 +35,7 @@ let TOKEN_STR = "access_token";
 // let SSOUrl = 'http://127.0.0.1:8000/swsso/login?service=http://127.0.1:8081';
 let JcptSSOExitUrl = `http://192.168.60.240:8000/swsso/logout?service=http://192.168.60.240:8000/swsso`;
 let SSOExitUrl = `/logout=logout`;
-let SSOUrl = `http://192.168.60.240:8000/swsso/login?service=http://192.168.60.52:8000/`;
+let SSOUrl = `http://192.168.60.240:8000/swsso/login?service=http://192.168.60.240:5000/`;
 let SSOTIcketUrl = `http://192.168.60.240:8000/swsso/validate`;
 /**基础信息平台 */
 let JcptUrl = "http://192.168.100.111:8893";

+ 9 - 6
website/src/api/login.js

@@ -1,14 +1,14 @@
 import request from '@/utils/request'
 import requestForSHENG from '@/utils/requestForSHENG'
 
-export function SsoLogout(ticket){
+export function SsoLogout(ticket) {
     return request({
         url: JcptSSOExitUrl,
         method: 'get',
     })
 }
 
-export function validateTicket(ticket){
+export function validateTicket(ticket) {
     return request({
         url: SSOTIcketUrl + '?ticket=' + ticket,
         method: 'get',
@@ -41,11 +41,14 @@ export function currentUserInfo(token) {
  */
 export function checkToken(token) {
     return requestForSHENG({
-        url: '/sys-auth/oauth/checkToken',
-        method: 'get',
-        headers: {
-            Authorization: "Bearer " + token
+        url: '/api/sso/checkToken',
+        method: 'post',
+        data: {
+            "Token": token
         },
+        headers: {
+            'Content-Type': 'application/json;charset=UTF-8'
+        }
     })
 }
 

+ 16 - 40
website/src/permission-self.js

@@ -27,47 +27,23 @@ router.beforeEach((to, from, next) => {
     if (to.query && to.query.token && to.path === '/page') {
         let access_token = to.query.token
         console.log('校验Token是否过期');
-        //#region test
-        // // 获取username
-        // let username = 'admin'
-        // // 调用action的登录方法,进行自动认证登录
-        // console.log('开始自动认证登录');
-        // store.dispatch("LoginNew", username)
-        //   .then(() => {
-        //     store.commit("SET_SUPERUSER", username);
-        //     store.commit("SET_SUPERTOKEN", access_token);
-        //     next()
-        //   })
-        //   .catch((e) => {
-        //     console.log('认证登录失败:');
-        //     next(`/login?redirect=/`) // 否则全部重定向到登录页
-        //   });
-        //#endregion
-
         checkToken(access_token).then(res => {
-            console.log('Token未过期,获取Token对应登录用户信息');
-            // 获取Token对应登录用户信息
-            currentUserInfo(access_token).then(res => {
-                    console.log('用户信息获取成功:' + res.data);
-                    // 获取username
-                    let username = res.data.user_name
-                        // 调用action的登录方法,进行自动认证登录
-                    console.log('开始自动认证登录');
-                    store.dispatch("LoginNew", username)
-                        .then(() => {
-                            store.commit("SET_SUPERUSER", username);
-                            store.commit("SET_SUPERTOKEN", access_token);
-                            next()
-                        })
-                        .catch((e) => {
-                            console.log('认证登录失败:');
-                            next(`/login?redirect=/`) // 否则全部重定向到登录页
-                        });
-                })
-                .catch((e) => {
-                    console.log('用户信息获取失败');
-                    next(`/login?redirect=/`) // 否则全部重定向到登录页
-                });
+            console.log('Token未过期,用户信息获取成功:' + res.data);
+            if (res.data.success) {
+                let username = res.data.uid
+                console.log('开始自动认证登录');
+                store.dispatch("LoginNew", username)
+                    .then(() => {
+                        next({ path: '/home' })
+                    })
+                    .catch((e) => {
+                        console.log('认证登录失败:');
+                        next(`/login?redirect=/`) // 否则全部重定向到登录页
+                    });
+            } else {
+                console.log('Token过期,请重新登录!');
+                next(`/login?redirect=/`) // 否则全部重定向到登录页
+            }
         }).catch(e => {
             console.log('Token过期,请重新登录!');
             next(`/login?redirect=/`) // 否则全部重定向到登录页

+ 8 - 15
website/src/permission-sso.js

@@ -28,29 +28,22 @@ router.beforeEach((to, from, next) => {
         let access_token = to.query.token
         console.log('校验Token是否过期');
         checkToken(access_token).then(res => {
-            console.log('Token未过期,获取Token对应登录用户信息');
-            // 获取Token对应登录用户信息
-            currentUserInfo(access_token).then(res => {
-                console.log('用户信息获取成功:' + res.data);
-                // 获取username
-                let username = res.data.user_name
-                // 调用action的登录方法,进行自动认证登录
+            console.log('Token未过期,用户信息获取成功:' + res.data);
+            if (res.data.success) {
+                let username = res.data.uid
                 console.log('开始自动认证登录');
                 store.dispatch("LoginNew", username)
                     .then(() => {
-                        store.commit("SET_SUPERUSER", username);
-                        store.commit("SET_SUPERTOKEN", access_token);
-                        next()
+                        next({ path: '/home' })
                     })
                     .catch((e) => {
                         console.log('认证登录失败:');
                         next(SSOExitUrl) // 否则全部重定向到登录页
                     });
-            })
-                .catch((e) => {
-                    console.log('用户信息获取失败');
-                    next(SSOExitUrl) // 否则全部重定向到登录页
-                });
+            } else {
+                console.log('Token过期,请重新登录!');
+                next(SSOExitUrl) // 否则全部重定向到登录页
+            }
         }).catch(e => {
             console.log('Token过期,请重新登录!');
             next(SSOExitUrl) // 否则全部重定向到登录页

+ 19 - 43
website/src/permission.js

@@ -23,51 +23,27 @@ const whiteList = ['/login', '/auth-redirect', '/bind', '/register'];
 router.beforeEach((to, from, next) => {
     // 全局前置守卫
     NProgress.start()
-        // 获取地址栏参数
+    // 获取地址栏参数
     if (to.query && to.query.token && to.path === '/page') {
         let access_token = to.query.token
         console.log('校验Token是否过期');
-        //#region test
-        // // 获取username
-        // let username = 'admin'
-        // // 调用action的登录方法,进行自动认证登录
-        // console.log('开始自动认证登录');
-        // store.dispatch("LoginNew", username)
-        //   .then(() => {
-        //     store.commit("SET_SUPERUSER", username);
-        //     store.commit("SET_SUPERTOKEN", access_token);
-        //     next()
-        //   })
-        //   .catch((e) => {
-        //     console.log('认证登录失败:');
-        //     next(`/login?redirect=/`) // 否则全部重定向到登录页
-        //   });
-        //#endregion
-
         checkToken(access_token).then(res => {
-            console.log('Token未过期,获取Token对应登录用户信息');
-            // 获取Token对应登录用户信息
-            currentUserInfo(access_token).then(res => {
-                    console.log('用户信息获取成功:' + res.data);
-                    // 获取username
-                    let username = res.data.user_name
-                        // 调用action的登录方法,进行自动认证登录
-                    console.log('开始自动认证登录');
-                    store.dispatch("LoginNew", username)
-                        .then(() => {
-                            store.commit("SET_SUPERUSER", username);
-                            store.commit("SET_SUPERTOKEN", access_token);
-                            next()
-                        })
-                        .catch((e) => {
-                            console.log('认证登录失败:');
-                            next(`/login?redirect=/`) // 否则全部重定向到登录页
-                        });
-                })
-                .catch((e) => {
-                    console.log('用户信息获取失败');
-                    next(`/login?redirect=/`) // 否则全部重定向到登录页
-                });
+            console.log('Token未过期,用户信息获取成功:' + res.data);
+            if (res.data.success) {
+                let username = res.data.uid
+                console.log('开始自动认证登录');
+                store.dispatch("LoginNew", username)
+                    .then(() => {
+                        next({ path: '/home' })
+                    })
+                    .catch((e) => {
+                        console.log('认证登录失败:');
+                        next(`/login?redirect=/`) // 否则全部重定向到登录页
+                    });
+            } else {
+                console.log('Token过期,请重新登录!');
+                next(`/login?redirect=/`) // 否则全部重定向到登录页
+            }
         }).catch(e => {
             console.log('Token过期,请重新登录!');
             next(`/login?redirect=/`) // 否则全部重定向到登录页
@@ -84,7 +60,7 @@ router.beforeEach((to, from, next) => {
             //#endregion
 
             to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
-                /* has token*/
+            /* has token*/
             if (to.path === '/login') {
                 next({ path: '/' })
                 NProgress.done()
@@ -101,7 +77,7 @@ router.beforeEach((to, from, next) => {
                                     router.addRoute(route) // 动态添加可访问路由表
                                 }
                             })
-                            next({...to, replace: true }) // hack方法 确保addRoutes已完成
+                            next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
                         })
                     }).catch(err => {
                         store.dispatch('LogOut').then(() => {

+ 1 - 1
website/src/utils/requestForSHENG.js

@@ -26,7 +26,7 @@ axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
 // 创建axios实例
 const service = axios.create({
     // axios中请求配置有baseURL选项,表示请求URL公共部分
-    baseURL: 'http://10.254.238.63',
+    baseURL: import.meta.env.VITE_APP_SSO_BASE_API,
     // 超时
     timeout: 10000000000,
 });

+ 234 - 88
website/src/views/ghcgscygl/ghcgsb/Search.vue

@@ -3,26 +3,42 @@
     <div class="header flex-box align-center box-sizing">
       <div class="header-left">
         <el-form :inline="true" :model="formInline">
+          <el-form-item label="标题:">
+            <el-input v-model="formInline.subject"></el-input>
+          </el-form-item>
           <el-form-item label="办理状态:">
             <el-select v-model="formInline.status" placeholder="请选择">
               <el-option label="已办" value="1"></el-option>
               <el-option label="待办" value="2"></el-option>
+              <el-option label="修编" value="3"></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="规划类型:">
             <el-select v-model="formInline.planType" placeholder="请选择">
               <el-option label="总体规划" value="1"></el-option>
               <el-option label="村庄规划" value="2"></el-option>
-              <el-option label="专项规划" value="3"></el-option>
+              <el-option label="报批项目" value="3"></el-option>
+              <el-option label="总体规划(对部)" value="4"></el-option>
+              <el-option label="详细规划" value="5"></el-option>
+              <el-option label="专项规划" value="6"></el-option>
+              <el-option label="乡镇苏木国土空间规划" value="7"></el-option>
             </el-select>
-            <el-button type="primary" @click="changeForm" style="margin-left: 20px">查询</el-button>
           </el-form-item>
+          <el-form-item label="行政区:">
+            <el-cascader :options="xzoptions" :props="{
+              ...props,
+              checkStrictly: true,
+              expandTrigger: 'hover',
+            }" v-model="xzqCode" clearable ref="cascader" class="cascader-style" style="width: 90%"
+              popper-class="popper-cascader" :filterable="true" :show-all-levels="false"></el-cascader>
+          </el-form-item>
+          <el-button type="primary" @click="changeForm" style="margin-left: 20px">查询</el-button>
         </el-form>
       </div>
     </div>
     <div class="table-layout flex-box column height-100-60">
       <div class="table max-width height-100-50">
-        <el-table ref="multipleTable" :data="tableData1Cur" style="width: 100%" border fit cell-class-name="cell-item"
+        <el-table ref="multipleTable" :data="tableData1" style="width: 100%" border fit cell-class-name="cell-item"
           height="100%" tooltip-effect="dark" v-show="formInline.status == '1'">
           <el-table-column prop="id" label="记录主键" align="center">
           </el-table-column>
@@ -41,16 +57,17 @@
           <el-table-column label="操作" align="center" type="flex" justity="space-between" width="220">
             <template #default="scope">
               <div class="">
-                <el-button type="primary" @click="open(scope.row)" style="display: inline-block">审批记录</el-button>
-                <el-button type="primary" style="display: inline-block" @click="download(scope.row)"
+                <el-button type="primary" size="mini" @click="open(scope.row)"
+                  style="display: inline-block">审批记录</el-button>
+                <el-button type="primary" size="mini" style="display: inline-block" @click="download(scope.row)"
                   v-if="formInline.planType == '1'">审查报告</el-button>
               </div>
             </template>
           </el-table-column>
         </el-table>
 
-        <el-table ref="multipleTable2" :data="tableData2Cur" style="width: 100%" border fit cell-class-name="cell-item"
-          height="100%" tooltip-effect="dark" v-show="formInline.status == '2'">
+        <el-table ref="multipleTable2" :data="tableData2" style="width: 100%" border fit cell-class-name="cell-item"
+          height="100%" tooltip-effect="dark" v-show="formInline.status == '2' || formInline.status == '3'">
           <el-table-column prop="id" label="记录主键" align="center">
           </el-table-column>
           <el-table-column prop="title" label="成果名称" align="center">
@@ -65,15 +82,21 @@
           </el-table-column>
           <el-table-column prop="executor" label="执行人" align="center">
           </el-table-column>
-          <el-table-column label="操作" align="center" type="flex" justity="space-between" width="120">
+          <el-table-column label="操作" align="center" type="flex" justity="space-between" width="220">
             <template #default="scope">
               <div class="">
-                <el-button type="primary" @click="upload(scope.row)" style="display: inline-block"
-                  :disabled="instids.indexOf(scope.row.instid) > -1" v-if="
-                    scope.row &&
-                    scope.row.nodename == '补正' &&
-                    formInline.planType == '2'
-                  ">上传</el-button>
+                <el-button type="primary" size="mini" @click="open(scope.row)"
+                  style="display: inline-block">审批记录</el-button>
+                <el-button v-if="formInline.status == '3'" type="primary" size="mini" @click="xbUpload(scope.row)"
+                  style="display: inline-block">修编</el-button>
+                <el-button v-if="
+                  ($store.getters.roles.join(',').indexOf('common') > -1 ||
+                    $store.getters.roles.join(',').indexOf('manager') > -1) &&
+                  scope.row &&
+                  scope.row.nodename == '补正'
+                  && formInline.status == '2'
+                " type="primary" size="mini" @click="upload(scope.row)" style="display: inline-block"
+                  :disabled="instids.indexOf(scope.row.instid) > -1">补正</el-button>
               </div>
             </template>
           </el-table-column>
@@ -81,19 +104,44 @@
       </div>
       <div class="flex-box footer height-50 flex-box align-center box-sizing">
         <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
-          :current-page="formInline.page" :page-sizes="[10, 20, 50, 100]" :page-size="formInline.limit" background
+          :current-page="formInline.current" :page-sizes="[10, 20, 50, 100]" :page-size="formInline.size" background
           :pager-count="5" layout="total, sizes, prev, pager, next, jumper" :total="formInline.total">
         </el-pagination>
       </div>
     </div>
     <ShjlDialog v-model:list="shjllist" v-model:ShjlDialog="shjlShow" v-if="shjlShow" style="margin-top: 300px">
     </ShjlDialog>
+    <GhcgDialog v-if="ztghDialog" v-model:ghcgscDialog="ztghDialog" :isCity="$store.getters.roles.join(',').indexOf('common') > -1 ? false : true
+      " :instid="instid" @refresh="changeForm" @getlist="changeForm"></GhcgDialog>
     <CzghcgDialog v-if="ghcgscDialog" v-model:ghcgscDialog="ghcgscDialog" :instid="instid" @refresh="changeForm"
       @getlist="changeForm"></CzghcgDialog>
-    <GhcgDialog v-if="ztghDialog" v-model:ghcgscDialog="ztghDialog" :isCity="true" :instid="instid"
-      @refresh="changeForm" @getlist="changeForm"></GhcgDialog>
     <XxghcgDialog v-if="xxghcgscDialog" v-model:xxghcgscDialog="xxghcgscDialog" :instid="instid" @refresh="changeForm"
       @getlist="changeForm"></XxghcgDialog>
+    <el-dialog title="修编上传" v-model="dialogVisible" style="width: 360px; height: 400px" :before-close="handleClose"
+      append-to-body>
+      <div style="width: 100%; height: 100%">
+        <el-form label-width="100px">
+          <el-form-item label="选择文件">
+            <el-upload ref="fileUploadBtn" :limit="1" :file-list="fileList" :on-change="handleChangeFile"
+              :on-remove="handleRemove" :auto-upload="false" :show-file-list="true">
+              <el-button size="small" type="primary">点击上传</el-button>
+            </el-upload>
+          </el-form-item>
+          <el-form-item label="记录主键">
+            <el-input readonly v-model="xbform.id" placeholder="请输入记录主键"></el-input>
+          </el-form-item>
+          <el-form-item label="名称">
+            <el-input readonly v-model="xbform.title" placeholder="请输入名称"></el-input>
+          </el-form-item>
+          <el-form-item label="流程主键">
+            <el-input readonly v-model="xbform.instid" placeholder="请输入流程主键"></el-input>
+          </el-form-item>
+        </el-form>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="xbSubmit()" size="small">修编</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -107,32 +155,46 @@ import {
   reportDownloadAction,
   getInstIds,
   getcgglInstIds,
+  getLandGetRevisePageData,
+  reuploadThirdpartyReviseData,
 } from "@/api/ghcgysc/search.js";
 import ShjlDialog from "@/components/ghcgscygl/ghcgsb/search/Shjl.vue";
-import CzghcgDialog from "@/components/ghcgscygl/ghcgsb/xxgh/czgh/Qxyh/czghcgDialog.vue";
 import GhcgDialog from "@/components/ghcgscygl/ghcgsb/ztgh/ghcgDialog.vue";
+import CzghcgDialog from "@/components/ghcgscygl/ghcgsb/xxgh/czgh/Qxyh/czghcgDialog.vue";
 import XxghcgDialog from "@/components/ghcgscygl/ghcgsb/xxgh/xxgh/Qxyh/czghcgDialog.vue";
-import { GetXzq } from "@/api/homeApi.js";
-
 import { ElMessage } from "element-plus";
+import { GetXzq } from "@/api/homeApi.js";
 export default {
   components: {
     ShjlDialog,
-    CzghcgDialog,
     GhcgDialog,
-    XxghcgDialog
+    CzghcgDialog,
+    XxghcgDialog,
   },
   setup(props, context) {
     const { proxy } = getCurrentInstance();
     const parent = { ...context };
     const qxyh = reactive({
+      xbform: {
+        xbfile: null,
+        id: "",
+        title: "",
+        instid: ""
+      },
       formInline: {
         status: "1",
         planType: "1",
-        page: 1,
-        limit: 20,
+        current: 1,
+        size: 20,
         total: 0,
+        divisionCode: "",
+        subject: "",
       },
+      fileList: [],
+      xbfile: null,
+      dialogVisible: false,
+      xzqCode: [],
+      xzoptions: [],
       instid: "",
       instids: "",
       cascader: ref(null),
@@ -148,8 +210,6 @@ export default {
       options: [],
       shjllist: [],
       shjlShow: false,
-      tableData1Cur: [],
-      tableData2Cur: [],
       tableData1: [],
       tableData2: [],
       dialogTitle: "",
@@ -161,47 +221,15 @@ export default {
       uuidList: [],
       uuidList1: "",
       handleSizeChange(val) {
-        qxyh.formInline.limit = val;
-        qxyh.calcTableData();
+        qxyh.formInline.size = val;
+        qxyh.getlist2();
       },
       handleCurrentChange(val) {
-        qxyh.formInline.page = val;
-        qxyh.calcTableData();
-      },
-      // 获取列表数据
-      getlist2() {
-        if (qxyh.formInline.status == 1) {
-          getLandMyAttendsData(qxyh.formInline).then((res) => {
-            qxyh.tableData1 = res.data.records;
-            qxyh.formInline.total = res.data.total || 999;
-          });
-        } else if (qxyh.formInline.status == 2) {
-          getLandGetAllTasks(qxyh.formInline).then((res) => {
-            qxyh.formInline.total = res.data.total || 999;
-            //待办的村庄规划需要检查补正的状态,未补正的可以上传成果包
-            if (
-              qxyh.formInline.planType == 2 ||
-              qxyh.formInline.planType == 3
-            ) {
-              getInstIds().then((res2) => {
-                qxyh.instids = res2.data.join(",");
-                qxyh.tableData2 = res.data.records;
-              });
-            } else {
-              getcgglInstIds().then((res2) => {
-                qxyh.instids = res2.data.join(",");
-                qxyh.tableData2 = res.data.records;
-              });
-            }
-          });
-        } else {
-          ElMessage.error("请选择规划类型");
-        }
+        qxyh.formInline.current = val;
+        qxyh.getlist2();
       },
       // 筛选
       changeForm() {
-        // qxyh.formInline.page = 1;
-        // qxyh.getlist();
         qxyh.formInline.current = 1;
         qxyh.getlist();
       },
@@ -214,6 +242,14 @@ export default {
         qxyh.activeCg = activeCg;
         qxyh.ckxqDialog = true;
       },
+      handleClose() {
+        qxyh.dialogVisible = false;
+        qxyh.xbform.xbfile = null;
+        qxyh.xbform.title = "";
+        qxyh.xbform.id = "";
+        qxyh.xbform.instid = "";
+        qxyh.fileList = [];
+      },
       // 审核记录
       open(row) {
         let id = row.id;
@@ -230,9 +266,74 @@ export default {
           }
         });
       },
+      // 修编记录
+      xbUpload(row) {
+        qxyh.xbform.id = row.id;
+        qxyh.xbform.instid = row.instid;
+        qxyh.xbform.title = row.title;
+        qxyh.dialogVisible = true;
+      },
+      handleRemove() {
+        qxyh.xbfile = null;
+        qxyh.fileList = [];
+      },
+      handleChangeFile(file, fileList) {
+        qxyh.xbform.xbfile = file.raw;
+        qxyh.fileList = fileList;
+      },
+      xbSubmit() {
+        if (!qxyh.xbform.instid) {
+          ElMessage.error("请输入流程主键");
+        } else if (!qxyh.xbform.id) {
+          ElMessage.error("请输入记录主键");
+        } else if (!qxyh.xbform.title) {
+          ElMessage.error("请输入名称");
+        } else if (!qxyh.xbform.xbfile) {
+          ElMessage.error("请选择修编文件");
+        } else {
+          console.log("开始修编上传");
+          const formdata = new FormData();
+          formdata.append("file", qxyh.xbform.xbfile);
+          formdata.append("instid", qxyh.xbform.instid);
+          formdata.append("id", qxyh.xbform.id);
+          formdata.append("title", qxyh.xbform.title);
+          reuploadThirdpartyReviseData(formdata).then((res) => {
+            if (res.success) {
+              ElMessage.success("修编上传成功");
+              qxyh.dialogVisible = false;
+              qxyh.xbfile = null;
+              qxyh.fileList = [];
+            } else {
+              ElMessage.error("修编上传失败");
+            }
+          });
+        }
+      },
+      setXzqdm() {
+        if (qxyh.xzqCode && qxyh.xzqCode.length > 0) {
+          qxyh.formInline.divisionCode = qxyh.xzqCode[qxyh.xzqCode.length - 1];
+        } else {
+          qxyh.formInline.divisionCode = "";
+        }
+        console.log(qxyh.formInline.divisionCode);
+      },
       upload(row) {
         qxyh.instid = row.instid;
-        qxyh.ghcgscDialog = true;
+        if (qxyh.formInline.planType == "1") {
+          qxyh.ztghDialog = true;
+        } else if (qxyh.formInline.planType == "2") {
+          qxyh.ghcgscDialog = true;
+        } else if (qxyh.formInline.planType == "3") {
+          qxyh.ztghDialog = true;
+        }
+      },
+      // 获取行政区
+      getXzq() {
+        GetXzq({ city: true }).then((res) => {
+          if (res.success) {
+            qxyh.xzoptions = proxy.$comfun.resetTree(res.data);
+          }
+        });
       },
       // 审查报告
       download(row) {
@@ -266,37 +367,74 @@ export default {
         document.body.removeChild(elink); // 移除<a>标签
       },
       // 获取列表数据
-      getlist() {
+      getlist2() {
         if (qxyh.formInline.status == 1) {
           getLandMyAttendsData(qxyh.formInline).then((res) => {
-            if (res.success) {
-              qxyh.formInline.page = 1;
-              qxyh.tableData1 = res.data;
-              qxyh.formInline.total = qxyh.tableData1.length;
-              qxyh.calcTableData();
+            qxyh.tableData1 = res.data;
+            qxyh.formInline.total = res.data.length || 999;
+          });
+        } else if (qxyh.formInline.status == 3) {
+          getLandGetRevisePageData(qxyh.formInline).then((res) => {
+            qxyh.tableData2 = res.data;
+            qxyh.formInline.total = res.data.length || 999;
+          });
+        } else if (qxyh.formInline.status == 2) {
+          getLandGetAllTasks(qxyh.formInline).then((res) => {
+            qxyh.formInline.total = res.data.length || 999;
+            //待办的村庄规划需要检查补正的状态,未补正的可以上传成果包
+            if (
+              qxyh.formInline.planType == 2 ||
+              qxyh.formInline.planType == 3
+            ) {
+              getInstIds().then((res2) => {
+                qxyh.instids = res2.data.join(",");
+                qxyh.tableData2 = res.data;
+              });
             } else {
-              ElMessage.error("市级接口异常:" + res.message);
+              getcgglInstIds().then((res2) => {
+                qxyh.instids = res2.data.join(",");
+                qxyh.tableData2 = res.data;
+              });
             }
           });
+        } else {
+          ElMessage.error("请选择规划类型");
+        }
+      },
+      // 获取列表数据
+      getlist() {
+        if (qxyh.formInline.status == 1) {
+          getLandMyAttendsData(qxyh.formInline).then((res) => {
+            qxyh.formInline.current = 1;
+            qxyh.tableData1 = res.data;
+            qxyh.formInline.total = res.data.length || 999;
+          });
         } else if (qxyh.formInline.status == 2) {
           getLandGetAllTasks(qxyh.formInline).then((res) => {
-            if (res.success) {
-              qxyh.formInline.page = 1;
-              qxyh.tableData2 = res.data;
-              qxyh.formInline.total = qxyh.tableData2.length;
-              //待办的村庄规划需要检查补正的状态,未补正的可以上传成果包
-              if (qxyh.formInline.planType == 2) {
-                getInstIds().then((res) => {
-                  qxyh.instids = res.data.join(",");
-                  qxyh.calcTableData();
-                });
-              } else {
-                qxyh.calcTableData();
-              }
+            qxyh.formInline.current = 1;
+            qxyh.formInline.total = res.data.length || 999;
+            //待办的村庄规划需要检查补正的状态,未补正的可以上传成果包
+            if (
+              qxyh.formInline.planType == 2 ||
+              qxyh.formInline.planType == 3
+            ) {
+              getInstIds().then((res2) => {
+                qxyh.instids = res2.data.join(",");
+                qxyh.tableData2 = res.data;
+              });
             } else {
-              ElMessage.error("市级接口异常:" + res.message);
+              getcgglInstIds().then((res2) => {
+                qxyh.instids = res2.data.join(",");
+                qxyh.tableData2 = res.data;
+              });
             }
           });
+        } else if (qxyh.formInline.status == 3) {
+          getLandGetRevisePageData(qxyh.formInline).then((res) => {
+            qxyh.formInline.current = 1;
+            qxyh.tableData2 = res.data;
+            qxyh.formInline.total = res.data.length || 999;
+          });
         } else {
           ElMessage.error("请选择规划类型");
         }
@@ -305,8 +443,8 @@ export default {
         if (qxyh.formInline.status == 1) {
           qxyh.tableData1Cur = [];
           for (
-            let i = (qxyh.formInline.page - 1) * qxyh.formInline.limit;
-            i < qxyh.formInline.page * qxyh.formInline.limit;
+            let i = (qxyh.formInline.current - 1) * qxyh.formInline.size;
+            i < qxyh.formInline.current * qxyh.formInline.size;
             i++
           ) {
             qxyh.tableData1Cur.push(qxyh.tableData1[i]);
@@ -314,8 +452,8 @@ export default {
         } else if (qxyh.formInline.status == 2) {
           qxyh.tableData2Cur = [];
           for (
-            let i = (qxyh.formInline.page - 1) * qxyh.formInline.limit;
-            i < qxyh.formInline.page * qxyh.formInline.limit;
+            let i = (qxyh.formInline.current - 1) * qxyh.formInline.size;
+            i < qxyh.formInline.current * qxyh.formInline.size;
             i++
           ) {
             qxyh.tableData2Cur.push(qxyh.tableData2[i]);
@@ -326,6 +464,7 @@ export default {
     onMounted(() => {
       //   qxyh.getlist();
       //   qxyh.getXzq();
+      qxyh.getXzq();
     });
     return { ...toRefs(qxyh) };
   },
@@ -368,4 +507,11 @@ export default {
   position: absolute;
   right: -40px;
 }
+
+.dialog-footer {
+  width: 100%;
+  text-align: center;
+  position: absolute;
+  bottom: 30px;
+}
 </style>

+ 90 - 85
website/vite.config.js

@@ -6,77 +6,83 @@
  * @LastEditors: 北京四维空间数码科技有限公司-研发部
  * @LastEditTime: 2022-12-08 13:47:21
  */
- import { defineConfig, loadEnv } from "vite";
- import path from "path";
- import createVitePlugins from "./vite/plugins";
- import * as fs from "fs";
- 
- export default defineConfig(({ mode, command }) => {
-   const env = loadEnv(mode, process.cwd());
-   return {
-     define: {
-       "process.env": process.env,
-     },
-     plugins: [createVitePlugins(env, command === "build")],
-     resolve: {
-       alias: {
-         // 设置路径
-         "~": path.resolve(__dirname, "./"),
-         // 设置别名
-         "@": path.resolve(__dirname, "./src"),
-         "~@": path.resolve(__dirname, "./src"),
-       },
-       extensions: [
-         ".mjs",
-         ".js",
-         ".ts",
-         ".jsx",
-         ".tsx",
-         ".json",
-         ".vue",
-         ".png",
-         ".svg",
-         ".jpeg",
-         ".jpg",
-         ".pdf",
-         ".css",
-       ],
-     },
-     // vite 相关配置
-     server: {
-       // https: {
-       //     cert: fs.readFileSync(path.join(__dirname, 'keys/cert.crt')),
-       //     key: fs.readFileSync(path.join(__dirname, 'keys/cert.key')),
-       // },
-       port: 8000,
-       host: true,
-       open: true,
-       proxy: {
-         "/dev-api": {
-           // target: 'http://localhost:8080',
-          target: "http://192.168.60.240:8080",
-           changeOrigin: true,
-           rewrite: (p) => p.replace(/^\/dev-api/, ""),
-         },
-         "/api": {
-           // target: 'http://localhost:5000',
+import { defineConfig, loadEnv } from "vite";
+import path from "path";
+import createVitePlugins from "./vite/plugins";
+import * as fs from "fs";
+
+export default defineConfig(({ mode, command }) => {
+  const env = loadEnv(mode, process.cwd());
+  return {
+    define: {
+      "process.env": process.env,
+    },
+    plugins: [createVitePlugins(env, command === "build")],
+    resolve: {
+      alias: {
+        // 设置路径
+        "~": path.resolve(__dirname, "./"),
+        // 设置别名
+        "@": path.resolve(__dirname, "./src"),
+        "~@": path.resolve(__dirname, "./src"),
+      },
+      extensions: [
+        ".mjs",
+        ".js",
+        ".ts",
+        ".jsx",
+        ".tsx",
+        ".json",
+        ".vue",
+        ".png",
+        ".svg",
+        ".jpeg",
+        ".jpg",
+        ".pdf",
+        ".css",
+      ],
+    },
+    // vite 相关配置
+    server: {
+      // https: {
+      //     cert: fs.readFileSync(path.join(__dirname, 'keys/cert.crt')),
+      //     key: fs.readFileSync(path.join(__dirname, 'keys/cert.key')),
+      // },
+      port: 8000,
+      host: true,
+      open: true,
+      proxy: {
+        "/dev-api": {
+          // target: 'http://localhost:8080',
+          target: "http://192.168.60.52:8080",
+          changeOrigin: true,
+          rewrite: (p) => p.replace(/^\/dev-api/, ""),
+        },
+        "/sso-api": {
+          // target: 'http://localhost:8080',
+          target: "http://192.168.60.20:8080",
+          changeOrigin: true,
+          rewrite: (p) => p.replace(/^\/sso-api/, ""),
+        },
+        "/api": {
+          // target: 'http://localhost:5000',
           target: "http://192.168.60.240:5000",
-           ws: false,
-           changeOrigin: true,
-         },
-         "/files": {
+          ws: false,
+          changeOrigin: true,
+        },
+        "/files": {
           target: "http://192.168.60.240:9201",
-           ws: false,
-           changeOrigin: true,
-           // rewrite: (p) => p.replace(/^\/files/, '')
-         },
-         "/file": {
+          ws: false,
+          changeOrigin: true,
+          // rewrite: (p) => p.replace(/^\/files/, '')
+        },
+        "/file": {
           target: "http://192.168.60.240:8080",
-           ws: false,
-           changeOrigin: true,
-           // rewrite: (p) => p.replace(/^\/files/, '')
-         },
-         // 现场市级arcgiserver服务器ip
+          ws: false,
+          changeOrigin: true,
+          // rewrite: (p) => p.replace(/^\/files/, '')
+        },
+        // 现场市级arcgiserver服务器ip
         "/arcgis": {
           target: "http://192.168.60.240:6080",
           ws: false,
@@ -87,20 +93,19 @@
           ws: false,
           changeOrigin: true,
         },
-         "/geoserver": {
-          target: "http://192.168.60.52:8080",
-           ws: false,
-           changeOrigin: true,
-         },
-         // 现场旗县arcgisserver服务器ip
-         "/qx-arc-server": {
-           target: "http://192.168.60.240:6080",
-           ws: false,
-           changeOrigin: true,
-           rewrite: (path) => path.replace(/^\/qx-arc-server/, '')
-         },
-       },
-     },
-   };
- });
- 
+        "/geoserver": {
+          target: "http://192.168.60.240:8080",
+          ws: false,
+          changeOrigin: true,
+        },
+        // 现场旗县arcgisserver服务器ip
+        "/qx-arc-server": {
+          target: "http://192.168.60.240:6080",
+          ws: false,
+          changeOrigin: true,
+          rewrite: (path) => path.replace(/^\/qx-arc-server/, '')
+        },
+      },
+    },
+  };
+});