瀏覽代碼

查询参数

CzRger 7 月之前
父節點
當前提交
f444273ecb

+ 7 - 13
src/api/interceptors.ts

@@ -40,20 +40,12 @@ export class Interceptors {
     this.instance.interceptors.response.use(
       // 请求成功
       (res: any) => {
-        if (res.status === 200) {
-          if(res.data.code === 200){
-            return Promise.resolve(res.data);
-          } else if (res.data.code === 401) {
-            if(res.data.msg){
-              //@ts-ignore
-              ElMessage.warning(res.data.msg);
-            }
-            toLogin()
-          } else {
-            return Promise.resolve(res.data);
-          }
+        if(res.data.code === 200){
+          return Promise.resolve(res.data);
+        } else if (res.data.code === 500) {
+          ElMessage.error(res.data?.msg);
+          return Promise.reject(res.data?.msg)
         } else {
-          this.errorHandle(res);
           return Promise.reject(res.data);
         }
       },
@@ -77,6 +69,8 @@ export class Interceptors {
     // 状态码判断
     switch (res.status) {
       case 401:
+        ElMessage.warning(res.data.msg);
+        toLogin()
         break;
       case 403:
         break;

+ 10 - 0
src/api/modules/manage/theme.ts

@@ -0,0 +1,10 @@
+import { handle } from '../../index'
+
+const suffix = 'api'
+
+// 分页列表
+export const sysThemeGetPageTheme = (params: any) => handle({
+  url: `/${suffix}/sysTheme/getPageTheme`,
+  method: 'get',
+  params
+})

+ 4 - 4
src/views/global/login/index.vue

@@ -17,7 +17,7 @@
       </div>
       <div class="block-right">
         <div class="text">用户登录</div>
-        <CusForm ref="ref_form">
+        <CusForm ref="ref_form"  @handleEnter="onLogin">
           <div class="form-label">账号</div>
           <CusFormColumn
             :span="24"
@@ -83,10 +83,10 @@ const onLogin = () => {
   ref_form.value.submit().then(() => {
     state.loadingLogin = true
     login(state.form).then(res => {
-      if (res.respCode === 200) {
-        AppStore.setToken(res.datas)
+      if (res.code === 200) {
+        AppStore.setToken(res.data)
       } else {
-        ElMessage.error(res.respMsg)
+        ElMessage.error(res.msg)
       }
     })
   }).catch((e) => {

+ 5 - 2
src/views/manage/index/index.vue

@@ -117,8 +117,11 @@ const onPage = (pageNum, pageSize) => {
     page: state.query.page.pageNum,
     size: state.query.page.pageSize,
   }
-  if (proxy.$util.isValue(state.query.formReal.keyword)) {
-    params.keyword = state.query.formReal.keyword
+  //  添加表单参数
+  for (const [k, v] of Object.entries(state.query.formReal)) {
+    if (proxy.$util.isValue(v)) {
+      params[k] = v
+    }
   }
   state.query.loading = true
   sysIndexFindIndexByPage(proxy.$util.formatGetParam(params)).then(res => {

+ 6 - 0
src/views/manage/system/role/index.vue

@@ -96,6 +96,12 @@ const onPage = (pageNum, pageSize) => {
     page: state.query.page.pageNum,
     size: state.query.page.pageSize,
   }
+  //  添加表单参数
+  for (const [k, v] of Object.entries(state.query.formReal)) {
+    if (proxy.$util.isValue(v)) {
+      params[k] = v
+    }
+  }
   state.query.loading = true
   rolesGetByPage(proxy.$util.formatGetParam(params)).then(res => {
     if (res.code === 200) {

+ 6 - 0
src/views/manage/system/user/index.vue

@@ -109,6 +109,12 @@ const onPage = (pageNum, pageSize) => {
     page: state.query.page.pageNum,
     size: state.query.page.pageSize,
   }
+  //  添加表单参数
+  for (const [k, v] of Object.entries(state.query.formReal)) {
+    if (proxy.$util.isValue(v)) {
+      params[k] = v
+    }
+  }
   state.query.loading = true
   usersGetPageUser(proxy.$util.formatGetParam(params)).then(res => {
     if (res.code === 200) {

+ 11 - 13
src/views/manage/theme/index.vue

@@ -57,6 +57,7 @@ import {getCurrentInstance, onMounted, reactive} from "vue";
 import {ElMessage} from "element-plus";
 import DetailCom from "./detail.vue";
 import {useDictionaryStore} from "@/stores";
+import {sysThemeGetPageTheme} from "@/api/modules/manage/theme";
 
 const {proxy} = getCurrentInstance()
 const DictionaryStore = useDictionaryStore()
@@ -107,19 +108,16 @@ const onPage = (pageNum, pageSize) => {
     page: state.query.page.pageNum,
     size: state.query.page.pageSize,
   }
-  if (proxy.$util.isValue(state.query.formReal.keyword)) {
-    params.keyword = state.query.formReal.keyword
-  }
-  // state.query.loading = true
-  // sysIndexFindIndexByPage(proxy.$util.formatGetParam(params)).then(res => {
-  //   if (res.code === 200) {
-  //     state.query.result.total = res.data.totalElements
-  //     state.query.result.data = res.data.content
-  //     state.query.loading = false
-  //   } else {
-  //     ElMessage.error(res.msg)
-  //   }
-  // })
+  state.query.loading = true
+  sysThemeGetPageTheme(proxy.$util.formatGetParam(params)).then(res => {
+    if (res.code === 200) {
+      state.query.result.total = res.data.totalElements
+      state.query.result.data = res.data.content
+      state.query.loading = false
+    } else {
+      ElMessage.error(res.msg)
+    }
+  })
 }
 const onSearch = () => {
   state.query.formReal = JSON.parse(JSON.stringify(state.query.form))

+ 107 - 3
src/views/web/archive/index.vue

@@ -99,8 +99,9 @@
 </template>
 
 <script setup lang="ts">
-import {getCurrentInstance, reactive} from "vue";
+import {getCurrentInstance, onMounted, reactive} from "vue";
 import RelationChart from "./relation-chart.vue";
+import {ElLoading, ElMessage} from "element-plus";
 
 const {proxy} = getCurrentInstance()
 const state: any = reactive({
@@ -134,11 +135,114 @@ const state: any = reactive({
     result: {
       total: 0,
       data: []
-    }
+    },
+  },
+  ws: {
+    instance: null,
+    listFix: () => {},
+    loading: null,
+    loadingTimer: null
   },
 })
-
+const loadingBg = 'rgba(0, 0, 0, 0.4)'
 const onPage = (pageNum, pageSize) => {}
+const initWS = () => {
+  const ws: any = new WebSocket('/ws-api/smart-ws?userId=1388061846031220738')
+  let sessionId = ''
+  let lastListFixParams = ''
+  ws.onopen = (e) => {
+    state.ws.loading?.close()
+    state.ws.loading = null
+    state.ws.listFix = () => {
+      // 如果有的话,终止上一次请求
+      if (lastListFixParams) {
+        const p = JSON.parse(lastListFixParams)
+        p.flag = 'stop'
+        ws.send(JSON.stringify(p))
+        lastListFixParams = ''
+      }
+      const params = {
+        pageNumber: 1,
+        pageSize: 10,
+        type: 'list-fix',
+        sessionId: sessionId,
+        timestamp: new Date().getTime(),
+        flag: 'run',
+        orderBy: {},
+        "builder":[
+          {
+            "tagCode":"对象标签",
+            "datas":[
+              {
+                "typeCode":"人员分类代码",
+                "datas":[
+                  {
+                    "indexCode":"index_seat_smartes_document",
+                    "orderBy":{"aaa":"desc","bbb":"asc"},
+                    "datas":[
+                      {"fieldCode":"sub_title","fieldQueryType":"MATCH","fieldQueryValue":"佛祖fozu-111"},
+                      // {"fieldCode":"title","fieldType":"text","fieldSort":"asc","fieldAnalyzer":"ngram","fieldQueryType":"PREFIX"},
+                      // {"fieldCode":"star_num","fieldType":"text","fieldSort":"asc","fieldAnalyzer":"ngram","fieldQueryType":"GT"}
+                    ]
+                  },
+                  {
+                    "indexCode":"index_seat_smartes_document",
+                    "orderBy":{"aaa":"desc","bbb":"asc"},
+                    "datas":[
+                      {"fieldCode":"sub_title","fieldQueryType":"MATCH","fieldQueryValue":"佛祖fozu-111"},
+                      // {"fieldCode":"title","fieldType":"text","fieldSort":"asc","fieldAnalyzer":"ngram","fieldQueryType":"PREFIX"},
+                      // {"fieldCode":"star_num","fieldType":"text","fieldSort":"asc","fieldAnalyzer":"ngram","fieldQueryType":"GT"}
+                    ]
+                  }
+                ]
+              }
+            ]
+          }
+        ],
+      }
+      lastListFixParams = JSON.stringify(params)
+      ws.send(lastListFixParams)
+    }
+  }
+  ws.onmessage = (e) => {
+    try {
+      const json = JSON.parse(e.data)
+      if (json.type === 'session') {
+        sessionId = json.sessionId
+        setTimeout(() => {
+          state.ws.listFix()
+        })
+      } else {
+        switch (json.type) {
+          case 'list-fix': {
+            const p = JSON.parse(lastListFixParams)
+            // 返回为最新批次的
+            if (json.timestamp == p.timestamp) {
+              state.tableParams.total = json.records
+              state.tableParams.data = json.datas
+              state.tableParams.loading = false
+              lastListFixParams = ''
+            }
+          } break
+        }
+      }
+    } catch (e) {
+
+    }
+  }
+  ws.onclose = function (){
+    state.ws.loading = ElLoading.service({
+      lock: true,
+      text: '智搜服务重新连接中……',
+      background: loadingBg,
+    })
+    setTimeout(initWS, 5000);
+  }
+  state.ws.instance = ws
+}
+onMounted(() => {
+  initWS()
+})
 </script>
 
 <style lang="scss" scoped>