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