mkstoreticketdiscount.html 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>门店优惠券活动</title>
  5. #parse("sys/header.html")
  6. </head>
  7. <script src="//unpkg.com/iview/dist/locale/en-US.js"></script>
  8. <style>
  9. .col-sm-3 {
  10. width: 25%;
  11. float: left;
  12. }
  13. .goods-item {
  14. position: relative;
  15. width: 200px;
  16. height: 76px;
  17. border-radius: 4px;
  18. border: 1px solid #e0e0e0;
  19. padding: 10px;
  20. margin-bottom: 10px;
  21. cursor: pointer;
  22. margin-right: 10px;
  23. }
  24. .clearfix {
  25. zoom: 1;
  26. }
  27. .goods-img {
  28. position: relative;
  29. width: 30%;
  30. height: 100%;
  31. border-radius: 4px;
  32. overflow: hidden;
  33. margin-right: 10px;
  34. }
  35. .fl {
  36. float: left;
  37. }
  38. .goods-info {
  39. width: 55%;
  40. }
  41. .goods-mask {
  42. position: absolute;
  43. background-color: #000;
  44. opacity: .5;
  45. width: 100%;
  46. height: 100%;
  47. top: 0;
  48. left: 0;
  49. border-radius: 4px;
  50. display: none;
  51. }
  52. .goods-img>.goods-img-wrapper {
  53. width: 100%;
  54. height: 100%;
  55. }
  56. .goods-img>.bg-model {
  57. position: absolute;
  58. display: none;
  59. top: 0;
  60. left: 0;
  61. width: 100%;
  62. height: 100%;
  63. }
  64. .goods-img>.bg-model>.bg-model-model {
  65. position: absolute;
  66. top: 0;
  67. left: 0;
  68. width: 100%;
  69. height: 100%;
  70. background-color: #000;
  71. opacity: .5;
  72. }
  73. .goods-info>div.goods-intro {
  74. display: inline-block;
  75. width: 90px;
  76. max-height: 40px;
  77. overflow: hidden;
  78. text-overflow: ellipsis;
  79. display: -webkit-box;
  80. -webkit-box-orient: vertical;
  81. -webkit-line-clamp: 2;
  82. line-height: 18px;
  83. }
  84. .goods-info>.goods-price {
  85. position: absolute;
  86. bottom: 12px;
  87. }
  88. .goods-item.select {
  89. border: 1px solid #2589ff;
  90. }
  91. .goods-img>.bg-model>img {
  92. position: absolute;
  93. top: 0;
  94. left: 0;
  95. width: 100%;
  96. z-index: 10;
  97. }
  98. .tick-color-g{
  99. border:3px #206602 solid;
  100. border-radius: 5px;
  101. }
  102. .tick-color-r{
  103. border:3px #990033 solid;
  104. border-radius: 5px;
  105. }
  106. </style>
  107. <body>
  108. <div id="rrapp" v-cloak>
  109. <Card v-show="!showViewList">
  110. <p slot="title">优惠券</p>
  111. <Row :gutter="16">
  112. <div class="search-group">
  113. <i-col span="4">
  114. <i-input v-model="q.name" @on-enter="query" placeholder="名称"/>
  115. </i-col>
  116. <i-button @click="query">查询</i-button>
  117. <i-button @click="reloadSearch">重置</i-button>
  118. </div>
  119. <div class="buttons-group">
  120. #if($shiro.hasPermission("mkstoreticketdiscount:save"))
  121. <i-button type="info" @click="add"><i class="fa fa-plus"></i>&nbsp;新增</i-button>
  122. #end
  123. <!--#if($shiro.hasPermission("mkstoreticketdiscount:update"))
  124. <i-button type="warning" @click="update"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</i-button>
  125. #end-->
  126. #if($shiro.hasPermission("mkstoreticketdiscount:delete"))
  127. <i-button type="error" @click="del"><i class="fa fa-trash-o"></i>&nbsp;删除</i-button>
  128. #end
  129. <a href="${rc.contextPath}/mk/mkcenter.html">
  130. <i-button type="warning" ><i class="fa"></i>&nbsp;返回营销中心页</i-button>
  131. </a>
  132. </div>
  133. </Row>
  134. <table id="jqGrid"></table>
  135. <div id="jqGridPager"></div>
  136. </Card>
  137. <Card v-show="!showList">
  138. <!--<p slot="title">{{title}}</p>-->
  139. <i-form ref="formValidate" :model="mkStoreTicketDiscount" :rules="ruleValidate" :label-width="140">
  140. <Tabs value="name1" @on-click="tabsClick">
  141. <!--@on-click="tabsClick"-->
  142. <Tab-Pane label="基本属性" name="name1">
  143. <!--<Form-item label="活动id" prop="storeTopicId">-->
  144. <!--<i-input v-model="mkStoreTicketDiscount.storeTopicId" placeholder="活动id"/>-->
  145. <!--</Form-item>-->
  146. <Form-item label="优惠券标题" prop="name">
  147. <i-input v-model="mkStoreTicketDiscount.name" placeholder="优惠券标题" style="width: 400px" v-show="!isOperatorShow"></i-input>
  148. <i-input v-model="mkStoreTicketDiscount.name" placeholder="优惠券标题" style="width: 400px" v-show="isOperatorShow" disabled></i-input>
  149. </Form-item>
  150. <Form-item label="优惠券副标题" prop="tickDiscSubTitle">
  151. <i-input v-model="mkStoreTicketDiscount.tickDiscSubTitle" placeholder="优惠券副标题" style="width: 400px" v-show="!isOperatorShow"></i-input>
  152. <i-input v-model="mkStoreTicketDiscount.tickDiscSubTitle" placeholder="优惠券副标题" style="width: 400px" v-show="isOperatorShow" disabled></i-input>
  153. </Form-item>
  154. <Form-item label="生效时间" prop="effectTimeType" >
  155. <Radio-group v-model="mkStoreTicketDiscount.effectTimeType" @on-change="changeEffectTimeType" v-show="!isOperatorShow">
  156. <Radio label="00">
  157. <span>固定时间</span>
  158. </Radio>
  159. <Radio label="01">
  160. <span>领取后生效</span>
  161. </Radio>
  162. </Radio-group>
  163. <Radio-group v-model="mkStoreTicketDiscount.effectTimeType" @on-change="changeEffectTimeType" v-show="isOperatorShow">
  164. <Radio label="00" disabled>
  165. <span>固定时间</span>
  166. </Radio>
  167. <Radio label="01" disabled>
  168. <span>领取后生效</span>
  169. </Radio>
  170. </Radio-group>
  171. </Form-item>
  172. <Form-item label="固定开始时间" prop="fixBegTime" v-show="isEffectTimeType00">
  173. <!--<i-input v-model="mkStoreTicketDiscount.fixBegTime" placeholder="固定开始时间,yyyy-MM-dd" style="width: 400px;"/>-->
  174. <Date-picker format="yyyy-MM-dd" v-model="mkStoreTicketDiscount.fixBegTime" placeholder="固定开始时间"
  175. style="width: 400px;" v-show="!isOperatorShow"></Date-picker>
  176. <Date-picker format="yyyy-MM-dd" v-model="mkStoreTicketDiscount.fixBegTime" placeholder="固定开始时间"
  177. style="width: 400px;" v-show="isOperatorShow" disabled></Date-picker>
  178. </Form-item>
  179. <Form-item label="固定结束时间" prop="fixEndTime" v-show="isEffectTimeType00">
  180. <!--<i-input v-model="mkStoreTicketDiscount.fixEndTime" placeholder="固定结束时间,yyyy-MM-dd" style="width: 400px;"/>-->
  181. <Date-picker format="yyyy-MM-dd" v-model="mkStoreTicketDiscount.fixEndTime" placeholder="固定结束时间"
  182. style="width: 400px;"/>
  183. </Form-item>
  184. <Form-item label="领券以后" prop="postponeNum" v-show="isEffectTimeType01">
  185. <i-input v-model="mkStoreTicketDiscount.postponeNum" placeholder="领券延期生效天数(天)" style="width: 400px;" v-show="!isOperatorShow"><span slot="append">天</span></i-input>
  186. <i-input v-model="mkStoreTicketDiscount.postponeNum" placeholder="领券延期生效天数(天)" style="width: 400px;" v-show="isOperatorShow" disabled><span slot="append">天</span></i-input>
  187. </Form-item>
  188. <Form-item label="有效天数" prop="validDayNum" v-show="isEffectTimeType01">
  189. <i-input v-model="mkStoreTicketDiscount.validDayNum" placeholder="领券使用有效天数(天)" style="width: 400px;" v-show="!isOperatorShow"><span slot="append">天</span></i-input>
  190. <i-input v-model="mkStoreTicketDiscount.validDayNum" placeholder="领券使用有效天数(天)" style="width: 400px;" v-show="isOperatorShow" disabled><span slot="append">天</span></i-input>
  191. </Form-item>
  192. <Form-item label="优惠类型" prop="tickDiscType">
  193. <Radio-group v-model="mkStoreTicketDiscount.tickDiscType" @on-change="chanTick" v-show="!isOperatorShow">
  194. <Radio label="00">
  195. <span>代金券</span>
  196. </Radio>
  197. <Radio label="01">
  198. <span>折扣券</span>
  199. </Radio>
  200. <!--<Radio label="02">-->
  201. <!--<span>兑换券</span>-->
  202. <!--</Radio>-->
  203. </Radio-group>
  204. <Radio-group v-model="mkStoreTicketDiscount.tickDiscType" @on-change="chanTick" v-show="isOperatorShow">
  205. <Radio label="00" disabled>
  206. <span>代金券</span>
  207. </Radio>
  208. <Radio label="01" disabled>
  209. <span>折扣券</span>
  210. </Radio>
  211. <!--<Radio label="02" disabled>-->
  212. <!--<span>兑换券</span>-->
  213. <!--</Radio>-->
  214. </Radio-group>
  215. </Form-item>
  216. <Form-item label="代金券减免金额" prop="voucherMoney" v-show="isVoucher">
  217. <i-input v-model="mkStoreTicketDiscount.voucherMoney" placeholder="代金券减免金额(元)" style="width: 400px;" v-show="!isOperatorShow"><span slot="append">元</span></i-input>
  218. <i-input v-model="mkStoreTicketDiscount.voucherMoney" placeholder="代金券减免金额(元)" style="width: 400px;" v-show="isOperatorShow" disabled><span slot="append">元</span></i-input>
  219. </Form-item>
  220. <Form-item label="代金券使用条件" prop="voucherCond" v-show="isVoucher">
  221. <i-input v-model="mkStoreTicketDiscount.voucherCond" placeholder="代金券使用条件(元),消费金额满多少使用" style="width: 400px;" v-show="!isOperatorShow"><span slot="append">元</span></i-input>
  222. <i-input v-model="mkStoreTicketDiscount.voucherCond" placeholder="代金券使用条件(元),消费金额满多少使用" style="width: 400px;" v-show="isOperatorShow" disabled><span slot="append">元</span></i-input>
  223. </Form-item>
  224. <Form-item label="折扣券折扣" prop="discRatio" v-show="isDisc">
  225. <i-input v-model="mkStoreTicketDiscount.discRatio" placeholder="折扣券折扣(折),1-9.9之间的数字,精确到小数点后1位" style="width: 400px;" v-show="!isOperatorShow"><span slot="append">折</span></i-input>
  226. <i-input v-model="mkStoreTicketDiscount.discRatio" placeholder="折扣券折扣(折),1-9.9之间的数字,精确到小数点后1位" style="width: 400px;" v-show="isOperatorShow" disabled><span slot="append">折</span></i-input>
  227. </Form-item>
  228. <Form-item label="折扣券使用条件" prop="discCond" v-show="isDisc">
  229. <i-input v-model="mkStoreTicketDiscount.discCond" placeholder="折扣券使用条件(元),消费金额满多少使用" style="width: 400px;" v-show="!isOperatorShow"><span slot="append">元</span></i-input>
  230. <i-input v-model="mkStoreTicketDiscount.discCond" placeholder="折扣券使用条件(元),消费金额满多少使用" style="width: 400px;" v-show="isOperatorShow" disabled><span slot="append">元</span></i-input>
  231. </Form-item>
  232. <Form-item label="兑换券使用条件" prop="exchCond" v-show="isExch">
  233. <i-input v-model="mkStoreTicketDiscount.exchCond" placeholder="兑换券使用条件(元),消费金额满多少使用" style="width: 400px;" v-show="!isOperatorShow"><span slot="append">元</span></i-input>
  234. <i-input v-model="mkStoreTicketDiscount.exchCond" placeholder="兑换券使用条件(元),消费金额满多少使用" style="width: 400px;" v-show="isOperatorShow" disabled><span slot="append">元</span></i-input>
  235. </Form-item>
  236. <Form-item label="库存" prop="ticketNum">
  237. <i-input v-model="mkStoreTicketDiscount.ticketNum" placeholder="库存" style="width: 400px" v-show="!isOperatorShow"></i-input>
  238. <i-input v-model="mkStoreTicketDiscount.ticketNum" placeholder="库存" style="width: 400px" v-show="isOperatorShow" disabled></i-input>
  239. </Form-item>
  240. </Tab-Pane>
  241. <Tab-Pane label="发放使用" name="name2">
  242. <Form-item label="所属三方商户" prop="thirdMerchSn">
  243. <i-select v-model="mkStoreTicketDiscount.thirdMerchSn" placeholder="所属三方商户" style="width: 268px;" @on-change="changeStore" v-show="!isOperatorShow" label-in-value>
  244. <i-option v-for="thirdMerchant in thirdMerchantBizList" :value="thirdMerchant.thirdMerchSn" :key="thirdMerchant.thirdMerchSn">{{thirdMerchant.thirdPartyMerchName}}</i-option>
  245. </i-select>
  246. <i-select v-model="mkStoreTicketDiscount.thirdMerchSn" placeholder="所属三方商户" style="width: 268px;" @on-change="changeStore" v-show="isOperatorShow" disabled label-in-value>
  247. <i-option v-for="thirdMerchant in thirdMerchantBizList" :value="thirdMerchant.thirdMerchSn" :key="thirdMerchant.thirdMerchSn">{{thirdMerchant.thirdPartyMerchName}}</i-option>
  248. </i-select>
  249. </Form-item>
  250. <Form-item label="所属门店" prop="storeId">
  251. <i-select v-model="mkStoreTicketDiscount.storeId" placeholder="所属门店" style="width: 268px;" label-in-value @on-change="changeGoods" v-show="!isOperatorShow">
  252. <i-option v-for="store in storeList" :value="store.id" :key="store.id">{{store.storeName}}
  253. </i-option>
  254. </i-select>
  255. <i-select v-model="mkStoreTicketDiscount.storeId" placeholder="所属门店" style="width: 268px;" label-in-value @on-change="changeGoods" v-show="isOperatorShow" disabled>
  256. <i-option v-for="store in storeList" :value="store.id" :key="store.id">{{store.storeName}}
  257. </i-option>
  258. </i-select>
  259. </Form-item>
  260. <Form-item label="货品业务类型" prop="goodsBizType" >
  261. <i-select v-model="mkStoreTicketDiscount.goodsBizType" placeholder="货品业务类型"
  262. label-in-value style="width: 268px;" @on-change="changeGoodsBizType" v-show="!isOperatorShow">
  263. <i-option v-for="macro in macros" :value="macro.value" :key="macro.id">{{macro.name}}
  264. </i-option>
  265. </i-select>
  266. <i-select v-model="mkStoreTicketDiscount.goodsBizType" placeholder="货品业务类型"
  267. label-in-value style="width: 268px;" @on-change="changeGoodsBizType" v-show="isOperatorShow" disabled>
  268. <i-option v-for="macro in macros" :value="macro.value" :key="macro.id">{{macro.name}}
  269. </i-option>
  270. </i-select>
  271. <div style="float: right;margin-right: 730px;">
  272. <span style="margin-left: 25px;color: red;font-size: 12px;">* 货品业务类型必填,不同业务类型会生成不同订单,订单不能同时使用一个优惠券,会影响清关</span>
  273. </div>
  274. </Form-item>
  275. <Form-item label="适用商品" prop="applyType">
  276. <Radio-group v-model="mkStoreTicketDiscount.applyType" id="applyType" @on-change="changeApplyType">
  277. <Radio label="00">
  278. <span>全部商品参与</span>
  279. </Radio>
  280. <Radio label="01">
  281. <span>指定商品参与</span>
  282. </Radio>
  283. <Radio label="02">
  284. <span>指定商品不参与</span>
  285. </Radio>
  286. </Radio-group>
  287. </Form-item>
  288. <Form-item label="" v-show="isApplyType">
  289. <div style="width: 980px;border: 1px solid rgb(243, 243, 243);height: 170px;background: rgb(243, 243, 243);border-radius: 10px;" v-show="checkGoodsTotalCount>0">
  290. <div style="margin-top: 12px;margin-left: 10px;height: 120px;">
  291. <div v-for="item in checkGoodsDataList" :item="item" style=" width: 300px; float: left;border: 1px silver solid; margin: 8px;border-radius: 6px;">
  292. <span style="margin-top: 7px;width: 150px;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;
  293. -webkit-line-clamp: 2;line-height: 20px;max-height: 20px;float: left;margin-left: 4px;">{{item.goodsName}}</span><span>¥{{item.retailPrice}}</span>
  294. <span style="float: right;margin-right: 10px;"><a @click="delCheckGoods(item.discGoodTempId,item.goodsId)">删除</a></span>
  295. </div>
  296. </div>
  297. <div style="text-align: right;">
  298. <Page :total="checkGoodsTotalCount" :current="checkGoodsCurrentPage" :page-size="checkGoodsLimit" @on-change="loadCheckGoodsDataByPage" @on-page-size-change='handleCheckGoodsPageSize'>
  299. </Page>
  300. </div>
  301. </div>
  302. <div style="width: 100%">
  303. <i-button @click="checkGoods" type="primary">选择商品</i-button>
  304. </div>
  305. <Modal title="选择商品" v-model="value3" @on-ok="ok" @on-cancel="cancel" :mask-closable="false" width="900px" :styles="{top: '20px'}">
  306. <div class="search-group">
  307. <i-col span="4">
  308. <i-input v-model="g.goodsName" @on-enter="query" placeholder="名称"/>
  309. </i-col>
  310. <i-button @click="reloadGoodsByStore">查询</i-button>
  311. <i-button @click="reloadGoodsSearch">重置</i-button>
  312. </div>
  313. <div style="margin-top: 10px; height: 400px">
  314. <div v-for="item in goodsList" :item="item" style="padding-left:5px;padding-right:5px;width: 100%" v-show="goodsList.length>0">
  315. <div v-show="item.isCheck==0" class="col-sm-3 goods-item clearfix" name="noCheck" @click="selectThisGoods(item)" :id="item.goodsId">
  316. <div class="goods-img fl">
  317. <img :src="item.listPicUrl" style="background-repeat: no-repeat;
  318. background-position: center center; background-size: cover;" class="goods-img-wrapper">
  319. <div class="bg-model" :id="item.id" style="display: none;">
  320. <div class="bg-model-model"></div>
  321. <img src="${rc.contextPath}/statics/img/selected.png" alt="" style="width: 30px;height: 30px;
  322. margin-left: 10px;margin-top: 10px;">
  323. </div>
  324. </div>
  325. <div class="goods-info fl">
  326. <div class="goods-intro ng-binding" :title="item.goodsName">
  327. <span package-logic="app-goods-management-addGoods#div-selectGoodsType">
  328. <!--<div ng-show="item.goodsActivityList.length>3" class="actSign ng-hide" popover="该商品参加了以下活动:"
  329. popover-placement="right-bottom" popover-trigger="mouseenter"
  330. popover-append-to-body="true" style="border-radius:4px;">
  331. </div>-->
  332. </span> {{item.goodsName}}
  333. </div>
  334. <p class="goods-price ng-binding">¥ {{item.retailPrice==null?0:item.retailPrice}}</p>
  335. </div>
  336. <div class="goods-mask">
  337. <p style="text-align:center;color: #FFFFFF;">不支持参加此活动</p>
  338. </div>
  339. </div>
  340. <div v-show="item.isCheck==1" class="col-sm-3 goods-item clearfix select" name="noCheck" @click="selectThisGoods(item)" :id="item.goodsId">
  341. <div class="goods-img fl">
  342. <img :src="item.listPicUrl" style="background-repeat: no-repeat;
  343. background-position: center center; background-size: cover;" class="goods-img-wrapper">
  344. <div class="bg-model" :id="item.id" style="display: block;">
  345. <div class="bg-model-model"></div>
  346. <img src="${rc.contextPath}/statics/img/selected.png" alt="" style="width: 30px;height: 30px;
  347. margin-left: 10px;margin-top: 10px;">
  348. </div>
  349. </div>
  350. <div class="goods-info fl">
  351. <div class="goods-intro ng-binding" :title="item.goodsName">
  352. <span package-logic="app-goods-management-addGoods#div-selectGoodsType">
  353. <!--<div ng-show="item.goodsActivityList.length>3" class="actSign ng-hide" popover="该商品参加了以下活动:"
  354. popover-placement="right-bottom" popover-trigger="mouseenter"
  355. popover-append-to-body="true" style="border-radius:4px;">
  356. </div>-->
  357. </span> {{item.goodsName}}
  358. </div>
  359. <p class="goods-price ng-binding">¥ {{item.retailPrice==null?0:item.retailPrice}}</p>
  360. </div>
  361. <div class="goods-mask">
  362. <p style="text-align:center;color: #FFFFFF;">不支持参加此活动</p>
  363. </div>
  364. </div>
  365. </div>
  366. <!--<table id="jqGoodsGrid"></table>-->
  367. <!--<div id="jqGoodsGridPager"></div>-->
  368. </div>
  369. <div style="text-align: right;">
  370. <Page :total="totalCount" :current="currentPage" :page-size="limit" class="page" show-total
  371. placement="top" @on-change="loadGoodsDataByPage" @on-page-size-change='handlePageSize'>
  372. </Page>
  373. </div>
  374. </Modal>
  375. </Form-item>
  376. <Form-item label="领取入口" prop="getEnter">
  377. <Checkbox-group v-model="mkStoreTicketDiscount.getEnter">
  378. <Checkbox label="1"><span>商品详情页/购物车等商城页面</span></Checkbox>
  379. </Checkbox-group>
  380. <!--<i-input v-model="mkStoreTicketDiscount.getEnter" placeholder="领取入口,格式:1,2,...,n,【get_enter,1:商品详情页/购物车等商城页面】"/>-->
  381. </Form-item>
  382. <Form-item label="能否分享领取" prop="canShareGet">
  383. <Checkbox-group v-model="mkStoreTicketDiscount.canShareGet">
  384. <Checkbox label="0"><span>用户可以分享链接领取(小程序暂不支持分享)</span></Checkbox>
  385. </Checkbox-group>
  386. <!--<i-input v-model="mkStoreTicketDiscount.canShareGet" placeholder="能否分享领取,【can_share_get,0:能,1:否】"/>-->
  387. </Form-item>
  388. <Form-item label="每人限领数(张)" prop="limitNum">
  389. <i-input v-model="mkStoreTicketDiscount.limitNum" placeholder="每人限领数(张),每个用户领券上限,如不填则默认为1" style="width: 400px"/>
  390. </Form-item>
  391. </Tab-Pane>
  392. <Tab-Pane label="券面信息" name="name3" >
  393. <Row>
  394. <i-col span="16">
  395. <Form-item label="活动图片url(小图)" prop="advImgUrl">
  396. <i-input v-model="mkStoreTicketDiscount.advImgUrl" placeholder="活动图片url(小图)" readonly/>
  397. </Form-item>
  398. </i-col>
  399. <i-col span="3">
  400. <Form-item :label-width="1">
  401. <Upload style="width: 300px;" action="../sys/oss/upload" :format="['jpg','jpeg','png']"
  402. max-size="2048"
  403. :on-success="handleSuccessAdvImgUrl" :on-format-error="handleFormatError"
  404. :show-upload-list="false"
  405. :on-exceeded-size="handleMaxSize">
  406. <i-button icon="ios-cloud-upload-outline">上传图片</i-button>
  407. </Upload>
  408. </Form-item>
  409. </i-col>
  410. <i-col span="4">
  411. <Form-item :label-width="1">
  412. <i-button icon="eye" @click="eyeImageAdvImgUrl">预览图片</i-button>
  413. </Form-item>
  414. </i-col>
  415. </Row>
  416. <Row>
  417. <i-col span="16">
  418. <Form-item label="门店logo图url" prop="storeLogoUrl">
  419. <i-input v-model="mkStoreTicketDiscount.storeLogoUrl" placeholder="门店logo图url" readonly/>
  420. </Form-item>
  421. </i-col>
  422. <i-col span="3">
  423. <Form-item :label-width="1">
  424. <Upload style="width: 300px;" action="../sys/oss/upload" :format="['jpg','jpeg','png']"
  425. max-size="2048"
  426. :on-success="handleSuccessStoreLogoUrl" :on-format-error="handleFormatError"
  427. :show-upload-list="false"
  428. :on-exceeded-size="handleMaxSize">
  429. <i-button icon="ios-cloud-upload-outline">上传图片</i-button>
  430. </Upload>
  431. </Form-item>
  432. </i-col>
  433. <i-col span="4">
  434. <Form-item :label-width="1">
  435. <i-button icon="eye" @click="eyeImageStoreLogoUrl">预览图片</i-button>
  436. </Form-item>
  437. </i-col>
  438. </Row>
  439. <Form-item label="图片是否展示在广告栏" prop="isStoreShow">
  440. <Radio-group v-model="mkStoreTicketDiscount.isStoreShow">
  441. <Radio label="0">
  442. <span>否</span>
  443. </Radio>
  444. <Radio label="1">
  445. <span>是</span>
  446. </Radio>
  447. </Radio-group>
  448. </Form-item>
  449. <!--<Form-item label="门店名称,默认填写商户门店名称" prop="storeName">-->
  450. <!--<i-input v-model="mkStoreTicketDiscount.storeName" placeholder="门店名称,默认填写商户门店名称"/>-->
  451. <!--</Form-item>-->
  452. <Form-item label="券面颜色" prop="ticketColor">
  453. <!--<i-input v-model="mkStoreTicketDiscount.ticketColor" placeholder="券面颜色,如:#ababab" @on-change="changeStore" label-in-value/>-->
  454. <div>
  455. <div style="width: 30px;height: 30px;background-color: #00CC00;float: left;margin-right: 10px;cursor: pointer;" name="noCheck" id="00CC00" @click="getColor('00CC00','g')"></div>
  456. <div style="width: 30px;height: 30px;background-color: #009900;float: left;margin-right: 10px;cursor: pointer;" name="noCheck" id="009900" @click="getColor('009900','g')"></div>
  457. <div style="width: 30px;height: 30px;background-color: #66CCCC;float: left;margin-right: 10px;cursor: pointer;" name="noCheck" id="66CCCC" @click="getColor('66CCCC','g')"></div>
  458. <div style="width: 30px;height: 30px;background-color: #009999;float: left;margin-right: 10px;cursor: pointer;" name="noCheck" id="009999" @click="getColor('009999','g')"></div>
  459. <div style="width: 30px;height: 30px;background-color: #FF9966;float: left;margin-right: 10px;cursor: pointer;" name="noCheck" id="FF9966" @click="getColor('FF9966','r')"></div>
  460. <div style="width: 30px;height: 30px;background-color: #FF0066;float: left;margin-right: 10px;cursor: pointer;" name="noCheck" id="FF0066" @click="getColor('FF0066','r')"></div>
  461. <div style="width: 30px;height: 30px;background-color: #CC00FF;float: left;margin-right: 10px;cursor: pointer;" name="noCheck" id="CC00FF" @click="getColor('CC00FF','r')"></div>
  462. <div style="width: 30px;height: 30px;background-color: #CC0000;float: left;margin-right: 10px;cursor: pointer;" name="noCheck" id="CC0000" @click="getColor('CC0000','r')"></div>
  463. </div>
  464. </Form-item>
  465. <Form-item label="操作说明" prop="optDecl">
  466. <i-input v-model="mkStoreTicketDiscount.optDecl" placeholder="操作说明" style="width: 400px"/>
  467. </Form-item>
  468. <Form-item label="优惠说明" prop="discDecl">
  469. <i-input type="textarea" :rows="3" v-model="mkStoreTicketDiscount.discDecl" placeholder="满*元,减*元,全部商品可用" style="width: 400px" v-show="!isOperatorShow"></i-input>
  470. <i-input type="textarea" :rows="3" v-model="mkStoreTicketDiscount.discDecl" placeholder="满*元,减*元,全部商品可用" style="width: 400px" v-show="isOperatorShow" disabled></i-input>
  471. </Form-item>
  472. <Form-item label="使用须知" prop="useNoti">
  473. <i-input type="textarea" :rows="3" v-model="mkStoreTicketDiscount.useNoti" placeholder="每人限领*张,不可转赠好友,仅限商城下单使用" style="width: 400px" v-show="!isOperatorShow"></i-input>
  474. <i-input type="textarea" :rows="3" v-model="mkStoreTicketDiscount.useNoti" placeholder="每人限领*张,不可转赠好友,仅限商城下单使用" style="width: 400px" v-show="isOperatorShow" disabled></i-input>
  475. </Form-item>
  476. <Form-item label="客服电话" prop="svrTel">
  477. <i-input v-model="mkStoreTicketDiscount.svrTel" placeholder="客服电话" style="width: 400px" v-show="!isOperatorShow"><span slot="append">手机或固话</span></i-input>
  478. <i-input v-model="mkStoreTicketDiscount.svrTel" placeholder="客服电话" style="width: 400px" v-show="isOperatorShow" disabled><span slot="append">手机或固话</span></i-input>
  479. </Form-item>
  480. <Form-item label="是否有效" prop="isValid">
  481. <Radio-group v-model="mkStoreTicketDiscount.isValid">
  482. <Radio label="0">
  483. <span>有效</span>
  484. </Radio>
  485. <Radio label="1">
  486. <span>无效</span>
  487. </Radio>
  488. </Radio-group>
  489. </Form-item>
  490. <!--<Form-item label="备注" prop="note">-->
  491. <!--<i-input v-model="mkStoreTicketDiscount.note" placeholder="备注"/>-->
  492. <!--</Form-item>-->
  493. <!--<Form-item label="创建人编号" prop="createrSn">
  494. <i-input v-model="mkStoreTicketDiscount.createrSn" placeholder="创建人编号"/>
  495. </Form-item>
  496. <Form-item label="创建时间" prop="createTime">
  497. <i-input v-model="mkStoreTicketDiscount.createTime" placeholder="创建时间"/>
  498. </Form-item>
  499. <Form-item label="修改人编号" prop="moderSn">
  500. <i-input v-model="mkStoreTicketDiscount.moderSn" placeholder="修改人编号"/>
  501. </Form-item>
  502. <Form-item label="修改时间" prop="modTime">
  503. <i-input v-model="mkStoreTicketDiscount.modTime" placeholder="修改时间"/>
  504. </Form-item>
  505. <Form-item label="时间戳" prop="tstm">
  506. <i-input v-model="mkStoreTicketDiscount.tstm" placeholder="时间戳"/>
  507. </Form-item>
  508. <Form-item label="发放方式 0:按订单发放 1:按用户发放(通用优惠券,用户点击领取) 2:商品转发送券 3:按商品发放 4:新用户注册 5:线下发放 6评价好评红包(固定或随机红包) 7包邮(不入会员优惠券表)" prop="sendType">
  509. <i-input v-model="mkStoreTicketDiscount.sendType" placeholder="发放方式 0:按订单发放 1:按用户发放(通用优惠券,用户点击领取) 2:商品转发送券 3:按商品发放 4:新用户注册 5:线下发放 6评价好评红包(固定或随机红包) 7包邮(不入会员优惠券表)"/>
  510. </Form-item>-->
  511. </Tab-Pane>
  512. </Tabs>
  513. </i-form>
  514. <div style="padding-left: 20px">
  515. <i-button type="primary" @click="handleSubmit('formValidate')">提交</i-button>
  516. <i-button type="warning" @click="reloadBack" style="margin-left: 8px"/>返回</i-button>
  517. <!--<i-button type="ghost" @click="handleReset('formValidate')" style="margin-left: 8px">重置</i-button>-->
  518. </div>
  519. </Card>
  520. <Card v-show="!showInfoList">
  521. <p slot="title">{{title}}</p>
  522. <i-form :model="mkStoreTicketDiscount" :label-width="120">
  523. <Tabs value="name1">
  524. <Tab-Pane label="基本属性" name="name1">
  525. <Form-item label="所属门店">
  526. {{mkStoreTicketDiscount.storeName==null?'未设置': mkStoreTicketDiscount.storeName}}
  527. </Form-item>
  528. <Form-item label="业务类型">
  529. {{mkStoreTicketDiscount.goodsBizType==null?'未设置': ''}}{{mkStoreTicketDiscount.goodsBizType=='00'?'保税备货': ''}}{{mkStoreTicketDiscount.goodsBizType=='02'?'保税展示补货': ''}}{{mkStoreTicketDiscount.goodsBizType=='10'?'保税展示跨境': ''}}{{mkStoreTicketDiscount.goodsBizType=='11'?'普通商品': ''}}
  530. </Form-item>
  531. <Form-item label="优惠券标题">
  532. {{mkStoreTicketDiscount.name==null?'未设置': mkStoreTicketDiscount.name}}
  533. </Form-item>
  534. <Form-item label="优惠券副标题">
  535. {{mkStoreTicketDiscount.tickDiscSubTitle==null?'未设置': mkStoreTicketDiscount.tickDiscSubTitle}}
  536. </Form-item>
  537. <Form-item label="生效时间">
  538. {{mkStoreTicketDiscount.inValidTime==null?'未设置': mkStoreTicketDiscount.inValidTime}}
  539. </Form-item>
  540. <Form-item label="优惠类型">
  541. {{mkStoreTicketDiscount.tickDiscType==null?'未设置': ''}}{{mkStoreTicketDiscount.tickDiscType=='00'?'代金券': ''}}{{mkStoreTicketDiscount.tickDiscType=='01'?'折扣券': ''}}{{mkStoreTicketDiscount.tickDiscType=='02'?'兑换券': ''}}
  542. </Form-item>
  543. <Form-item label="代金券减免金额" v-show="isVoucher">
  544. {{mkStoreTicketDiscount.voucherMoney==null?'未设置': mkStoreTicketDiscount.voucherMoney}}
  545. </Form-item>
  546. <Form-item label="代金券使用条件" v-show="isVoucher">
  547. {{mkStoreTicketDiscount.voucherCond==null?'未设置': mkStoreTicketDiscount.voucherCond}}
  548. </Form-item>
  549. <Form-item label="折扣券折扣" v-show="isDisc">
  550. {{mkStoreTicketDiscount.discRatio==null?'未设置': mkStoreTicketDiscount.discRatio}}
  551. </Form-item>
  552. <Form-item label="折扣券使用条件" v-show="isDisc">
  553. {{mkStoreTicketDiscount.discCond==null?'未设置': mkStoreTicketDiscount.discCond}}
  554. </Form-item>
  555. <Form-item label="兑换券使用条件" v-show="isExch">
  556. {{mkStoreTicketDiscount.exchCond==null?'未设置': mkStoreTicketDiscount.exchCond}}
  557. </Form-item>
  558. <Form-item label="库存">
  559. {{mkStoreTicketDiscount.ticketNum==null?'未设置': mkStoreTicketDiscount.ticketNum}}
  560. </Form-item>
  561. </Tab-Pane>
  562. <Tab-Pane label="发放使用" name="name2">
  563. <Form-item label="适用商品">
  564. {{mkStoreTicketDiscount.applyType==null?'未设置': ''}}{{mkStoreTicketDiscount.applyType=='00'?'全部商品参与': ''}}{{mkStoreTicketDiscount.applyType=='01'?'指定商品参与': ''}}{{mkStoreTicketDiscount.applyType=='02'?'指定商品不参与': ''}}
  565. </Form-item>
  566. <Form-item label="" v-show="isApplyType">
  567. <div style="width: 980px;border: 1px solid rgb(243, 243, 243);height: 210px;background: rgb(243, 243, 243);border-radius: 10px;" v-show="checkGoodsDataList.length>0">
  568. <div style="margin-top: 12px;margin-left: 10px;height: 150px;">
  569. <div v-for="item in checkGoodsDataList" :item="item" style=" width: 300px; float: left;border: 1px silver solid; margin: 8px;border-radius: 6px;">
  570. <span style="margin-top: 7px;width: 150px;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;
  571. -webkit-line-clamp: 2;line-height: 20px;max-height: 20px;float: left;margin-left: 4px;">{{item.goodsName}}</span><span>¥{{item.retailPrice}}</span>
  572. <span style="float: right;margin-right: 10px;"><a @click="delCheckGoods(item.discGoodTempId,item.goodsId)" v-show="showInfoList">删除</a></span>
  573. </div>
  574. </div>
  575. <div style="text-align: right;">
  576. <Page :total="checkGoodsTotalCount" :current="checkGoodsCurrentPage" :page-size="checkGoodsLimit" @on-change="loadCheckGoodsDataByPage" @on-page-size-change='handleCheckGoodsPageSize'>
  577. </Page>
  578. </div>
  579. </div>
  580. </Form-item>
  581. <Form-item label="领取入口">
  582. {{mkStoreTicketDiscount.getEnter==null?'未设置':''}}{{mkStoreTicketDiscount.getEnter=='1'?'商品详情页/购物车等商城页面':''}}
  583. </Form-item>
  584. <Form-item label="能否分享领取">
  585. {{mkStoreTicketDiscount.canShareGet==null?'未设置':''}}{{mkStoreTicketDiscount.canShareGet=='0'?'用户可以分享链接领取(小程序暂不支持分享)':''}}
  586. </Form-item>
  587. <Form-item label="每人限领数(张)">
  588. {{mkStoreTicketDiscount.limitNum==null?'未设置': mkStoreTicketDiscount.limitNum}}
  589. </Form-item>
  590. </Tab-Pane>
  591. <Tab-Pane label="券面信息" name="name3">
  592. <Form-item label="活动图片url(小图)">
  593. <img :src="mkStoreTicketDiscount.advImgUrl" style="width: 60px;height: 60px;"/>
  594. </Form-item>
  595. <Form-item label="门店logo图url">
  596. <img :src="mkStoreTicketDiscount.storeLogoUrl" style="width: 60px;height: 60px;"/>
  597. </Form-item>
  598. <Form-item label="券面颜色">
  599. <div>
  600. <div style="width: 30px;height: 30px;background-color: #00CC00;float: left;margin-right: 10px;cursor: pointer;" name="check" id="ticketColorId"></div>
  601. </div>
  602. </Form-item>
  603. <Form-item label="操作说明">
  604. {{mkStoreTicketDiscount.optDecl}}
  605. </Form-item>
  606. <Form-item label="优惠说明">
  607. {{mkStoreTicketDiscount.discDecl}}
  608. </Form-item>
  609. <Form-item label="使用须知">
  610. {{mkStoreTicketDiscount.useNoti}}
  611. </Form-item>
  612. <Form-item label="客服电话">
  613. {{mkStoreTicketDiscount.svrTel==null?'未设置':mkStoreTicketDiscount.svrTel}}
  614. </Form-item>
  615. <Form-item label="是否有效">
  616. {{mkStoreTicketDiscount.isValid=='0'?'有效':'无效'}}
  617. </Form-item>
  618. </Tab-Pane>
  619. </Tabs>
  620. </i-form>
  621. <div style="padding-left: 20px">
  622. <i-button type="warning" @click="reloadInfoBack" style="margin-left: 8px"/>返回</i-button>
  623. </div>
  624. </Card>
  625. <Card v-show="!showOrderList" style="width: 1680px;">
  626. <p slot="title">{{title}}</p>
  627. <Row :gutter="16">
  628. <div class="search-group">
  629. <i-col span="4">
  630. <i-select v-model="c.isUsed" placeholder="使用状态">
  631. <i-option value="0">未使用</i-option>
  632. <i-option value="1">已使用</i-option>
  633. </i-select>
  634. </i-col>
  635. <i-button @click="queryOrder">查询</i-button>
  636. <i-button @click="reloadOrderSearch">重置</i-button>
  637. </div>
  638. <div class="buttons-group">
  639. #if($shiro.hasPermission("usercoupon:delete"))
  640. <i-button type="error" @click="del"><i class="fa fa-trash-o"></i>&nbsp;批量作废</i-button>
  641. #end
  642. </div>
  643. </Row>
  644. <i-button type="warning" @click="reload" style="margin-left: 8px"/>返回</i-button>
  645. <table id="jqGridOrder"></table>
  646. <div id="jqGridPagerOrder"></div>
  647. </Card>
  648. </div>
  649. <div id="qrcode" style="display: none;padding: 10px;">
  650. <div id="qrcodeCanvas" style="margin: 20px 0 0 55px"></div>
  651. </div>
  652. <div id="qrcImg" style="display:none">
  653. <img class="qrcImg align-center" height="300px" width="300px" src="">
  654. </div>
  655. <script src="${rc.contextPath}/js/mk/mkstoreticketdiscount.js?_${date.systemTime}"></script>
  656. </body>
  657. </html>