diy-icon-set.php 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461
  1. <template id="diy-icon-set">
  2. <diy-style-contain :title="title" :show-title="showTitle" :contain-style="containStyle">
  3. <div v-for="(item, index) in iconList" :key="index" :style="[iconSetStyle]" @click="closePop">
  4. <div class="icon-set-title" v-if="item.title">{{ item.title }}</div>
  5. <div class="icon-set-list">
  6. <!-- 关闭图标 -->
  7. <div class="icon-set-close" flex="cross:center" @click.stop="closeHandle(item, index)" v-if="showClose">
  8. <i class="el-icon-close"></i>
  9. </div>
  10. <!-- 删除弹窗 -->
  11. <diy-confirm-popup
  12. :title="popTitle"
  13. :show="cardIndex == index && visible"
  14. confirm-text="删除"
  15. :show-confrim-btn="showConfrimBtn"
  16. @close="closePop"
  17. @confirm="delCards($event, index)"></diy-confirm-popup>
  18. <div v-if="item.slot">
  19. <slot :name="item.slot" :item="item" :index="index"></slot>
  20. </div>
  21. <!-- 内容 -->
  22. <div class="icon-set-items" flex="cross:center" v-if="set_style != 'text'">
  23. <div class="icon-set-list-name diy-text-font">{{ type == 1 ? '图片' : '图标' }}</div>
  24. <div class="icon-set-list-content">
  25. <com-attachment :multiple="false" :max="1" type="images" @selected="coverPic($event, item)">
  26. <div class="content-upload" :style="{width: widthImg + 'px', height: heightImg + 'px'}" flex="cross:center main:center" v-if="!item.img">
  27. <i class="el-icon-plus"></i>
  28. </div>
  29. <div class="content-img" :style="{width: widthImg + 'px', height: heightImg + 'px'}" flex="cross:center main:center" v-else>
  30. <!-- <el-image style="width: 100%; height: 100%;border-radius: 8px;" :src="item.img"></el-image> -->
  31. <el-image style="width: 100%; height: 100%;border-radius: 8px;" :src="imgToUrl(item.img)"></el-image>
  32. <div class="img-replace">替换</div>
  33. <div class="icon-close" @click.stop="delPic(item, index)">
  34. <i class="el-icon-close"></i>
  35. </div>
  36. </div>
  37. </com-attachment>
  38. <div class="tips-text" v-if="suggestText">{{ suggestText }}</div>
  39. </div>
  40. </div>
  41. <div class="icon-set-items" flex="cross:center" v-if="set_style != 'text' && type == 1 && tagSwitch">
  42. <div class="icon-set-list-name diy-text-font">标签</div>
  43. <div class="icon-set-list-content" flex="cross:center">
  44. <el-switch v-model="item.is_show_tag" active-color="#2D8CF0" inactive-color="#999999" @change="iconSetChange($event, item, 'is_show_tag')"></el-switch>
  45. <span class="diy-text-font" style="padding-left: 7px;font-weight: 500;">{{ item.is_show_tag ? '开启' : '关闭' }}</span>
  46. </div>
  47. </div>
  48. <div class="icon-set-items" flex="cross:center" v-if="item.is_show_tag && set_style != 'text' && type == 1 && tagSwitch">
  49. <div class="icon-set-list-name diy-text-font">标签内容</div>
  50. <div class="icon-set-list-content" flex="cross:center">
  51. <el-input size="small" v-model="item.tags" placeholder="请输入内容" maxlength="2" @input="iconSetChange($event, item, 'tags')" show-word-limit></el-input>
  52. </div>
  53. </div>
  54. <div class="icon-set-items" flex="cross:center" v-if="item.is_show_tag && set_style != 'text' && type == 1 && tagSwitch">
  55. <div class="icon-set-list-name diy-text-font">标签背景</div>
  56. <div class="icon-set-list-content" flex="cross:center">
  57. <el-color-picker flex="cross:center" v-model="item.tagsBgColor" :show-alpha="showAlpha" @change="iconSetChange($event, item, 'tagsBgColor')"></el-color-picker>
  58. </div>
  59. </div>
  60. <div class="icon-set-items" flex="cross:center" v-if="item.is_show_tag && set_style != 'text' && type == 1 && tagSwitch">
  61. <div class="icon-set-list-name diy-text-font">标签文字</div>
  62. <div class="icon-set-list-content" flex="cross:center">
  63. <el-color-picker flex="cross:center" v-model="item.tagsTextColor" :show-alpha="showAlpha" @change="iconSetChange($event, item, 'tagsTextColor')"></el-color-picker>
  64. </div>
  65. </div>
  66. <div class="icon-set-items" flex="cross:center" v-if="set_style != 'image'">
  67. <div class="icon-set-list-name diy-text-font">文字</div>
  68. <div class="icon-set-list-content" flex="cross:center">
  69. <el-input size="small" v-model="item.btnText" placeholder="请输入内容" @input="iconSetChange($event, item, 'btnText')" maxlength="5" show-word-limit></el-input>
  70. </div>
  71. </div>
  72. <div class="icon-set-items" flex="cross:center" v-if="showLink">
  73. <div class="icon-set-list-name diy-text-font">链接</div>
  74. <div class="icon-set-list-content" flex="cross:center">
  75. <com-pick-link @selected="selectedUrl($event, item)" :default-tabs="defaultTabs">
  76. <diy-url :text="item.link_params && (item.link_params.title || item.link_params.open_type)" @add="addUrl(index)"></diy-url>
  77. </com-pick-link>
  78. </div>
  79. </div>
  80. <div class="icon-set-items" flex="cross:center" v-if="showStoreLink"> <!-- 门店o2o的链接-->
  81. <div flex>
  82. <div class="icon-set-list-name diy-text-font">链接</div>
  83. <div class="icon-set-list-content" flex="cross:center">
  84. <com-pick-link @selected="selectedUrl($event,item)" :default-tabs="[{name: 'marketing',children:['store_cate_recommend'] }]">
  85. <diy-url :text="item.link_params && (item.link_params.title || item.link_params.open_type)" @add="addUrl(index)"></diy-url>
  86. </com-pick-link>
  87. </div>
  88. </div>
  89. <!-- <diy-operation-list v-if="selectUrl" v-model="showLineList" @on-change="onChange5"> </diy-operation-list>-->
  90. </div>
  91. </div>
  92. </div>
  93. <div class="add-btns" @click="addClick" v-if="showAddBtn && list.length < maxIconLength">+ 添加<span v-if="maxIconLength">{{ list.length }}/{{ maxIconLength }}</span></div>
  94. </diy-style-contain>
  95. </template>
  96. <script>
  97. // 默认图标列表
  98. const defaultIconList = [
  99. // 基础页面
  100. {
  101. img: "/diy/icon-set/mall-index.png",
  102. title: "商城首页",
  103. route: "/pages/index/index"
  104. },
  105. {
  106. img: "/diy/icon-set/all-menu.png",
  107. title: "全部分类",
  108. route: "/pages/menu/index"
  109. },
  110. {
  111. img: "/diy/icon-set/cart.png",
  112. title: "购物车",
  113. route: "/pages/cart/index"
  114. },
  115. {
  116. img: "/diy/icon-set/my-client.png",
  117. title: "我的客户",
  118. route: "plugins/public/promotion/client"
  119. },
  120. {
  121. img: "/diy/icon-set/all-menu.png",
  122. title: "全部分类2",
  123. route: "/plugins3/menu/index"
  124. },
  125. {
  126. img: "/diy/icon-set/my-order.png",
  127. title: "我的订单",
  128. route: "/plugins/pages/order/list?tabIndex=0"
  129. },
  130. {
  131. img: "/diy/icon-set/order-1.png",
  132. title: "待付款订单",
  133. route: "/plugins/pages/order/list?tabIndex=1"
  134. },
  135. {
  136. img: "/diy/icon-set/order-2.png",
  137. title: "待发货订单",
  138. route: "/plugins/pages/order/list?tabIndex=2"
  139. },
  140. {
  141. img: "/diy/icon-set/order-3.png",
  142. title: "待收货订单",
  143. route: "/plugins/pages/order/list?tabIndex=3"
  144. },
  145. {
  146. img: "/diy/icon-set/order-4.png",
  147. title: "待评价",
  148. route: "/plugins/pages/order/list?tabIndex=4"
  149. },
  150. {
  151. img: "/diy/icon-set/order-5.png",
  152. title: "退换货",
  153. route: "/plugins/pages/refund/list"
  154. },
  155. {
  156. img: "/diy/icon-set/my-order.png",
  157. title: "会员中心",
  158. route: "/pages/user/index"
  159. },
  160. {
  161. img: "/diy/icon-set/collect.png",
  162. title: "我的收藏",
  163. route: "/plugins/pages/center/keep"
  164. },
  165. {
  166. img: "/diy/icon-set/user-recharge.png",
  167. title: "会员充值",
  168. route: "/plugins/pages/center/recharge/recharge"
  169. },
  170. {
  171. img: "/diy/icon-set/balance-index.png",
  172. title: "余额明细",
  173. route: "/plugins/pages/assets/balance/index"
  174. },
  175. {
  176. img: "/diy/icon-set/currency-index.png",
  177. title: "积分明细",
  178. route: "/plugins/pages/assets/currency/index"
  179. },
  180. {
  181. img: "/diy/icon-set/withdraw-edit.png",
  182. title: "余额提现",
  183. route: "/plugins/pages/assets/withdraw/edit?from=2"
  184. },
  185. {
  186. img: "/diy/icon-set/user-info.png",
  187. title: "我的资料",
  188. route: "/plugins/pages/settings/userInfo"
  189. },
  190. {
  191. img: "/diy/icon-set/address.png",
  192. title: "收货地址",
  193. route: "/plugins/pages/settings/address"
  194. },
  195. {
  196. img: "/diy/icon-set/qr-code.png",
  197. title: "推广二维码",
  198. route: "/plugins/poster/index"
  199. },
  200. {
  201. img: "/diy/icon-set/promotion.png",
  202. title: "推广中心",
  203. route: "/plugins/public/promotion/index"
  204. },
  205. {
  206. img: "/diy/icon-set/transfer-money.png",
  207. title: "积分赠送",
  208. route: "/plugins/pages/assets/balance/transferMoney?modal_type=score"
  209. },
  210. {
  211. img: "/diy/icon-set/write-off.png",
  212. title: "核销",
  213. route: "/plugins4/WriteOff/index"
  214. },
  215. {
  216. img: "/diy/icon-set/merchant-promotion.png",
  217. title: "推广商家",
  218. route: "/plugins/public/merchantAuth/index?isEdit=1"
  219. },
  220. {
  221. img: "/diy/icon-set/marketing-language.png",
  222. title: "营销话术",
  223. route: "/plugins2/BusinessCard/MarketingLanguage/index"
  224. },
  225. {
  226. img: "/diy/icon-set/score-bonus.png",
  227. title: "积分分红",
  228. route: "/plugins/public/ScoreBonus/index"
  229. },
  230. {
  231. img: "/diy/icon-set/channel-store-supplement.png",
  232. title: "渠道分红店补收益",
  233. route: "/plugins/ChannelStoreSupplement/index"
  234. },
  235. //插件工具
  236. {
  237. img: "/diy/icon-set/coupon.png",
  238. title: "我的优惠券",
  239. route: "/plugins/pages/coupon/index"
  240. },
  241. {
  242. img: "/diy/icon-set/coupon.png",
  243. title: "领券中心",
  244. route: "/plugins/pages/coupon/center"
  245. },
  246. {
  247. img: "/diy/icon-set/distribution.png",
  248. title: "分销分红",
  249. route: "/plugins/distribution/index"
  250. },
  251. {
  252. img: "/diy/icon-set/premium-distribution.png",
  253. title: "特级分销",
  254. route: "/plugins/premiumDistribution/index"
  255. },
  256. {
  257. img: "/diy/icon-set/equity.png",
  258. title: "权益中心",
  259. route: "/plugins/public/promotion/rights?type=distribution"
  260. },
  261. {
  262. img: "/diy/icon-set/partner-index.png",
  263. title: "股东分红",
  264. route: "/plugins/partner/index"
  265. },
  266. {
  267. img: "/diy/icon-set/equity.png",
  268. title: "权益中心",
  269. route: "/plugins/public/promotion/rights?type=partner"
  270. },
  271. {
  272. "img": "/diy/icon-set/agent-index.png",
  273. title: "渠道中心",
  274. route: "/plugins3/agent/index"
  275. },
  276. {
  277. "img": "/diy/icon-set/equity.png",
  278. title: "权益中心",
  279. route: "/plugins/public/promotion/rights?type=agent"
  280. },
  281. {
  282. "img": "/diy/icon-set/little-red-book.png",
  283. "route": "/plugins/littleRedBook/index",
  284. "title": "小红书"
  285. },
  286. {
  287. "img": "/diy/icon-set/sign-in.png",
  288. "route": "/plugins3/sign_in/index",
  289. "title": "每日签到"
  290. },
  291. {
  292. "img": "/diy/icon-set/my-area.png",
  293. "route": "/plugins/area/my-area",
  294. "title": "区域管理"
  295. },
  296. {
  297. "img": "/diy/icon-set/audit-list.png",
  298. "route": "/plugins/area/audit-list",
  299. "title": "申请记录"
  300. },
  301. {
  302. "img": "/diy/icon-set/group-buy.png",
  303. title: "拼团首页",
  304. route: "/plugins2/GroupBuyCopy/index"
  305. },
  306. {
  307. "img": "/diy/icon-set/group-buy-list.png",
  308. title: "拼团订单",
  309. route: "/plugins2/GroupBuyCopy/orderList"
  310. },
  311. {
  312. "img": "/diy/icon-set/material.png",
  313. "route": "/plugins/material/index",
  314. "title": "素材中心"
  315. },
  316. {
  317. "img": "/diy/icon-set/sudoku.png",
  318. "route": "/plugins/sudoku/index",
  319. "title": "九宫格"
  320. },
  321. {
  322. "img": "/diy/icon-set/bargain.png",
  323. "route": "/plugins/bargain/index",
  324. "title": "美丽天天砍"
  325. },
  326. {
  327. "img": "/diy/icon-set/points-mall.png",
  328. "route": "/plugins/score_mall/index",
  329. "title": "积分商城"
  330. },
  331. {
  332. "img": "/diy/icon-set/live-streaming.png",
  333. "route": "/plugins/wechat_live/index",
  334. "title": "直播列表"
  335. },
  336. {
  337. "img": "/diy/icon-set/smart-card.png",
  338. "route": "/plugins/IntellectCard/index",
  339. "title": "智能名片"
  340. },
  341. {
  342. "img": "/diy/icon-set/mutual-push.png",
  343. "route": "/plugins/rebate/index",
  344. "title": "推三返一"
  345. },
  346. {
  347. "img": "/diy/icon-set/servebonus .png",
  348. "route": "/plugins/servebonus/index",
  349. "title": "服务商分红"
  350. },
  351. {
  352. "img": "/diy/icon-set/equity.png",
  353. "route": "/plugins/public/promotion/rights?type=servebonus",
  354. "title": "权益中心"
  355. },
  356. {
  357. "img": "/diy/icon-set/album.png",
  358. "route": "/plugins/album/index",
  359. "title": "智能画册"
  360. },
  361. {
  362. "img": "/diy/icon-set/operating-note.png",
  363. "route": "/plugins/operating_note/index",
  364. "title": "运营笔记"
  365. },
  366. {
  367. "img": "/diy/icon-set/cloud-storage.png",
  368. "route": "/plugins/CloudStock/index",
  369. "title": "云库存"
  370. },
  371. {
  372. "img": "/diy/icon-set/cloud-storage.png",
  373. "route": "/plugins/CloudStock/goods/list",
  374. "title": "云库存礼包"
  375. },
  376. {
  377. "img": "/diy/icon-set/cloud-storage.png",
  378. "route": "/plugins/CloudStock/myInventory",
  379. "title": "我的库存"
  380. },
  381. {
  382. "img": "/diy/icon-set/withdrawal.png",
  383. "route": "/plugins/Achievement/index",
  384. "title": "业绩奖励"
  385. },
  386. {
  387. "img": "/diy/icon-set/course.png",
  388. "route": "/plugins/course/index",
  389. "title": "课程首页"
  390. },
  391. {
  392. "img": "/diy/icon-set/my-course.png",
  393. title: "我的课程",
  394. route: "/plugins/course/order/myCourse"
  395. },
  396. {
  397. "img": "/diy/icon-set/activity-course.png",
  398. title: "活动课程",
  399. route: "/plugins/course/activity/activity"
  400. },
  401. {
  402. "img": "/diy/icon-set/short-video.png",
  403. "route": "/plugins/short_video/index",
  404. "title": "短视频"
  405. },
  406. {
  407. "img": "/diy/icon-set/lucky-group.png",
  408. "route": "/plugins/LuckyGroup/home",
  409. "title": "幸运拼团"
  410. },
  411. {
  412. "img": "/diy/icon-set/lucky-group.png",
  413. "route": "/plugins/LuckyGroup/index",
  414. "title": "幸运拼团首页"
  415. },
  416. {
  417. "img": "/diy/icon-set/redpack-list.png",
  418. title: "红包拓客",
  419. route: "/plugins/Redpack/redpackList"
  420. },
  421. {
  422. "img": "/diy/icon-set/red-envelope.png",
  423. "route": "/plugins/Redpack/redEnvelopes",
  424. "title": "红包"
  425. },
  426. {
  427. "img": "/diy/icon-set/link-motion.png",
  428. "route": "/plugins/BossBonus/index",
  429. "title": "链动2+1"
  430. },
  431. // {
  432. // "img": "/diy/icon-set/link-motion.png",
  433. // "route": "/plugins/BossBonus/index",
  434. // "title": "消费分红"
  435. // },
  436. {
  437. "img": "/diy/icon-set/sudoku-crack.png",
  438. title: "数独解题器",
  439. route: "/plugins/sudoku_crack/index"
  440. },
  441. {
  442. "img": "/diy/icon-set/scratch.png",
  443. "route": "/plugins/Scratch/index",
  444. "title": "刮刮卡"
  445. },
  446. {
  447. "img": "/diy/icon-set/store-index.png",
  448. "route": "/plugins2/Store/store/storeindex",
  449. "title": "O2O门店"
  450. },
  451. {
  452. "img": "/diy/icon-set/join-in.png",
  453. "route": "/plugins2/Store/index",
  454. "title": "入驻申请"
  455. },
  456. {
  457. "img": "/diy/icon-set/store-clerk.png",
  458. "route": "/plugins2/Store/writeoff/index",
  459. "title": "核销入口"
  460. },
  461. {
  462. "img": "/diy/icon-set/shop-manage.png",
  463. "route": "/plugins2/Store/shopManage/index",
  464. "title": "店铺管理"
  465. },
  466. {
  467. "img": "/diy/icon-set/welfare.png",
  468. "route": "/plugins2/Store/shopManage/videoplay",
  469. "title": "福利"
  470. },
  471. {
  472. "img": "/diy/icon-set/store-seller.png",
  473. "route": "/plugins2/Store/orderSales/list",
  474. "title": "门店卖家"
  475. },
  476. {
  477. "img": "/diy/icon-set/mobile-device.png",
  478. "route": "/plugins2/Store/admin/store",
  479. "title": "门店移动端"
  480. },
  481. {
  482. "img": "/diy/icon-set/store-cart.png",
  483. "route": "/plugins2/Store/cart/index",
  484. "title": "门店购物车"
  485. },
  486. {
  487. "img": "/diy/icon-set/deal-payment.png",
  488. "route": "/plugins2/Store/dealPayment/index",
  489. "title": "收款码"
  490. },
  491. {
  492. "img": "/diy/icon-set/order-sales.png",
  493. "route": "/plugins2/Store/orderSales/assets/index",
  494. "title": "交易钱包"
  495. },
  496. {
  497. "img": "/diy/icon-set/coupon.png",
  498. title: "门店核销券",
  499. route: "/plugins4/StoreWriteCoupons/index"
  500. },
  501. {
  502. "img": "/diy/icon-set/credit-order.png",
  503. title: "待还款",
  504. route: "/plugins/pages/order/creditOrder"
  505. },
  506. {
  507. "img": "/diy/icon-set/advance-sale.png",
  508. "route": "/plugins/earnest/index",
  509. "title": "预售首页"
  510. },
  511. {
  512. "img": "/diy/icon-set/product-reservation.png",
  513. title: "预售订单",
  514. route: "/plugins/earnest/order/list?current=0"
  515. },
  516. {
  517. "img": "/diy/icon-set/certificate.png",
  518. "route": "/plugins/Certificate/index",
  519. "title": "授权证书"
  520. },
  521. {
  522. img: "/diy/icon-set/double-copy.png",
  523. title: "二二复制",
  524. route: "/plugins/DoubleCopy/index"
  525. },
  526. {
  527. "img": "/diy/icon-set/my-client.png",
  528. "route": "/plugins/DoubleCopy/myClient",
  529. "title": "我的客户"
  530. },
  531. {
  532. "img": "/diy/icon-set/equity.png",
  533. "route": "/plugins/public/promotion/rights?type=DoubleCopy",
  534. "title": "权益中心"
  535. },
  536. {
  537. "img": "/diy/icon-set/double-copy.png",
  538. "route": "/plugins/DoubleCopy/goods/list",
  539. "title": "二二复制商品"
  540. },
  541. {
  542. "img": "/diy/icon-set/mch-index.png",
  543. "route": "/plugins/Mch/store/storeindex",
  544. "title": "商户聚合页"
  545. },
  546. {
  547. "img": "/diy/icon-set/merchant-join.png",
  548. "route": "/plugins/Mch/index",
  549. "title": "商户入驻"
  550. },
  551. {
  552. "img": "/diy/icon-set/recommendation-courtesy.png",
  553. "route": "/plugins/Recommen/index",
  554. "title": "推荐有礼排行榜"
  555. },
  556. {
  557. "img": "/diy/icon-set/recommendation-courtesy.png",
  558. "route": "/plugins/Recommen/list",
  559. "title": "推荐有礼活动"
  560. },
  561. {
  562. "img": "/diy/icon-set/smart-card.png",
  563. title: "智能名片",
  564. route: "/plugins2/Card/index"
  565. },
  566. {
  567. "img": "/diy/icon-set/pk.png",
  568. "route": "/plugins2/Pk/index",
  569. "title": "PK排行榜"
  570. },
  571. {
  572. "img": "/diy/icon-set/smart-form.png",
  573. "route": "/plugins/SmartForm/SmartForm",
  574. "title": "智能表单"
  575. },
  576. {
  577. "img": "/diy/icon-set/product-reservation.png",
  578. "route": "plugins/Subscribe/diyindex",
  579. "title": "预约首页"
  580. },
  581. {
  582. "img": "/diy/icon-set/subscribe.png",
  583. "route": "/plugins/Subscribe/index",
  584. "title": "预约列表"
  585. },
  586. {
  587. "img": "/diy/icon-set/coupon.png",
  588. title: "电子券管理",
  589. route: "/plugins2/ElectronCoupon/index"
  590. },
  591. {
  592. "img": "/diy/icon-set/coupon.png",
  593. title: "领券中心",
  594. route: "/plugins2/ElectronCoupon/center"
  595. },
  596. {
  597. "img": "/diy/icon-set/boss-achievement.png",
  598. title: "股东业绩",
  599. route: "/plugins/BossAchievement/index"
  600. },
  601. // { "img": "/diy/icon-set/boss-achievement.png", title: "种子金", route: "/plugins/BossAchievement/index" },
  602. {
  603. "img": "/diy/icon-set/case-base.png",
  604. "route": "/plugins/CaseBase/index",
  605. "title": "案例库"
  606. },
  607. {
  608. "img": "/diy/icon-set/clerk.png",
  609. "route": "/plugins/Clerk/index",
  610. "title": "卡券核销"
  611. },
  612. {
  613. "img": "/diy/icon-set/flash-sale-list.png",
  614. "route": "/plugins3/Seckill/seckillList",
  615. "title": "秒杀列表"
  616. },
  617. {
  618. "img": "/diy/icon-set/partner-shareholder.png",
  619. "route": "/plugins/partner_shareholder/index",
  620. "title": "加权分红"
  621. },
  622. {
  623. "img": "/diy/icon-set/equity.png",
  624. "route": "/plugins/promotion/rights?type=partner_shareholder",
  625. "title": "权益中心"
  626. },
  627. {
  628. "img": "/diy/icon-set/blind-box.png",
  629. title: "奖金盲盒",
  630. route: "/plugins2/BlindBox/index"
  631. },
  632. {
  633. "img": "/diy/icon-set/purchase-application.png",
  634. title: "奖金明细",
  635. route: "/plugins2/BlindBox/bonusDetailed"
  636. },
  637. {
  638. "img": "/diy/icon-set/purchase-application.png",
  639. "route": "/plugins/Purchase/apply",
  640. "title": "资格申请"
  641. },
  642. {
  643. "img": "/diy/icon-set/purchase-index.png",
  644. title: "商品列表",
  645. route: "/plugins/Purchase/index"
  646. },
  647. {
  648. "img": "/diy/icon-set/blind-box.png",
  649. title: "奖金盲盒",
  650. route: "/plugins2/BlindBoxs/index"
  651. },
  652. {
  653. "img": "/diy/icon-set/purchase-application.png",
  654. title: "奖金明细",
  655. route: "/plugins2/BlindBoxs/bonusDetailed"
  656. },
  657. {
  658. "img": "/diy/icon-set/contribution-index.png",
  659. title: "贡献值首页",
  660. route: "/plugins2/Contribution/index"
  661. },
  662. // { "img": "/diy/icon-set/contribution-inex.png", title: "积分入口", route: "/plugins2/Contribution/index" },
  663. // { "img": "/diy/icon-set/contribution-inex.png", title: "激活商品", route: "/plugins2/Contribution/index" },
  664. {
  665. "img": "/diy/icon-set/prize-draw.png",
  666. "route": "/plugins2/Draw/index",
  667. "title": "抽奖"
  668. },
  669. {
  670. img: "/diy/icon-set/distribution.png",
  671. title: "分销分红",
  672. route: "/plugins/CircleDistribution/index"
  673. },
  674. // { img: "/diy/icon-set/distribution.png",title: "团购抢单",route: "/plugins/GroupRush/home"},
  675. // { img: "/diy/icon-set/distribution.png",title: "团购专区",route: "plugins/GroupRush/index"},
  676. {
  677. "img": "/diy/icon-set/merchant-hiCurrency.png",
  678. title: "商家嗨呗",
  679. route: "/plugins/HiGo/MerchantHiCurrency/index"
  680. },
  681. {
  682. "img": "/diy/icon-set/public-line.png",
  683. title: "公排",
  684. route: "/plugins3/PublicLine/QueueLine/index"
  685. },
  686. {
  687. "img": "/diy/icon-set/cloud-storage.png",
  688. "title": "新云库存",
  689. "route": "/plugins2/CloudStockTwo/index"
  690. },
  691. {
  692. "img": "/diy/icon-set/signingProcess.png",
  693. "route": "/plugins3/dianqian/signingProcess",
  694. "title": "电子签约"
  695. },
  696. // { "img": "/diy/icon-set/cloud-storage.png", "title": "天天抽奖","route": "plugins2/dailyLottery/index" },
  697. {
  698. "img": "/diy/icon-set/share-act.png",
  699. title: "分享有礼",
  700. route: "/plugins2/shareAct/index"
  701. },
  702. {
  703. "img": "/diy/icon-set/sign-on-alipay.png",
  704. title: "签到领红包",
  705. route: "/plugins2/signOnAlipay/index"
  706. },
  707. {
  708. "img": "/diy/icon-set/community-purchase.png",
  709. title: "社区团长入驻",
  710. route: "/plugins2/CommunityPurchase/index"
  711. },
  712. {
  713. "img": "/diy/icon-set/community-user.png",
  714. title: "社区团购店主",
  715. route: "/plugins2/CommunityUser/index"
  716. },
  717. {
  718. "img": "/diy/icon-set/sign-list.png",
  719. title: "支付宝签约",
  720. route: "/plugins3/AvoidTax/signList"
  721. }, //【支付宝签约】
  722. {
  723. "img": "/diy/icon-set/ai-spirit.png",
  724. "route": "/plugins2/AiSpirit/index",
  725. "title": "AI精灵"
  726. },
  727. {
  728. "img": "/diy/icon-set/eight-ou-two.png",
  729. title: "八出二",
  730. route: "/plugins/EightOutTwo/index"
  731. },
  732. {
  733. "img": "/diy/icon-set/eight-ou-two.png",
  734. title: "我要申请",
  735. route: "plugins2/partnerDistributor/apply/index"
  736. },
  737. {
  738. "img": "/diy/icon-set/team.png",
  739. "route": "plugins2/partnerDistributor/partner/index",
  740. "title": "合伙人团队"
  741. },
  742. {
  743. "img": "/diy/icon-set/team.png",
  744. "route": "plugins2/partnerDistributor/distributor/index",
  745. "title": "经销商团队"
  746. },
  747. {
  748. "img": "/diy/icon-set/upload-screenshot.png",
  749. title: "任务打卡",
  750. route: "plugins3/UploadScreenshot/index"
  751. },
  752. // { "img": "/diy/icon-set/upload-screenshot.png", title: "亲友卡", route: "/plugins2/MembersCard/mother_card_list/index" },
  753. // { "img": "/diy/icon-set/upload-screenshot.png", title: "申请入驻", route: "/plugins/ShareholderRecruit/index" },
  754. // { "img": "/diy/icon-set/upload-screenshot.png", title: "农业补贴", route: "/plugins2/AgriculturalSubsidies/SubsidyCenter/index" },
  755. {
  756. "img": "/diy/icon-set/mini-mall.png",
  757. title: "迷你商城",
  758. route: "/plugins2/MiniMall/goods/goodsList"
  759. },
  760. {
  761. "img": "/diy/icon-set/sales-company.png",
  762. title: "销售公司",
  763. route: "/plugins2/SalesCompany/index"
  764. },
  765. {
  766. "img": "/diy/icon-set/operation-center.png",
  767. "route": "/plugins3/OperationCenter/index",
  768. "title": "运营中心"
  769. },
  770. {
  771. "img": "/diy/icon-set/operation-center.png",
  772. title: "运营中心申请",
  773. route: "/plugins3/OperationCenter/apply"
  774. },
  775. {
  776. "img": "/diy/icon-set/investment-center.png",
  777. "route": "/plugins2/BusinessActivity/index",
  778. "title": "招商中心"
  779. },
  780. {
  781. "img": "/diy/icon-set/group-buy.png",
  782. "route": "/plugins/group_buy/index",
  783. "title": "拼团首页"
  784. },
  785. {
  786. "img": "/diy/icon-set/group-buy-list.png",
  787. "route": "/plugins/group_buy/orderList",
  788. "title": "拼团订单"
  789. },
  790. {
  791. "img": "/diy/icon-set/score-expansion.png",
  792. title: "积分拓客",
  793. route: "/plugins2/ScoreExpansion/redpackList"
  794. },
  795. {
  796. "img": "/diy/icon-set/business-card.png",
  797. "route": "/plugins2/BusinessCard/index",
  798. "title": "智能拓客"
  799. },
  800. {
  801. "img": "/diy/icon-set/wechat-video-shop.png",
  802. title: "微信视频小店",
  803. route: "/plugins3/WechatVideoShop/index"
  804. },
  805. {
  806. "img": "/diy/icon-set/invite.png",
  807. title: "分销员申请",
  808. route: "/plugins3/WechatVideoShop/invite"
  809. },
  810. {
  811. "img": "/diy/icon-set/sign-list.png",
  812. title: "银行卡签约",
  813. route: "/plugins3/BankTax/signList"
  814. }, //【银行卡签约】
  815. {
  816. "img": "/diy/icon-set/subscribe-index.png",
  817. title: "预约信息",
  818. route: "/plugins3/ServicePointAppointment/index"
  819. },
  820. {
  821. "img": "/diy/icon-set/service-point.png",
  822. title: "服务点管理",
  823. route: "/plugins3/ServicePointAppointment/ServicePoint/index",
  824. },
  825. {
  826. "img": "/diy/icon-set/servic-point-clerk.png",
  827. "route": "/plugins3/ServicePointAppointment/WriteOff/index",
  828. "title": "核销验证"
  829. },
  830. {
  831. "img": "/diy/icon-set/make-stock.png",
  832. title: "库存管理",
  833. route: "/plugins3/ServicePointAppointment/MakeStock/index"
  834. },
  835. // { "img": "/diy/icon-set/subscribe-index.png", title: "数字币商城(银豆)", route: "/plugins3/ContributionRelease/index?type=2" },
  836. // { "img": "/diy/icon-set/subscribe-index.png", title: "数字币商城(金豆)", route: "/plugins3/ContributionRelease/index?type=1" },
  837. {
  838. "img": "/diy/icon-set/rebuy-incentive.png",
  839. title: "复购奖励",
  840. route: "/plugins3/RebuyIncentive/index"
  841. },
  842. {
  843. "img": "/diy/icon-set/share-holders.png",
  844. title: "占比分红",
  845. route: "/plugins3/Shareholders/index"
  846. },
  847. {
  848. "img": "/diy/icon-set/equity.png",
  849. title: "权益中心",
  850. route: "/plugins/public/promotion/rights?type=Shareholders"
  851. },
  852. {
  853. img: "/diy/icon-set/double-copy.png",
  854. title: "二二复制",
  855. route: "/plugins2/ZaoDoubleCopy/index"
  856. },
  857. {
  858. "img": "/diy/icon-set/my-client.png",
  859. "route": "/plugins2/ZaoDoubleCopy/myClient",
  860. "title": "我的客户"
  861. },
  862. {
  863. "img": "/diy/icon-set/equity.png",
  864. "route": "/plugins2/public/promotion/rights?type=ZaoDoubleCopy",
  865. "title": "权益中心"
  866. },
  867. {
  868. "img": "/diy/icon-set/double-copy.png",
  869. "route": "/plugins2/ZaoDoubleCopy/goods/list",
  870. "title": "二二复制商品"
  871. },
  872. {
  873. "img": "/diy/icon-set/area-management.png",
  874. title: "区域代理",
  875. route: "/plugins2/AreaManagement/my-area"
  876. },
  877. // { "img": "/diy/icon-set/starfish.png", title: "全民分红", route: "/plugins3/WholeBonus/index" },
  878. {
  879. "img": "/diy/icon-set/starfish.png",
  880. title: "海星模式",
  881. route: "/plugins2/Starfish/index"
  882. },
  883. {
  884. "img": "/diy/icon-set/purchasing-records.png",
  885. "route": "/plugins3/ValetOrder/purchasingRecords",
  886. "title": "代客下单"
  887. },
  888. {
  889. "img": "/diy/icon-set/starfish.png",
  890. title: "兑换卡",
  891. route: "plugins2/partnerDistributor/redemptionCard/redemptionCard"
  892. },
  893. {
  894. "img": "/diy/icon-set/withdrawal.png",
  895. title: "云库存业绩奖励中心",
  896. route: "/plugins3/CloudStockAchievement/Perfdividend"
  897. },
  898. {
  899. "img": "/diy/icon-set/verifier.png",
  900. "route": "/plugins3/WWriteOff/index",
  901. "title": "核销员"
  902. },
  903. {
  904. "img": "/diy/icon-set/tech-worker.png",
  905. "route": "/plugins4/ReservationService/techWorker/index",
  906. "title": "技师端"
  907. },
  908. {
  909. "img": "/diy/icon-set/store-service-apply.png",
  910. title: "门店服务招募",
  911. route: "/plugins4/ReservationService/service/storeServiceApply"
  912. },
  913. {
  914. "img": "/diy/icon-set/service-apply.png",
  915. title: "服务招募",
  916. route: "/plugins4/ReservationService/service/serviceApply"
  917. },
  918. {
  919. "img": "/diy/icon-set/service-staff-list.png", title: "技师列表",
  920. route: "/plugins2/reserveService/serviceStaff?title="
  921. },
  922. { "img": "/diy/icon-set/service-staff-list.png", title: "门店技师列表",
  923. route: "/plugins2/reserveService/serviceStaff?pageType=1"
  924. },
  925. {
  926. "img": "/diy/icon-set/ai-skin-audit.png",
  927. "route": "/plugins4/AiSkinAudit/index",
  928. "title": "AI测肤"
  929. },
  930. {
  931. "img": "/diy/icon-set/tech-worker.png",
  932. title: "师傅端",
  933. route: "/plugins4/ReservationService/masterWorker/index"
  934. },
  935. {
  936. "img": "/diy/icon-set/three-copy.png",
  937. title: "三三复制",
  938. route: "/plugins/ThreeCopy/index"
  939. },
  940. {
  941. "img": "/diy/icon-set/three-copy.png",
  942. title: "直推下级",
  943. route: "/plugins/ThreeCopy/agentList"
  944. },
  945. {
  946. "img": "/diy/icon-set/my-client.png",
  947. title: "我的客户",
  948. route: "/plugins/ThreeCopy/myClient"
  949. },
  950. {
  951. "img": "/diy/icon-set/equity.png",
  952. title: "权益中心",
  953. route: "/plugins/public/promotion/rights?type=ThreeCopy"
  954. },
  955. {
  956. "img": "/diy/icon-set/three-copy.png",
  957. title: "三三复制商品",
  958. route: "/plugins/ThreeCopy/goods/list"
  959. },
  960. {
  961. "img": "/diy/icon-set/video-course.png",
  962. "title": "视频课程",
  963. "route": "/plugins/course/details?id="
  964. },
  965. {
  966. "img": "/diy/icon-set/aiyunuo.png",
  967. title: "医养门诊",
  968. route: "/customDesigns/Aiyunuo/Outpatient/index"
  969. },
  970. {
  971. "img": "/diy/icon-set/aiyunuo-store.png",
  972. "title": "爱优诺门店",
  973. "route": "/customDesigns/Aiyunuo/Store/index"
  974. },
  975. {
  976. "img": "/diy/icon-set/team-leader.png",
  977. "title": "团队长",
  978. "route": "/plugins/TeamLeader/index"
  979. },
  980. {
  981. "img": "/diy/icon-set/fire-protection.png",
  982. "title": "社安消防",
  983. "route": "/customDesigns/FireProtection/pages/index/index"
  984. },
  985. {
  986. "img": "/diy/icon-set/group-data.png",
  987. "title": "群组数据",
  988. "route": "/customAddons/GroupData/index"
  989. },
  990. {
  991. "img": "/diy/icon-set/group-data.png",
  992. "title": "业绩奖励B",
  993. "route": "/plugins3/Achievement/index?type=AchievementB"
  994. },
  995. {
  996. "img": "/diy/icon-set/asset.png",
  997. "title": "资产通",
  998. "route": "/plugins/pages/assets/currency/index?home_type=asset"
  999. },
  1000. {
  1001. "img": "/diy/icon-set/direct-rewards.png",
  1002. "title": "直推奖",
  1003. "route": "/customAddons/DirectBonus/directBonus"
  1004. },
  1005. {
  1006. "img": "/diy/icon-set/bottle-coupon.png",
  1007. "title": "酒券活动",
  1008. "route": "/customAddons/BottleCoupon/activity"
  1009. },
  1010. {
  1011. "img": "/diy/icon-set/img-clokin.png",
  1012. "title": "图文打卡",
  1013. "route": "/customAddons/ImgClokin/index"
  1014. },
  1015. { "img": "/diy/icon-set/content-matrix.png", "title": "内容矩阵","route": "/customAddons/ContentMatrix/index"},
  1016. {"img": "/diy/icon-set/agent-gratitude.png", "title": "感恩奖", "route": "/customAddons/AgentGratitude/index"},
  1017. { "img": "/diy/icon-set/bonus-pool.png", "title": "分红池","route": "/customAddons/BonusPool/index"},
  1018. {
  1019. "img": "/diy/icon-set/PriceDifferenceGiftPackage.png",
  1020. "title": "价差礼包",
  1021. "route": "/customAddons/PriceDifferenceGiftPackage/index"
  1022. },
  1023. { "img": "/diy/icon-set/networking.png", "title": "人脉","route": "/customAddons/connections/index"},
  1024. { "img": "/diy/icon-set/full-gift-activity.png", "title": "满送活动","route": "/customAddons/FullDeliveryActivity/index"},
  1025. { "img": "/diy/icon-set/diff-reward.png", "title": "极差","route": "/customAddons/PoorAward/index"},
  1026. { "img": "/diy/icon-set/zhai-ke-user.png", "title": "萃伊曼AI体测仪","route": "/customAddons/BodyFatScale/zkt-scale/index"},
  1027. { "img": "/diy/icon-set/zhai-ke-store.png", "title": "店长管理","route": "/customAddons/BodyFatScale/manager/index"},
  1028. { "img": "/diy/icon-set/lease-index.png", "title": "租赁","route": "customAddons/Lease/index"},
  1029. { "img": "/diy/icon-set/lease-mall.png", "title": "租赁商城","route": "customAddons/LeaseMall/index"},
  1030. { "img": "/diy/icon-set/cloud-clinic-index.png", "title": "立即检测","route": "/customAddons/CloudClinic/index"},
  1031. { "img": "/diy/icon-set/cloud-clinic-report.png", "title": "查看报告","route": "/customAddons/CloudClinic/report"},
  1032. { "img": "/diy/icon-set/zhiranai.png", "title": "智然艾","route": "/customDesigns/Zhiranai/Store/index"},
  1033. { "img": "/diy/icon-set/daily-wage.png", "title": "消费增值","route": "/customAddons/RongJiangSanHua/index"},
  1034. { "img": "/diy/icon-set/physiotherapist.png", "title": "理疗师","route": "/customAddons/PhysicalTherapist/index"},
  1035. { "img": "/diy/icon-set/win-profits.png", "title": "新积分增长赢收益","route": "/customAddons/NewScoreGame/pointsWinProfits"},
  1036. { "img": "/diy/icon-set/daily-wage.png", "title": "消费增值","route": "/customAddons/RongJiangSanHua/index"},
  1037. { "img": "/diy/icon-set/regional-assessment.png", "title": "区域考核","route": "/customAddons/RegionalAssessment/index"},
  1038. { "img": "/diy/icon-set/consume-reward.png", "title": "消费奖励","route": "/customAddons/ConsumptionRewards/index"},
  1039. { "img": "/diy/icon-set/yunmeng.png", "title": "云盟店移动端","route": "/customDesigns/YunmengStore/merchant/index"},
  1040. { "img": "/diy/icon-set/invent-achievement.png", "title": "联创业绩","route": "/customAddons/JointCreationPerformance/index"},
  1041. { "img": "/diy/icon-set/area-partner.png", "title": "区域合伙人","route": "/customAddons2/AreaPartner/index"},
  1042. { "img": "/diy/icon-set/rank-reward.png", "title": "排位分润","route": "/customAddons2/RankReward/index"},
  1043. { "img": "/diy/icon-set/pub-center.png", "title": "酒馆中心","route": "/customAddons2/PubMethod/pubMethodCenter"},
  1044. { "img": "/diy/icon-set/pub-finance.png", "title": "酒馆资产明细","route": "/customAddons2/PubMethod/pubMethodDetails"},
  1045. { "img": "/diy/icon-set/pub-bonus-center.png", "title": "分红中心","route": "/customAddons2/PubMethod/pubMethodDividend"},
  1046. // {
  1047. // "img": "/diy/icon-set/user-feedback.png",
  1048. // "route": "",
  1049. // "title": "用户反馈"
  1050. // },
  1051. // {
  1052. // "img": "/diy/icon-set/problem-feedback.png",
  1053. // "route": "/plugins/pages/center/keep",
  1054. // "title": "问题反馈"
  1055. // },
  1056. ]
  1057. /**
  1058. * 图标设置组件
  1059. *
  1060. */
  1061. Vue.component('diy-icon-set', {
  1062. // mixins: [basicMixins],//注:引入后会导致页面执行两次init
  1063. template: '#diy-icon-set',
  1064. name: 'diy-icon-set',
  1065. props: {
  1066. title: { // 组件标题, 传值显示标题, 不传就不显示
  1067. type: String,
  1068. default: ''
  1069. },
  1070. containStyle: { // 包裹容器的样式
  1071. type: Object,
  1072. default: () => {}
  1073. },
  1074. /**
  1075. * list 的数据格式
  1076. * {
  1077. title: '', // 标题,有就显示,没有就不显示
  1078. img: 'resources/img/decorate/default_btn1.png', // 图片
  1079. icon: 'el-icon-setting', // 图标
  1080. is_show_tag: false, // 是否展示标签
  1081. tags: '热门', // 标签内容
  1082. tagsBgColor: '#f83287', // 标签背景色
  1083. tagsTextColor: '#ffffff', // 标签文字颜色
  1084. btnText: '按钮文字' // 按钮文字
  1085. link_params: null, // 链接内容
  1086. }
  1087. */
  1088. list: {
  1089. type: Array,
  1090. default: () => {
  1091. return []
  1092. }
  1093. },
  1094. widthImg: { // 图片的宽度
  1095. type: Number,
  1096. default: 50
  1097. },
  1098. heightImg: { // 图片的高度
  1099. type: Number,
  1100. default: 50
  1101. },
  1102. showClose: { // 是否展示删除按钮
  1103. type: Boolean,
  1104. default: true
  1105. },
  1106. tagSwitch: { // 是否需要标签开关
  1107. type: Boolean,
  1108. default: false
  1109. },
  1110. showLink: { // 是否展示链接
  1111. type: Boolean,
  1112. default: false
  1113. },
  1114. showStoreLink: {
  1115. type: Boolean,
  1116. default: false
  1117. },
  1118. type: { // 图标类型,1 图片 || 2 图标
  1119. type: Number,
  1120. default: 1
  1121. },
  1122. showAlpha: { // 透明度
  1123. type: Boolean,
  1124. default: false
  1125. },
  1126. btnStyle: { // 按钮样式 1: 图片加文字 2: 图片 3: text: 文字
  1127. type: Number,
  1128. default: 1
  1129. },
  1130. maxIconLength: { // 最多添加数量
  1131. type: Number,
  1132. default: 0
  1133. },
  1134. showAddBtn: { // 是否展示添加按钮
  1135. type: Boolean,
  1136. default: false
  1137. },
  1138. suggestText: { // 图片建议尺寸
  1139. type: String,
  1140. default: ''
  1141. },
  1142. iconSetStyle: { // 按钮列表的样式
  1143. type: Object,
  1144. default: () => {}
  1145. },
  1146. imgUrl: { // 添加的列表展示的图片
  1147. type: String,
  1148. default: ''
  1149. },
  1150. defaultTabs: {
  1151. type: Array,
  1152. default: () => {
  1153. return ["mall", "addons", "other"]
  1154. }
  1155. }
  1156. },
  1157. data() {
  1158. return {
  1159. selectUrl: "",
  1160. showLineList: [{
  1161. type: "size",
  1162. label: "显示条数",
  1163. value: 10,
  1164. unit: "个",
  1165. maxValue: 20
  1166. }, ],
  1167. visible: false,
  1168. cardIndex: 0,
  1169. is_show_close: false,
  1170. iconList: [],
  1171. popTitle: '确定删除吗',
  1172. showConfrimBtn: true,
  1173. urlPop: false,
  1174. urlIndex: -1,
  1175. // defaultTabs: ["mall", "addons", "other"],
  1176. static_img_prefix: '<?= Yii::getAlias('@attachurl') ?>' + '/static',
  1177. }
  1178. },
  1179. computed: {
  1180. set_style() {
  1181. return this.btnStyle == 1 ? 'image_text' : this.btnStyle == 2 ? 'image' : 'text'
  1182. },
  1183. showTitle() {
  1184. return this.title ? true : false
  1185. }
  1186. },
  1187. watch: {
  1188. list: {
  1189. deep: true,
  1190. immediate: true,
  1191. handler(val) {
  1192. this.iconList = val
  1193. this.changes()
  1194. }
  1195. }
  1196. },
  1197. created() {},
  1198. methods: {
  1199. init() {
  1200. console.log('组件内部调用init', this)
  1201. basicMixins.methods.init.call(this);
  1202. let commCate = ['data', 'commCate', 'title']
  1203. let count = ['data', 'commCate', 'count']
  1204. this.selectUrl = getObjValue(this.result, commCate, '')
  1205. this.showLineList = [{
  1206. type: "size",
  1207. label: "显示条数",
  1208. value: getObjValue(this.result, count, 10),
  1209. unit: "个",
  1210. maxValue: 20
  1211. }]
  1212. },
  1213. selectedUrl(e, item) {
  1214. let info = e[0]
  1215. console.log('选择的链接', info)
  1216. if (!item.img || item.img.indexOf('user_fun_chat.png') != -1 || item.btnText == '按钮文字') {
  1217. let {
  1218. params: {
  1219. route
  1220. }
  1221. } = info
  1222. let result = defaultIconList.find(item => item.route == route)
  1223. console.log('查找结果', result, route)
  1224. if (result) {
  1225. if (!item.img || item.img.indexOf('user_fun_chat.png') != -1) {
  1226. item.img = result.img
  1227. }
  1228. if (item.btnText == '按钮文字') {
  1229. item.btnText = result.title
  1230. }
  1231. }
  1232. }
  1233. item.link_params = info
  1234. console.log('链接信息', item)
  1235. this.$forceUpdate()
  1236. this.$emit('change', this.iconList)
  1237. },
  1238. imgToUrl(url) {
  1239. if (url && url.indexOf('http') == -1 && url.indexOf('resources/img') == -1) {
  1240. return this.static_img_prefix + url
  1241. }
  1242. return url
  1243. },
  1244. updatePop(boo) {
  1245. console.log(boo)
  1246. this.urlPop = !this.urlPop;
  1247. },
  1248. // 图片添加链接
  1249. addUrl(index) {
  1250. this.urlIndex = index;
  1251. this.urlPop = true;
  1252. },
  1253. closeHandle(it, i) {
  1254. if (this.iconList.length == 1) {
  1255. this.popTitle = '至少保留1个'
  1256. this.showConfrimBtn = false
  1257. }
  1258. this.cardIndex = i
  1259. this.visible = true
  1260. },
  1261. closePop() {
  1262. this.visible = false
  1263. },
  1264. changes() {
  1265. this.$emit('change', this.iconList)
  1266. },
  1267. coverPic(e, item) {
  1268. let img = e[0].url
  1269. item.img = img
  1270. this.changes()
  1271. },
  1272. delPic(it, i) {
  1273. it.img = ''
  1274. this.changes()
  1275. },
  1276. addClick() {
  1277. if (this.iconList.length >= this.maxIconLength) {
  1278. return;
  1279. }
  1280. let obj = {
  1281. // img: this.dynamicImgSrc(this.imgUrl),
  1282. img: this.imgUrl,
  1283. icon: 'el-icon-setting',
  1284. is_show_tag: false,
  1285. tags: '热门',
  1286. tagsBgColor: '#f83287',
  1287. tagsTextColor: '#ffffff',
  1288. btnText: '按钮文字',
  1289. link_params: null,
  1290. }
  1291. this.iconList.push(obj)
  1292. console.log(this.iconList, 'hehe')
  1293. this.changes()
  1294. },
  1295. iconSetChange(e, item, name) {
  1296. item[name] = e
  1297. this.changes()
  1298. },
  1299. delCards(e, i) {
  1300. this.visible = false
  1301. this.iconList.splice(i, 1)
  1302. this.changes()
  1303. }
  1304. }
  1305. })
  1306. </script>
  1307. <style>
  1308. .icon-set-list-content .com-pick-link-content {
  1309. width: 310px;
  1310. }
  1311. .icon-set-list-content .diy-url {
  1312. padding: 9px 15px;
  1313. }
  1314. .popover-tips {
  1315. font-size: 12px;
  1316. text-align: center;
  1317. padding-bottom: 5px;
  1318. }
  1319. .icon-set-list {
  1320. position: relative;
  1321. border-radius: 8px;
  1322. background-color: #F4F3F7;
  1323. /* padding: 18px 12px; */
  1324. padding: 15px 30px 15px 12px;
  1325. margin-bottom: 20px;
  1326. }
  1327. .icon-set-title {
  1328. line-height: 1;
  1329. color: #47565d;
  1330. font-weight: bolder;
  1331. margin-bottom: 20px;
  1332. }
  1333. .icon-set-close {
  1334. display: none;
  1335. position: absolute;
  1336. top: 10px;
  1337. right: 0;
  1338. width: 30px;
  1339. height: 30px;
  1340. color: #999;
  1341. cursor: pointer;
  1342. }
  1343. .icon-set-list:hover .icon-set-close {
  1344. display: block;
  1345. }
  1346. .icon-set-items {
  1347. margin-bottom: 20px;
  1348. }
  1349. .icon-set-items:last-child {
  1350. margin-bottom: 0;
  1351. }
  1352. .icon-set-list-name {
  1353. width: 60px;
  1354. text-align: right;
  1355. padding-right: 8px;
  1356. margin-right: 15px;
  1357. }
  1358. .content-upload {
  1359. width: 50px;
  1360. height: 50px;
  1361. border-radius: 8px;
  1362. cursor: pointer;
  1363. background-color: #E3E3E3;
  1364. color: #fff;
  1365. }
  1366. .content-img {
  1367. position: relative;
  1368. width: 50px;
  1369. height: 50px;
  1370. border-radius: 8px;
  1371. cursor: pointer;
  1372. }
  1373. .icon-close {
  1374. display: none;
  1375. position: absolute;
  1376. top: -8px;
  1377. left: 35px;
  1378. width: 20px;
  1379. height: 20px;
  1380. border-radius: 50%;
  1381. background-color: rgba(0, 0, 0, .3);
  1382. color: #fff;
  1383. text-align: center;
  1384. }
  1385. .img-replace {
  1386. display: none;
  1387. position: absolute;
  1388. bottom: 0;
  1389. width: 100%;
  1390. background-color: rgba(0, 0, 0, .3);
  1391. color: #fff;
  1392. text-align: center;
  1393. font-size: 12px;
  1394. padding: 2px 0;
  1395. }
  1396. .content-img:hover .icon-close,
  1397. .content-img:hover .img-replace {
  1398. display: block;
  1399. }
  1400. .icon-set-list-content {
  1401. flex: 1;
  1402. }
  1403. .icon-set-list-content .el-switch__labe {
  1404. font-size: 15px;
  1405. color: #999999 !important;
  1406. font-weight: 700;
  1407. padding-left: 5px;
  1408. }
  1409. .icon-set-items .el-color-picker {
  1410. height: auto;
  1411. }
  1412. .add-btns {
  1413. border: 1px dashed #707070;
  1414. line-height: 32px;
  1415. height: 34px;
  1416. border-radius: 5px;
  1417. text-align: center;
  1418. cursor: pointer;
  1419. color: var(--textGray, #999999);
  1420. }
  1421. .diy-url {
  1422. margin-left: 0 !important;
  1423. }
  1424. </style>