design.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  1. <nc-component :data="data[index]" class="coupon-wrap">
  2. <!-- 预览 -->
  3. <template slot="preview">
  4. <div class="coupon-preview" v-if="nc.tempData.methods && Object.keys(nc.tempData.methods).length">
  5. <div class="coupon-box coupon-box-1" v-if="nc.style == 1" :style="[nc.couponType == 'img' && {backgroundImage: 'url('+ changeImgUrl(nc.couponBgUrl) + ')'},nc.couponType == 'color'&&{backgroundColor: nc.couponBgColor}]">
  6. <div class="coupon-box-list" v-if="nc.sources == 'diy' && nc.couponIds.length > 0">
  7. <div class="coupon" v-for="(item, index) in nc.previewList" v-if="index < 3" :style="{marginRight: (40 - nc.margin.both * 2) / 2 + 'px'}">
  8. <img src="{$resource_path}/img/style1-bg.png">
  9. <div class="coupon-intro" >
  10. <p class="coupon-price" :style="{color: nc.moneyColor}" v-if="item.type == 'reward'">¥<span>{{nc.tempData.methods.moneyConduct(item.money)}}</span></p>
  11. <p class="coupon-price" :style="{color: nc.moneyColor}" v-else><span>{{nc.tempData.methods.moneyConduct(item.discount)}}</span>折</p>
  12. <p class="coupon-desc" :style="{color: nc.limitColor}" v-if="parseFloat(item.at_least) > 0">满{{item.at_least.split('.')[0]}}元使用</p>
  13. <p class="coupon-desc" :style="{color: nc.limitColor}" v-else>无门槛使用</p>
  14. </div>
  15. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  16. </div>
  17. </div>
  18. <div class="coupon-box-list" v-else>
  19. <div class="coupon" v-for="item in 3" :style="{marginRight: ( 40 - nc.margin.both * 2) / 2 + 'px'}">
  20. <img src="{$resource_path}/img/style1-bg.png">
  21. <div class="coupon-intro">
  22. <p class="coupon-price" :style="{color: nc.moneyColor}">¥<span>500</span></p>
  23. <p class="coupon-desc" :style="{color: nc.limitColor}">满3000可用</p>
  24. </div>
  25. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  26. </div>
  27. </div>
  28. </div>
  29. <div class="coupon-box coupon-box-2" v-else-if="nc.style == 2" :style="[nc.couponType == 'img' && {backgroundImage: 'url('+ changeImgUrl(nc.couponBgUrl) + ')'},nc.couponType == 'color'&&{backgroundColor: nc.couponBgColor}]">
  30. <template v-if="nc.sources == 'diy' && nc.couponIds.length > 0">
  31. <div class="coupon" v-for="(item, index) in nc.previewList" v-if="index <= 3" :style="{marginRight: ( 41 - nc.margin.both * 2) / 2 + 'px'}">
  32. <img src="{$resource_path}/img/coupon_bg.png">
  33. <div class="coupon-intro">
  34. <p class="coupon-price" :style="{color: nc.moneyColor}" v-if="item.type == 'reward'">¥<span>{{nc.tempData.methods.moneyConduct(item.money)}}</span></p>
  35. <p class="coupon-price" :style="{color: nc.moneyColor}" v-else><span>{{nc.tempData.methods.moneyConduct(item.discount)}}</span>折</p>
  36. <p class="coupon-desc" :style="{color: nc.limitColor}" v-if="parseFloat(item.at_least) > 0">满{{item.at_least.split('.')[0]}}元使用</p>
  37. <p class="coupon-desc" :style="{color: nc.limitColor}" v-else>无门槛使用</p>
  38. </div>
  39. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  40. </div>
  41. </template>
  42. <template v-else>
  43. <div class="coupon" v-for="item in 3" :style="{marginRight: (41-nc.margin.both*2)/2 + 'px'}">
  44. <img src="{$resource_path}/img/coupon_bg.png">
  45. <div class="coupon-intro">
  46. <p class="coupon-price" :style="{color: nc.moneyColor}">¥<span>500</span></p>
  47. <p class="coupon-desc" :style="{color: nc.limitColor}">满3000元可用</p>
  48. </div>
  49. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  50. </div>
  51. </template>
  52. </div>
  53. <div class="coupon-box" :class="'coupon-box-'+ nc.style" v-if="nc.style == 3" :style="[nc.couponType == 'img'&&{backgroundImage: 'url('+ changeImgUrl(nc.couponBgUrl) + ')'},nc.couponType == 'color'&&{backgroundColor: nc.couponBgColor}]">
  54. <div class="coupon-block" v-if="nc.sources == 'diy' && nc.couponIds.length > 0">
  55. <div class="coupon" v-for="(item, previewIndex) in nc.previewList" v-if="previewIndex < 3" :style="{marginRight: (46-nc.margin.both*2)/2 + 'px'}">
  56. <img src="{$resource_path}/img/style3-bg-2.png">
  57. <div class="coupon-intro">
  58. <p class="coupon-price" :style="{color: nc.moneyColor}" v-if="item.type == 'reward'">¥<span>{{nc.tempData.methods.moneyConduct(item.money)}}</span></p>
  59. <p class="coupon-price" :style="{color: nc.moneyColor}" v-else><span>{{nc.tempData.methods.moneyConduct(item.discount)}}</span>折</p>
  60. <p class="coupon-desc" :style="{color: nc.limitColor}" v-if="parseFloat(item.at_least) > 0">满{{item.at_least.split('.')[0]}}元可用</p>
  61. <p class="coupon-desc" :style="{color: nc.limitColor}" v-else>无门槛使用</p>
  62. <p class="coupon-info" v-if="item.goods_type == 1">全部商品可用</p>
  63. <p class="coupon-info" v-if="item.goods_type == 2">指定商品可用</p>
  64. </div>
  65. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  66. </div>
  67. </div>
  68. <div class="coupon-block" v-else>
  69. <div class="coupon" v-for="item in 3" :style="{marginRight: (46-nc.margin.both*2)/2 + 'px'}">
  70. <img src="{$resource_path}/img/style3-bg-2.png">
  71. <div class="coupon-intro">
  72. <p class="coupon-price" :style="{color: nc.moneyColor}">¥<span>500</span></p>
  73. <p class="coupon-desc" :style="{color: nc.limitColor}">满3000元可用</p>
  74. <p class="coupon-info">指定商品可用</p>
  75. </div>
  76. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  77. </div>
  78. </div>
  79. </div>
  80. <div class="coupon-box" :class="'coupon-box-'+ nc.style" v-else-if="nc.style == 4" :style="[nc.couponType == 'img'&&{backgroundImage: 'url('+ changeImgUrl(nc.couponBgUrl) + ')'},nc.couponType == 'color'&&{backgroundColor: nc.couponBgColor}]">
  81. <template v-if="nc.sources == 'diy' && nc.couponIds.length > 0">
  82. <div class="coupon" v-for="(item, previewIndex) in nc.previewList" v-if="previewIndex < 3" :style="{marginRight: (44-nc.margin.both*2)/2 + 'px'}">
  83. <img src="{$resource_path}/img/style4-bg-1.png">
  84. <div class="coupon-intro">
  85. <p class="coupon-price" :style="{color: nc.moneyColor}" v-if="item.type == 'reward'">¥<span>{{nc.tempData.methods.moneyConduct(item.money)}}</span></p>
  86. <p class="coupon-price" :style="{color: nc.moneyColor}" v-else><span>{{nc.tempData.methods.moneyConduct(item.discount)}}</span>折</p>
  87. <p class="coupon-desc" :style="{color: nc.limitColor}" v-if="parseFloat(item.at_least) > 0">满{{item.at_least.split('.')[0]}}元使用</p>
  88. <p class="coupon-desc" :style="{color: nc.limitColor}" v-else>无门槛使用</p>
  89. </div>
  90. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  91. </div>
  92. </template>
  93. <template v-else>
  94. <div class="coupon" v-for="item in 3" :style="{marginRight: (44-nc.margin.both*2)/2 + 'px'}">
  95. <img src="{$resource_path}/img/style4-bg-1.png">
  96. <div class="coupon-intro">
  97. <p class="coupon-price" :style="{color: nc.moneyColor}">¥<span>100</span></p>
  98. <p class="coupon-desc" :style="{color: nc.limitColor}">满1000可用</p>
  99. </div>
  100. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  101. </div>
  102. </template>
  103. </div>
  104. <div class="coupon-box" :class="'coupon-box-'+ nc.style" v-else-if="nc.style == 5" :style="[nc.couponType == 'img'&&{backgroundImage: 'url('+ changeImgUrl(nc.couponBgUrl) + ')'},nc.couponType == 'color'&&{backgroundColor: nc.couponBgColor}]">
  105. <template v-if="nc.sources == 'diy' && nc.couponIds.length > 0">
  106. <div class="coupon" v-for="item in nc.previewList">
  107. <img src="{$resource_path}/img/style5-bg-1.png">
  108. <div class="coupon-price" :style="{color: nc.moneyColor}" v-if="item.type == 'reward'">{{nc.tempData.methods.moneyConduct(item.money)}}<span>元</span>
  109. </div>
  110. <div class="coupon-price" :style="{color: nc.moneyColor}" v-else>{{nc.tempData.methods.moneyConduct(item.discount)}}<span>折</span>
  111. </div>
  112. <div class="coupon-line"></div>
  113. <div class="coupon-content">
  114. <div class="coupon-intro">
  115. <p class="coupon-name" :style="{color: nc.nameColor}">{{item.coupon_name}}</p>
  116. <p class="coupon-desc" :style="{color: nc.limitColor}" v-if="parseFloat(item.at_least) > 0">满{{item.at_least.split('.')[0]}}元使用</p>
  117. <p class="coupon-desc" :style="{color: nc.limitColor}" v-else>无门槛使用</p>
  118. </div>
  119. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  120. </div>
  121. </div>
  122. </template>
  123. <template v-else>
  124. <div class="coupon" v-for="item in 2">
  125. <img src="{$resource_path}/img/style5-bg-1.png">
  126. <div class="coupon-price" :style="{color: nc.moneyColor}">
  127. 100<span>元</span>
  128. </div>
  129. <div class="coupon-line"></div>
  130. <div class="coupon-content">
  131. <div class="coupon-intro">
  132. <p :style="{color: nc.nameColor}" class="coupon-name">全场优惠抵用券</p>
  133. <p :style="{color: nc.limitColor}" class="coupon-desc">满1000可用</p>
  134. </div>
  135. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  136. </div>
  137. </div>
  138. </template>
  139. </div>
  140. <div class="coupon-box" :class="'coupon-box-'+ nc.style" v-else-if="nc.style == 6" :style="[nc.couponType == 'img'&&{backgroundImage: 'url('+ changeImgUrl(nc.couponBgUrl) + ')'},nc.couponType == 'color'&&{backgroundColor: nc.couponBgColor}]">
  141. <template v-if="nc.sources == 'diy' && nc.couponIds.length > 0">
  142. <template v-for="(item, previewIndex) in nc.previewList">
  143. <div class="coupon" v-if="previewIndex < 3" :style="{color: nc.moneyColor,backgroundImage: 'url({$resource_path}/img/style6-bg-1.png)', marginRight: (43-nc.margin.both*2)/2 + 'px'}">
  144. <div class="coupon-content" :style="{color: nc.moneyColor}">
  145. <div class="price-wrap">
  146. <span class="price">{{ nc.tempData.methods.moneyConduct(item.type == 'reward' ? item.money : item.discount)}}</span>
  147. <span class="unit">{{item.type == 'reward' ? "元" : "折"}}</span>
  148. </div>
  149. <span class="text">优惠券</span>
  150. </div>
  151. <span class="btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderTopLeftRadius: (nc.btnStyle.aroundRadius+'px'), borderBottomLeftRadius: (nc.btnStyle.aroundRadius+'px')}"><span>{{nc.btnStyle.text}}</span></span>
  152. <span class="limit" :style="{color: nc.limitColor}" v-if="parseFloat(item.at_least) > 0">满{{item.at_least.split('.')[0]}}使用</span>
  153. <span class="limit" :style="{color: nc.limitColor}" v-else>无门槛使用</span>
  154. </div>
  155. </template>
  156. <div v-if="nc.previewList.length <= 2" class="coupon coupon-null" :style="{color: nc.moneyColor,backgroundImage: 'url({$resource_path}/img/style6-bg-2.png)'}">
  157. <div class="coupon-content" :style="{color: nc.moneyColor}">
  158. <span class="price">+</span>
  159. <span class="text">暂无优惠券</span>
  160. </div>
  161. <span class="limit">去逛逛</span>
  162. </div>
  163. </template>
  164. <template v-else>
  165. <div class="coupon" v-for="item in 2" :style="{color: nc.moneyColor,backgroundImage: 'url({$resource_path}/img/style6-bg-1.png)', marginRight: (43-nc.margin.both*2)/2 + 'px'}" >
  166. <div class="coupon-content" :style="{color: nc.moneyColor}">
  167. <div class="price-wrap">
  168. <span class="price">10</span>
  169. <span class="unit">元</span>
  170. </div>
  171. <span class="text">优惠券</span>
  172. </div>
  173. <span class="btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderTopLeftRadius: (nc.btnStyle.aroundRadius+'px'), borderBottomLeftRadius: (nc.btnStyle.aroundRadius+'px')}"><span>{{nc.btnStyle.text}}</span></span>
  174. <span class="limit" :style="{color: nc.limitColor}">满129使用</span>
  175. </div>
  176. <div class="coupon coupon-null" :style="{color: nc.moneyColor,backgroundImage: 'url({$resource_path}/img/style6-bg-2.png)'}">
  177. <div class="coupon-content" :style="{color: nc.moneyColor}">
  178. <span class="price">+</span>
  179. <span class="text">暂无优惠券</span>
  180. </div>
  181. <span class="limit">去逛逛</span>
  182. </div>
  183. </template>
  184. </div>
  185. <div class="coupon-box" :class="'coupon-box-'+ nc.style" v-else-if="nc.style == 7" :style="[nc.couponType == 'img'&&{backgroundImage: 'url('+ changeImgUrl(nc.couponBgUrl) + ')'},nc.couponType == 'color'&&{backgroundColor: nc.couponBgColor}]">
  186. <template v-if="nc.sources == 'diy' && nc.couponIds.length > 0">
  187. <div class="coupon" v-for="item in nc.previewList">
  188. <img src="{$resource_path}/img/style7-bg-1.png">
  189. <div class="coupon-price" :style="{color: nc.moneyColor}" v-if="item.type == 'reward'">{{nc.tempData.methods.moneyConduct(item.money)}}<span>元</span>
  190. </div>
  191. <div class="coupon-price" :style="{color: nc.moneyColor}" v-else>{{nc.tempData.methods.moneyConduct(item.discount)}}<span>折</span>
  192. </div>
  193. <div class="coupon-intro">
  194. <p class="coupon-name" :style="{color: nc.limitColor}" v-if="parseFloat(item.at_least) > 0">满{{item.at_least.split('.')[0]}}元可用</p>
  195. <p class="coupon-name" :style="{color: nc.limitColor}" v-else>无门槛使用</p>
  196. <p class="coupon-desc" :style="{color: nc.limitColor}">有效期至2022-12-31</p>
  197. </div>
  198. <div class="coupon-line"></div>
  199. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  200. </div>
  201. </template>
  202. <template v-else>
  203. <div class="coupon" v-for="item in 2">
  204. <img src="{$resource_path}/img/style7-bg-1.png">
  205. <div class="coupon-price" :style="{color: nc.moneyColor}">
  206. 100<span>元</span>
  207. </div>
  208. <div class="coupon-intro">
  209. <p :style="{color: nc.limitColor}" class="coupon-name">满1000元可用</p>
  210. <p :style="{color: nc.limitColor}" class="coupon-desc">有效期至2022-12-31</p>
  211. </div>
  212. <div class="coupon-line"></div>
  213. <div class="coupon-btn" :style="{color: nc.btnStyle.textColor,backgroundColor: nc.btnStyle.bgColor, borderRadius: (nc.btnStyle.aroundRadius+'px')}">{{nc.btnStyle.text}}</div>
  214. </div>
  215. </template>
  216. </div>
  217. </div>
  218. </template>
  219. <!-- 内容编辑 -->
  220. <template slot="edit-content">
  221. <template v-if="nc.lazyLoad">
  222. <coupon-set></coupon-set>
  223. <div class="goods-list-edit layui-form">
  224. <div class="template-edit-title">
  225. <h3>风格设置</h3>
  226. <div class="layui-form-item">
  227. <label class="layui-form-label sm">选择风格</label>
  228. <div class="layui-input-block">
  229. <div v-if="nc.styleName" class="input-text text-color selected-style" @click="nc.tempData.methods.selectCouponStyle()">{{nc.styleName}} <i class="layui-icon layui-icon-right"></i></div>
  230. <div v-else class="input-text selected-style" @click="nc.tempData.methods.selectCouponStyle()">选择 <i class="layui-icon layui-icon-right"></i></div>
  231. </div>
  232. </div>
  233. </div>
  234. <div class="template-edit-title">
  235. <h3>优惠券数据</h3>
  236. <div class="layui-form-item icon-radio" v-if="nc.tempData.goodsSources">
  237. <label class="layui-form-label sm">优惠券来源</label>
  238. <div class="layui-input-block">
  239. <span>{{nc.tempData.goodsSources[nc.sources].text}}</span>
  240. <ul class="icon-wrap">
  241. <li v-for="(value, name) in nc.tempData.goodsSources" :class="[name == nc.sources ? 'text-color border-color' : '']" @click="nc.sources=name">
  242. <i class="iconfont" :class="[{'text-color': name == nc.sources}, value.src]"></i>
  243. </li>
  244. </ul>
  245. </div>
  246. </div>
  247. <div class="layui-form-item" v-if="nc.sources == 'diy'">
  248. <label class="layui-form-label sm">手动选择</label>
  249. <div class="layui-input-block">
  250. <div class="selected-style" @click="nc.tempData.methods.addCoupon()">
  251. <span v-if="nc.couponIds.length == 0">请选择</span>
  252. <span v-if="nc.couponIds.length > 0" class="text-color">已选{{ nc.couponIds.length}}个</span>
  253. <i class="iconfont iconyoujiantou"></i>
  254. </div>
  255. </div>
  256. </div>
  257. <div class="layui-form-item" v-if="nc.sources == 'diy' && nc.couponIds.length > 0">
  258. <div class="select-coupon-list">
  259. <div class="select-coupon-item" v-for="(item, previewIndex) in nc.previewList">
  260. <div class="coupon-content">
  261. <div class="coupon-label-name">名称</div>
  262. <div class="coupon-label-value">{{item.coupon_name}}</div>
  263. </div>
  264. <div class="coupon-content">
  265. <div class="coupon-label-name">优惠金额/折扣</div>
  266. <div class="coupon-label-value" v-if="item.type == 'reward'">¥{{item.money}}</div>
  267. <div class="coupon-label-value" v-else>{{item.discount}}折</div>
  268. </div>
  269. <div class="coupon-content">
  270. <div class="coupon-label-name">使用条件</div>
  271. <div class="coupon-label-value" v-if="parseFloat(item.at_least) > 0">满{{item.at_least}}元使用</div>
  272. <div class="coupon-label-value" v-else>无门槛使用</div>
  273. </div>
  274. <div class="close del" @click="nc.tempData.methods.delCoupon(previewIndex)">x</div>
  275. </div>
  276. </div>
  277. </div>
  278. <slide v-if="nc.sources == 'initial'" :data="{ field : 'count', label : '优惠券数量', max: 9, min: 1 }"></slide>
  279. </div>
  280. </div>
  281. <div class="template-edit-title">
  282. <h3>按钮内容</h3>
  283. <div class="layui-form-item">
  284. <label class="layui-form-label sm">按钮文字</label>
  285. <div class="layui-input-block">
  286. <input type="text" v-model="nc.btnStyle.text" :maxlength="nc.btnStyle.maxLen" placeholder="请输入按钮文字" class="layui-input">
  287. </div>
  288. </div>
  289. </div>
  290. </template>
  291. <!-- 弹框 -->
  292. <div class="coupon-list-style">
  293. <div class="style-list-coupon layui-form">
  294. <div class="style-list-con-coupon">
  295. <div class="style-li-coupon" :class="{'selected border-color': nc.style == 1}">
  296. <img src="{$resource_path}/img/style1.png" />
  297. <span class="layui-hide">风格一</span>
  298. </div>
  299. <div class="style-li-coupon" :class="{'selected border-color': nc.style == 2}">
  300. <img src="{$resource_path}/img/style2.png" />
  301. <span class="layui-hide">风格二</span>
  302. </div>
  303. <div class="style-li-coupon" :class="{'selected border-color': nc.style == 3}">
  304. <img src="{$resource_path}/img/style3.png" />
  305. <span class="layui-hide">风格三</span>
  306. </div>
  307. <div class="style-li-coupon" :class="{'selected border-color': nc.style == 4}">
  308. <img src="{$resource_path}/img/style4.png" />
  309. <span class="layui-hide">风格四</span>
  310. </div>
  311. <div class="style-li-coupon" :class="{'selected border-color': nc.style == 5}">
  312. <img src="{$resource_path}/img/style5.png" />
  313. <span class="layui-hide">风格五</span>
  314. </div>
  315. <div class="style-li-coupon" :class="{'selected border-color': nc.style == 6}">
  316. <img src="{$resource_path}/img/style6.png" />
  317. <span class="layui-hide">风格六</span>
  318. </div>
  319. <div class="style-li-coupon" :class="{'selected border-color': nc.style == 7}">
  320. <img src="{$resource_path}/img/style7.png" />
  321. <span class="layui-hide">风格七</span>
  322. </div>
  323. </div>
  324. <input type="hidden" name="style">
  325. <input type="hidden" name="style_name">
  326. </div>
  327. </div>
  328. </template>
  329. <!-- 样式编辑 -->
  330. <template slot="edit-style">
  331. <template v-if="nc.lazyLoad">
  332. <div class="template-edit-title">
  333. <h3>优惠券样式</h3>
  334. <color v-show="nc.isName" :data="{ field : 'nameColor', 'label' : '名称颜色', defaultColor : '#FFFFFF' }"></color>
  335. <color :data="{ field : 'moneyColor', 'label' : '面额颜色', defaultColor : '#FFFFFF' }"></color>
  336. <color :data="{ field : 'limitColor', 'label' : '门槛颜色', defaultColor : '#FFFFFF' }"></color>
  337. </div>
  338. <div class="template-edit-title">
  339. <h3>按钮样式</h3>
  340. <color v-show="nc.btnStyle.isBgColor" :data="{ field : 'bgColor', 'label' : '背景颜色', parent: 'btnStyle', defaultColor : '#FFFFFF' }"></color>
  341. <color :data="{ field: 'textColor', 'label': '文字颜色', parent: 'btnStyle',defaultColor : '#FFFFFF' }"></color>
  342. <slide v-if="nc.btnStyle.isAroundRadius" :data="{ field : 'aroundRadius', label: '按钮圆角', max: 20, parent:'btnStyle' }"></slide>
  343. </div>
  344. <div class="template-edit-title" v-show="nc.ifNeedBg">
  345. <h3>背景设置</h3>
  346. <div class="layui-form-item tag-wrap">
  347. <label class="layui-form-label sm">组件背景</label>
  348. <div class="layui-input-block">
  349. <div @click="nc.couponType = 'color'" :class="{ 'layui-unselect layui-form-radio' : true,'layui-form-radioed' : nc.couponType == 'color' }">
  350. <i class="layui-anim layui-icon">{{ nc.couponType == 'color' ? "&#xe643;" : "&#xe63f;" }}</i>
  351. <div>背景色</div>
  352. </div>
  353. <div @click="nc.couponType = 'img'" :class="{ 'layui-unselect layui-form-radio' : true,'layui-form-radioed' : nc.couponType == 'img' }">
  354. <i class="layui-anim layui-icon">{{ nc.couponType == 'img' ? "&#xe643;" : "&#xe63f;" }}</i>
  355. <div>背景图片</div>
  356. </div>
  357. </div>
  358. </div>
  359. <color v-show="nc.couponType == 'color'" :data="{ field : 'couponBgColor', 'label' : '背景颜色',defaultColor : '#FFFFFF'}"></color>
  360. <div v-show="nc.couponType == 'img'" class="layui-form-item">
  361. <label class="layui-form-label sm">背景图片</label>
  362. <div class="layui-input-block">
  363. <img-upload :data="{ data: nc,field:'couponBgUrl'}" data-disabled="1"></img-upload>
  364. </div>
  365. </div>
  366. </div>
  367. </template>
  368. </template>
  369. <!-- 资源 -->
  370. <template slot="resource">
  371. <js>
  372. var couponResourcePath = "{$resource_path}"; // http路径
  373. var couponRelativePath = "{$relative_path}"; // 相对路径
  374. </js>
  375. <css src="{$resource_path}/css/design.css"></css>
  376. <js src="{$resource_path}/js/design.js"></js>
  377. </template>
  378. </nc-component>