From 9f32bd5b0217473d0b0eb819b7a49d64bbcd3db6 Mon Sep 17 00:00:00 2001
From: liweilong <515897141@qq.com>
Date: 星期三, 02 十二月 2020 15:49:27 +0800
Subject: [PATCH] 优化轮播图管理

---
 src/mixins/bannerOpts.js    |   35 +++++++++++
 src/pages/login/index.vue   |    5 -
 src/pages/system/admin.vue  |   21 +++++-
 src/pages/demo/form.vue     |    1 
 src/styles/common.scss      |    4 +
 src/pages/system/banner.vue |   66 ++++++++++++++++++---
 6 files changed, 113 insertions(+), 19 deletions(-)

diff --git a/src/mixins/bannerOpts.js b/src/mixins/bannerOpts.js
new file mode 100644
index 0000000..452c93a
--- /dev/null
+++ b/src/mixins/bannerOpts.js
@@ -0,0 +1,35 @@
+/**
+ * 杞挱鍥鹃�氱敤涓嬫媺妗嗛�夐」
+ * -jumpTypeOpt 璺宠浆绫诲瀷閫夐」
+ * -envVersionOpt 灏忕▼搴忕増鏈�
+ */
+
+export default {
+    data () {
+        return {
+            // 璺宠浆绫诲瀷閫夐」
+            jumpTypeOpt: [{
+                label: '涓嶈烦杞�',
+                value: 0
+            },{
+                label: '灏忕▼搴忛〉闈�',
+                value: 1
+            },{
+                label: 'H5椤甸潰',
+                value: 2
+            },{
+                label: '鍏朵粬灏忕▼搴�',
+                value: 3
+            }],
+
+            // 灏忕▼搴忕増鏈�
+            envVersionOpt: [{
+                label: '寮�鍙戠増锛坉evelop锛�', value: 'develop'
+            },{
+                label: '浣撻獙鐗堬紙trial锛�', value: 'trial'
+            },{
+                label: '姝e紡鐗堬紙release锛�', value: 'release'
+            }],
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/pages/demo/form.vue b/src/pages/demo/form.vue
index 31652ba..e2ad338 100644
--- a/src/pages/demo/form.vue
+++ b/src/pages/demo/form.vue
@@ -10,6 +10,7 @@
       <el-form-item label="鐪佸競鍖�" prop="provinces">
         <el-cascader
           v-model="mData.provinces"
+          class="com-edit-input"
           :options="areaOpts"
           placeholder="璇烽�夋嫨鐪佸競鍖�"
           style="width: 100%"
diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue
index 4f66a0e..a48c623 100644
--- a/src/pages/login/index.vue
+++ b/src/pages/login/index.vue
@@ -3,7 +3,7 @@
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" autocomplete="on" label-position="left">
 
       <div class="title-container">
-        <h3 class="title">鈥濋」鐩悕绉扳��</h3>
+        <h3 class="title">琚佹洣钘忛厭</h3>
       </div>
 
       <el-form-item prop="username">
@@ -145,7 +145,6 @@
   methods: {
     init() {
       var loginData = localStorage.getItem('loginData')
-      console.log(loginData)
       // 鑾峰彇淇濆瓨鐨勮处鍙峰瘑鐮�
       if (loginData) this.loginForm = JSON.parse(loginData)
 
@@ -221,7 +220,7 @@
                 name: '娼樺鎷夌殑鑷槾', // 鐢ㄦ埛鍚嶇О
                 // arr: ['sys_admin_see'], // 鏉冮檺鍒楄〃
                 arr: ['sys_admin_see', 'sys_admin_add', 'sys_admin_edit', 'sys_admin_del', 'sys_admin_role_see', 'sys_admin_role_add', 'sys_admin_role_edit', 'sys_admin_role_del', 'corp_user_schedule_see', 'corp_user_schedule_add', 'corp_user_schedule_edit', 'corp_user_schedule_del', 'user_mp_banner_see', 'user_mp_banner_add', 'user_mp_banner_edit', 'user_mp_banner_del', 'shop_see', 'shop_add', 'shop_edit', 'shop_del', 'shop_device', 'corp_user_see', 'corp_user_add', 'corp_user_edit', 'corp_user_del', 'change_assistant_see', 'ser_pro_material_see', 'service_project_see', 'service_project_add', 'service_project_edit', 'service_project_del', 'service_topic_see', 'service_topic_add', 'service_topic_edit', 'service_topic_del', 'service_project_order_see', 'service_project_order_edit', 'goods_type_see', 'goods_type_add', 'goods_type_edit', 'goods_type_del', 'goods_see', 'goods_add', 'goods_edit', 'goods_del', 'goods_inventory', 'goods_order_see', 'goods_order_edit', 'goods_index_banner_see', 'goods_index_banner_add', 'goods_index_banner_edit', 'goods_index_banner_del', 'user_see', 'user_edit', 'user_cash_see', 'user_cash_edit', 'distribute_relate', 'distribute_order', 'document_edit', 'operation_see',
-                  'coupon_see', 'coupon_add', 'coupon_edit', 'coupon_del', 'activity_see', 'activity_add', 'activity_edit', 'activity_del'
+                  'coupon_see', 'coupon_add', 'coupon_edit', 'coupon_del', 'activity_see', 'activity_add', 'activity_edit', 'activity_del', 'banner_see', 'banner_add', 'banner_edit', 'banner_del'
                 ]
               }
             }
diff --git a/src/pages/system/admin.vue b/src/pages/system/admin.vue
index 2106553..5f8fbc0 100644
--- a/src/pages/system/admin.vue
+++ b/src/pages/system/admin.vue
@@ -36,7 +36,7 @@
 
     <el-table :data="list">
       <el-table-column type="index" label="搴忓彿" align="center" width="60" />
-      <el-table-column label="濮撳悕" prop="name" align="center" min-width="120" />
+      <el-table-column label="鍚嶇О" prop="name" align="center" min-width="120" />
       <el-table-column label="璐﹀彿" prop="account" align="center" min-width="120" />
       <el-table-column label="瑙掕壊" prop="roleName" align="center" min-width="120" />
       <!-- <el-table-column label="鏈�杩戠櫥褰曟椂闂�" prop="loginTime" align="center" min-width="180" /> -->
@@ -101,10 +101,18 @@
             v-model="adminDialogData.sysRoleId"
             clearable
             placeholder="瑙掕壊"
-            class="com-edit-input"
+            style="width: 100%"
           >
             <el-option v-for="item in roleArr" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
+        </el-form-item>
+
+        <el-form-item label="鏄惁鍚敤" prop="sysRoleId">
+          <el-switch
+            v-model="adminDialogData.isUse"
+            :active-value="1"
+            :inactive-value="0"
+          />
         </el-form-item>
 
       </el-form>
@@ -294,7 +302,8 @@
         account: '',
         password: '',
         passwordSure: '',
-        sysRoleId: ''
+        sysRoleId: '',
+        isUse: 1
       }
       this.adminDialogData = adminDialogData
       this.isShowadminDialog = true
@@ -308,7 +317,8 @@
         password: '',
         passwordSure: '',
         sysRoleId: item.roId,
-        id: item.id
+        id: item.id,
+        isUse: item.isUse
       }
       this.adminDialogData = adminDialogData
       this.isShowadminDialog = true
@@ -327,7 +337,8 @@
             name: adminDialogData.name,
             account: adminDialogData.account,
             password: adminDialogData.password,
-            sysAdRoleId: adminDialogData.sysRoleId
+            sysAdRoleId: adminDialogData.sysRoleId,
+            isUse: adminDialogData.isUse
           }
           var isAdd = adminDialogData.type === 'add'
           var url = isAdd ? 'admin/add' : 'admin/update'
