From f5ec875275b0a783186a147e780bc03d96a91f57 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 08 四月 2025 11:24:13 +0800 Subject: [PATCH] 代码初始化 --- admin/src/components/business/OperaCategoryWindow.vue | 144 ++++++++++++++++++++++++++++++++--------------- 1 files changed, 97 insertions(+), 47 deletions(-) diff --git a/admin/src/components/business/OperaCategoryWindow.vue b/admin/src/components/business/OperaCategoryWindow.vue index d119f6d..181d604 100644 --- a/admin/src/components/business/OperaCategoryWindow.vue +++ b/admin/src/components/business/OperaCategoryWindow.vue @@ -6,47 +6,22 @@ @confirm="confirm" > <el-form :model="form" ref="form" :rules="rules"> - <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator"> - <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" prop="createDate"> - <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker> - </el-form-item> - <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor"> - <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/> - </el-form-item> - <el-form-item label="鏇存柊鏃堕棿" prop="editDate"> - <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker> - </el-form-item> - <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted"> - <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/> - </el-form-item> <el-form-item label="鍚嶇О" prop="name"> <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/> </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim/> - </el-form-item> - <el-form-item label="鐘舵�� 0鍚敤 1绂佺敤" prop="status"> - <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" v-trim/> + <el-form-item label="閫夋嫨鐖剁骇" prop="parentId"> + <el-cascader v-model="form.categoryList" :options="categorys" @change="handleChangeCategory" :show-all-levels="false" + clearable filterable :props="categoryprops" > + <template slot-scope="{ node, data }"> + <span>{{ data.name }}</span> <!-- 鑷畾涔夋樉绀哄唴瀹� --> + </template> + </el-cascader> </el-form-item> <el-form-item label="鎺掑簭鐮�" prop="sortnum"> - <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/> + <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜锛堝崌搴忥級" v-trim/> </el-form-item> - <el-form-item label="鍥炬爣" prop="imgurl"> - <el-input v-model="form.imgurl" placeholder="璇疯緭鍏ュ浘鏍�" v-trim/> - </el-form-item> - <el-form-item label="绫诲瀷 0SHE浼ゅ绫诲瀷 1瀹夊叏椋庨櫓浼ゅ绫诲瀷 2瀹夊叏椋庨櫓鍙戠敓鍦扮偣 3DCA浣嶇疆 4DCA闂 5SHE椋庨櫓鍦扮偣" prop="type"> - <el-input v-model="form.type" placeholder="璇疯緭鍏ョ被鍨� 0SHE浼ゅ绫诲瀷 1瀹夊叏椋庨櫓浼ゅ绫诲瀷 2瀹夊叏椋庨櫓鍙戠敓鍦扮偣 3DCA浣嶇疆 4DCA闂 5SHE椋庨櫓鍦扮偣" v-trim/> - </el-form-item> - <el-form-item label="鐖剁骇缂栫爜锛堣嚜鍏宠仈锛�" prop="parentId"> - <el-input v-model="form.parentId" placeholder="璇疯緭鍏ョ埗绾х紪鐮侊紙鑷叧鑱旓級" v-trim/> - </el-form-item> - <el-form-item label="鍚嶇О璺緞" prop="namePath"> - <el-input v-model="form.namePath" placeholder="璇疯緭鍏ュ悕绉拌矾寰�" v-trim/> - </el-form-item> - <el-form-item label="缂栫爜璺緞" prop="idPath"> - <el-input v-model="form.idPath" placeholder="璇疯緭鍏ョ紪鐮佽矾寰�" v-trim/> + <el-form-item label="澶囨敞" prop="remark"> + <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ娉�" v-trim/> </el-form-item> </el-form> </GlobalWindow> @@ -64,23 +39,23 @@ // 琛ㄥ崟鏁版嵁 form: { id: null, - creator: '', - createDate: '', - editor: '', - editDate: '', - isdeleted: '', name: '', - remark: '', - status: '', - sortnum: '', - imgurl: '', type: '', - parentId: '', - namePath: '', - idPath: '' + remark: '', + categoryList: [], + sortnum: null, + parentId: null }, + categoryprops: { + label: 'name', + value: 'id', + checkStrictly: true, + lazyLoad: this.lazyLoad + }, + categorys: [], // 楠岃瘉瑙勫垯 rules: { + name: [{ required: true, message: '璇疯緭鍏ュ悕绉�', trigger: 'blur' }] } } }, @@ -89,6 +64,81 @@ api: '/business/category', 'field.id': 'id' }) + }, + methods: { + handleChangeCategory (value) { + if (this.form.categoryList && this.form.categoryList.length >= 1) { + this.form.parentId = this.form.categoryList[this.form.categoryList.length - 1] + } + }, + getTreeData (data) { + if (!data) { + return data + } + for (let i = 0; i < data.length; i++) { + console.log(data) + if (data[i].childList) { + if (data[i].childList.length < 1) { + data[i].childList = [] // children鑻ヤ负绌烘暟缁勶紝鍒欏皢children璁句负undefined + data[i].childern = [] // children鑻ヤ负绌烘暟缁勶紝鍒欏皢children璁句负undefined + } else { + this.getTreeData(data[i].childList) // children鑻ヤ笉涓虹┖鏁扮粍锛屽垯缁х画 閫掑綊璋冪敤 鏈柟娉� + } + } + } + return data + }, + open (title, target, categorys, categoryType, parentIdPath) { + this.title = title + this.categorys = categorys || [] + this.categorys = this.getTreeData(this.categorys) + console.log(this.categorys) + this.visible = true + this.form = { + id: null, + name: '', + type: '', + remark: '', + categoryList: [], + sortnum: null, + parentId: null + } + this.form.type = categoryType + // 鏂板缓 + var that = this + if (target == null) { + this.$nextTick(() => { + this.$refs.form.resetFields() + this.form[this.configData['field.id']] = null + this.form.categoryList = [] + if (parentIdPath && parentIdPath != null) { + var array = parentIdPath.split('/') + array.forEach(item => { + if (item && item != null && item !== '') { + that.form.categoryList.push(parseInt(item)) + } + }) + that.handleChangeCategory() + } + }) + return + } + // 缂栬緫 + this.$nextTick(() => { + for (const key in this.form) { + this.form[key] = target[key] + } + this.form.categoryList = [] + if (target.parentId && target.idParentPath) { + var array = target.idParentPath.split('/') + array.forEach(item => { + if (item && item != null && item !== '') { + that.form.categoryList.push(parseInt(item)) + } + }) + } + }) + } } } </script> -- Gitblit v1.9.3