Bläddra i källkod

更改“用户导入”模版和导入方式

duy 3 dagar sedan
förälder
incheckning
3a60c82129
3 ändrade filer med 418 tillägg och 479 borttagningar
  1. 26 0
      src/util/util.js
  2. 352 445
      src/views/manager/projectinfo/list.vue
  3. 40 34
      src/views/system/user.vue

+ 26 - 0
src/util/util.js

@@ -407,4 +407,30 @@ export function highlight(text = '', key = '') {
     'g', // g 全局  i 忽略大小写
   )
   return text.replace(reg, str => [...str].map( el => `<span class="hc-keyword-highlight">${el}</span>`).join(''))
+}
+
+/**
+ * 复制文本
+ * @param {String} text   文本
+ */
+export async function copyText(text) {
+  // 1. 优先使用 Clipboard API
+  if (navigator.clipboard && window.isSecureContext) {
+    try {
+      await navigator.clipboard.writeText(text)
+      this.$message.success('复制成功')
+      return
+    } catch (e) {
+      console.warn('Clipboard API 失败,降级处理', e)
+    }
+  }
+
+  // 2. 降级:execCommand(兼容 HTTP / IE)
+  const input = document.createElement('input')
+  input.value = text
+  document.body.appendChild(input)
+  input.select()
+  document.execCommand('copy')
+  document.body.removeChild(input)
+  this.$message.success('复制成功')
 }

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 352 - 445
src/views/manager/projectinfo/list.vue


+ 40 - 34
src/views/system/user.vue

@@ -737,34 +737,34 @@ export default {
               res: "data",
             },
             tip: "请上传 .xls,.xlsx 标准格式文件",
-            action: "/api/blade-user/import-user",
-          },
-          {
-            label: "数据覆盖",
-            prop: "isCovered",
-            type: "switch",
-            align: "center",
-            width: 80,
-            dicData: [
-              {
-                label: "否",
-                value: 0,
-              },
-              {
-                label: "是",
-                value: 1,
-              },
-            ],
-            value: 0,
-            slot: true,
-            rules: [
-              {
-                required: true,
-                message: "请选择是否覆盖",
-                trigger: "blur",
-              },
-            ],
+            action: "/api/blade-user/import-user_new",
           },
+          // {
+          //   label: "数据覆盖",
+          //   prop: "isCovered",
+          //   type: "switch",
+          //   align: "center",
+          //   width: 80,
+          //   dicData: [
+          //     {
+          //       label: "否",
+          //       value: 0,
+          //     },
+          //     {
+          //       label: "是",
+          //       value: 1,
+          //     },
+          //   ],
+          //   value: 0,
+          //   slot: true,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请选择是否覆盖",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "模板下载",
             prop: "excelTemplate",
@@ -781,12 +781,12 @@ export default {
         this.initData(this.form.tenantId);
       }
     },
-    "excelForm.isCovered"() {
-      if (this.excelForm.isCovered !== "") {
-        const column = this.findObject(this.excelOption.column, "excelFile");
-        column.action = `/api/blade-user/import-user?isCovered=${this.excelForm.isCovered}`;
-      }
-    },
+    // "excelForm.isCovered"() {
+    //   if (this.excelForm.isCovered !== "") {
+    //     const column = this.findObject(this.excelOption.column, "excelFile");
+    //     column.action = `/api/blade-user/import-user?isCovered=${this.excelForm.isCovered}`;
+    //   }
+    // },
     "fromss.projectId": function () {
       this.fromss.contractId = "";
       if (this.fromss.projectId) {
@@ -1526,8 +1526,14 @@ export default {
       });
     },
     handleTemplate() {
+      // exportBlob(
+      //   `/api/blade-user/export-template?${this.website.tokenHeader
+      //   }=${getToken()}`
+      // ).then((res) => {
+      //   downloadXls(res.data, "用户数据模板.xlsx");
+      // });
       exportBlob(
-        `/api/blade-user/export-template?${this.website.tokenHeader
+        `/api/blade-user/downloadImportUserExcel?${this.website.tokenHeader
         }=${getToken()}`
       ).then((res) => {
         downloadXls(res.data, "用户数据模板.xlsx");

Vissa filer visades inte eftersom för många filer har ändrats