From f8a4a4306824bf9874a4333e12a0307555ffbb08 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 15 七月 2025 14:41:42 +0800
Subject: [PATCH] 前端

---
 admin/src/components/business/OperaCategoryWindow.vue |  105 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 63 insertions(+), 42 deletions(-)

diff --git a/admin/src/components/business/OperaCategoryWindow.vue b/admin/src/components/business/OperaCategoryWindow.vue
index 40738ff..828473c 100644
--- a/admin/src/components/business/OperaCategoryWindow.vue
+++ b/admin/src/components/business/OperaCategoryWindow.vue
@@ -6,41 +6,27 @@
     @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-model="form.name" 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 v-if="form.type == 1 || form.type == 2" :label=" form.type == 1?'杞﹁締瑙勬牸':'椁愭爣閰嶇疆'" prop="detailList">
+        <el-input v-model="form.detailList" 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" label="鍥炬爣" prop="icon">
+        <UploadAvatarImage
+            :file="{ imgurlfull: form.iconFull, imgurl: form.icon }"
+            :uploadData="uploadData"
+            @uploadSuccess="uploadAvatarSuccess"
+        />
       </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="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="updateUser">
-        <el-input v-model="form.updateUser" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/>
-      </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>
-      <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="sortnum">
+        <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
       </el-form-item>
     </el-form>
   </GlobalWindow>
@@ -49,27 +35,27 @@
 <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,
+        detailList: [],
         icon: '',
-        isFixed: ''
+        isFixed: 0
       },
       // 楠岃瘉瑙勫垯
       rules: {
@@ -81,6 +67,41 @@
       api: '/business/category',
       'field.id': 'id'
     })
+  },
+  methods:{
+    uploadAvatarSuccess (file) {
+      this.$set(this.param, 'icon', file.imgurl)
+      this.$set(this.param, 'iconFull', file.imgurlfull)
+    },
+    open(title, target, type) {
+      this.title = title
+      this.visible = true
+      this.form = {
+        id: null,
+        status: 0,
+        sortnum: null,
+        name: '',
+        type: type,
+        detailList: [],
+        icon: '',
+        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]
+        }
+      })
+    }
   }
 }
 </script>

--
Gitblit v1.9.3