From 77b52c06afdb843ee67c6e938afab0458143d76f Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 05 九月 2025 10:48:48 +0800
Subject: [PATCH] 前端
---
admin/src/components/business/OperaCategoryWindow.vue | 139 +++++++++++++++++++++++++++++++++-------------
1 files changed, 99 insertions(+), 40 deletions(-)
diff --git a/admin/src/components/business/OperaCategoryWindow.vue b/admin/src/components/business/OperaCategoryWindow.vue
index 40738ff..326f991 100644
--- a/admin/src/components/business/OperaCategoryWindow.vue
+++ b/admin/src/components/business/OperaCategoryWindow.vue
@@ -6,41 +6,46 @@
@confirm="confirm"
>
<el-form :model="form" ref="form" :rules="rules">
- <el-form-item label="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�" prop="deleted">
- <el-input v-model="form.deleted" placeholder="璇疯緭鍏ユ槸鍚﹀凡鍒犻櫎 0鏈垹闄� 1宸插垹闄�" v-trim/>
+ <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>
- <el-form-item label="鐘舵��:0=鍚敤锛�1=绂佺敤锛�" prop="status">
- <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬�:0=鍚敤锛�1=绂佺敤锛�" v-trim/>
+ <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>
- <el-form-item label="鍒涘缓浜虹紪鐮�" prop="createUser">
- <el-input v-model="form.createUser" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/>
+ <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>
- <el-form-item label="鍒涘缓鏃堕棿" prop="createTime">
- <el-date-picker v-model="form.createTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker>
+ <el-form-item v-if="form.type == 1" label="鍥炬爣" prop="icon">
+ <UploadAvatarImage
+ :file="{ imgurlfull: form.iconFull, imgurl: form.icon }"
+ :uploadData="uploadData"
+ @uploadSuccess="uploadAvatarSuccess"
+ />
</el-form-item>
- <el-form-item label="鏇存柊浜虹紪鐮�" prop="updateUser">
- <el-input v-model="form.updateUser" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/>
+ <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>
- <el-form-item label="鏇存柊鏃堕棿" prop="updateTime">
- <el-date-picker v-model="form.updateTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker>
+ <el-form-item label="鎺掑簭鐮�" prop="sortnum">
+ <el-input v-model="form.sortnum" 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="鍗曚綅鍚嶇О" prop="name">
- <el-input v-model="form.name" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�" v-trim/>
- </el-form-item>
- <el-form-item label="绫诲瀷:0=鍝佺閰嶇疆锛�1=杞﹁締绫诲瀷閰嶇疆锛�2=椁愭爣閰嶇疆锛�3=鎵嬬画璐归厤缃紱" prop="type">
- <el-input v-model="form.type" placeholder="璇疯緭鍏ョ被鍨�:0=鍝佺閰嶇疆锛�1=杞﹁締绫诲瀷閰嶇疆锛�2=椁愭爣閰嶇疆锛�3=鎵嬬画璐归厤缃紱" v-trim/>
- </el-form-item>
- <el-form-item label="鍐呭锛堣溅杈嗚鏍笺�侀鏍囥�佹墜缁垂姣斾緥锛�" prop="detail">
- <el-input v-model="form.detail" placeholder="璇疯緭鍏ュ唴瀹癸紙杞﹁締瑙勬牸銆侀鏍囥�佹墜缁垂姣斾緥锛�" v-trim/>
- </el-form-item>
- <el-form-item label="鍥炬爣锛堣溅杈嗙被鍨嬩娇鐢級" prop="icon">
- <el-input v-model="form.icon" placeholder="璇疯緭鍏ュ浘鏍囷紙杞﹁締绫诲瀷浣跨敤锛�" v-trim/>
- </el-form-item>
- <el-form-item label="鏄惁鍥哄畾杞﹁締锛堣溅杈嗙被鍨嬩娇鐢級:0=鍚︼紱1=鏄紱" prop="isFixed">
- <el-input v-model="form.isFixed" placeholder="璇疯緭鍏ユ槸鍚﹀浐瀹氳溅杈嗭紙杞﹁締绫诲瀷浣跨敤锛�:0=鍚︼紱1=鏄紱" v-trim/>
+ <el-form-item label="鎻忚堪" prop="remark">
+ <el-input v-model="form.remark" placeholder="璇疯緭鍏ユ弿杩�" v-trim/>
</el-form-item>
</el-form>
</GlobalWindow>
@@ -49,30 +54,34 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
+import UploadAvatarImage from '@/components/common/UploadAvatarImage'
export default {
name: 'OperaCategoryWindow',
extends: BaseOpera,
- components: { GlobalWindow },
+ components: { GlobalWindow ,UploadAvatarImage},
data () {
return {
+ isUploading: false,
+ uploadData: {
+ folder: 'category'
+ },
// 琛ㄥ崟鏁版嵁
form: {
id: null,
- deleted: '',
- status: '',
- createUser: '',
- createTime: '',
- updateUser: '',
- updateTime: '',
- remark: '',
+ status: 0,
+ sortnum: null,
name: '',
- type: '',
- detail: '',
+ type: null,
+ detail: null,
+ remark: null,
+ detailList: [''],
icon: '',
- isFixed: ''
+ iconFull: '',
+ isFixed: 0
},
// 楠岃瘉瑙勫垯
rules: {
+ name: [{ required: true, message: '璇疯緭鍏ラ厤缃悕绉�' }]
}
}
},
@@ -81,6 +90,56 @@
api: '/business/category',
'field.id': 'id'
})
+ },
+ methods:{
+ del(index){
+ if(this.form.detailList.length<=1){
+ return
+ }
+ this.form.detailList.splice(index,1)
+ },
+ 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) {
+ this.title = title
+ this.visible = true
+ this.form = {
+ id: null,
+ status: 0,
+ sortnum: null,
+ name: '',
+ detail: null,
+ type: type,
+ remark: null,
+ detailList: [''],
+ icon: '',
+ iconFull: '',
+ isFixed: 0
+ }
+ // 鏂板缓
+ if (target == null) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ this.form.type = type
+ })
+ return
+ }
+ // 缂栬緫
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ if(this.form.detailList==null){
+ this.form.detailList = ['']
+ }
+ })
+ }
}
}
</script>
--
Gitblit v1.9.3