From 69e585c4abbd2c719fdf60678f68196691b92603 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期四, 05 六月 2025 15:12:07 +0800 Subject: [PATCH] 产品维护修改 --- src/views/basicData/product/index.vue | 29 ++++++++++++++++++++--------- 1 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/views/basicData/product/index.vue b/src/views/basicData/product/index.vue index dba78e3..d496069 100644 --- a/src/views/basicData/product/index.vue +++ b/src/views/basicData/product/index.vue @@ -4,18 +4,18 @@ <div> <el-input v-model="search" - style="width: 240px" + style="width: 210px" placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" @change="searchFilter" @clear="searchFilter" clearable prefix-icon="Search" /> - <el-button type="primary" @click="openProDia('add')" style="margin-left: 10px">鏂板浜у搧</el-button> + <el-button type="primary" @click="openProDia('addOne')" style="margin-left: 10px">鏂板浜у搧澶х被</el-button> </div> - <div> + <div ref="containerRef"> <el-tree ref="tree" v-loading="treeLoad" :data="list" @node-click="handleNodeClick" - :expand-on-click-node="false" + :expand-on-click-node="false" default-expand-all :default-expanded-keys="expandedKeys" :draggable="true" :filter-node-method="filterNode" :props="{ children: 'children', label: 'label' }" highlight-current node-key="id" style="height: calc(100vh - 190px);overflow-y: scroll;scrollbar-width: none;"> @@ -26,7 +26,9 @@ <el-button type="primary" link @click="openProDia('edit', data)"> 缂栬緫 </el-button> - <!-- 淇敼姝ゅ --> + <el-button type="primary" link @click="openProDia('add', data)"> + 娣诲姞浜у搧 + </el-button> <el-button v-if="!node.childNodes.length" style="margin-left: 4px" @@ -43,7 +45,7 @@ </div> </div> <div class="right"> - <div style="margin-bottom: 10px"> + <div style="margin-bottom: 10px" v-if="isShowButton"> <el-button type="primary" @click="openModelDia('add')">鏂板瑙勬牸鍨嬪彿</el-button> <el-button type="danger" @click="handleDelete" style="margin-left: 10px" plain>鍒犻櫎</el-button> </div> @@ -67,7 +69,7 @@ </div> </template> </el-dialog> - <el-dialog v-model="modelDia" title="浜у搧" width="400px"> + <el-dialog v-model="modelDia" title="瑙勬牸鍨嬪彿" width="400px" @close="closeModelDia"> <el-form :model="modelForm" label-width="140px" label-position="top" :rules="modelRules" ref="modelFormRef"> <el-row> <el-col :span="24"> @@ -87,7 +89,7 @@ <template #footer> <div class="dialog-footer"> <el-button type="primary" @click="submitModelForm">纭</el-button> - <el-button @click="closeProDia">鍙栨秷</el-button> + <el-button @click="closeModelDia">鍙栨秷</el-button> </div> </template> </el-dialog> @@ -105,6 +107,8 @@ productTreeList } from "@/api/basicData/product.js"; const { proxy } = getCurrentInstance() +const tree = ref(null) +const containerRef = ref(null) const productDia = ref(false) const modelDia = ref(false) @@ -142,6 +146,7 @@ ]) const tableData = ref([]) const tableLoading = ref(false) +const isShowButton = ref(false) const total = ref(0) const selectedRows = ref([]) const page = reactive({ @@ -209,6 +214,9 @@ if (operationType.value === 'add') { form.value.parentId = currentId.value form.value.id = '' + } else if (operationType.value === 'addOne') { + form.value.id = '' + form.value.parentId = '' } else { form.value.id = currentId.value form.value.parentId = '' @@ -251,6 +259,9 @@ } // 閫夋嫨浜у搧 const handleNodeClick = (val, node, el) => { + // 鍒ゆ柇鏄惁涓哄彾瀛愯妭鐐� + isShowButton.value = !(val.children && val.children.length > 0); + // 鍙湁鍙跺瓙鑺傜偣鎵嶆墽琛屼互涓嬮�昏緫 currentId.value = val.id currentParentId.value = val.parentId getModelList() @@ -270,7 +281,7 @@ } }) } -// 鍏抽棴浜у搧寮规 +// 鍏抽棴鍨嬪彿寮规 const closeModelDia = () => { proxy.$refs.modelFormRef.resetFields(); modelDia.value = false; -- Gitblit v1.9.3