select.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
  2. <link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
  3. <style>
  4. #linkSelect {
  5. background: #fff;
  6. overflow: auto;
  7. color: #444;
  8. margin: -15px;
  9. }
  10. a,
  11. a:focus,
  12. a:hover {
  13. color: #444;
  14. display: block;
  15. }
  16. .el-menu-level {
  17. margin: 0 20px;
  18. border: none;
  19. }
  20. .el-menu-level .el-menu-item,
  21. .el-submenu__title,
  22. .el-menu-item-group__title {
  23. height: 32px;
  24. line-height: 32px;
  25. min-width: 100px !important;
  26. padding: 0 0 0 20px !important;
  27. font-size: 12px;
  28. }
  29. .el-menu-item.is-active {
  30. color: #7536D0;
  31. background: rgba(116, 56, 213, 0.14);
  32. border-radius: 4px;
  33. }
  34. .dialog-left {
  35. width: 140px;
  36. border-right: 1px solid #e6e6e6;
  37. height: 100vh;
  38. padding-top: 9px;
  39. overflow: auto;
  40. }
  41. .dialog-right {
  42. height: 100vh;
  43. flex: 1;
  44. }
  45. .dialog-search {
  46. padding: 9px 20px;
  47. }
  48. .dialog-search .el-input {
  49. width: 240px;
  50. }
  51. .dialog-search .el-input__inner {
  52. background: #F9F9F9;
  53. border: none;
  54. }
  55. .dialog-right-body {
  56. padding: 0 20px 20px;
  57. height: calc(100vh - 112px);
  58. overflow: auto;
  59. }
  60. .dialog-footer {
  61. padding: 15px 20px;
  62. justify-content: flex-end;
  63. }
  64. .operation-button {
  65. width: 60px;
  66. height: 32px;
  67. display: flex;
  68. align-items: center;
  69. justify-content: center;
  70. border-radius: 4px;
  71. font-size: 12px;
  72. margin-left: 10px;
  73. cursor: pointer;
  74. }
  75. .cancel-button {
  76. border: 1px solid #E6E6E6;
  77. color: #C4C4C4;
  78. }
  79. .define-button {
  80. background: #6E3DC8;
  81. color: #fff;
  82. }
  83. .dialog-right-body-title {
  84. height: 50px;
  85. justify-content: space-between;
  86. font-size: 12px;
  87. margin-bottom: 10px;
  88. }
  89. .dialog-right-body-title .el-icon-tickets {
  90. font-size: 13px;
  91. color: #7438D5;
  92. margin-right: 10px;
  93. }
  94. .select-container {
  95. flex-wrap: wrap;
  96. }
  97. .select-item {
  98. /* width: 70px; */
  99. padding: 0 16px;
  100. height: 32px;
  101. border: 1px solid #E6E6E6;
  102. border-radius: 4px;
  103. color: #444;
  104. cursor: pointer;
  105. margin-right: 14px;
  106. margin-bottom: 14px;
  107. }
  108. .custom-select-active,
  109. .custom-select-active:focus {
  110. border-color: #7438D5 !important;
  111. color: #7438D5;
  112. }
  113. .dialog-left::-webkit-scrollbar,.dialog-right-body::-webkit-scrollbar {
  114. width: 6px;
  115. }
  116. .dialog-left::-webkit-scrollbar-thumb,.dialog-right-body::-webkit-scrollbar-thumb {
  117. width: 6px;
  118. background: #ccc;
  119. height: 20px;
  120. border-radius: 3px;
  121. }
  122. [v-cloak] {
  123. display: none
  124. }
  125. </style>
  126. <script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
  127. <script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
  128. <div id="linkSelect" v-cloak>
  129. <div class="dialog-body display-flex">
  130. <div class="dialog-left">
  131. <el-menu :default-active="activeIndex" class="el-menu-level" :collapse="false" @select="selected">
  132. <el-menu-item :index="index" v-for="(item,index) in linkData">
  133. <span slot="title">
  134. <a :href="'#'+index"></a>
  135. {{item.group==''?'其它':item.group}}</span>
  136. </el-menu-item>
  137. </el-menu>
  138. </div>
  139. <div class="dialog-right">
  140. <div class="dialog-search display-flex">
  141. <div>
  142. <span v-if="!isAll && multiple=='true'" class="theme-color cursor-pointer"
  143. @click="checkedAll(true)">全选</span>
  144. <span v-if="isAll && multiple=='true'" class="cursor-pointer" @click="checkedAll(false)">全不选</span>
  145. </div>
  146. </div>
  147. <div class="dialog-right-body">
  148. <a class="scroll-item" v-for="(group,index) in linkData" :name="index">
  149. <div class="dialog-right-body-title display-flex">
  150. <div>
  151. <i class="el-icon-tickets"></i>
  152. <span>{{group.group==''?'其它':group.group}}</span>
  153. </div>
  154. </div>
  155. <div class="select-container display-flex">
  156. <div v-for="(item,idx) in group.children" class="select-item display-flex-c"
  157. :class="item.selected?'custom-select-active':''"
  158. @click="operation('select',item,index,idx)">
  159. {{item.name}}</div>
  160. </div>
  161. </a>
  162. </div>
  163. <div class="dialog-footer display-flex">
  164. <div @click="operation('define')" class="operation-button define-button">确定</div>
  165. </div>
  166. </div>
  167. </div>
  168. <el-dialog title="类型" :visible.sync="dialogVisible" width="30%" :show-close="false">
  169. <div class="display-flex" style="justify-content: space-between;">
  170. <div style="width: 40%;border: 1px solid #e6e6e6;display: flex;align-items: center;justify-content: center;height: 40px;cursor: pointer;"
  171. @click="posterUser">个人海报</div>
  172. <div style="width: 40%;border: 1px solid #e6e6e6;display: flex;align-items: center;justify-content: center;height: 40px;cursor: pointer;"
  173. @click="posterGood">商品海报</div>
  174. </div>
  175. </el-dialog>
  176. </div>