Răsfoiți Sursa

Merge branch 'master' of http://120.26.64.82:3000/BFFE/SZYGM1.0

zhongxiaoyu 2 ani în urmă
părinte
comite
f293d6905b

+ 1 - 1
src/api/newLogin.ts

@@ -27,7 +27,7 @@ export function login(params) {
 }
 
 //登出
-export function loginUp(params) {
+export function loginUp(params?) {
   return request({
     url: '/foxlibc/sign-out',
     method: 'post',

+ 30 - 17
src/layout/components/NavBarTop/index.vue

@@ -31,27 +31,40 @@
 </template>
 
 <script setup lang="ts">
-import { ref } from 'vue'
-import { ElMessage } from 'element-plus'
-import { ArrowDownBold } from '@element-plus/icons-vue'
-import { useUserStore } from '@/store/user'
+import { ref } from "vue";
+import { ElMessage } from "element-plus";
+import { ArrowDownBold } from "@element-plus/icons-vue";
+import { useUserStore } from "@/store/user";
 
-const imgUrl = ref('https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png')
-const store = useUserStore()
-const name = store.$state.username
-const errorHandler = () => true
+const imgUrl = ref(
+  "https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"
+);
+const store = useUserStore();
+const name = store.$state.username;
+const errorHandler = () => true;
 /*
  * 退出登录
  * */
-const router = useRouter()
-const route = useRoute()
-const loginOut = () => {
-  const userStore = useUserStore()
-  userStore.logout().then(() => {
-    ElMessage({ message: '退出登录成功', type: 'success' })
-    router.push(`/login?redirect=/`)
-  })
-}
+const router = useRouter();
+const route = useRoute();
+const loginOut = async () => {
+  const userStore = useUserStore();
+  const result: any = await userStore.logout();
+  if (result.code == 0) {
+    ElMessage({
+      message: "退出成功",
+      type: "success",
+      duration: 2 * 1000,
+      onClose: () => {
+        useUserStore().resetState();
+        router.push(`/login`);
+        location.reload();
+      },
+    });
+  } else {
+    ElMessage.error(result.message);
+  }
+};
 </script>
 
 <style lang="scss" scoped>

+ 17 - 19
src/store/user.ts

@@ -170,10 +170,10 @@ export const useUserStore = defineStore('user', {
     // user logout
     logout() {
       return new Promise((resolve, reject) => {
-        loginUp({})
-          .then(() => {
-            this.resetState()
-            resolve(null)
+        loginUp()
+          .then((res) => {
+            useUserStore().resetState()
+            resolve(res)
           })
           .catch((error: any) => {
             reject(error)
@@ -181,21 +181,19 @@ export const useUserStore = defineStore('user', {
       })
     },
     resetState() {
-      return new Promise((resolve) => {
-        sessionStorage.clear()
-        removeToken('codeToken')
-        removeToken('systemSet')
-        removeToken('userid')
-        this.M_username('')
-        this.M_roles([])
-        removeToken() // must remove  token  first
-        resetRouter() // reset the router
-        const permissionStore = usePermissionStore()
-        permissionStore.M_isGetUserInfo(false)
-        const tagsViewStore = useTagsViewStore()
-        tagsViewStore.delAllViews()
-        resolve(null)
-      })
+      sessionStorage.clear()
+      removeToken('codeToken')
+      removeToken('systemSet')
+      removeToken('userid')
+      removeToken('userName')
+      this.M_username('')
+      this.M_roles([])
+      removeToken() // must remove  token  first
+      resetRouter() // reset the router
+      const permissionStore = usePermissionStore()
+      permissionStore.M_isGetUserInfo(false)
+      const tagsViewStore = useTagsViewStore()
+      tagsViewStore.delAllViews()
     },
   },
 })

+ 9 - 7
src/utils/mockAxiosReq.ts

@@ -1,6 +1,8 @@
 import axios from 'axios'
 import { getToken, getUserId, getCodeToken } from '@/utils/auth'
 import { ElMessage } from 'element-plus'
+import { useUserStore } from '@/store/user'
+import router from '@/router'
 let isMttoken
 // create an axios instance
 const service = axios.create({
@@ -16,7 +18,7 @@ const service = axios.create({
 })
 // request interceptor
 service.interceptors.request.use(
-  (config) => {
+  (config: any) => {
     // config.headers.common["content-type"] = "application/json"
     if (config.istoken) {
       config.headers['appSecret'] = PLATFROM_CONFIG.appKeyString
@@ -31,9 +33,9 @@ service.interceptors.request.use(
     if (getCodeToken() && !config.istoken) {
       config.headers['Authorization'] = getCodeToken()
     }
-    // if (store.getters.token) {
-    //   config.headers['Authorization'] = getToken()
-    // }
+    if (useUserStore().token) {
+      config.headers['Authorization'] = getToken()
+    }
     return config
   },
   (error) => {
@@ -75,9 +77,9 @@ service.interceptors.response.use(
             type: 'error',
             duration: 5 * 1000,
             onClose: () => {
-              // store.dispatch('user/resetToken').then(() => {
-              //   location.reload()
-              // })
+              useUserStore().resetState()
+              router.push(`/login`)
+              location.reload()
             },
           })
         }

+ 1 - 6
src/views/systemSettings/queryTemplate/queryTemplateAdd.vue

@@ -50,12 +50,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item
-              label="服务名称"
-              prop="serviceID"
-              size="default"
-              :rules="formRules.isNotNull"
-            >
+            <el-form-item label="服务名称" size="default">
               <el-select
                 v-model="ruleForm.serviceID"
                 placeholder="请选择"

+ 31 - 5
src/views/systemSettings/queryTemplate/queryTemplateColumn.vue

@@ -172,7 +172,7 @@
                     placeholder="请选择"
                   >
                     <el-option
-                      v-for="item in tableOptionser"
+                      v-for="item in tableOptionse"
                       :key="item.v ? item.v : item.planDepartureApt"
                       :label="item.k ? item.k : item.planDepartureApt"
                       :value="item.v ? item.v : item.planDepartureApt"
@@ -204,7 +204,11 @@
               </el-col>
               <el-col :span="12">
                 <el-form-item label="字段排序" size="default">
-                  <el-select
+                  <el-input
+                    v-model="tableForm.orderNumber"
+                    placeholder="请输入字段排序"
+                  />
+                  <!-- <el-select
                     style="width: 100%"
                     v-model="tableForm.orderNumber"
                     class="input-shadow"
@@ -220,7 +224,7 @@
                       :value="item.v ? item.v : item.planDepartureApt"
                     >
                     </el-option>
-                  </el-select>
+                  </el-select> -->
                 </el-form-item>
               </el-col>
             </el-row>
@@ -259,6 +263,7 @@ const tableOptionser = ref<Array>([
     v: "0",
   },
 ]); //弹窗下拉
+const tableOptionse = ref<Array>([]);
 const tableForm = reactive({
   queryTemplateColumnSetID: "",
   queryTemplateID: route.query.queryTemplateID,
@@ -359,8 +364,9 @@ const btnClick = (row, index, param) => {
     tableForm.needShow = index.needShow === "需要" ? "1" : "0";
     tableForm.needGroup = index.needGroup === "需要" ? "1" : "0";
     tableForm.dataType = index.dataType;
-    tableForm.listqueryTemplateID =
-      index.listqueryTemplateID === "需要" ? "1" : "0";
+    tableForm.listqueryTemplateID = index.listqueryTemplateID
+      ? index.listqueryTemplateID
+      : null;
     tableForm.needCount = index.needCount === "需要" ? "1" : "0";
     tableForm.orderNumber = index.orderNumber === "需要" ? "1" : "0";
     tableForm.needSearch = index.needSearch === "需要" ? "1" : "0";
@@ -420,6 +426,14 @@ const getQuery = async () => {
       }
       tableData.value.push(...returnData.listValues);
       tableCols.value = returnData.columnSet;
+      returnData.columnSet.forEach((item) => {
+        if (
+          item.listqueryTemplateID &&
+          item.columnName === "listqueryTemplateID"
+        ) {
+          getSelectData(item.listqueryTemplateID);
+        }
+      });
       tableCols.value.forEach((element) => {
         element.label = element.columnLabel;
         element.key = element.columnName;
@@ -435,6 +449,18 @@ const getQuery = async () => {
     page.value--;
   }
 };
+//获取弹框-下拉数据
+const getSelectData = async (id, name) => {
+  const { code, returnData } = await Query({
+    id,
+    dataContent: name ? [name] : name === null ? [null] : [],
+  });
+  if (code == 0) {
+    tableOptionse.value = returnData.listValues;
+  } else {
+    tableOptionse.value = [];
+  }
+};
 //确认提交
 const queryTemplateColumnForm: any = ref(null);
 const submitForm = () => {

+ 1 - 6
src/views/systemSettings/queryTemplate/queryTemplateEdit.vue

@@ -50,12 +50,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item
-              label="服务名称"
-              prop="serviceID"
-              size="default"
-              :rules="formRules.isNotNull"
-            >
+            <el-form-item label="服务名称" size="default">
               <el-select
                 v-model="ruleForm.serviceID"
                 placeholder="请选择"