diff --git a/src/pages/system/banner.vue b/src/pages/system/banner.vue
index b60e9fd..7e06244 100644
--- a/src/pages/system/banner.vue
+++ b/src/pages/system/banner.vue
@@ -54,11 +54,11 @@
 
     <!-- 鏂板&缂栬緫 -->
     <el-dialog :title="dialogData.type=='add'?'鏂板杞挱鍥�':'缂栬緫杞挱鍥�'" width="500px" :visible.sync="isShowDialog" append-to-body :before-close="hideDialog">
-      <el-form :ref="formName" :model="dialogData" label-width="100px" :rules="rules" size="small">
-        <el-form-item label="鎺掑簭鍙�" prop="orderNum">
+      <el-form :ref="formName" :model="dialogData" label-width="120px" :rules="rules" size="small">
+        <el-form-item label="鎺掑簭鍙凤細" prop="orderNum">
           <el-input v-model="dialogData.orderNum" placeholder="璇疯緭鍏ユ帓搴忓彿" />
         </el-form-item>
-        <el-form-item ref="uploadFormItem" label="杞挱鍥�" prop="uploadImgs">
+        <el-form-item ref="uploadFormItem" label="杞挱鍥撅細" prop="uploadImgs">
           <!-- 涓婁紶鍥剧墖缁勪欢(鍗曞浘) -->
           <el-upload
             ref="refUploadImg"
@@ -78,6 +78,35 @@
             <i class="el-icon-plus" />
           </el-upload>
         </el-form-item>
