فهرست منبع

input-number-prefix <==> datepicker触发焦点问题

zhuangyunsheng 3 ماه پیش
والد
کامیت
9cbfdce59a
7فایلهای تغییر یافته به همراه9 افزوده شده و 27 حذف شده
  1. 3 1
      .gitignore
  2. 1 1
      jsconfig.json
  3. 1 1
      package.json
  4. 0 7
      src/components/scTable/helper.js
  5. 0 12
      src/components/scTable/index.vue
  6. 1 1
      src/utils/tool.js
  7. 3 4
      src/views/dataMock/carwash/detail.vue

+ 3 - 1
.gitignore

@@ -54,4 +54,6 @@ node_modules
 package-lock.json
 logs
 
-.vscode/
+.vscode/
+
+easydo/

+ 1 - 1
jsconfig.json

@@ -14,4 +14,4 @@
 			"scripthost"
 		]
 	}
-}
+}

+ 1 - 1
package.json

@@ -21,7 +21,7 @@
         "cropperjs": "1.5.13",
         "crypto-js": "4.1.1",
         "echarts": "5.4.1",
-        "element-plus": "^2.8.4",
+        "element-plus": "^2.4.0",
         "exceljs": "^4.4.0",
         "jsencrypt": "^3.0.0-rc.1",
         "moment": "^2.29.4",

+ 0 - 7
src/components/scTable/helper.js

@@ -78,13 +78,6 @@ export const mapFormItemDatePicker = (field, title, config = {}) => ({
             [XEUtils.get(config, "props.type")?.includes("range") ? "defaultTime" : ""]: [new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)],
             ...XEUtils.get(config, "props")
         },
-        events: {
-            focus: (_, $event) => {
-                // 解决点击确认按钮无效的问题
-                const btn = document.querySelector(".el-picker-panel__footer .is-plain.el-picker-panel__link-btn")
-                btn.addEventListener("click", () => $event.target.blur());
-            }
-        },
         ...XEUtils.omit(config, "props")
     },
     ...config

+ 0 - 12
src/components/scTable/index.vue

@@ -237,18 +237,6 @@ const resetData = () => {
     gridOptions.value.pagerConfig.pageSize = config.pageSize;
     xGrid.value.resetForm();
     
-    // 解决重置 datepicker触发焦点问题
-    XEUtils.arrayEach(xGrid.value.getRefMaps().refForm.value.getRefMaps().refElem.value, ele => {
-        if (XEUtils.includes(ele.parentNode.className, "el-date-editor--datetimerange")) {
-            const popper = document.querySelector(".el-picker__popper.datetime-picker-popper");
-            nextTick(() => {
-                if (popper) popper.style.display = "none";
-                ele.focus();
-                ele.blur();
-            });
-        }
-    });
-    
     getData();
 }
 

+ 1 - 1
src/utils/tool.js

@@ -6,7 +6,7 @@
  */
 
 import CryptoJS from "crypto-js";
-import JSEncrypt from "jsencrypt/bin/jsencrypt";
+import { JSEncrypt } from 'jsencrypt';
 import sysConfig from "@/config";
 import XEUtils from "xe-utils";
 import moment from "moment";

+ 3 - 4
src/views/dataMock/carwash/detail.vue

@@ -58,8 +58,7 @@
                 </el-col>
                 <el-col :md="12" :xs="24">
                     <el-form-item label="抓拍时间" prop="sourceTime">
-                        <!-- <vxe-date-range-picker :start-value="form.sourceBeginTime" :end-value="form.sourceEndTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择抓拍时间" @change="refreshTable"></vxe-date-range-picker> -->
-                        <el-date-picker v-model="form.sourceTime" type="datetimerange" :clearable="false" value-format="YYYY-MM-DD HH:mm:ss" :default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" :show-footer="false" @change="refreshTable"></el-date-picker>
+                        <el-date-picker v-model="form.sourceTime" type="datetimerange" :clearable="false" value-format="YYYY-MM-DD HH:mm:ss" :default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" @change="refreshTable"></el-date-picker>
                     </el-form-item>
                 </el-col>
             </el-row>
@@ -91,8 +90,8 @@ const form = ref({
     targetMonth: null,
     isCover: false,
     source: "other",
-    sourceProjectId: 11,
-    sourceTime: ["2025-08-01 00:00:00", "2025-08-22 16:00:00"]
+    sourceProjectId: null,
+    sourceTime: []
 });
 
 const rules = reactive({