cashier_setting.blade.php 92 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544
  1. @extends('layouts.base')
  2. @section('title', trans('收银台设置'))
  3. @section('content')
  4. <link rel="stylesheet" href="{{resource_get('plugins/store-cashier/src/common/static/index.css')}}">
  5. <style>
  6. .el-tag1{line-height:60px !important;height: 60px !important;font-size:16px;}
  7. .el-form-item1 .el-form-item__label{line-height: 28px;}
  8. /* 导航 */
  9. .el-radio-button .el-radio-button__inner,.el-radio-button:first-child .el-radio-button__inner {border-radius: 4px 4px 4px 4px;border-left: 0px;}
  10. .el-radio-button__inner{border:0;}
  11. .el-radio-button:last-child .el-radio-button__inner {border-radius: 4px 4px 4px 4px;}
  12. </style>
  13. <div class="all">
  14. <div id="app" v-cloak>
  15. <div class="vue-crumbs">
  16. <a @click="goParent(1)">门店-收银台</a>
  17. >
  18. <a @click="goParent(2)">门店管理</a>
  19. > 收银台设置
  20. </div>
  21. <div class="vue-head">
  22. <el-radio-group v-model="order_type">
  23. <el-radio-button label="1" @click.native="goOther(1)">收银台设置</el-radio-button>
  24. <el-radio-button label="2" @click.native="goOther(2)">商品经营设置</el-radio-button>
  25. </el-radio-group>
  26. <el-tabs v-model="activeName" style="margin:10px 0;">
  27. <el-tab-pane v-for="(item,index) in tab_list" :key="index" v-if="item.show==1" :label="item.name" :name="item.value"></el-tab-pane>
  28. <!-- <el-tab-pane label="收银台结算规则" name="2"></el-tab-pane>
  29. <el-tab-pane label="收银台营销设置" name="3"></el-tab-pane>
  30. <el-tab-pane label="收银台分润设置" name="4"></el-tab-pane>
  31. <el-tab-pane label="收银台返现设置" name="5"></el-tab-pane>
  32. <el-tab-pane label="收银台数字资产设置" name="6"></el-tab-pane>
  33. <el-tab-pane label="收银台每日红包设置" name="7"></el-tab-pane>
  34. <el-tab-pane label="收银台共享连设置" name="8"></el-tab-pane> -->
  35. </el-tabs>
  36. </div>
  37. <el-form ref="form" :model="form" :rules="rules" label-width="15%">
  38. <div class="vue-main" v-show="activeName=='basic'">
  39. <div class="vue-main-title">
  40. <div class="vue-main-title-left"></div>
  41. <div class="vue-main-title-content">基础设置</div>
  42. </div>
  43. <div class="vue-main-form">
  44. <el-form-item label="是否开启收银台" prop="basic.is_open">
  45. <el-switch v-model="form.basic.is_open" :active-value="1" :inactive-value="0"></el-switch>
  46. </el-form-item>
  47. <el-form-item label="用户付款是否需要填写信息" prop="basic.is_write_information">
  48. <el-switch v-model="form.basic.is_write_information" :active-value="1" :inactive-value="0"></el-switch>
  49. </el-form-item>
  50. <!-- <el-form-item label="是否开启语音通知" prop="basic.face_pay">
  51. <el-switch v-model="form.basic.face_pay" :active-value="1" :inactive-value="0"></el-switch>
  52. </el-form-item> -->
  53. <el-form-item label="人脸支付" prop="basic.face_pay">
  54. <el-switch v-model="form.basic.face_pay" :active-value="1" :inactive-value="0"></el-switch>
  55. </el-form-item>
  56. </div>
  57. </div>
  58. <div class="vue-main" v-show="activeName=='settle'">
  59. <div class="vue-main-title">
  60. <div class="vue-main-title-left"></div>
  61. <div class="vue-main-title-content">收银台结算规则</div>
  62. </div>
  63. <div class="vue-main-form">
  64. <el-form-item label="">
  65. <el-tag type="warning" class="el-tag1">商城未开启相关支付则收银台支付设置无效, 前往商城支付设置</el-tag>
  66. </el-form-item>
  67. <el-form-item label="平台提成比例" prop="settle.shop_commission">
  68. <el-input v-model="form.settle.shop_commission" style="width:70%;">
  69. <template slot="append">%</template>
  70. </el-input>
  71. </el-form-item>
  72. <el-form-item label="结算期" prop="settle.settlement_day">
  73. <el-input v-model="form.settle.settlement_day" style="width:70%;">
  74. <template slot="append">天</template>
  75. </el-input>
  76. </el-form-item>
  77. <el-form-item prop="name" class="el-form-item1" v-if="form.settle.no_profit_sharing_show">
  78. <span slot="label">微信分账独立设置<br>是否关闭分账</span>
  79. <el-switch v-model="form.settle.no_profit_sharing" :active-value="1" :inactive-value="0"></el-switch>
  80. <div class="tip">收银台和门店统一在这里设置</div>
  81. </el-form-item>
  82. <el-form-item prop="name" class="el-form-item1" v-if="form.settle.no_authorized_royalty_show">
  83. <span slot="label">支付宝分账独立设置<br>是否关闭分账</span>
  84. <el-switch v-model="form.settle.no_authorized_royalty" :active-value="1" :inactive-value="0"></el-switch>
  85. <div class="tip">收银台和门店统一在这里设置</div>
  86. </el-form-item>
  87. <el-form-item label="微信支付" prop="wechatPay">
  88. <el-switch v-model="form.settle.wechatPay" :active-value="1" :inactive-value="0"></el-switch>
  89. </el-form-item>
  90. <el-form-item label="支付宝支付" prop="alipay">
  91. <el-switch v-model="form.settle.alipay" :active-value="1" :inactive-value="0"></el-switch>
  92. </el-form-item>
  93. <el-form-item label="支付宝支付(服务商)" prop="AlipayJsapi">
  94. <el-switch v-model="form.settle.AlipayJsapi" :active-value="1" :inactive-value="0"></el-switch>
  95. </el-form-item>
  96. <el-form-item label="微信支付(服务商)" prop="WechatJsapi">
  97. <el-switch v-model="form.settle.WechatJsapi" :active-value="1" :inactive-value="0"></el-switch>
  98. </el-form-item>
  99. <el-form-item label="余额支付" prop="balance">
  100. <el-switch v-model="form.settle.balance" :active-value="1" :inactive-value="0"></el-switch>
  101. </el-form-item>
  102. <el-form-item label="易宝支付" prop="settle.yopPay" v-if="form.settle.yopPay_show">
  103. <el-switch v-model="form.settle.yopPay" :active-value="1" :inactive-value="0"></el-switch>
  104. </el-form-item>
  105. <!-- 汇聚支付 -->
  106. <div v-if="form.settle.convergePay_show">
  107. <el-form-item label="汇聚微信支付" prop="settle.convergePayWechat">
  108. <el-switch v-model="form.settle.convergePayWechat" :active-value="0" :inactive-value="1"></el-switch>
  109. </el-form-item>
  110. <el-form-item label="汇聚支付宝支付" prop="settle.convergePayAlipay">
  111. <el-switch v-model="form.settle.convergePayAlipay" :active-value="0" :inactive-value="1"></el-switch>
  112. </el-form-item>
  113. <el-form-item label="汇聚快捷支付" prop="settle.convergeQuickPay">
  114. <el-switch v-model="form.settle.convergeQuickPay" :active-value="0" :inactive-value="1"></el-switch>
  115. </el-form-item>
  116. </div>
  117. <el-form-item label="现金支付" prop="settle.is_cash_pay">
  118. <el-switch v-model="form.settle.is_cash_pay" :active-value="1" :inactive-value="0"></el-switch>
  119. </el-form-item>
  120. </div>
  121. </div>
  122. <div v-show="activeName=='market'">
  123. <!-- 积分设置 -->
  124. <div class="vue-head">
  125. <div class="vue-main-title">
  126. <div class="vue-main-title-left"></div>
  127. <div class="vue-main-title-content">积分设置</div>
  128. </div>
  129. <div class="vue-main-form">
  130. <el-form-item label="积分抵扣" prop="market.point.max_point_deduct_type">
  131. <el-radio v-model="form.market.point.max_point_deduct_type" :label="1">百分比</el-radio>
  132. <el-radio v-model="form.market.point.max_point_deduct_type" :label="2">固定金额</el-radio>
  133. </el-form-item>
  134. <el-form-item label="积分最高抵扣" prop="market.point.max_point_deduct">
  135. <el-input v-model="form.market.point.max_point_deduct" style="width:70%;">
  136. <template slot="append">[[form.market.point.max_point_deduct_type==1?'%':'元']]</template>
  137. </el-input>
  138. </el-form-item>
  139. <el-form-item label="积分最少抵扣" prop="market.point.min_point_deduct">
  140. <el-input v-model="form.market.point.min_point_deduct" style="width:70%;">
  141. <template slot="append">[[form.market.point.max_point_deduct_type==1?'%':'元']]</template>
  142. </el-input>
  143. </el-form-item>
  144. <el-form-item label="会员奖励积分" prop="market.point.reward_point">
  145. <el-input v-model="form.market.point.reward_point" style="width:70%;">
  146. <template slot="append">%</template>
  147. </el-input>
  148. </el-form-item>
  149. <el-form-item label="奖励商家积分" prop="market.point.shop_award_point">
  150. <el-input v-model="form.market.point.shop_award_point" style="width:70%;">
  151. <template slot="append">%</template>
  152. </el-input>
  153. </el-form-item>
  154. <el-form-item label="一级商家奖励积分" prop="market.point.shop_award_point1">
  155. <el-input v-model="form.market.point.shop_award_point1" style="width:70%;">
  156. <template slot="append">%</template>
  157. </el-input>
  158. </el-form-item>
  159. <el-form-item label="二级商家奖励积分" prop="market.point.shop_award_point2">
  160. <el-input v-model="form.market.point.shop_award_point2" style="width:70%;">
  161. <template slot="append">%</template>
  162. </el-input>
  163. </el-form-item>
  164. </div>
  165. </div>
  166. <!-- 积分设置 -->
  167. <!-- 爱心值设置 -->
  168. <div class="vue-head" v-if="form.market.love.love_show">
  169. <div class="vue-main-title">
  170. <div class="vue-main-title-left"></div>
  171. <div class="vue-main-title-content">[[love_name]]设置</div>
  172. </div>
  173. <div class="vue-main-form">
  174. <el-form-item :label="`是否开启${love_name}抵扣`" prop="market.love.deduction">
  175. <el-switch v-model="form.market.love.deduction" :active-value="1" :inactive-value="0"></el-switch>
  176. </el-form-item>
  177. <el-form-item :label="`${love_name}抵扣`" prop="market.love.deduction_proportion_type">
  178. <el-radio v-model="form.market.love.deduction_proportion_type" :label="1">百分比</el-radio>
  179. <el-radio v-model="form.market.love.deduction_proportion_type" :label="2">固定金额</el-radio>
  180. </el-form-item>
  181. <el-form-item :label="`${love_name}最高抵扣`" prop="market.love.deduction_proportion">
  182. <el-input v-model="form.market.love.deduction_proportion" style="width:70%;">
  183. <template slot="append">[[form.market.love.deduction_proportion_type==1?'%':'元']]</template>
  184. </el-input>
  185. </el-form-item>
  186. <el-form-item :label="`${love_name}最低抵扣`" prop="market.love.deduction_proportion_low">
  187. <el-input v-model="form.market.love.deduction_proportion_low" style="width:70%;">
  188. <template slot="append">[[form.market.love.deduction_proportion_type==1?'%':'元']]</template>
  189. </el-input>
  190. </el-form-item>
  191. <el-form-item :label="`是否开启${love_name}奖励`" prop="market.love.award">
  192. <el-switch v-model="form.market.love.award" :active-value="1" :inactive-value="0"></el-switch>
  193. </el-form-item>
  194. <el-form-item :label="`会员奖励${love_name}`" prop="market.love.award_proportion">
  195. <el-input v-model="form.market.love.award_proportion" style="width:70%;">
  196. <template slot="append">%</template>
  197. </el-input>
  198. </el-form-item>
  199. <el-form-item :label="`是否开启上级${love_name}奖励`" prop="market.love.parent_award">
  200. <el-switch v-model="form.market.love.parent_award" :active-value="1" :inactive-value="0"></el-switch>
  201. </el-form-item>
  202. <el-form-item :label="`一级会员奖励${love_name}`" prop="market.love.parent_award_proportion">
  203. <el-input v-model="form.market.love.parent_award_proportion" style="width:70%;">
  204. <template slot="append">%</template>
  205. </el-input>
  206. </el-form-item>
  207. <el-form-item :label="`二级会员奖励${love_name}`" prop="market.love.second_award_proportion">
  208. <el-input v-model="form.market.love.second_award_proportion" style="width:70%;">
  209. <template slot="append">%</template>
  210. </el-input>
  211. </el-form-item>
  212. <el-form-item :label="`商家奖励${love_name}`" prop="market.love.award_shop">
  213. <el-input v-model="form.market.love.award_shop" style="width:70%;">
  214. <template slot="append">%</template>
  215. </el-input>
  216. </el-form-item>
  217. <el-form-item :label="`一级商家奖励${love_name}`" prop="market.love.award_shop1">
  218. <el-input v-model="form.market.love.award_shop1" style="width:70%;">
  219. <template slot="append">%</template>
  220. </el-input>
  221. </el-form-item>
  222. <el-form-item :label="`二级商家奖励${love_name}`" prop="market.love.award_shop2">
  223. <el-input v-model="form.market.love.award_shop2" style="width:70%;">
  224. <template slot="append">%</template>
  225. </el-input>
  226. </el-form-item>
  227. </div>
  228. </div>
  229. <!-- 爱心值设置 -->
  230. <!-- 余额设置 -->
  231. <div class="vue-head">
  232. <div class="vue-main-title">
  233. <div class="vue-main-title-left"></div>
  234. <div class="vue-main-title-content">余额设置</div>
  235. </div>
  236. <div class="vue-main-form">
  237. <el-form-item label="赠送余额" prop="market.balance.pay_reward">
  238. <el-input v-model="form.market.balance.pay_reward" style="width:70%;">
  239. <template slot="append">余额</template>
  240. <div class="tip">如果设置为0,则不赠送</div>
  241. <div class="tip">如果设置为10余额,则支付后获得10余额</div>
  242. <div class="tip">如果设置为10%余额,支付100,则支付后获得10余额</div>
  243. </el-input>
  244. </el-form-item>
  245. </div>
  246. </div>
  247. <!-- 余额设置 -->
  248. <!-- 会员折扣设置 -->
  249. <div class="vue-head">
  250. <div class="vue-main-title">
  251. <div class="vue-main-title-left"></div>
  252. <div class="vue-main-title-content">会员折扣设置</div>
  253. </div>
  254. <div class="vue-main-form">
  255. <el-form-item label="是否开启会员折扣" prop="market.is_open_member_discount">
  256. <el-switch v-model="form.market.is_open_member_discount" :active-value="0" :inactive-value="1"></el-switch>
  257. </el-form-item>
  258. <el-form-item v-for="(item,index) in form.market.member" :key="index" :label="item.level_name" prop="market.member.pay_reward">
  259. <el-input v-model="form.market.member[index].level_discount" style="width:70%;">
  260. <template slot="append">折</template>
  261. </el-input>
  262. </el-form-item>
  263. <!-- <el-form-item label="VIP" prop="market.member.pay_reward">
  264. <el-input v-model="form.market.member.pay_reward" style="width:70%;">
  265. <template slot="append">折</template>
  266. </el-input>
  267. </el-form-item> -->
  268. </div>
  269. </div>
  270. <!-- 会员折扣设置 -->
  271. <!-- 优惠券设置 -->
  272. <div class="vue-head">
  273. <div class="vue-main-title">
  274. <div class="vue-main-title-left"></div>
  275. <div class="vue-main-title-content">优惠券设置</div>
  276. </div>
  277. <div class="vue-main-form">
  278. <el-form-item label="赠送优惠券" prop="">
  279. <!-- 优惠券回显 -->
  280. <div>
  281. <el-tag v-for="(tag,index) in form.market.coupon" :key="index" closable @close="delCoupon(index)" style="margin-right:5px;">
  282. [[tag.name]]
  283. </el-tag>
  284. </div>
  285. <el-button size="mini" @click="openCoupon">选择优惠券</el-button>
  286. </el-form-item>
  287. </div>
  288. </div>
  289. <!-- 优惠券设置 -->
  290. <!-- 其他设置 -->
  291. <div class="vue-head">
  292. <div class="vue-main-title">
  293. <div class="vue-main-title-left"></div>
  294. <div class="vue-main-title-content">其他设置</div>
  295. </div>
  296. <div class="vue-main-form">
  297. <el-form-item label="会员每天最多下单多少次" prop="market.other.day_buy_limit">
  298. <el-input v-model="form.market.other.day_buy_limit" style="width:70%;">
  299. <template slot="append">次</template>
  300. </el-input>
  301. </el-form-item>
  302. <el-form-item label="每次最低消费多少金额" prop="market.other.every_min_money">
  303. <el-input v-model="form.market.other.every_min_money" style="width:70%;">
  304. <template slot="append">元</template>
  305. </el-input>
  306. </el-form-item>
  307. </div>
  308. </div>
  309. <!-- 其他设置 -->
  310. </div>
  311. <!-- 分润 -->
  312. <div v-show="activeName=='profit'">
  313. <!-- 分销设置 -->
  314. <div class="vue-head" v-if="form.profit.commission.is_show">
  315. <div class="vue-main-title">
  316. <div class="vue-main-title-left"></div>
  317. <div class="vue-main-title-content">分销设置</div>
  318. </div>
  319. <div class="vue-main-form">
  320. <el-form-item label="是否开启分销" prop="profit.commission.is_commission">
  321. <el-switch v-model="form.profit.commission.is_commission" :active-value="1" :inactive-value="0"></el-switch>
  322. </el-form-item>
  323. <el-form-item label="分销" prop="">
  324. <table class="el-table" style="width:90%">
  325. <tr style="border-bottom:1px solid #EBEEF5">
  326. <th style="width:120px;padding-top:0">等级名称</th>
  327. <th style="padding-top:0">一级分销</th>
  328. <th style="padding-top:0">二级分销</th>
  329. </tr>
  330. <tr v-for="(item,index) in form.profit.commission.level">
  331. <td>
  332. [[item.level_name]]
  333. </td>
  334. <td>
  335. <el-input v-model="item.first_level_rate" style="width:80%">
  336. <template slot="append">%</template>
  337. </el-input>
  338. </td>
  339. <td>
  340. <el-input v-model="item.second_level_rate" style="width:80%">
  341. <template slot="append">%</template>
  342. </el-input>
  343. </td>
  344. </tr>
  345. </table>
  346. </el-form-item>
  347. </div>
  348. </div>
  349. <!-- 分销设置 -->
  350. <!-- 经销商设置 -->
  351. <div class="vue-head" v-if="form.profit.team_dividend.is_show">
  352. <div class="vue-main-title">
  353. <div class="vue-main-title-left"></div>
  354. <div class="vue-main-title-content">经销商设置</div>
  355. </div>
  356. <div class="vue-main-form">
  357. <el-form-item label="是否开启经销商" prop="profit.team_dividend.is_dividend">
  358. <el-switch v-model="form.profit.team_dividend.is_dividend" :active-value="1" :inactive-value="0"></el-switch>
  359. </el-form-item>
  360. <el-form-item label="经销商提成" prop="profit.team_dividend.has_dividend_rate">
  361. <el-input v-model="form.profit.team_dividend.has_dividend_rate" style="width:70%;">
  362. <template slot="append">%</template>
  363. </el-input>
  364. </el-form-item>
  365. </div>
  366. </div>
  367. <!-- 经销商设置 -->
  368. <!-- 区域分红设置 -->
  369. <div class="vue-head" v-if="form.profit.area_dividend.is_show">
  370. <div class="vue-main-title">
  371. <div class="vue-main-title-left"></div>
  372. <div class="vue-main-title-content">区域分红设置</div>
  373. </div>
  374. <div class="vue-main-form">
  375. <el-form-item label="是否开启区域分红" prop="profit.area_dividend.is_dividend">
  376. <el-switch v-model="form.profit.area_dividend.is_dividend" :active-value="1" :inactive-value="0"></el-switch>
  377. </el-form-item>
  378. <el-form-item label="区域分红" prop="profit.area_dividend.has_dividend_rate">
  379. <el-input v-model="form.profit.area_dividend.has_dividend_rate" style="width:70%;">
  380. <template slot="append">%</template>
  381. </el-input>
  382. </el-form-item>
  383. </div>
  384. </div>
  385. <!-- 区域分红设置 -->
  386. <!-- 股东分红设置 -->
  387. <div class="vue-head" v-if="form.profit.shareholder_dividend.is_show">
  388. <div class="vue-main-title">
  389. <div class="vue-main-title-left"></div>
  390. <div class="vue-main-title-content">股东分红设置</div>
  391. </div>
  392. <div class="vue-main-form">
  393. <el-form-item label="是否计入股东分红" prop="profit.shareholder_dividend.is_no_count">
  394. <el-switch v-model="form.profit.shareholder_dividend.is_no_count" :active-value="0" :inactive-value="1"></el-switch>
  395. </el-form-item>
  396. <!-- <el-form-item label="区域分红" prop="name">
  397. <el-input v-model="form.name" style="width:70%;">
  398. <template slot="append">%</template>
  399. </el-input>
  400. </el-form-item> -->
  401. </div>
  402. </div>
  403. <!-- 股东分红设置 -->
  404. <!-- 招商设置 -->
  405. <div class="vue-head" v-if="form.profit.merchant.is_show">
  406. <div class="vue-main-title">
  407. <div class="vue-main-title-left"></div>
  408. <div class="vue-main-title-content">招商设置</div>
  409. </div>
  410. <div class="vue-main-form">
  411. <el-form-item label="是否开启招商员分红" prop="profit.merchant.is_open_bonus_staff">
  412. <el-switch v-model="form.profit.merchant.is_open_bonus_staff" :active-value="1" :inactive-value="0"></el-switch>
  413. </el-form-item>
  414. <el-form-item label="招商员独立分红" prop="profit.merchant.staff_bonus">
  415. <el-input v-model="form.profit.merchant.staff_bonus" style="width:70%;">
  416. <template slot="append">%</template>
  417. </el-input>
  418. </el-form-item>
  419. <!-- 循环 -->
  420. <el-form-item label="招商员等级独立分红" prop="">
  421. <el-input v-for="(item,index) in form.profit.merchant.staff" :key="index" v-model="item.level_rate" style="width:70%;margin-bottom:5px">
  422. <template slot="prepend">[[item.level_name]]</template>
  423. <template slot="append">%</template>
  424. </el-input>
  425. </el-form-item>
  426. <el-form-item label="是否开启招商中心分红" prop="profit.merchant.is_open_bonus_center">
  427. <el-switch v-model="form.profit.merchant.is_open_bonus_center" :active-value="1" :inactive-value="0"></el-switch>
  428. </el-form-item>
  429. <!-- 循环 -->
  430. <el-form-item label="招商中心等级独立分红" prop="">
  431. <el-input v-for="(item,index) in form.profit.merchant.center" :key="index" v-model="item.level_rate" style="width:70%;margin-bottom:5px">
  432. <template slot="prepend">[[item.level_name]]</template>
  433. <template slot="append">%</template>
  434. </el-input>
  435. </el-form-item>
  436. </div>
  437. </div>
  438. <!-- 招商设置 -->
  439. </div>
  440. <!-- 分润 -->
  441. <!-- 返现 -->
  442. <div class="vue-main" v-show="activeName=='return'">
  443. <div class="vue-main-title">
  444. <div class="vue-main-title-left"></div>
  445. <div class="vue-main-title-content">消费赠送设置</div>
  446. </div>
  447. <div class="vue-main-form">
  448. <el-form-item v-if="form.return.return_show" label="消费赠送" prop="return.return_rate">
  449. <el-input v-model="form.return.return_rate" style="width:70%;">
  450. <template slot="append">%</template>
  451. </el-input>
  452. </el-form-item>
  453. <el-form-item v-if="form.return['full_return_show']" label="消费满额赠送" prop="return['full-return_open']">
  454. <el-switch v-model="form.return['full-return_open']" :active-value="1" :inactive-value="0"></el-switch>
  455. </el-form-item>
  456. <el-form-item v-if="form.return['full-consume_show']" label="消费返现" prop="return['full-consume_open']">
  457. <el-switch v-model="form.return['full-consume_open']" :active-value="1" :inactive-value="0"></el-switch>
  458. </el-form-item>
  459. </div>
  460. </div>
  461. <!-- 返现 -->
  462. <!-- 数字资产设置 -->
  463. <div class="vue-main" v-show="activeName=='asset'">
  464. <div class="vue-main-title">
  465. <div class="vue-main-title-left"></div>
  466. <div class="vue-main-title-content">数字资产设置</div>
  467. </div>
  468. <div class="vue-main-form">
  469. <el-form-item label="关联资产" prop="asset.asset_check_id">
  470. <el-select v-model="form.asset.asset_check_id" clearable placeholder="请选择关联资产" style="width:70%">
  471. <el-option v-for="(item,index) in form.asset.asset_list" :key="index" :label="item.name" :value="item.id"></el-option>
  472. </el-select>
  473. </el-form-item>
  474. <el-form-item label="收银台数字资产分红比例" prop="asset.consumption_rate">
  475. <el-input v-model="form.asset.consumption_rate" style="width:70%;">
  476. <template slot="append">%</template>
  477. </el-input>
  478. <div class="tip">提取比例不填或者填0默认走数字资产全局设置</div>
  479. </el-form-item>
  480. </div>
  481. </div>
  482. <!-- 数字资产设置 -->
  483. <!-- 每日红包设置 -->
  484. <div class="vue-main" v-show="activeName=='red-packet'">
  485. <div class="vue-main-title">
  486. <div class="vue-main-title-left"></div>
  487. <div class="vue-main-title-content">每日红包设置</div>
  488. </div>
  489. <div class="vue-main-form">
  490. <el-form-item label="每日红包独立计算规则" prop="red_packet.is_cashier">
  491. <el-switch v-model="form.red_packet['is_cashier']" :active-value="1" :inactive-value="0"></el-switch>
  492. </el-form-item>
  493. <el-form-item label="红包总额比例" prop="red_packet.cashier_proportion">
  494. <el-input v-model="form.red_packet['cashier_proportion']" style="width:70%;">
  495. <template slot="append">%</template>
  496. </el-input>
  497. </el-form-item>
  498. <el-form-item label="消费获得红包额度百分比" prop="red_packet.cashier_scale">
  499. <el-input v-model="form.red_packet['cashier_scale']" style="width:70%;">
  500. <template slot="append">%</template>
  501. </el-input>
  502. </el-form-item>
  503. </div>
  504. </div>
  505. <!-- 每日红包设置 -->
  506. <!-- 共享链设置 -->
  507. <div v-show="activeName=='share-chain'">
  508. <!-- 基础设置 -->
  509. <div class="vue-head">
  510. <div class="vue-main-title">
  511. <div class="vue-main-title-left"></div>
  512. <div class="vue-main-title-content">基础设置</div>
  513. </div>
  514. <div class="vue-main-form">
  515. <el-form-item label="共享链" prop="share_chain.is_open">
  516. <el-switch v-model="form.share_chain.is_open" :active-value="1" :inactive-value="0"></el-switch>
  517. </el-form-item>
  518. <el-form-item label="提取比例" prop="share_chain.award_ratio">
  519. <el-input v-model="form.share_chain.award_ratio" style="width:70%;" placeholder="请输入提取比例">
  520. <template slot="append">%</template>
  521. </el-input>
  522. </el-form-item>
  523. </div>
  524. </div>
  525. <!-- 基础设置 -->
  526. <!-- 奖励权益设置 -->
  527. <div class="vue-head">
  528. <div class="vue-main-title">
  529. <div class="vue-main-title-left"></div>
  530. <div class="vue-main-title-content">奖励权益设置</div>
  531. </div>
  532. <div class="vue-main-form">
  533. <el-form-item label="默认奖励权益" prop="share_chain.award_rights">
  534. <el-input v-model="form.share_chain.award_rights" style="width:70%;" placeholder="请输入默认奖励权益">
  535. <template slot="append">%</template>
  536. </el-input>
  537. </el-form-item>
  538. <el-form-item label="抽奖-奖励权益" prop="share_chain.lucky_draw_type">
  539. <el-radio v-model="form.share_chain.lucky_draw_type" :label="0">固定比例</el-radio>
  540. <el-radio v-model="form.share_chain.lucky_draw_type" :label="1">区间比例</el-radio>
  541. </el-form-item>
  542. <el-form-item v-if="!form.share_chain.lucky_draw_type" label="固定比例" prop="share_chain.fixed_award_ratio">
  543. <el-input v-model="form.share_chain.fixed_award_ratio" style="width:70%;" placeholder="请输入固定比例">
  544. <template slot="append">%</template>
  545. </el-input>
  546. <div class="tip">请填写多个数值,每个数值以英文逗号隔开,如10,50,60</div>
  547. </el-form-item>
  548. <el-form-item v-else label="区间比例" prop="share_chain.section_award_ratio_start">
  549. <el-input v-model="form.share_chain.section_award_ratio_start" style="width:35%;" placeholder="请输入比例">
  550. <template slot="append">%</template>
  551. </el-input>
  552. <span style="font-weight:600">至</span>
  553. <el-input v-model="form.share_chain.section_award_ratio_end" style="width:35%;" placeholder="请输入比例">
  554. <template slot="append">%</template>
  555. </el-input>
  556. </el-form-item>
  557. <el-form-item label="按订单累计金额奖励" prop="">
  558. <el-tag type="warning" class="el-tag1">门店共享链按订单累计金额奖励指消费者在该门店购买商品订单累计金额,每个门店单独计算</el-tag>
  559. <div style="margin:5px 0;display:flex" v-for="(item,index) in form.share_chain.award_ladder">
  560. <el-input v-model="item.days" placeholder="天数" size="small" style="width:23.33%">
  561. <template slot="prepend">天数</template>
  562. <template slot="append">天</template>
  563. </el-input>
  564. <el-input v-model="item.money" placeholder="金额" size="small" style="width:23.33%">
  565. <template slot="prepend">累计金额满</template>
  566. <template slot="append">元</template>
  567. </el-input>
  568. <el-input v-model="item.ratio" placeholder="百分比" size="small" style="width:23.33%">
  569. <template slot="prepend">奖励权益</template>
  570. <template slot="append">元</template>
  571. </el-input>
  572. <el-button size="small" @click="delRule(index)">删除</el-button>
  573. </div>
  574. </el-form-item>
  575. <el-form-item label="增加奖励规则" prop="">
  576. <el-button @click="addRule">添加</el-button>
  577. </el-form-item>
  578. <el-form-item label="会员等级奖励" prop="">
  579. <!-- 循环 -->
  580. <el-input v-for="(item,index) in form.share_chain.member_levels" :key="index" v-model="item.radio" style="width:70%;margin-bottom:5px" placeholder="比例">
  581. <template slot="prepend">[[item.level_name]]</template>
  582. <template slot="append">%</template>
  583. </el-input>
  584. <!-- <div class="tip">请填写多个数值,每个数值以英文逗号隔开,如10,50,60</div> -->
  585. </el-form-item>
  586. </div>
  587. </div>
  588. <!-- 奖励权益设置 -->
  589. <!-- 奖励限制设置 -->
  590. <div class="vue-head">
  591. <div class="vue-main-title">
  592. <div class="vue-main-title-left"></div>
  593. <div class="vue-main-title-content">奖励限制设置</div>
  594. </div>
  595. <div class="vue-main-form">
  596. <el-form-item label="奖励时间段限制" prop="">
  597. <el-time-select v-model="form.share_chain.start_time" style="width:35%" :picker-options="{start: '00:00',step: '00:15',end: '23:45'}" placeholder="请选择起始时间"></el-time-select>
  598. <el-time-select v-model="form.share_chain.end_time" style="width:35%" :picker-options="{start: '00:00',step: '00:15',end: '23:45'}" placeholder="请选择结束时间"></el-time-select>
  599. <div class="tip">设置后,只有在该时间段购买才能获得奖励权益</div>
  600. </el-form-item>
  601. <el-form-item label="奖励限制" prop="share_chain.everyone_everyday_award_num">
  602. <el-input v-model="form.share_chain.everyone_everyday_award_num" style="width:70%;">
  603. <template slot="prepend">每人每天奖励限制</template>
  604. <template slot="append">次</template>
  605. </el-input>
  606. </el-form-item>
  607. <el-form-item label="奖励限制" prop="share_chain.everyone_award_total">
  608. <el-input v-model="form.share_chain.everyone_award_total" style="width:70%;">
  609. <template slot="prepend">每人总奖励限制</template>
  610. <template slot="append">次</template>
  611. </el-input>
  612. </el-form-item>
  613. </div>
  614. </div>
  615. <!-- 奖励限制设置 -->
  616. <!-- 随机返设置 -->
  617. <div class="vue-head">
  618. <div class="vue-main-title">
  619. <div class="vue-main-title-left"></div>
  620. <div class="vue-main-title-content">随机返设置</div>
  621. </div>
  622. <div class="vue-main-form">
  623. <el-form-item label="开启随机返" prop="share_chain.random_return_is_open">
  624. <el-switch v-model="form.share_chain.random_return_is_open" :active-value="1" :inactive-value="0"></el-switch>
  625. </el-form-item>
  626. <el-form-item label="每组人数" prop="share_chain.diy_total">
  627. <el-input v-model="form.share_chain.diy_total" style="width:70%;" placeholder="请填写数值">
  628. <template slot="append">人/组</template>
  629. </el-input>
  630. <div class="tip">每组人数应=每组返现金人数+每组返积分人数</div>
  631. </el-form-item>
  632. <el-form-item label="每组返现金人数" prop="share_chain.cash_total">
  633. <el-input v-model="form.share_chain.cash_total" style="width:70%;" placeholder="请填写数值">
  634. <template slot="append">人/组</template>
  635. </el-input>
  636. </el-form-item>
  637. <el-form-item label="每组返积分人数" prop="share_chain.point_total">
  638. <el-input v-model="form.share_chain.point_total" style="width:70%;" placeholder="请填写数值">
  639. <template slot="append">人/组</template>
  640. </el-input>
  641. </el-form-item>
  642. </div>
  643. </div>
  644. <!-- 随机返设置 -->
  645. </div>
  646. <!-- 共享链设置 -->
  647. <!-- 队列设置 -->
  648. <div v-show="activeName=='diy-queue'">
  649. <!-- 基础设置 -->
  650. <div class="vue-head">
  651. <div class="vue-main-title">
  652. <div class="vue-main-title-left"></div>
  653. <div class="vue-main-title-content">基础设置</div>
  654. </div>
  655. <div class="vue-main-form">
  656. <el-form-item :label="form.diy_queue.queue_name" prop="diy_queue.is_open">
  657. <el-switch v-model="form.diy_queue.is_open" :active-value="1" :inactive-value="0"></el-switch>
  658. </el-form-item>
  659. <el-form-item label="独立规则" prop="diy_queue.is_independent">
  660. <el-switch v-model="form.diy_queue.is_independent" :active-value="1" :inactive-value="0"></el-switch>
  661. </el-form-item>
  662. <el-form-item label="提取比例" prop="diy_queue.extract_ratio">
  663. <el-input v-model="form.diy_queue.extract_ratio" style="width:70%;" placeholder="请输入提取比例">
  664. <template slot="append">%</template>
  665. </el-input>
  666. </el-form-item>
  667. </div>
  668. </div>
  669. <!-- 基础设置 -->
  670. <!-- 奖励权益设置 -->
  671. <div class="vue-head">
  672. <div class="vue-main-title">
  673. <div class="vue-main-title-left"></div>
  674. <div class="vue-main-title-content">奖励权益设置</div>
  675. </div>
  676. <div class="vue-main-form">
  677. <el-form-item label="会员等级-奖励权益" prop="diy_queue.member_level.sort">
  678. <el-input v-model="form.diy_queue.member_level.sort" style="width:70%;" placeholder="排序">
  679. <template slot="prepend">
  680. <div>
  681. <el-checkbox v-model.number="form.diy_queue.member_level.switch" :true-label="1" :false-label="0"></el-checkbox>
  682. </div>
  683. </template>
  684. </el-input>
  685. </el-form-item>
  686. <el-form-item label="" prop="">
  687. <!-- 循环等级 -->
  688. <div style="width:70%">
  689. <el-input v-model="item.level" v-for="(item,index) in form.diy_queue.member_level.level" :key="index" style="width:49%;margin:0 1% 10px 0;" placeholder="请输入固定比例">
  690. <template slot="prepend">
  691. <div>
  692. <el-checkbox v-model.number="item.switch" :true-label="1" :false-label="0"></el-checkbox>
  693. [[item.name]]
  694. </div>
  695. </template>
  696. <template slot="append">%</template>
  697. </el-input>
  698. </div>
  699. </el-form-item>
  700. <el-form-item label="时间段-奖励权益" prop="diy_queue.time.sort">
  701. <el-input v-model="form.diy_queue.time.sort" style="width:70%;" placeholder="排序">
  702. <template slot="prepend">
  703. <div>
  704. <el-checkbox v-model.number="form.diy_queue.time.switch" :true-label="1" :false-label="0"></el-checkbox>
  705. </div>
  706. </template>
  707. </el-input>
  708. </el-form-item>
  709. <!-- 循环时间 -->
  710. <div style="margin-top:50px;" v-for="(item,index) in form.diy_queue.time.many" :key="index">
  711. <el-form-item label="" prop="">
  712. <el-time-picker v-model="item.hours_start" value-format="HH:mm" placeholder="请选择开始时间" style="width:35%"></el-time-picker>
  713. <el-time-picker v-model="item.hours_end" value-format="HH:mm" placeholder="请选择结束时间" style="width:35%"></el-time-picker>
  714. </el-form-item>
  715. <el-form-item label="" prop="">
  716. <el-input v-model="item.limit.people_num.people_num" style="width:70%;" placeholder="消费会员前N人">
  717. <template slot="prepend">
  718. <div>
  719. <el-checkbox v-model.number="item.limit.people_num.switch" :true-label="1" :false-label="0"></el-checkbox>
  720. </div>
  721. </template>
  722. <template slot="append">人</template>
  723. </el-input>
  724. </el-form-item>
  725. <el-form-item label="" prop="">
  726. <el-input v-model="item.limit.buy_num.buy_num" style="width:70%;" placeholder="会员只能获得N次">
  727. <template slot="prepend">
  728. <div>
  729. <el-checkbox v-model.number="item.limit.buy_num.switch" :true-label="1" :false-label="0"></el-checkbox>
  730. </div>
  731. </template>
  732. <template slot="append">次</template>
  733. </el-input>
  734. </el-form-item>
  735. <el-form-item label="" prop="">
  736. <el-input v-model="item.limit.buy_money.buy_money" style="width:70%;" placeholder="消费金额超过N元">
  737. <template slot="prepend">
  738. <div>
  739. <el-checkbox v-model.number="item.limit.buy_money.switch" :true-label="1" :false-label="0"></el-checkbox>
  740. </div>
  741. </template>
  742. <template slot="append">元</template>
  743. </el-input>
  744. </el-form-item>
  745. <el-form-item label="" prop="">
  746. <el-input v-model="item.limit.time_in_ratio" style="width:70%;" placeholder="">
  747. <template slot="prepend">时间段内</template>
  748. <template slot="append">%</template>
  749. </el-input>
  750. <el-button type="danger" icon="el-icon-delete" @click="delTimeQueue(index)" v-if="index!=0"></el-button>
  751. </el-form-item>
  752. </div>
  753. <el-form-item label="" prop="">
  754. <el-button icon="el-icon-plus" plain type="primary" @click="addTimeQueue">添加时间</el-button>
  755. </el-form-item>
  756. <el-form-item label="" prop="diy_queue.time.time_out_ratio">
  757. <el-input v-model="form.diy_queue.time.time_out_ratio" style="width:70%;" placeholder="">
  758. <template slot="prepend">时间段外</template>
  759. <template slot="append">%</template>
  760. </el-input>
  761. </el-form-item>
  762. </div>
  763. </div>
  764. <!-- 奖励权益设置 -->
  765. <!-- 限制设置 -->
  766. <div class="vue-head">
  767. <div class="vue-main-title">
  768. <div class="vue-main-title-left"></div>
  769. <div class="vue-main-title-content">限制设置</div>
  770. </div>
  771. <div class="vue-main-form">
  772. <el-form-item label="" prop="diy_queue.limit.people_num.people_num">
  773. <el-input v-model="form.diy_queue.limit.people_num.people_num" style="width:70%;" placeholder="消费会员前N人">
  774. <template slot="prepend">
  775. <div>
  776. <el-checkbox v-model.number="form.diy_queue.limit.people_num.switch" :true-label="1" :false-label="0"></el-checkbox>
  777. </div>
  778. </template>
  779. <template slot="append">人</template>
  780. </el-input>
  781. </el-form-item>
  782. <el-form-item label="" prop="diy_queue.limit.buy_num.buy_num">
  783. <el-input v-model="form.diy_queue.limit.buy_num.buy_num" style="width:70%;" placeholder="会员只能获得N次">
  784. <template slot="prepend">
  785. <div>
  786. <el-checkbox v-model.number="form.diy_queue.limit.buy_num.switch" :true-label="1" :false-label="0"></el-checkbox>
  787. </div>
  788. </template>
  789. <template slot="append">次</template>
  790. </el-input>
  791. </el-form-item>
  792. <el-form-item label="" prop="diy_queue.limit.buy_money.buy_money">
  793. <el-input v-model="form.diy_queue.limit.buy_money.buy_money" style="width:70%;" placeholder="消费金额超过N元">
  794. <template slot="prepend">
  795. <div>
  796. <el-checkbox v-model.number="form.diy_queue.limit.buy_money.switch" :true-label="1" :false-label="0"></el-checkbox>
  797. </div>
  798. </template>
  799. <template slot="append">元</template>
  800. </el-input>
  801. </el-form-item>
  802. </div>
  803. </div>
  804. <!-- 限制设置 -->
  805. </div>
  806. <!-- 队列设置 -->
  807. <!-- 收银台招商赠送积分设置 -->
  808. <div v-show="activeName=='merchant-point'">
  809. <!-- 基础设置 -->
  810. <div class="vue-head">
  811. <div class="vue-main-title">
  812. <div class="vue-main-title-left"></div>
  813. <div class="vue-main-title-content">基础设置</div>
  814. </div>
  815. <div class="vue-main-form">
  816. <el-form-item label="订单计算方式" prop="merchant_point.calculate_type">
  817. <el-radio v-model="form.merchant_point.calculate_type" :label="0">实付金额</el-radio>
  818. <el-radio v-model="form.merchant_point.calculate_type" :label="1">利润</el-radio>
  819. <div class="tip">注:商品和收银台订单计算方式一样</div>
  820. </el-form-item>
  821. </div>
  822. </div>
  823. <!-- 基础设置 -->
  824. <!-- 招商等级设置 -->
  825. <div class="vue-main">
  826. <div class="vue-main-title">
  827. <div class="vue-main-title-left"></div>
  828. <div class="vue-main-title-content">招商等级</div>
  829. </div>
  830. <div class="vue-main-form">
  831. <el-form-item label="计算方式" prop="merchant_point.award_method">
  832. <el-radio v-model="form.merchant_point.award_method" :label="0">赠送比例</el-radio>
  833. <el-radio v-model="form.merchant_point.award_method" :label="1">固定积分</el-radio>
  834. </el-form-item>
  835. <!-- 循环 -->
  836. <el-form-item label="招商员等级" prop="">
  837. <el-input v-for="(item,index) in form.merchant_point.staff_levels" :key="index" v-model="item.rate" style="width:70%;margin-bottom:5px">
  838. <template slot="prepend">[[item.level_name]]</template>
  839. <template slot="append">%/个</template>
  840. </el-input>
  841. </el-form-item>
  842. <!-- 循环 -->
  843. <el-form-item label="招商中心等级" prop="">
  844. <el-input v-for="(item,index) in form.merchant_point.center_levels" :key="index" v-model="item.rate" style="width:70%;margin-bottom:5px">
  845. <template slot="prepend">[[item.level_name]]</template>
  846. <template slot="append">%/个</template>
  847. </el-input>
  848. </el-form-item>
  849. </div>
  850. </div>
  851. <!-- 招商等级设置 -->
  852. </div>
  853. <!-- 收银台招商赠送积分设置 -->
  854. </el-form>
  855. <!-- 选择优惠券弹窗 -->
  856. <el-dialog title="选择优惠券" :visible.sync="coupon_show" width="60%">
  857. <div>
  858. <el-input v-model="coupon_keyword" placeholder="请输入优惠券名称" style="width:70%"></el-input>
  859. <el-button type="success" icon="el-icon-search" @click="searchCoupon()">搜索</el-button>
  860. <template>
  861. <!-- 表格start -->
  862. <el-table :data="coupon_list" style="width: 100%;overflow-y:auto;height:450px" v-loading="table_loading">
  863. <el-table-column prop="id" label="ID" align="center"></el-table-column>
  864. <el-table-column prop="name" label="优惠券名称" align="center" min-width="120"></el-table-column>
  865. <el-table-column label="操作" min-width="80" align="center">
  866. <template slot-scope="scope">
  867. <el-button @click="chooseCoupon(scope.row,scope.$index)">选择</el-button>
  868. </template>
  869. </el-table-column>
  870. </el-table>
  871. <!-- 表格end -->
  872. </template>
  873. </div>
  874. <span slot="footer" class="dialog-footer">
  875. <el-button @click="coupon_show = false">取 消</el-button>
  876. <!-- <el-button type="primary" @click="img_text_url = false">确 定</el-button> -->
  877. </span>
  878. </el-dialog>
  879. <!-- 分页 -->
  880. <div class="vue-page">
  881. <div class="vue-center">
  882. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  883. <el-button @click="goBack">返回</el-button>
  884. </div>
  885. </div>
  886. <upload-img :upload-show="uploadShow" :name="chooseImgName" @replace="changeProp" @sure="sureImg"></upload-img>
  887. </div>
  888. </div>
  889. <script src="{{resource_get('static/yunshop/tinymce4.7.5/tinymce.min.js')}}"></script>
  890. @include('public.admin.tinymceee')
  891. @include('public.admin.uploadImg')
  892. <script>
  893. var app = new Vue({
  894. el:"#app",
  895. delimiters: ['[[', ']]'],
  896. name: 'test',
  897. data() {
  898. return{
  899. order_type:1,
  900. activeName:"basic",
  901. tab_list:[],
  902. list:[],
  903. award_list:[],
  904. id:0,
  905. love_name:'爱心值',
  906. // 优惠券
  907. coupon_show:false,
  908. coupon_keyword:"",
  909. coupon_list:[],
  910. table_loading:false,
  911. form:{
  912. basic:{
  913. is_write_information:0,
  914. is_open:0,
  915. is_write_information:0
  916. },
  917. settle:{
  918. shop_commission :0,
  919. settlement_day :0,
  920. no_profit_sharing_show:0,
  921. no_profit_sharing :0,
  922. no_authorized_royalty_show :0,
  923. no_authorized_royalty :0,
  924. wechatPay:0,
  925. alipay:0,
  926. AlipayJsapi :0,
  927. WechatJsapi:0,
  928. balance :0,
  929. yopPay_show :0,
  930. yopPay:1,
  931. convergePay_show:0,
  932. convergePayWechat:1,
  933. convergePayAlipay:1,
  934. convergeQuickPay:1,
  935. is_cash_pay:0,
  936. },
  937. market:{
  938. is_open_member_discount:0,
  939. point:{
  940. max_point_deduct_type:'',
  941. max_point_deduct:'',
  942. min_point_deduct:'',
  943. reward_point:'',
  944. shop_award_point:'',
  945. shop_award_point1:'',
  946. shop_award_point2:'',
  947. },
  948. love:{
  949. love_show:0,
  950. love_name:'',
  951. deduction:'',
  952. deduction_proportion_type:'',
  953. deduction_proportion:'',
  954. deduction_proportion_low:'',
  955. award:'',
  956. award_proportion:'',
  957. parent_award:'',
  958. parent_award_proportion :'',
  959. second_award_proportion :'',
  960. award_shop:'',
  961. award_shop1 :'',
  962. award_shop2:'',
  963. },
  964. balance:{
  965. pay_reward:'',
  966. },
  967. member:[],
  968. coupon:[],
  969. other:{
  970. day_buy_limit:'',
  971. every_min_money:'',
  972. },
  973. },
  974. // 分润
  975. profit:{
  976. commission:{
  977. is_show:0,
  978. is_commission:0,
  979. level:[],
  980. },
  981. team_dividend:{
  982. is_dividend:0,
  983. is_dividend:0,
  984. has_dividend_rate:'',
  985. },
  986. area_dividend:{
  987. is_show : 0,
  988. is_dividend :0,
  989. has_dividend_rate:'',
  990. },
  991. shareholder_dividend:{},
  992. merchant:{},
  993. },
  994. // 返现
  995. return:{
  996. },
  997. // 数字资产
  998. asset:{
  999. },
  1000. // 每日红包
  1001. red_packet:{
  1002. },
  1003. // 共享链
  1004. share_chain:{
  1005. },
  1006. // 自定义对列
  1007. diy_queue:{
  1008. member_level:{
  1009. sort:"",
  1010. },
  1011. time:{
  1012. sort:"",
  1013. },
  1014. limit:{
  1015. people_num:{},
  1016. buy_num:{},
  1017. buy_money:{},
  1018. },
  1019. },
  1020. // 招商积分
  1021. merchant_point:{
  1022. },
  1023. },
  1024. uploadShow:false,
  1025. chooseImgName:'',
  1026. submit_url:'',
  1027. showVisible:false,
  1028. loading: false,
  1029. rules:{
  1030. // name:{ required: true, message: '请输入品牌名称'}
  1031. },
  1032. }
  1033. },
  1034. created() {
  1035. },
  1036. mounted() {
  1037. this.id = this.getParam("store_id");
  1038. this.getData();
  1039. },
  1040. methods: {
  1041. getParam(name) {
  1042. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  1043. var r = window.location.search.substr(1).match(reg);
  1044. if (r != null) return unescape(r[2]);
  1045. return null;
  1046. },
  1047. goParent(level) {
  1048. if(level==1) {
  1049. window.location.href = `{!! yzWebFullUrl('plugin.store-cashier.admin.store-manage.store-list') !!}`;
  1050. }
  1051. else if(level==2) {
  1052. window.location.href = `{!! yzWebFullUrl('plugin.store-cashier.admin.store-manage.store-list') !!}`;
  1053. }
  1054. },
  1055. goOther(type) {
  1056. if(type==2) {
  1057. window.location.href = `{!! yzWebFullUrl('plugin.store-cashier.admin.store-manage.goods-manage-setting') !!}`+`&store_id=`+this.id;
  1058. }
  1059. },
  1060. getData() {
  1061. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  1062. this.$http.post('{!! yzWebFullUrl('plugin.store-cashier.admin.store-manage.cashier-set') !!}',{id:this.id}).then(function (response) {
  1063. if (response.data.result){
  1064. this.tab_list = response.data.data.tab;
  1065. this.form.basic = {
  1066. ...response.data.data.basic
  1067. };
  1068. this.form.settle = {
  1069. shop_commission : response.data.data.settle.shop_commission || '0',
  1070. settlement_day : response.data.data.settle.settlement_day || '0',
  1071. no_profit_sharing_show:Number(response.data.data.settle.no_profit_sharing_show) || 0,
  1072. no_profit_sharing :Number(response.data.data.settle.no_profit_sharing) || 0,
  1073. no_authorized_royalty_show :Number(response.data.data.settle.no_authorized_royalty_show) || 0,
  1074. no_authorized_royalty :Number(response.data.data.settle.no_authorized_royalty) || 0,
  1075. wechatPay:Number(response.data.data.settle.wechatPay) || 0,
  1076. alipay:Number(response.data.data.settle.alipay) || 0,
  1077. AlipayJsapi :Number(response.data.data.settle.AlipayJsapi) || 0,
  1078. WechatJsapi:Number(response.data.data.settle.WechatJsapi) || 0,
  1079. balance :Number(response.data.data.settle.balance) || 0,
  1080. yopPay_show :Number(response.data.data.settle.yopPay_show) || 0,
  1081. yopPay:response.data.data.settle.yopPay,
  1082. convergePay_show:Number(response.data.data.settle.convergePay_show) || 0,
  1083. convergePayWechat:response.data.data.settle.convergePayWechat,
  1084. convergePayAlipay:response.data.data.settle.convergePayAlipay,
  1085. convergeQuickPay:response.data.data.settle.convergeQuickPay,
  1086. is_cash_pay:Number(response.data.data.settle.is_cash_pay) || 0,
  1087. };
  1088. this.form.market = {
  1089. ...response.data.data.market
  1090. }
  1091. // 分润
  1092. let profit_obj = this.tab_list.find((item,index) => {
  1093. return item.value == 'profit'
  1094. })
  1095. if(profit_obj.show==1) {
  1096. this.form.profit = {
  1097. commission:{
  1098. ...response.data.data.profit.commission
  1099. },
  1100. team_dividend:{
  1101. ...response.data.data.profit['team-dividend']
  1102. },
  1103. area_dividend:{
  1104. ...response.data.data.profit['area-dividend']
  1105. },
  1106. shareholder_dividend:{
  1107. ...response.data.data.profit['shareholder-dividend']
  1108. },
  1109. merchant:{
  1110. ...response.data.data.profit['merchant']
  1111. },
  1112. }
  1113. }
  1114. // 返现
  1115. let return_obj = this.tab_list.find((item,index) => {
  1116. return item.value == 'return'
  1117. })
  1118. if(return_obj.show==1) {
  1119. this.form.return = {
  1120. ...response.data.data.return
  1121. }
  1122. }
  1123. // 数字资产
  1124. let asset_obj = this.tab_list.find((item,index) => {
  1125. return item.value == 'asset'
  1126. })
  1127. if(asset_obj.show==1) {
  1128. this.form.asset = {
  1129. ...response.data.data.asset
  1130. }
  1131. this.form.asset.asset_check_id = this.form.asset.asset_check_id || "";
  1132. }
  1133. // 每日红包
  1134. let red_packet_obj = this.tab_list.find((item,index) => {
  1135. return item.value == 'red-packet'
  1136. })
  1137. if(red_packet_obj.show==1) {
  1138. this.form.red_packet = {
  1139. ...response.data.data['red-packet']
  1140. }
  1141. }
  1142. // 共享链
  1143. let share_chain_obj = this.tab_list.find((item,index) => {
  1144. return item.value == 'share-chain'
  1145. })
  1146. if(share_chain_obj.show==1) {
  1147. this.form.share_chain = {
  1148. ...response.data.data['share-chain']
  1149. }
  1150. }
  1151. // 自定义队列
  1152. let diy_queue_obj = this.tab_list.find((item,index) => {
  1153. return item.value == 'diy-queue'
  1154. })
  1155. if(diy_queue_obj.show==1) {
  1156. this.form.diy_queue = {
  1157. ...response.data.data['diy-queue']
  1158. }
  1159. }
  1160. // 招商积分
  1161. let merchant_point_obj = this.tab_list.find((item,index) => {
  1162. return item.value == 'merchant-point'
  1163. })
  1164. if(merchant_point_obj.show==1) {
  1165. this.form.merchant_point = {
  1166. ...response.data.data['merchant-point']
  1167. }
  1168. }
  1169. this.love_name = response.data.data.market.love.love_name || '爱心值';
  1170. console.log(this.form)
  1171. }
  1172. else {
  1173. this.$message({message: response.data.msg,type: 'error'});
  1174. }
  1175. loading.close();
  1176. },function (response) {
  1177. this.$message({message: response.data.msg,type: 'error'});
  1178. loading.close();
  1179. }
  1180. );
  1181. },
  1182. submitForm(formName) {
  1183. console.log(this.form)
  1184. let that = this;
  1185. let json = {
  1186. id:this.id,
  1187. basic:this.form.basic,
  1188. settle:{
  1189. shop_commission:this.form.settle.shop_commission,
  1190. settlement_day:this.form.settle.settlement_day,
  1191. no_profit_sharing:this.form.settle.no_profit_sharing,
  1192. no_authorized_royalty:this.form.settle.no_authorized_royalty,
  1193. wechatPay:this.form.settle.wechatPay,
  1194. alipay:this.form.settle.alipay,
  1195. AlipayJsapi:this.form.settle.AlipayJsapi,
  1196. WechatJsapi:this.form.settle.WechatJsapi,
  1197. balance:this.form.settle.balance,
  1198. yopPay:this.form.settle.yopPay,
  1199. convergePayWechat:this.form.settle.convergePayWechat,
  1200. convergePayAlipay:this.form.settle.convergePayAlipay,
  1201. convergeQuickPay:this.form.settle.convergeQuickPay,
  1202. is_cash_pay:this.form.settle.is_cash_pay,
  1203. },
  1204. market:{
  1205. is_open_member_discount:this.form.market.is_open_member_discount,
  1206. point:{
  1207. max_point_deduct_type:this.form.market.point.max_point_deduct_type,
  1208. max_point_deduct:this.form.market.point.max_point_deduct,
  1209. min_point_deduct:this.form.market.point.min_point_deduct,
  1210. reward_point:this.form.market.point.reward_point,
  1211. shop_award_point:this.form.market.point.shop_award_point,
  1212. shop_award_point1:this.form.market.point.shop_award_point1,
  1213. shop_award_point2:this.form.market.point.shop_award_point2,
  1214. },
  1215. balance:{
  1216. pay_reward:this.form.market.balance.pay_reward,
  1217. },
  1218. member:this.form.market.member,
  1219. coupon:this.form.market.coupon,
  1220. other:{
  1221. day_buy_limit:this.form.market.other.day_buy_limit,
  1222. every_min_money:this.form.market.other.every_min_money,
  1223. }
  1224. },
  1225. // 分润
  1226. profit:{
  1227. },
  1228. return:{
  1229. },
  1230. asset:{
  1231. },
  1232. 'red-packet':{
  1233. },
  1234. 'share-chain':{
  1235. },
  1236. 'diy-queue':{
  1237. },
  1238. 'merchant-point':{
  1239. }
  1240. };
  1241. if(this.form.market.love.love_show) {
  1242. json.market.love = {
  1243. deduction:this.form.market.love.deduction,
  1244. deduction_proportion_type:this.form.market.love.deduction_proportion_type,
  1245. deduction_proportion:this.form.market.love.deduction_proportion,
  1246. deduction_proportion_low:this.form.market.love.deduction_proportion_low,
  1247. award:this.form.market.love.award,
  1248. award_proportion:this.form.market.love.award_proportion,
  1249. parent_award:this.form.market.love.parent_award,
  1250. parent_award_proportion:this.form.market.love.parent_award_proportion,
  1251. second_award_proportion:this.form.market.love.second_award_proportion,
  1252. award_shop:this.form.market.love.award_shop,
  1253. award_shop1:this.form.market.love.award_shop1,
  1254. award_shop2:this.form.market.love.award_shop2,
  1255. }
  1256. }
  1257. if(this.form.profit.commission.is_show) {
  1258. json.profit.commission = {
  1259. is_commission:this.form.profit.commission.is_commission,
  1260. level:this.form.profit.commission.level,
  1261. }
  1262. }
  1263. if(this.form.profit.team_dividend.is_show) {
  1264. json.profit['team-dividend'] = {
  1265. is_dividend:this.form.profit.team_dividend.is_dividend,
  1266. has_dividend_rate:this.form.profit.team_dividend.has_dividend_rate,
  1267. }
  1268. }
  1269. if(this.form.profit.area_dividend.is_show) {
  1270. json.profit['area-dividend'] = {
  1271. is_dividend:this.form.profit.area_dividend.is_dividend,
  1272. has_dividend_rate:this.form.profit.area_dividend.has_dividend_rate,
  1273. }
  1274. }
  1275. if(this.form.profit.shareholder_dividend.is_show) {
  1276. json.profit['shareholder-dividend'] = {
  1277. is_no_count:this.form.profit.shareholder_dividend.is_no_count,
  1278. }
  1279. }
  1280. if(this.form.profit.merchant.is_show) {
  1281. json.profit['merchant'] = {
  1282. is_open_bonus_staff:this.form.profit.merchant.is_open_bonus_staff,
  1283. is_open_bonus_center:this.form.profit.merchant.is_open_bonus_center,
  1284. staff_bonus:this.form.profit.merchant.staff_bonus,
  1285. staff:this.form.profit.merchant.staff,
  1286. center:this.form.profit.merchant.center,
  1287. }
  1288. }
  1289. // 返现
  1290. let return_obj = this.tab_list.find((item,index) => {
  1291. return item.value == 'return'
  1292. })
  1293. if(return_obj.show==1) {
  1294. if(this.form.return.return_show) {
  1295. json.return.return_rate = this.form.return.return_rate
  1296. }
  1297. if(this.form.return.full_return_show) {
  1298. json.return['full-return_open'] = this.form.return['full-return_open']
  1299. }
  1300. if(this.form.return['full-consume_show']) {
  1301. json.return['full-consume_open'] = this.form.return['full-consume_open']
  1302. }
  1303. }
  1304. // 数字资产
  1305. let asset_obj = this.tab_list.find((item,index) => {
  1306. return item.value == 'asset'
  1307. })
  1308. if(asset_obj.show==1) {
  1309. json.asset = {
  1310. asset_check_id: this.form.asset.asset_check_id,
  1311. consumption_rate: this.form.asset.consumption_rate,
  1312. }
  1313. }
  1314. // 每日红包
  1315. let red_packet_obj = this.tab_list.find((item,index) => {
  1316. return item.value == 'red-packet'
  1317. })
  1318. if(red_packet_obj.show==1) {
  1319. json['red-packet'] = {
  1320. is_cashier: this.form.red_packet.is_cashier,
  1321. cashier_proportion: this.form.red_packet.cashier_proportion,
  1322. cashier_scale : this.form.red_packet.cashier_scale,
  1323. }
  1324. }
  1325. // 共享链
  1326. let share_chain_obj = this.tab_list.find((item,index) => {
  1327. return item.value == 'share-chain'
  1328. })
  1329. if(share_chain_obj.show==1) {
  1330. json['share-chain'] = {
  1331. is_open: this.form.share_chain.is_open,
  1332. award_ratio: this.form.share_chain.award_ratio,
  1333. award_rights: this.form.share_chain.award_rights,
  1334. lucky_draw_type: this.form.share_chain.lucky_draw_type,
  1335. fixed_award_ratio: this.form.share_chain.fixed_award_ratio,
  1336. section_award_ratio_start: this.form.share_chain.section_award_ratio_start,
  1337. section_award_ratio_end: this.form.share_chain.section_award_ratio_end,
  1338. award_ladder: this.form.share_chain.award_ladder,
  1339. member_levels: this.form.share_chain.member_levels,
  1340. start_time: this.form.share_chain.start_time,
  1341. end_time: this.form.share_chain.end_time,
  1342. everyone_everyday_award_num: this.form.share_chain.everyone_everyday_award_num,
  1343. everyone_award_total: this.form.share_chain.everyone_award_total,
  1344. random_return_is_open: this.form.share_chain.random_return_is_open,
  1345. diy_total: this.form.share_chain.diy_total,
  1346. cash_total: this.form.share_chain.cash_total,
  1347. point_total: this.form.share_chain.point_total,
  1348. }
  1349. }
  1350. // 自定义队列
  1351. let diy_queue_obj = this.tab_list.find((item,index) => {
  1352. return item.value == 'diy-queue'
  1353. })
  1354. if(diy_queue_obj.show==1) {
  1355. json['diy-queue'] = {
  1356. is_open: this.form.diy_queue.is_open,
  1357. is_independent: this.form.diy_queue.is_independent,
  1358. extract_ratio: this.form.diy_queue.extract_ratio,
  1359. time: this.form.diy_queue.time,
  1360. limit: this.form.diy_queue.limit,
  1361. member_level: this.form.diy_queue.member_level,
  1362. }
  1363. }
  1364. // 招商积分
  1365. let merchant_point_obj = this.tab_list.find((item,index) => {
  1366. return item.value == 'merchant-point'
  1367. })
  1368. if(merchant_point_obj.show==1) {
  1369. json['merchant-point'] = {
  1370. calculate_type: this.form.merchant_point.calculate_type,
  1371. award_method: this.form.merchant_point.award_method,
  1372. staff_levels: this.form.merchant_point.staff_levels,
  1373. center_levels: this.form.merchant_point.center_levels,
  1374. }
  1375. }
  1376. console.log(json)
  1377. this.$refs[formName].validate((valid) => {
  1378. if (valid) {
  1379. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  1380. this.$http.post("{!! yzWebFullUrl('plugin.store-cashier.admin.store-manage.cashier-post') !!}",json).then(response => {
  1381. if (response.data.result) {
  1382. this.$message({type: 'success',message: '操作成功!'});
  1383. this.goBack();
  1384. } else {
  1385. this.$message({message: response.data.msg,type: 'error'});
  1386. }
  1387. loading.close();
  1388. },response => {
  1389. loading.close();
  1390. });
  1391. }
  1392. else {
  1393. console.log('error submit!!');
  1394. return false;
  1395. }
  1396. });
  1397. },
  1398. // 打开选择优惠券
  1399. openCoupon() {
  1400. this.coupon_show = true;
  1401. },
  1402. // 搜索优惠券
  1403. searchCoupon() {
  1404. var that = this;
  1405. that.table_loading = true;
  1406. that.$http.post("{!! yzWebFullUrl('plugin.store-cashier.admin.coupon.coupon.get-list') !!}",{keyword:that.coupon_keyword}).then(response => {
  1407. console.log(response);
  1408. if(response.data.result==1){
  1409. that.coupon_list = response.data.data;
  1410. }
  1411. else{
  1412. that.$message.error(response.data);
  1413. }
  1414. console.log(that.goods_list);
  1415. that.table_loading = false;
  1416. }),function(res){
  1417. console.log(res);
  1418. that.table_loading = false;
  1419. };
  1420. },
  1421. chooseCoupon(item,index) {
  1422. let is_true = true;
  1423. this.form.market.coupon.some((item1,index1) => {
  1424. if(item1.id == item.id) {
  1425. is_true = false;
  1426. this.$message.error("请勿重复选择优惠券!");
  1427. return true;
  1428. }
  1429. })
  1430. if(is_true) {
  1431. this.form.market.coupon.push({id:item.id,name:item.name});
  1432. }
  1433. },
  1434. // 删除优惠券
  1435. delCoupon(index) {
  1436. this.form.market.coupon.splice(index,1);
  1437. },
  1438. goBack() {
  1439. history.go(-1)
  1440. },
  1441. addRule() {
  1442. this.form.share_chain.award_ladder.push({days:'',money:'',ratio:''});
  1443. },
  1444. delRule(index) {
  1445. this.form.share_chain.award_ladder.splice(index,1)
  1446. },
  1447. addTimeQueue() {
  1448. this.form.diy_queue.time.many.push({
  1449. hours_end: "",
  1450. hours_start: "",
  1451. limit:{
  1452. buy_money:{buy_money:"",switch:0},
  1453. buy_num:{buy_num:"",switch:0},
  1454. people_num:{people_num:"",switch:0},
  1455. time_in_ratio:"",
  1456. }
  1457. })
  1458. },
  1459. delTimeQueue(index) {
  1460. this.form.diy_queue.time.many.splice(index,1)
  1461. },
  1462. openUpload(str) {
  1463. this.chooseImgName = str;
  1464. this.uploadShow = true;
  1465. },
  1466. changeProp(val) {
  1467. if(val == true) {
  1468. this.uploadShow = false;
  1469. }
  1470. else {
  1471. this.uploadShow = true;
  1472. }
  1473. },
  1474. sureImg(name,image,image_url) {
  1475. this.form[name] = image;
  1476. this.form[name+'_url'] = image_url;
  1477. },
  1478. clearImg(str) {
  1479. this.form[str] = "";
  1480. this.form[str+'_url'] = "";
  1481. this.$forceUpdate();
  1482. },
  1483. },
  1484. })
  1485. </script>
  1486. @endsection