From 05aec1e9986fbe3e907259bb1a1396f129bd0fa1 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 06 二月 2026 14:14:48 +0800
Subject: [PATCH] 优化
---
admin/src/components/business/OperaCategoryWindow.vue | 103 ++++++++++++++++++++++++++++++---------------------
1 files changed, 61 insertions(+), 42 deletions(-)
diff --git a/admin/src/components/business/OperaCategoryWindow.vue b/admin/src/components/business/OperaCategoryWindow.vue
index 326f991..ee05c59 100644
--- a/admin/src/components/business/OperaCategoryWindow.vue
+++ b/admin/src/components/business/OperaCategoryWindow.vue
@@ -6,46 +6,48 @@
@confirm="confirm"
>
<el-form :model="form" ref="form" :rules="rules">
- <el-form-item label="鍚嶇О" prop="name">
- <el-input v-if="form.type !=3" v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
- <el-select v-else v-model="form.name" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷" v-trim>
- <el-option :value="'0'" label="鐢ㄥ伐鍗�"></el-option>
- <el-option :value="'1'" label="璐ц繍鍗�"></el-option>
- <el-option :value="'2'" label="璁㈤鍗�"></el-option>
- </el-select>
+ <el-form-item label="鍟嗕笟鍖栫被鍨�" prop="name" v-if="form.type == 1">
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
</el-form-item>
- <el-form-item v-if="form.type ==3 " label="鎵嬬画璐癸紙%锛�" prop="detail">
- <el-input type="number" v-model="form.detail" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
+ <el-form-item label="鎿呴暱棰嗗煙" prop="name" v-else-if="form.type == 2">
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ユ搮闀块鍩�" v-trim/>
</el-form-item>
- <el-form-item v-if="form.type == 1 || form.type == 2" :label=" form.type == 1?'杞﹁締瑙勬牸':'椁愭爣閰嶇疆锛堝厓锛�'" prop="detailList">
- <div style="display: flex;flex-direction: column">
- <div style="position: relative;display: block;width: 100%;" v-for="(item,index) in form.detailList" >
- <el-input :type="form.type == 1?'text':'number'" style="display:inline-block;width: 60%;margin:5px ;float: left" v-model="form.detailList[index]" placeholder="璇疯緭鍏ュ唴瀹�" v-trim/>
- <el-button style="display:inline-block;margin : 5px " @click="del(index)" v-if="form.detailList.length>0">x</el-button>
- </div>
- <div style="position: relative;display: block;width: 100%;">
- <el-button style="width: 100px;margin: 5px;" type="primary" @click="add()">娣诲姞瑙勬牸</el-button>
- </div>
- </div>
+ <el-form-item label="鑰佸笀绛夌骇" prop="name" v-else-if="form.type == 3">
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ユ搮闀块鍩�" v-trim/>
</el-form-item>
- <el-form-item v-if="form.type == 1" label="鍥炬爣" prop="icon">
+ <el-form-item label="鍚嶇О" prop="name" v-else>
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
+ </el-form-item>
+ <el-form-item label="鎴樺尯缂栫爜" prop="detail" v-if="form.type ==0" >
+ <el-input v-model="form.detail" placeholder="璇疯緭鍏ユ垬鍖虹紪鐮�" v-trim/>
+ </el-form-item>
+ <el-form-item v-if="form.type == 3" label="鍥炬爣" prop="icon">
<UploadAvatarImage
:file="{ imgurlfull: form.iconFull, imgurl: form.icon }"
:uploadData="uploadData"
@uploadSuccess="uploadAvatarSuccess"
/>
</el-form-item>
- <el-form-item v-if="form.id ==null && form.type == 1" label="鏄惁鍥哄畾杞﹁締" prop="isFixed">
- <el-radio-group v-model="form.isFixed">
- <el-radio :label="0">闈炲浐瀹�</el-radio>
- <el-radio :label="1">鍥哄畾杞﹀瀷</el-radio>
- </el-radio-group>
+ <el-form-item v-if="form.type == 1" label="鎺掕姒滃浘闆�" prop="icon">
+ <UploadImage
+ :fileList="tempfileList"
+ :uploadData="uploadData"
+ :size="5"
+ @beginUpload="isUploading=true"
+ @endUpload="isUploading=false"/>
+ <p class="tip-warn">
+ 寤鸿灏哄锛�750px X 750px锛屼笂闄�6寮�
+ 鏀寔png銆乯pg銆乯peg鏍煎紡锛屽ぇ灏忎笉瓒呰繃5M锛屼笂浼犲浘鐗囦笉鍏佽娑夊強鏀挎不鏁忔劅涓庤壊鎯�,
+ </p>
</el-form-item>
- <el-form-item label="鎺掑簭鐮�" prop="sortnum">
- <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
+ <el-form-item label="绛夌骇椤哄簭" prop="sortnum" v-if="form.type == 3">
+ <el-input v-model="form.sortnum" type="" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
+ </el-form-item>
+ <el-form-item label="鎺掑簭鐮�" prop="sortnum" v-else>
+ <el-input v-model="form.sortnum" type="" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
</el-form-item>
<el-form-item label="鎻忚堪" prop="remark">
- <el-input v-model="form.remark" placeholder="璇疯緭鍏ユ弿杩�" v-trim/>
+ <el-input type="textarea" v-model="form.remark" placeholder="璇疯緭鍏ユ弿杩�" v-trim/>
</el-form-item>
</el-form>
</GlobalWindow>
@@ -54,16 +56,17 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
+import UploadImage from '@/components/common/UploadImage'
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
export default {
name: 'OperaCategoryWindow',
extends: BaseOpera,
- components: { GlobalWindow ,UploadAvatarImage},
+ components: { GlobalWindow, UploadAvatarImage,UploadImage },
data () {
return {
isUploading: false,
uploadData: {
- folder: 'category'
+ folder: 'dianjiang/category'
},
// 琛ㄥ崟鏁版嵁
form: {
@@ -74,14 +77,16 @@
type: null,
detail: null,
remark: null,
- detailList: [''],
+ fileList: [],
icon: '',
iconFull: '',
isFixed: 0
},
+ tempfileList: [],
// 楠岃瘉瑙勫垯
rules: {
- name: [{ required: true, message: '璇疯緭鍏ラ厤缃悕绉�' }]
+ name: [{ required: true, message: '璇疯緭鍏ュ悕绉�' }],
+ detail: [{ required: true, message: '璇疯緭鍏ユ垬鍖虹紪鐮�' }]
}
}
},
@@ -91,23 +96,32 @@
'field.id': 'id'
})
},
- methods:{
- del(index){
- if(this.form.detailList.length<=1){
+ methods: {
+ del (index) {
+ if (this.form.detailList.length <= 1) {
return
}
- this.form.detailList.splice(index,1)
+ this.form.detailList.splice(index, 1)
},
- add(){
+ add () {
this.form.detailList.push('')
},
uploadAvatarSuccess (file) {
this.$set(this.form, 'icon', file.imgurl)
this.$set(this.form, 'iconFull', file.imgurlfull)
},
- open(title, target, type) {
+ confirm () {
+ this.form.fileList = this.tempfileList
+ if (this.form[this.configData['field.id']] == null || this.form[this.configData['field.id']] === '') {
+ this.__confirmCreate()
+ return
+ }
+ this.__confirmEdit()
+ },
+ open (title, target, type) {
this.title = title
this.visible = true
+ this.tempfileList = []
this.form = {
id: null,
status: 0,
@@ -116,7 +130,7 @@
detail: null,
type: type,
remark: null,
- detailList: [''],
+ fileList: [],
icon: '',
iconFull: '',
isFixed: 0
@@ -135,9 +149,14 @@
for (const key in this.form) {
this.form[key] = target[key]
}
- if(this.form.detailList==null){
- this.form.detailList = ['']
- }
+ this.form.fileList = this.form.fileList||[]
+ this.form.fileList.forEach(item=>{
+ this.tempfileList.push({
+ fileurl: item.fileurl,
+ name: item.name,
+ url: item.url
+ })
+ })
})
}
}
--
Gitblit v1.9.3