index.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  1. <?php
  2. use common\helpers\ComponentHelper;
  3. ?>
  4. <div id="app" v-cloak>
  5. <el-tabs v-model="activeName" @tab-click="handleClick">
  6. <el-tab-pane label="优惠抵扣" name="collection-code">
  7. <el-card v-loading="loading" style="border:0" shadow="never" body-style="background-color: #f3f3f3;padding: 0 0;">
  8. <el-row>
  9. <el-col :span="24">
  10. <div class="form-body">
  11. <el-form :model="basicForm" ref="basicForm" :rules="basicFormRules" label-width="172px" style="position: relative" size="small">
  12. <el-form-item label="是否开启优惠券抵扣" prop="is_open_coupon_deduct">
  13. <div>
  14. <el-switch
  15. :active-value="1"
  16. :inactive-value="0"
  17. v-model="basicForm.deduct_setting.is_open_coupon_deduct">
  18. </el-switch>
  19. </div>
  20. </el-form-item>
  21. <!-- <el-form-item label="是否开启积分抵扣" prop="is_open_score_deduct">-->
  22. <!-- <div>-->
  23. <!-- <el-switch :active-value="1" :inactive-value="0" v-model="basicForm.deduct_setting.is_open_score_deduct"></el-switch>-->
  24. <!-- </div>-->
  25. <!-- </el-form-item>-->
  26. <!-- <template v-if="basicForm.deduct_setting.is_open_score_deduct==1">-->
  27. <!-- <el-form-item label="抵扣金额上限">-->
  28. <!-- <div>-->
  29. <!-- <el-radio v-model="basicForm.deduct_setting.score_deduct.is_limit" :label="0">不限制</el-radio>-->
  30. <!-- <br/>-->
  31. <!-- 默认订单金额最低为1元-->
  32. <!-- <br/>-->
  33. <!-- <br/>-->
  34. <!-- <el-radio v-model="basicForm.deduct_setting.score_deduct.is_limit" :label="1">最高抵扣金额</el-radio>-->
  35. <!-- <el-input v-if="basicForm.deduct_setting.score_deduct.is_limit==1" placeholder="最高抵扣金额" class="width-200" v-model="basicForm.deduct_setting.score_deduct.limit_deduct_money">-->
  36. <!-- <template slot="append">元</template>-->
  37. <!-- </el-input>-->
  38. <!-- <br/>-->
  39. <!-- 如:设置500元,即超过此金额部分的金额不能使用积分抵扣-->
  40. <!-- </div>-->
  41. <!-- </el-form-item>-->
  42. <!-- <el-form-item label="抵扣设置" >-->
  43. <!-- <div>-->
  44. <!-- <el-radio v-model="basicForm.deduct_setting.score_deduct.is_percentage" :label="0">固定值</el-radio>-->
  45. <!-- <br/>-->
  46. <!-- <el-input placeholder="" class="width-200" v-model="basicForm.deduct_setting.score_deduct.deduct_score_num">-->
  47. <!-- <template slot="append">个</template>-->
  48. <!-- </el-input>-->
  49. <!-- <br/>-->
  50. <!-- N个积分抵扣1元-->
  51. <!-- <br/>-->
  52. <!-- <br/>-->
  53. <!-- <el-radio v-model="basicForm.deduct_setting.score_deduct.is_percentage" :label="1">百分比</el-radio>-->
  54. <!-- <br/>-->
  55. <!-- <el-input placeholder="" class="width-200" v-model="basicForm.deduct_setting.score_deduct.deduct_score_percentage">-->
  56. <!-- <template slot="append">%</template>-->
  57. <!-- </el-input>-->
  58. <!-- <br/>-->
  59. <!-- 如,设置1%:-->
  60. <!-- <br/>-->
  61. <!-- 1、商品金额为100元,即可抵扣1元,商品实际支付金额为99元。-->
  62. <!-- <br/>-->
  63. <!-- 2、商品金额为148元,即可抵扣1.48元,商品实际支付金额为146.52元。-->
  64. <!---->
  65. <!-- </div>-->
  66. <!-- </el-form-item>-->
  67. <!-- </template>-->
  68. </el-form>
  69. </div>
  70. </el-col>
  71. </el-row>
  72. <el-button :loading="submitLoading" class="button-item" size="small" type="primary" @click="submit('basicForm')">保存</el-button>
  73. </el-card>
  74. </el-tab-pane>
  75. <el-tab-pane label="优惠赠送" name="collection-log">
  76. <el-card v-loading="loading" style="border:0" shadow="never" body-style="background-color: #f3f3f3;padding: 0 0;">
  77. <el-row>
  78. <el-col :span="24">
  79. <div class="form-body">
  80. <el-form :model="basicForm" ref="basicForm" :rules="basicFormRules" label-width="172px" style="position: relative" size="small">
  81. <el-form-item label="是否开启优惠券赠送" prop="is_open_coupon_give">
  82. <div>
  83. <el-switch :active-value="1" :inactive-value="0" v-model="basicForm.give_setting.coupon_give.is_open_coupon_give">
  84. </el-switch>
  85. </div>
  86. <template v-if="basicForm.give_setting.coupon_give.is_open_coupon_give==1">
  87. <template>
  88. <el-checkbox v-model="basicForm.give_setting.coupon_give.give_type1" >折扣券</el-checkbox>
  89. <br/>
  90. <el-select v-if="basicForm.give_setting.coupon_give.give_type1" size="large" v-model="basicForm.give_setting.coupon_give.coupon_id1" placeholder="请选择" @change="handleChange1">
  91. <el-option v-for="item,k in coupon_list1" :key="item.id" :label="item.name" :value="item.id">
  92. </el-option>
  93. </el-select>
  94. <br/>
  95. <el-checkbox v-model="basicForm.give_setting.coupon_give.give_type2" >满减券</el-checkbox>
  96. <br/>
  97. <el-select v-if="basicForm.give_setting.coupon_give.give_type2" size="large" v-model="basicForm.give_setting.coupon_give.coupon_id2" placeholder="请选择" @change="handleChange2">
  98. <el-option v-for="item,k in coupon_list2" :key="item.id" :label="item.name" :value="item.id">
  99. </el-option>
  100. </el-select>
  101. </template>
  102. </template>
  103. </el-form-item>
  104. <!-- <el-form-item label="是否开启积分赠送" prop="is_open_score_give">-->
  105. <!-- <div>-->
  106. <!-- <el-switch :active-value="1" :inactive-value="0" v-model="basicForm.give_setting.score_give.is_open_score_give">-->
  107. <!-- </el-switch>-->
  108. <!-- </div>-->
  109. <!-- </el-form-item>-->
  110. <!-- <template v-if="basicForm.give_setting.score_give.is_open_score_give==1">-->
  111. <!-- <el-form-item label="赠送门槛">-->
  112. <!-- <div>-->
  113. <!-- <el-radio v-model="basicForm.give_setting.score_give.is_limit" :label="0">不限制</el-radio>-->
  114. <!-- <br/>-->
  115. <!-- 默认订单金额最低为1元-->
  116. <!-- <br/>-->
  117. <!-- <br/>-->
  118. <!-- <el-radio v-model="basicForm.give_setting.score_give.is_limit" :label="1">订单金额区间为</el-radio>-->
  119. <!-- <el-input placeholder="最低金额" class="width-200" v-model="basicForm.give_setting.score_give.min">-->
  120. <!-- <template slot="append">元</template>-->
  121. <!-- </el-input> --->
  122. <!-- <el-input placeholder="最高金额" class="width-200" v-model="basicForm.give_setting.score_give.max">-->
  123. <!-- <template slot="append">元</template>-->
  124. <!-- </el-input>-->
  125. <!-- <br/>-->
  126. <!-- 如:设置100元和1000元,即低于100元的不能进行积分赠送;超过1000元的,超部分不能进行积分赠送。-->
  127. <!-- </div>-->
  128. <!-- </el-form-item>-->
  129. <!-- <el-form-item label="赠送设置" >-->
  130. <!-- <div>-->
  131. <!-- <el-radio v-model="basicForm.give_setting.score_give.is_percentage" :label="0">固定值</el-radio>-->
  132. <!-- <br/>-->
  133. <!-- 每满-->
  134. <!-- <el-input placeholder="" class="width-200" v-model="basicForm.give_setting.score_give.full_money">-->
  135. <!-- <template slot="append">元</template>-->
  136. <!-- </el-input>-->
  137. <!-- 赠送-->
  138. <!-- <el-input placeholder="" class="width-200" v-model="basicForm.give_setting.score_give.give_score_num">-->
  139. <!-- <template slot="append">个</template>-->
  140. <!-- </el-input>-->
  141. <!-- <br/>-->
  142. <!-- <br/>-->
  143. <!-- <el-radio v-model="basicForm.give_setting.score_give.is_percentage" :label="1">百分比</el-radio>-->
  144. <!-- <br/>-->
  145. <!-- <el-input placeholder="" class="width-200" v-model="basicForm.give_setting.score_give.give_score_percentage">-->
  146. <!-- <template slot="append">%</template>-->
  147. <!-- </el-input>-->
  148. <!-- <br/>-->
  149. <!-- 如,设置为10%,即实际支付金额为148元的,即赠送14个积分,取整数-->
  150. <!-- </div>-->
  151. <!-- </el-form-item>-->
  152. <!-- </template>-->
  153. </el-form>
  154. </div>
  155. </el-col>
  156. </el-row>
  157. <el-button :loading="submitLoading" class="button-item" size="small" type="primary" @click="submit('basicForm')">保存</el-button>
  158. </el-card>
  159. </el-tab-pane>
  160. </el-tabs>
  161. </div>
  162. <script>
  163. const app = new Vue({
  164. el: '#app',
  165. data() {
  166. return {
  167. activeName: 'collection-code',
  168. basicForm:{
  169. give_setting:{
  170. coupon_give:{
  171. is_open_coupon_give:0,
  172. give_type1:false,
  173. give_type2:false,
  174. coupon_id1:'',
  175. coupon_id2:'',
  176. from_type1:1,
  177. from_type2:1,
  178. },
  179. score_give:{
  180. is_open_score_give:0,
  181. is_limit:0,
  182. min:'',
  183. max:'',
  184. is_percentage:0,
  185. full_money:'',
  186. give_score_num:'',
  187. give_score_percentage:'',
  188. },
  189. },
  190. deduct_setting:{
  191. is_open_coupon_deduct:0,
  192. is_open_score_deduct:0,
  193. score_deduct:{
  194. is_limit:0,
  195. limit_deduct_money:'',
  196. is_percentage:0,
  197. deduct_score_num:'',
  198. deduct_score_percentage:'',
  199. },
  200. },
  201. },
  202. coupon_list1:[],
  203. coupon_list2:[],
  204. basicFormRules:{},
  205. loading:false,
  206. submitLoading:false,
  207. formLabelWidth: '120px',
  208. };
  209. },
  210. mounted: function() {
  211. this.loadData();
  212. },
  213. methods: {
  214. loadData() {
  215. let self = this;
  216. request({
  217. params: {
  218. r: 'store/client/discount/index',
  219. },
  220. }).then(e => {
  221. self.loading = false;
  222. if (e.data.code === 0) {
  223. self.coupon_list1 = e.data.data.coupon_list1;
  224. self.coupon_list2 = e.data.data.coupon_list2;
  225. if(e.data.data.give_setting){
  226. self.basicForm.give_setting = e.data.data.give_setting;
  227. }
  228. if(e.data.data.deduct_setting) {
  229. self.basicForm.deduct_setting = e.data.data.deduct_setting;
  230. }
  231. } else {
  232. self.$message.error(e.data.msg);
  233. }
  234. }).catch(e => {
  235. self.$message.error('网络错误');
  236. });
  237. },
  238. submit(){
  239. request({
  240. params: {
  241. r: 'store/client/discount/index',
  242. },
  243. method: 'post',
  244. data: {
  245. form: this.basicForm
  246. }
  247. }).then(e => {
  248. this.loading = false;
  249. if (e.data.code === 0) {
  250. this.$message.success(e.data.msg);
  251. } else {
  252. this.$message.error(e.data.msg);
  253. }
  254. }).catch(e => {
  255. this.$message.error('网络错误');
  256. });
  257. },
  258. handleClick(tab, event){
  259. },
  260. handleChange1(value){
  261. this.coupon_list1.forEach(item=>{
  262. if(item.id==value){
  263. this.basicForm.give_setting.coupon_give.from_type1 =item.from_type
  264. return
  265. }
  266. })
  267. },
  268. handleChange2(value){
  269. this.coupon_list2.forEach(item=>{
  270. if(item.id==value){
  271. this.basicForm.give_setting.coupon_give.from_type2 =item.from_type
  272. return
  273. }
  274. })
  275. },
  276. },
  277. computed: {
  278. }
  279. });
  280. </script>
  281. <style>
  282. .el-tabs__header {
  283. font-size: 16px;
  284. }
  285. .table-body {
  286. padding: 20px;
  287. background-color: #fff;
  288. }
  289. .table-body .el-button {
  290. padding: 0 !important;
  291. border: 0;
  292. margin: 0 5px;
  293. }
  294. .input-item {
  295. width: 250px;
  296. margin: 0 0 20px;
  297. display: inline-block;
  298. }
  299. /*.input-item .el-input__inner {*/
  300. /* border-right: 0;*/
  301. /*}*/
  302. .input-item .el-input__inner:hover {
  303. border: 1px solid #dcdfe6;
  304. /*border-right: 0;*/
  305. outline: 0;
  306. }
  307. .input-item .el-input__inner:focus {
  308. border: 1px solid #dcdfe6;
  309. /*border-right: 0;*/
  310. outline: 0;
  311. }
  312. .input-item .el-input-group__append {
  313. background-color: #fff;
  314. border-left: 0;
  315. width: 10%;
  316. padding: 0;
  317. }
  318. .input-item .el-input-group__append .el-button {
  319. padding: 0;
  320. }
  321. .input-item .el-input-group__append .el-button {
  322. margin: 0;
  323. }
  324. .batch {
  325. margin: 0 0 20px;
  326. display: inline-block;
  327. }
  328. .batch .el-button {
  329. padding: 9px 15px !important;
  330. }
  331. .el-table th>.cell{
  332. color: #333;
  333. font-weight: bold;
  334. font-size: 14px;
  335. }
  336. .el-table__footer-wrapper, .el-table__header-wrapper{
  337. border-bottom: 1.4px solid #D6D6D6;
  338. }
  339. .el-table th>.cell {
  340. color: #333;
  341. font-weight: bold;
  342. font-size: 14px;
  343. }
  344. .table1 .el-table__footer-wrapper,
  345. .table1 .el-table__header-wrapper {
  346. border-bottom: 1.4px solid #D6D6D6;
  347. }
  348. .user_img{
  349. position: relative;
  350. margin-right: 8px;
  351. /* height: 50px;
  352. width: 50px; */
  353. }
  354. .default-avatar{
  355. width: 50px;
  356. height: 50px;
  357. border-radius: 50%;
  358. margin-right: 8px;
  359. }
  360. .uer-nickname {
  361. flex: 1;
  362. }
  363. .value_input .el-form-item__content{
  364. display: flex;
  365. }
  366. .value_input .el-input-group input{
  367. width: 58px;
  368. border-right: 0;
  369. }
  370. .value_input .el-input-group{
  371. display: flex;
  372. width: 100px;
  373. }
  374. .value_input .el-input-group__append{
  375. display: flex;
  376. align-items: center;
  377. justify-content: center;
  378. background: #FFF;
  379. }
  380. </style>