Quellcode durchsuchen

Merge branch 'qingban' of http://192.168.101.4:3000/jiaxiaoqiang/JG-ADMIN-TEMP into qingban

dengrui vor 6 Monaten
Ursprung
Commit
54fa561b02

+ 1 - 0
src/components/CommonTable/configs/tableConfig.ts

@@ -450,6 +450,7 @@ export const tableConfig = {
         label: "物料版本",
         prop: "bomVersion",
         type: "select",
+        search: true,
       },
       {
         label: "物料编码",

+ 61 - 0
src/utils/axios.ts

@@ -0,0 +1,61 @@
+import axios, { InternalAxiosRequestConfig, AxiosResponse } from "axios";
+import { useUserStoreHook } from "@/store/modules/user";
+
+// 请求拦截器
+axios.interceptors.request.use(
+  (config: InternalAxiosRequestConfig) => {
+    console.log("请求拦截了");
+    const accessToken = localStorage.getItem("token");
+    if (accessToken) {
+      config.headers.Authorization = accessToken;
+    }
+    return config;
+  },
+  (error: any) => {
+    return Promise.reject(error);
+  }
+);
+
+// 响应拦截器
+axios.interceptors.response.use(
+  (response: AxiosResponse) => {
+    console.log("ddddddddd");
+    const { code, msg } = response.data;
+    console.log("响应拦截了", JSON.stringify(response.data));
+
+    if (code === "200") {
+      return response.data;
+    }
+    // 响应数据为二进制流处理(Excel导出)
+    if (response.data instanceof ArrayBuffer) {
+      return response;
+    }
+
+    // token 过期,重新登录
+    if (code === "4106") {
+      ElMessageBox.confirm("当前页面已失效,请重新登录", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        const userStore = useUserStoreHook();
+        userStore.resetToken().then(() => {
+          location.reload();
+        });
+      });
+    } else {
+      ElMessage.error(msg || "系统出错");
+    }
+
+    return Promise.reject(new Error(msg || "Error"));
+  },
+  (error: any) => {
+    console.log("aaaaaa");
+    if (error.response.data) {
+      const { code, msg } = error.response.data;
+    }
+    return Promise.reject(error.message);
+  }
+);
+
+export default axios;

+ 19 - 0
src/views/plan/filtersheet/index.vue

@@ -62,6 +62,7 @@
       v-model="dialog.visible"
       :title="dialog.title"
       width="950px"
+      :before-close="(checkAll = false)"
       @close="dialog.visible = false"
       style="padding-bottom: 40px"
     >
@@ -109,6 +110,11 @@
           prop="seqNoList"
         >
           <el-select class="tep" v-model="form.seqNoList" multiple>
+            <template #header>
+              <el-checkbox v-model="checkAll" @change="handleCheckAll">
+                全选
+              </el-checkbox>
+            </template>
             <el-option
               v-for="item in options"
               :key="item.value"
@@ -272,6 +278,19 @@ const deleteSheet = async (id) => {
   }
 };
 const options = ref([]);
+
+const checkAll = ref(false);
+
+const handleCheckAll = (val) => {
+  if (val) {
+    form.value.seqNoList = options.value
+      .filter((item) => !item.disabled)
+      .map((item) => item.value);
+  } else {
+    form.value.seqNoList = [];
+  }
+};
+
 const searchRef = ref(null);
 const form = ref({ seqNoList: [] });
 const searchForm = [