From ac00bb7b8eae1bf6aabb7f1ae67c2e5aa5b8ae90 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 12 六月 2026 10:21:12 +0800
Subject: [PATCH] 宝东 1.样式问题
---
src/views/basicData/product/index.vue | 71 +++++++++++++++--------------------
1 files changed, 31 insertions(+), 40 deletions(-)
diff --git a/src/views/basicData/product/index.vue b/src/views/basicData/product/index.vue
index 4f2694b..fe6951c 100644
--- a/src/views/basicData/product/index.vue
+++ b/src/views/basicData/product/index.vue
@@ -5,7 +5,7 @@
<el-input v-model="search"
style="width: 210px"
placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�"
- @change="searchFilter"
+ @input="debouncedSearch"
@clear="searchFilter"
clearable
prefix-icon="Search" />
@@ -68,7 +68,7 @@
<div class="right">
<div style="margin-bottom: 10px" v-if="isShowButton">
<el-button type="primary" @click="openModelDia('add')">
- 鏂板灏哄
+ 鏂板瑙勬牸鍨嬪彿
</el-button>
<ImportExcel :product-id="currentId"
@uploadSuccess="getModelList" />
@@ -120,7 +120,7 @@
</template>
</el-dialog>
<el-dialog v-model="modelDia"
- title="灏哄"
+ title="瑙勬牸鍨嬪彿"
width="400px"
@close="closeModelDia"
@keydown.enter.prevent>
@@ -142,10 +142,10 @@
</el-col>
</el-row>
<el-col :span="24">
- <el-form-item label="灏哄锛�"
+ <el-form-item label="瑙勬牸鍨嬪彿锛�"
prop="model">
<el-input v-model="modelForm.model"
- placeholder="璇疯緭鍏ュ昂瀵�"
+ placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
clearable
@keydown.enter.prevent />
</el-form-item>
@@ -295,7 +295,7 @@
prop: "productCode",
},
{
- label: "灏哄",
+ label: "瑙勬牸鍨嬪彿",
prop: "model",
},
{
@@ -411,7 +411,7 @@
form.value.productName =
type === "edit" && data ? data.productName : "";
};
- // 鎵撳紑灏哄寮规
+ // 鎵撳紑瑙勬牸鍨嬪彿寮规
const openModelDia = (type, data) => {
modelOperationType.value = type;
modelDia.value = true;
@@ -492,7 +492,7 @@
getModelList();
};
- // 鎻愪氦灏哄淇敼
+ // 鎻愪氦瑙勬牸鍨嬪彿淇敼
const submitModelForm = () => {
proxy.$refs.modelFormRef.validate(valid => {
if (valid) {
@@ -515,7 +515,7 @@
selectedRows.value = selection;
};
- // 鏌ヨ灏哄
+ // 鏌ヨ瑙勬牸鍨嬪彿
const pagination = obj => {
page.current = obj.page;
page.size = obj.limit;
@@ -534,7 +534,7 @@
tableLoading.value = false;
});
};
- // 鍒犻櫎灏哄
+ // 鍒犻櫎瑙勬牸鍨嬪彿
const handleDelete = () => {
let ids = [];
if (selectedRows.value.length > 0) {
@@ -563,40 +563,31 @@
proxy.$modal.msg("宸插彇娑�");
});
};
- // 璋冪敤tree杩囨护鏂规硶 涓枃鑻辫繃婊�
- const filterNode = (value, data, node) => {
- if (!value) {
- //濡傛灉鏁版嵁涓虹┖锛屽垯杩斿洖true,鏄剧ず鎵�鏈夌殑鏁版嵁椤�
- return true;
- }
- // 鏌ヨ鍒楄〃鏄惁鏈夊尮閰嶆暟鎹紝灏嗗�煎皬鍐欙紝鍖归厤鑻辨枃鏁版嵁
- let val = value.toLowerCase();
- return chooseNode(val, data, node); // 璋冪敤杩囨护浜屽眰鏂规硶
+ const debounce = (fn, delay = 300) => {
+ let timer;
+ return (...args) => {
+ clearTimeout(timer);
+ timer = setTimeout(() => fn(...args), delay);
+ };
};
- // 杩囨护鐖惰妭鐐� / 瀛愯妭鐐� (濡傛灉杈撳叆鐨勫弬鏁版槸鐖惰妭鐐逛笖鑳藉尮閰嶏紝鍒欒繑鍥炶鑺傜偣浠ュ強鍏朵笅鐨勬墍鏈夊瓙鑺傜偣锛涘鏋滃弬鏁版槸瀛愯妭鐐癸紝鍒欒繑鍥炶鑺傜偣鐨勭埗鑺傜偣銆俷ame鏄腑鏂囧瓧绗︼紝enName鏄嫳鏂囧瓧绗�.
- const chooseNode = (value, data, node) => {
- if (data.label.indexOf(value) !== -1) {
+
+ const debouncedSearch = debounce(() => {
+ searchFilter();
+ }, 300);
+
+ const filterNode = (value, data) => {
+ if (!value) return true;
+ return chooseNode(value.toLowerCase(), data);
+ };
+
+ const chooseNode = (value, data) => {
+ const label = (data.label || '').toLowerCase();
+ if (label.indexOf(value) !== -1) {
return true;
}
- const level = node.level;
- // 濡傛灉浼犲叆鐨勮妭鐐规湰韬氨鏄竴绾ц妭鐐瑰氨涓嶇敤鏍¢獙浜�
- if (level === 1) {
- return false;
+ if (data.children && data.children.length > 0) {
+ return data.children.some(child => chooseNode(value, child));
}
- // 鍏堝彇褰撳墠鑺傜偣鐨勭埗鑺傜偣
- let parentData = node.parent;
- // 閬嶅巻褰撳墠鑺傜偣鐨勭埗鑺傜偣
- let index = 0;
- while (index < level - 1) {
- // 濡傛灉鍖归厤鍒扮洿鎺ヨ繑鍥烇紝姝ゅname鍊兼槸涓枃瀛楃锛宔nName鏄嫳鏂囧瓧绗︺�傚垽鏂尮閰嶄腑鑻辨枃杩囨护
- if (parentData.data.label.indexOf(value) !== -1) {
- return true;
- }
- // 鍚﹀垯鐨勮瘽鍐嶅線涓婁竴灞傚仛鍖归厤
- parentData = parentData.parent;
- index++;
- }
- // 娌″尮閰嶅埌杩斿洖false
return false;
};
getProductTreeList();
--
Gitblit v1.9.3