+        <el-form-item label="璺宠浆绫诲瀷锛�" prop="jumpType">
+          <el-select
+            v-model="dialogData.jumpType"
+            clearable
+            placeholder="璇烽�夋嫨璺宠浆绫诲瀷"
+            class="com-edit-input"
+          >
+            <el-option v-for="item in jumpTypeOpt" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="dialogData.jumpType" label="璺宠浆閾炬帴锛�" prop="jumpUrl">
+          <el-input v-model="dialogData.jumpUrl" placeholder="璇疯緭鍏ヨ烦杞摼鎺�" class="com-edit-input" />
+        </el-form-item>
+        <el-form-item v-if="dialogData.jumpType===3" label="appId锛�" prop="jumpMpId">
+          <el-input v-model="dialogData.jumpMpId" placeholder="璇疯緭鍏ュ皬绋嬪簭appId" class="com-edit-input" />
+        </el-form-item>
+        <el-form-item v-if="dialogData.jumpType===3" label="灏忕▼搴忕増鏈細" prop="envVersion">
+          <el-select
+            v-model="dialogData.envVersion"
+            clearable
+            placeholder="璇烽�夋嫨灏忕▼搴忕増鏈�"
+            class="com-edit-input"
+          >
+            <el-option v-for="item in envVersionOpt" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="dialogData.jumpType===3" label="棰濆鏁版嵁锛�" prop="extraData">
+          <el-input v-model="dialogData.extraData" placeholder="璇疯緭鍏ュ皬绋嬪簭棰濆鏁版嵁" class="com-edit-input" />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="hideDialog">鍙栨秷</el-button>
@@ -95,10 +124,10 @@
 <script>
 
 import mixin_Upload from '@/mixins/upload.js'
-
+import mixin_bannerOpts from '@/mixins/bannerOpts.js' // 閫氱敤杞挱鍥句笅鎷夐�夐」
 export default {
   name: 'Equipment',
-  mixins: [mixin_Upload],
+  mixins: [mixin_Upload, mixin_bannerOpts],
   data() {
     return {
       list: [], // 璁惧鍒楄〃
@@ -118,7 +147,19 @@
           { required: true, message: '鎺掑簭鍙蜂笉鑳戒负绌�', trigger: 'change' }
         ],
         uploadImgs: [
-          { required: true, message: '璇烽�夋嫨杞挱鍥剧墖', trigger: 'change' }
+          { required: true, message: '杞挱鍥剧墖涓嶈兘涓虹┖', trigger: 'change' }
+        ],
+        jumpType: [
+          { required: true, message: '璺宠浆绫诲瀷涓嶈兘涓虹┖', trigger: 'change' }
+        ],
+        jumpUrl: [
+          { required: true, message: '璺宠浆閾炬帴涓嶈兘涓虹┖', trigger: 'change' }
+        ],
+        jumpMpId: [
+          { required: true, message: '璺宠浆灏忕▼搴廰ppId涓嶈兘涓虹┖', trigger: 'change' }
+        ],
+        envVersion: [
+          { required: true, message: '璺宠浆灏忕▼搴忕増鏈笉鑳戒负绌�', trigger: 'change' }
         ]
       },
 
@@ -144,7 +185,6 @@
   methods: {
     // 鍒濆鍖�
     init() {
-      // this.id = this.$route.query.id || ''
       this.getList()
     },
 
@@ -166,7 +206,7 @@
     delUploadImg(file, fileList) {
       this.dialogData.uploadImgs = fileList
     },
-    // 鎵ц涓婁紶鍟嗗搧鍥�
+    // 鎵ц涓婁紶鍥�
     runUploadImg(suc_cb) {
       if (this.checkNeedUpload(this.dialogData.uploadImgs)) {
         this.$refs.refUploadImg.submit()
@@ -174,7 +214,7 @@
         suc_cb && suc_cb()
       }
     },
-    // 涓婁紶鍟嗗搧鍥�
+    // 涓婁紶鍥�
     uploadImg(res) {
       console.log(res)
       const file = res.file
@@ -317,8 +357,14 @@
       const dialogData = this.dialogData
       const params = {
         orderNum: dialogData.orderNum,
-        imgUrl: dialogData.imgUrl
+        imgUrl: dialogData.imgUrl,
+        jumpType: dialogData.jumpType
       }
+      if (dialogData.jumpUrl) params.jumpUrl = dialogData.jumpUrl
+      if (dialogData.jumpMpId) params.jumpMpId = dialogData.jumpMpId
+      if (dialogData.envVersion) params.envVersion = dialogData.envVersion
+      if (dialogData.extraData) params.extraData = dialogData.extraData
+
       if (dialogData.type === 'edit') {
         params.id = dialogData.id
       }
diff --git a/src/styles/common.scss b/src/styles/common.scss
index 67fc9f5..373f78e 100644
--- a/src/styles/common.scss
+++ b/src/styles/common.scss
@@ -15,9 +15,11 @@
 // 琛ㄥ崟杈撳叆妗�
 .com-edit-input{
 	max-width: 400px;
+	width: 100%;
 }
 .el-select.com-edit-input{
-	width: 400px;
+	max-width: 400px;
+	width: 100%;
 }
 
 // 鍒楄〃鍥剧墖

--
Gitblit v1.8.0