setting.php 54 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992
  1. <?php
  2. use common\helpers\ComponentHelper;
  3. ComponentHelper::loadComponentView('com-rich-text');
  4. ?>
  5. <style>
  6. .el-tabs__header {
  7. padding: 0 20px;
  8. height: 56px;
  9. line-height: 56px;
  10. background-color: #fff;
  11. margin-bottom: 0;
  12. }
  13. .title {
  14. margin-top: 10px;
  15. padding: 18px 20px;
  16. border-top: 1px solid #F3F3F3;
  17. border-bottom: 1px solid #F3F3F3;
  18. background-color: #fff;
  19. }
  20. .form-body {
  21. background-color: #fff;
  22. padding: 20px 50% 20px 0;
  23. }
  24. .button-item {
  25. padding: 9px 25px;
  26. }
  27. .form-body .item {
  28. width: 300px;
  29. margin-bottom: 50px;
  30. margin-right: 25px;
  31. }
  32. .item-img {
  33. height: 550px;
  34. padding: 25px 10px;
  35. border-radius: 30px;
  36. border: 1px solid #CCCCCC;
  37. background-color: #fff;
  38. }
  39. .item .el-form-item {
  40. width: 300px;
  41. margin: 20px auto;
  42. }
  43. .left-setting-menu {
  44. width: 260px;
  45. }
  46. .left-setting-menu .el-form-item {
  47. height: 60px;
  48. padding-left: 20px;
  49. display: flex;
  50. align-items: center;
  51. margin-bottom: 0;
  52. cursor: pointer;
  53. }
  54. .left-setting-menu .el-form-item .el-form-item__label {
  55. cursor: pointer;
  56. }
  57. .left-setting-menu .el-form-item.active {
  58. background-color: #F3F5F6;
  59. border-top-left-radius: 10px;
  60. width: 105%;
  61. border-bottom-left-radius: 10px;
  62. }
  63. .left-setting-menu .el-form-item .el-form-item__content {
  64. margin-left: 0 !important
  65. }
  66. .no-radius {
  67. border-top-left-radius: 0 !important;
  68. }
  69. .del-btn {
  70. position: absolute;
  71. right: -8px;
  72. top: -8px;
  73. padding: 4px 4px;
  74. }
  75. .reset {
  76. position: absolute;
  77. top: 3px;
  78. left: 90px;
  79. }
  80. .app-tip {
  81. position: absolute;
  82. right: 24px;
  83. top: 16px;
  84. height: 72px;
  85. line-height: 72px;
  86. max-width: calc(100% - 78px);
  87. }
  88. .app-tip:before {
  89. content: ' ';
  90. width: 0;
  91. height: 0;
  92. border-color: inherit;
  93. position: absolute;
  94. top: -32px;
  95. right: 100px;
  96. border-width: 16px;
  97. border-style: solid;
  98. }
  99. .tip-content {
  100. display: block;
  101. white-space: nowrap;
  102. width: 100%;
  103. overflow: hidden;
  104. text-overflow: ellipsis;
  105. margin: 0 28px;
  106. font-size: 28px;
  107. }
  108. .btn-abs {
  109. position: absolute;
  110. top: 12px;
  111. right: 18px;
  112. }
  113. .form-body .app-share {
  114. padding-top: 12px;
  115. border-top: 1px solid #e2e2e2;
  116. margin-top: -20px;
  117. }
  118. .form-body .app-share .app-share-bg {
  119. position: relative;
  120. width: 310px;
  121. height: 360px;
  122. background-repeat: no-repeat;
  123. background-size: contain;
  124. background-position: center
  125. }
  126. .form-body .app-share .app-share-bg .title {
  127. width: 160px;
  128. height: 29px;
  129. line-height: 1;
  130. word-break: break-all;
  131. text-overflow: ellipsis;
  132. display: -webkit-box;
  133. -webkit-box-orient: vertical;
  134. -webkit-line-clamp: 2;
  135. overflow: hidden;
  136. }
  137. .form-body .app-share .app-share-bg .pic-image {
  138. background-repeat: no-repeat;
  139. background-position: 0 0;
  140. background-size: cover;
  141. width: 160px;
  142. height: 130px;
  143. }
  144. .cardBox {
  145. display: flex;
  146. padding-left: 24px
  147. }
  148. .cardBox>.el-card {
  149. margin: 20px;
  150. }
  151. /* .cardBox>.el-card:first-child {
  152. margin: 0;
  153. } */
  154. </style>
  155. <div id="app" v-cloak>
  156. <el-tabs v-model="activeName" @tab-click="handleClick" style=" background-color: #fff; padding-left: 10px;">
  157. <el-tab-pane label="区域分红设置" name="setting_config">
  158. <el-card class="box-card" v-loading="loading" shadow="never" style="border:0;min-width: 1200px;"
  159. body-style="background-color: #f3f3f3;padding: 0px;">
  160. <el-form :model="ruleForm" size="small" :rules="rules" ref="ruleForm" label-width="170px">
  161. <el-card shadow="never">
  162. <div>
  163. <el-row>
  164. <el-col :span="16">
  165. <el-form-item label="启用区域分红商">
  166. <div>
  167. <el-switch v-model="ruleForm.is_enable" :active-value="1"
  168. :inactive-value="0">
  169. </el-switch>
  170. </div>
  171. <div class="tips-text" style="line-height: 24px;">
  172. 选择开启则启用区域分红,申请为对应区域代理后产生订单即可获得区域代理分红
  173. </div>
  174. </el-form-item>
  175. <el-form-item label="修改地址后重新计算奖励">
  176. <div>
  177. <el-switch v-model="ruleForm.is_modify_address_recalculate" :active-value="1"
  178. :inactive-value="0">
  179. </el-switch>
  180. </div>
  181. <div class="tips-text" style="line-height: 24px;">
  182. 开启后,若地址发生变化针对未结算的则重新计算区域分红奖励
  183. </div>
  184. </el-form-item>
  185. <el-form-item label="推广中心显示">
  186. <div>
  187. <el-switch v-model="ruleForm.is_show_at_center" :active-value="1"
  188. :inactive-value="0">
  189. </el-switch>
  190. </div>
  191. </el-form-item>
  192. <!-- 小区代开关开启小区代地址时,订单详情编辑地址显示小区选择项,关闭则不显示 -->
  193. <el-form-item label="小区代收货地址显示">
  194. <div>
  195. <el-switch v-model="ruleForm.shopping_address_community_enable"
  196. :active-value="1" :inactive-value="0">
  197. </el-switch>
  198. </div>
  199. </el-form-item>
  200. <el-form-item prop="is_apply" label="成为区域代理的条件">
  201. <el-col :span="8" style="width: 100%;">
  202. <el-radio-group v-model="ruleForm.is_apply" size="small">
  203. <el-radio :label="1" border>申请</el-radio>
  204. </el-radio-group>
  205. </el-col>
  206. <br/>
  207. <div class="tips-text" style="line-height: 24px;">
  208. 成为区域代理是否需要申请
  209. </div>
  210. </el-form-item>
  211. <el-form-item prop="is_check" label="是否需要审核">
  212. <el-col :span="8" style="width: 100%;">
  213. <el-radio-group v-model="ruleForm.is_check" size="small">
  214. <el-radio :label="0" border>不需要</el-radio>
  215. <el-radio :label="1" border>需要</el-radio>
  216. </el-radio-group>
  217. </el-col>
  218. <br/>
  219. <div class="tips-text" style="line-height: 24px;">
  220. 申请成为区域代理是否需要审核
  221. </div>
  222. </el-form-item>
  223. <el-form-item label="是否开启区代申请条件">
  224. <div>
  225. <el-switch v-model="ruleForm.is_buy_area"
  226. :active-value="1" :inactive-value="0">
  227. </el-switch>
  228. </div>
  229. <div class="tips-text" style="line-height: 24px;">
  230. 开启后,仅区代等级生效,且申请区代将不在需要审核,每个区代只有一个用户
  231. </div>
  232. </el-form-item>
  233. <el-form-item label="统一底价" v-if="ruleForm.is_buy_area == 1">
  234. <div>
  235. <el-input style="width: 175px;margin-right: 20px;"
  236. v-model="ruleForm.area_buy_price" placeholder="请填入数量"
  237. onInput="value=toNumber(value,2)">
  238. <template slot="append">元</template>
  239. </el-input>
  240. </div>
  241. <div class="tips-text" style="line-height: 24px;">
  242. 第一个用户获取申请资格,需支付的金额
  243. </div>
  244. </el-form-item>
  245. <el-form-item label="加价类型" v-if="ruleForm.is_buy_area == 1">
  246. <el-col :span="8" style="width: 100%;">
  247. <el-radio-group v-model="ruleForm.add_price_type" size="small">
  248. <el-radio :label="1">百分比</el-radio>
  249. </el-radio-group>
  250. </el-col>
  251. </el-form-item>
  252. <el-form-item label="每次加价" v-if="ruleForm.is_buy_area == 1">
  253. <div>
  254. <el-input style="width: 175px;margin-right: 20px;"
  255. v-model="ruleForm.add_price_pre" placeholder="请填入数量"
  256. onInput="value=toNumber(value,2)">
  257. <template slot="append">%</template>
  258. </el-input>
  259. </div>
  260. <div class="tips-text" style="line-height: 24px;">
  261. 下个用户获取申请资格,需比前一个用户加价百分比获取
  262. </div>
  263. </el-form-item>
  264. <el-form-item label="分红设置" v-if="ruleForm.is_buy_area == 1">
  265. <div>
  266. 加价金额的
  267. <el-input style="width: 175px;margin-right: 20px;"
  268. v-model="ruleForm.price_commission_pre" placeholder="请填入数量"
  269. onInput="value=toNumber(value,2)">
  270. <template slot="append">%</template>
  271. </el-input>
  272. 分给上个代理,剩下部分留给平台
  273. </div>
  274. <!-- <div class="tips-text" style="line-height: 24px;">
  275. 下个用户获取申请资格,需比前一个用户加价百分比获取
  276. </div> -->
  277. </el-form-item>
  278. <el-form-item prop="can_apply_area_num" label="申请区域的数量">
  279. <div style="display: flex;align-items: center;">
  280. <el-input style="width: 175px;margin-right: 20px;"
  281. v-model="ruleForm.can_apply_area_num" placeholder="请填入数量"
  282. type="number"><template slot="append">个</template></el-input>
  283. <el-checkbox v-model="limitChecked" border>无限制</el-checkbox>
  284. </div>
  285. <div class="tips-text" style="line-height: 24px;">
  286. 一个用户可以申请区域代理的数量
  287. </div>
  288. </el-form-item>
  289. <el-form-item label="区域申请入口" v-if="addons_ext_config.is_show_only_dividend">
  290. <label slot="label">区域申请入口
  291. <el-tooltip class="item" effect="dark" placement="top-start">
  292. <div slot="content">
  293. 开关关闭以后前端用户看不到该申请入口
  294. </div>
  295. <i class="el-icon-info"></i>
  296. </el-tooltip>
  297. </label>
  298. <div>
  299. <el-switch v-model="ruleForm.is_enable_apply" :active-value="1"
  300. :inactive-value="0">
  301. </el-switch>
  302. </div>
  303. </el-form-item>
  304. <el-form-item label="是否开启独立分红" v-if="addons_ext_config.is_show_only_dividend">
  305. <label slot="label">是否开启独立分红
  306. <el-tooltip class="item" effect="dark" placement="top-start">
  307. <div slot="content">
  308. 开关开启的情况下只有分配了分红权限的用户才可以进行分红;<br />
  309. 选择指定商品的话只有分配了商品的用户享有指定商品分红;<br />
  310. 选择任意商品的话享有分红权限的用户可以享受平台的任意商品的分红;<br />
  311. 分红条件:<br />
  312. 同一条关系链的用户下单不可以享受分红条件;<br />
  313. 按照商品单独分红的话商品模式那边需要开启以后设置分红数值然后享有分红;
  314. </div>
  315. <i class="el-icon-info"></i>
  316. </el-tooltip>
  317. </label>
  318. <div>
  319. <el-switch v-model="ruleForm.is_enable_only_dividend" :active-value="1"
  320. :inactive-value="0">
  321. </el-switch>
  322. </div>
  323. <div v-if="ruleForm.is_enable_only_dividend == 1">
  324. <el-radio-group v-model="ruleForm.only_dividend_goods_type" size="small">
  325. <el-radio :label="0" border>指定商品</el-radio>
  326. <el-radio :label="1" border>任意商品</el-radio>
  327. </el-radio-group>
  328. </div>
  329. </el-form-item>
  330. <el-form-item label="申请协议" prop="protocol" v-if="ruleForm.is_apply==1">
  331. <com-rich-text style="width: 750px" :simple-attachment="true"
  332. v-model="ruleForm.protocol"></com-rich-text>
  333. </el-input>
  334. </el-form-item>
  335. </el-col>
  336. </el-row>
  337. </div>
  338. </el-card>
  339. </el-form>
  340. </el-card>
  341. </el-tab-pane>
  342. <el-tab-pane label="结算设置" name="settled_config">
  343. <el-card class="box-card" v-loading="loading" shadow="never" style="border:0;min-width: 1200px;"
  344. body-style="background-color: #f3f3f3;padding: 0px;">
  345. <el-form :model="ruleForm" size="small" :rules="rules" ref="ruleForm" label-width="150px">
  346. <el-card shadow="never">
  347. <div>
  348. <el-row>
  349. <el-col :span="24">
  350. <el-form-item label="平均分" style="margin-bottom: 10px">
  351. <div>
  352. <el-switch v-model="ruleForm.is_equal" :active-value="1"
  353. :inactive-value="0">
  354. </el-switch>
  355. </div>
  356. </el-form-item>
  357. <!-- <el-form-item label="平级奖平均分" style="margin-bottom: 10px">-->
  358. <!-- <div>-->
  359. <!-- <el-switch v-model="ruleForm.equal_reward_is_equal" :active-value="1"-->
  360. <!-- :inactive-value="0">-->
  361. <!-- </el-switch>-->
  362. <!-- </div>-->
  363. <!-- </el-form-item>-->
  364. <el-form-item label="开启极差分红" style="margin-bottom: 10px">
  365. <div>
  366. <el-switch v-model="ruleForm.is_level" :active-value="1"
  367. :inactive-value="0">
  368. </el-switch>
  369. </div>
  370. </el-form-item>
  371. <el-form-item label="区域平级奖层数" style="margin-bottom: 15px">
  372. <div>
  373. <el-input style="width: 200px;" v-model="ruleForm.equal_prize_deep"
  374. placeholder="请输入层数" onkeyup="value=value.replace(/[^\d]/g,'')"><template
  375. slot="append">层</template></el-input>
  376. </div>
  377. </el-form-item>
  378. <div class="cardBox">
  379. <el-card class="box-card">
  380. <div slot="header" class="clearfix">
  381. <span>默认分红比例</span>
  382. </div>
  383. <el-form-item :label="ruleForm.level_6" label-width="60px">
  384. <el-input v-model="ruleForm.regional_team_prize"
  385. onInput="value=toNumber(value,2)">
  386. <template slot="append">%</template>
  387. </el-input>
  388. </el-form-item>
  389. <el-form-item :label="ruleForm.level_1" label-width="60px">
  390. <el-input v-model="ruleForm.province_team_prize"
  391. onInput="value=toNumber(value,2)">
  392. <template slot="append">%</template>
  393. </el-input>
  394. </el-form-item>
  395. <el-form-item :label="ruleForm.level_2" label-width="60px">
  396. <el-input v-model="ruleForm.city_team_prize"
  397. onInput="value=toNumber(value,2)">
  398. <template slot="append">%</template>
  399. </el-input>
  400. </el-form-item>
  401. <el-form-item :label="ruleForm.level_3" label-width="60px">
  402. <el-input v-model="ruleForm.district_team_prize"
  403. onInput="value=toNumber(value,2)">
  404. <template slot="append">%</template>
  405. </el-input>
  406. </el-form-item>
  407. <el-form-item :label="ruleForm.level_4" label-width="60px">
  408. <el-input v-model="ruleForm.town_team_prize"
  409. onInput="value=toNumber(value,2)">
  410. <template slot="append">%</template>
  411. </el-input>
  412. </el-form-item>
  413. <el-form-item :label="ruleForm.level_5" label-width="60px">
  414. <el-input v-model="ruleForm.community_team_prize"
  415. onInput="value=toNumber(value,2)">
  416. <template slot="append">%</template>
  417. </el-input>
  418. </el-form-item>
  419. </el-card>
  420. <el-card class="box-card">
  421. <div slot="header" class="clearfix">
  422. <span>默认平级奖配置</span>
  423. </div>
  424. <el-form-item :label="ruleForm.level_6" label-width="60px">
  425. <el-input v-model="ruleForm.regional_equal_prize"
  426. onInput="value=toNumber(value,2)">
  427. <template slot="append">%</template>
  428. </el-input>
  429. </el-form-item>
  430. <el-form-item :label="ruleForm.level_1" label-width="60px">
  431. <el-input v-model="ruleForm.province_equal_prize"
  432. onInput="value=toNumber(value,2)">
  433. <template slot="append">%</template>
  434. </el-input>
  435. </el-form-item>
  436. <el-form-item :label="ruleForm.level_2" label-width="60px">
  437. <el-input v-model="ruleForm.city_equal_prize"
  438. onInput="value=toNumber(value,2)">
  439. <template slot="append">%</template>
  440. </el-input>
  441. </el-form-item>
  442. <el-form-item :label="ruleForm.level_3" label-width="60px">
  443. <el-input v-model="ruleForm.district_equal_prize"
  444. onInput="value=toNumber(value,2)">
  445. <template slot="append">%</template>
  446. </el-input>
  447. </el-form-item>
  448. <el-form-item :label="ruleForm.level_4" label-width="60px">
  449. <el-input v-model="ruleForm.town_equal_prize"
  450. onInput="value=toNumber(value,2)">
  451. <template slot="append">%</template>
  452. </el-input>
  453. </el-form-item>
  454. <el-form-item :label="ruleForm.level_5" label-width="60px">
  455. <el-input v-model="ruleForm.community_equal_prize"
  456. onInput="value=toNumber(value,2)">
  457. <template slot="append">%</template>
  458. </el-input>
  459. </el-form-item>
  460. </el-card>
  461. <el-card class="box-card">
  462. <div slot="header" class="clearfix">
  463. <span>默认积分比例</span>
  464. </div>
  465. <el-form-item :label="ruleForm.level_6" label-width="60px">
  466. <el-input v-model="ruleForm.regional_team_prize_score"
  467. onInput="value=toNumber(value,2)">
  468. <template slot="append">%</template>
  469. </el-input>
  470. </el-form-item>
  471. <el-form-item :label="ruleForm.level_1" label-width="60px">
  472. <el-input v-model="ruleForm.province_team_prize_score"
  473. onInput="value=toNumber(value,2)">
  474. <template slot="append">%</template>
  475. </el-input>
  476. </el-form-item>
  477. <el-form-item :label="ruleForm.level_2" label-width="60px">
  478. <el-input v-model="ruleForm.city_team_prize_score"
  479. onInput="value=toNumber(value,2)">
  480. <template slot="append">%</template>
  481. </el-input>
  482. </el-form-item>
  483. <el-form-item :label="ruleForm.level_3" label-width="60px">
  484. <el-input v-model="ruleForm.district_team_prize_score"
  485. onInput="value=toNumber(value,2)">
  486. <template slot="append">%</template>
  487. </el-input>
  488. </el-form-item>
  489. <el-form-item :label="ruleForm.level_4" label-width="60px">
  490. <el-input v-model="ruleForm.town_team_prize_score"
  491. onInput="value=toNumber(value,2)">
  492. <template slot="append">%</template>
  493. </el-input>
  494. </el-form-item>
  495. <el-form-item :label="ruleForm.level_5" label-width="60px">
  496. <el-input v-model="ruleForm.community_team_prize_score"
  497. onInput="value=toNumber(value,2)">
  498. <template slot="append">%</template>
  499. </el-input>
  500. </el-form-item>
  501. </el-card>
  502. <el-card class="box-card">
  503. <div slot="header" class="clearfix">
  504. <span>默认平级奖积分配置</span>
  505. </div>
  506. <el-form-item :label="ruleForm.level_6" label-width="60px">
  507. <el-input v-model="ruleForm.regional_equal_prize_score"
  508. onInput="value=toNumber(value,2)">
  509. <template slot="append">%</template>
  510. </el-input>
  511. </el-form-item>
  512. <el-form-item :label="ruleForm.level_1" label-width="60px">
  513. <el-input v-model="ruleForm.province_equal_prize_score"
  514. onInput="value=toNumber(value,2)">
  515. <template slot="append">%</template>
  516. </el-input>
  517. </el-form-item>
  518. <el-form-item :label="ruleForm.level_2" label-width="60px">
  519. <el-input v-model="ruleForm.city_equal_prize_score"
  520. onInput="value=toNumber(value,2)">
  521. <template slot="append">%</template>
  522. </el-input>
  523. </el-form-item>
  524. <el-form-item :label="ruleForm.level_3" label-width="60px">
  525. <el-input v-model="ruleForm.district_equal_prize_score"
  526. onInput="value=toNumber(value,2)">
  527. <template slot="append">%</template>
  528. </el-input>
  529. </el-form-item>
  530. <el-form-item :label="ruleForm.level_4" label-width="60px">
  531. <el-input v-model="ruleForm.town_equal_prize_score"
  532. onInput="value=toNumber(value,2)">
  533. <template slot="append">%</template>
  534. </el-input>
  535. </el-form-item>
  536. <el-form-item :label="ruleForm.level_5" label-width="60px">
  537. <el-input v-model="ruleForm.community_equal_prize_score"
  538. onInput="value=toNumber(value,2)">
  539. <template slot="append">%</template>
  540. </el-input>
  541. </el-form-item>
  542. </el-card>
  543. </div>
  544. <div class="cardBox">
  545. <!-- 数字币 -->
  546. <el-card class="box-card">
  547. <div slot="header" class="clearfix">
  548. <span>默认数字币比例</span>
  549. </div>
  550. <el-form-item :label="ruleForm.level_6" label-width="60px">
  551. <el-input v-model="ruleForm.regional_team_prize_digital"
  552. onInput="value=toNumber(value,2)">
  553. <template slot="append">%</template>
  554. </el-input>
  555. </el-form-item>
  556. <el-form-item :label="ruleForm.level_1" label-width="60px">
  557. <el-input v-model="ruleForm.province_team_prize_digital"
  558. onInput="value=toNumber(value,2)">
  559. <template slot="append">%</template>
  560. </el-input>
  561. </el-form-item>
  562. <el-form-item :label="ruleForm.level_2" label-width="60px">
  563. <el-input v-model="ruleForm.city_team_prize_digital"
  564. onInput="value=toNumber(value,2)">
  565. <template slot="append">%</template>
  566. </el-input>
  567. </el-form-item>
  568. <el-form-item :label="ruleForm.level_3" label-width="60px">
  569. <el-input v-model="ruleForm.district_team_prize_digital"
  570. onInput="value=toNumber(value,2)">
  571. <template slot="append">%</template>
  572. </el-input>
  573. </el-form-item>
  574. <el-form-item :label="ruleForm.level_4" label-width="60px">
  575. <el-input v-model="ruleForm.town_team_prize_digital"
  576. onInput="value=toNumber(value,2)">
  577. <template slot="append">%</template>
  578. </el-input>
  579. </el-form-item>
  580. <el-form-item :label="ruleForm.level_5" label-width="60px">
  581. <el-input v-model="ruleForm.community_team_prize_digital"
  582. onInput="value=toNumber(value,2)">
  583. <template slot="append">%</template>
  584. </el-input>
  585. </el-form-item>
  586. </el-card>
  587. <el-card class="box-card">
  588. <div slot="header" class="clearfix">
  589. <span>默认平级奖数字币配置</span>
  590. </div>
  591. <el-form-item :label="ruleForm.level_6" label-width="60px">
  592. <el-input v-model="ruleForm.regional_equal_prize_digital"
  593. onInput="value=toNumber(value,2)">
  594. <template slot="append">%</template>
  595. </el-input>
  596. </el-form-item>
  597. <el-form-item :label="ruleForm.level_1" label-width="60px">
  598. <el-input v-model="ruleForm.province_equal_prize_digital"
  599. onInput="value=toNumber(value,2)">
  600. <template slot="append">%</template>
  601. </el-input>
  602. </el-form-item>
  603. <el-form-item :label="ruleForm.level_2" label-width="60px">
  604. <el-input v-model="ruleForm.city_equal_prize_digital"
  605. onInput="value=toNumber(value,2)">
  606. <template slot="append">%</template>
  607. </el-input>
  608. </el-form-item>
  609. <el-form-item :label="ruleForm.level_3" label-width="60px">
  610. <el-input v-model="ruleForm.district_equal_prize_digital"
  611. onInput="value=toNumber(value,2)">
  612. <template slot="append">%</template>
  613. </el-input>
  614. </el-form-item>
  615. <el-form-item :label="ruleForm.level_4" label-width="60px">
  616. <el-input v-model="ruleForm.town_equal_prize_digital"
  617. onInput="value=toNumber(value,2)">
  618. <template slot="append">%</template>
  619. </el-input>
  620. </el-form-item>
  621. <el-form-item :label="ruleForm.level_5" label-width="60px">
  622. <el-input v-model="ruleForm.community_equal_prize_digital"
  623. onInput="value=toNumber(value,2)">
  624. <template slot="append">%</template>
  625. </el-input>
  626. </el-form-item>
  627. </el-card>
  628. </div>
  629. <el-form-item prop="compute_type" label="区域奖计算方式">
  630. <el-col :span="24">
  631. <el-radio-group v-model="ruleForm.area_compute_type" size="small">
  632. <el-radio label="1" border>实际支付金额</el-radio>
  633. <el-radio label="2" border>基于订单商品售价</el-radio>
  634. <el-radio label="3" border>商品利润</el-radio>
  635. </el-radio-group>
  636. </el-col>
  637. </el-form-item>
  638. <el-form-item prop="compute_type" label="平级奖计算方式">
  639. <el-col :span="24">
  640. <el-radio-group v-model="ruleForm.equal_compute_type" size="small">
  641. <el-radio label="1" border>默认</el-radio>
  642. <el-radio label="2" border>基于上级同级别区域代理佣金</el-radio>
  643. </el-radio-group>
  644. </el-col>
  645. </el-form-item>
  646. <el-form-item prop="compute_type" label="结算方式">
  647. <el-col :span="24">
  648. <el-radio-group v-model="ruleForm.compute_type" size="small">
  649. <el-radio :label="0" border>订单完成后</el-radio>
  650. <el-radio :label="1" border>订单支付后</el-radio>
  651. </el-radio-group>
  652. </el-col>
  653. </el-form-item>
  654. </el-col>
  655. </el-row>
  656. </div>
  657. </el-card>
  658. </el-form>
  659. </el-card>
  660. </el-tab-pane>
  661. <el-tab-pane label="名称设置" name="name_config">
  662. <el-card class="box-card" v-loading="loading" shadow="never" style="border:0;min-width: 1200px;"
  663. body-style="background-color: #f3f3f3;padding: 0px;">
  664. <el-form :model="ruleForm" size="small" :rules="rules" ref="ruleForm" label-width="150px">
  665. <el-card shadow="never">
  666. <div>
  667. <el-row>
  668. <el-col :span="16">
  669. <el-form-item label="大区代">
  670. <el-input v-model="ruleForm.level_6" :placeholder="`请填入${ruleForm.level_6}名称`"></el-input>
  671. </el-form-item>
  672. <el-form-item label="省代">
  673. <el-input v-model="ruleForm.level_1" :placeholder="`请填入${ruleForm.level_1}名称`"></el-input>
  674. </el-form-item>
  675. <el-form-item label="市代">
  676. <el-input v-model="ruleForm.level_2" :placeholder="`请填入${ruleForm.level_2}名称`"></el-input>
  677. </el-form-item>
  678. <el-form-item label="区代">
  679. <el-input v-model="ruleForm.level_3" :placeholder="`请填入${ruleForm.level_3}名称`"></el-input>
  680. </el-form-item>
  681. <el-form-item label="镇代">
  682. <el-input v-model="ruleForm.level_4" :placeholder="`请填入${ruleForm.level_4}名称`"></el-input>
  683. </el-form-item>
  684. <el-form-item label="小区代">
  685. <el-input v-model="ruleForm.level_5" :placeholder="`请填入${ruleForm.level_5}名称`"></el-input>
  686. </el-form-item>
  687. </el-col>
  688. </el-row>
  689. </div>
  690. </el-card>
  691. </el-form>
  692. </el-card>
  693. </el-tab-pane>
  694. <div class="bottom-btns" flex="main:center cross:center">
  695. <el-button s :loading="btnLoading" class="button-item" type="primary"
  696. style="margin-left: 40px" @click="store('ruleForm')" size="small">保存
  697. </el-button>
  698. </div>
  699. </el-tabs>
  700. </div>
  701. <script>
  702. const app = new Vue({
  703. el: '#app',
  704. data() {
  705. return {
  706. loading: false,
  707. btnLoading: false,
  708. ruleForm: {
  709. is_enable: 0,//是否启用
  710. is_show_at_center: 1,
  711. is_modify_address_recalculate: 0, // 修改地址后重新计算奖励
  712. is_check: 0,//是否需要审核
  713. is_apply: 1,//是否需要申请
  714. is_buy_area: 0, //是否开启区代申请条件
  715. area_buy_price: 0, //统一底价
  716. add_price_type: 1, //加价类型
  717. add_price_pre: 0, //每次加价
  718. price_commission_pre: 0, //分红设置
  719. is_equal: 0,//是否平均分
  720. equal_reward_is_equal: 0,//是否平均分
  721. is_level: 0,//是否走极差
  722. regional_team_prize: 0, //大区默认分红
  723. province_team_prize: 0,//省
  724. city_team_prize: 0,//市
  725. district_team_prize: 0,//区
  726. town_team_prize: 0,//镇
  727. community_team_prize: 0,//小区
  728. compute_type: 0,//计算方式 0 订单完成后 1支付完成,
  729. protocol: '',
  730. can_apply_area_num: 1,//可申请地区代理数量
  731. equal_prize_deep: 0,//平级奖奖励层数
  732. equal_compute_type: '1',//平级奖计算方式
  733. area_compute_type: '1',//区域奖计算方式
  734. regional_equal_prize: 0,//'大区平级奖',
  735. province_equal_prize: 0,//'省平级奖',
  736. city_equal_prize: 0,//'市平级奖',
  737. district_equal_prize: 0,//'区平级奖',
  738. town_equal_prize: 0,//'镇平级奖',
  739. community_equal_prize: 0,//'小区平级奖',
  740. regional_team_prize_score: 0,
  741. province_team_prize_score: 0,
  742. city_team_prize_score: 0,
  743. town_team_prize_score: 0,
  744. community_team_prize_score: 0,
  745. district_team_prize_score: 0,
  746. regional_equal_prize_score: 0,
  747. province_equal_prize_score: 0,
  748. district_equal_prize_score: 0,
  749. city_equal_prize_score: 0,
  750. town_equal_prize_score: 0,
  751. community_equal_prize_score: 0,
  752. shopping_address_community_enable: 0,
  753. is_enable_apply: 1,
  754. is_enable_only_dividend: 0,
  755. only_dividend_goods_type: 0,
  756. level_1: '省代',
  757. level_2: '市代',
  758. level_3: '区代',
  759. level_4: '镇代',
  760. level_5: '小区代',
  761. level_6: '大区代',
  762. regional_team_prize_digital: 0,
  763. province_team_prize_digital: 0,
  764. city_team_prize_digital: 0,
  765. town_team_prize_digital: 0,
  766. community_team_prize_digital: 0,
  767. district_team_prize_digital: 0,
  768. regional_equal_prize_digital: 0,
  769. province_equal_prize_digital: 0,
  770. district_equal_prize_digital: 0,
  771. city_equal_prize_digital: 0,
  772. town_equal_prize_digital: 0,
  773. community_equal_prize_digital: 0,
  774. },
  775. limitChecked: false,
  776. //当前默认选中选项卡
  777. activeName: 'setting_config',
  778. //名称设置数据
  779. areaCustomizeNameData: {
  780. area_name: '',
  781. commission_revenues: '',
  782. element: '',
  783. element_checked: false,
  784. area: '',
  785. settle_accounts: '',
  786. waiting_settlement: '',
  787. my_area: '',
  788. agent_identity: '',
  789. yesterday_earnings: '',
  790. total_revenue: '',
  791. regional_agent: '',
  792. my_agent: '',
  793. invalid: '',
  794. commission: '',
  795. profit_commission: '',
  796. },
  797. //名称设置验证规则
  798. rules: {
  799. can_apply_area_num: [{
  800. validator: (rule, value, callback) => {
  801. if (value < 0) {
  802. callback('申请区域的数量不能小于0');
  803. }
  804. }
  805. }],
  806. },
  807. addons_ext_config: {}
  808. }
  809. },
  810. mounted: function () {
  811. this.handleClick();
  812. },
  813. watch: {
  814. limitChecked() {
  815. if (this.limitChecked) {
  816. this.ruleForm.can_apply_area_num = 0
  817. }
  818. },
  819. 'ruleForm.can_apply_area_num'() {
  820. if (this.ruleForm.can_apply_area_num == 0) {
  821. this.limitChecked = true
  822. } else {
  823. this.limitChecked = false
  824. }
  825. }
  826. },
  827. methods: {
  828. loadData() {
  829. this.loading = true;
  830. request({
  831. params: {
  832. r: 'area/default/setting',
  833. },
  834. method: 'get'
  835. }).then(e => {
  836. this.loading = false;
  837. if (e.data.code == 0) {
  838. if (e.data.data.list.can_apply_area_num == -1) {
  839. e.data.data.list.can_apply_area_num = 0;
  840. this.limitChecked = true;
  841. }
  842. this.ruleForm = Object.assign(this.ruleForm, e.data.data.list);
  843. this.ruleForm.equal_compute_type = this.ruleForm.equal_compute_type.toString();
  844. this.addons_ext_config = e.data.data.addons_ext_config
  845. this.ruleForm.area_compute_type = this.ruleForm.area_compute_type.toString();
  846. }
  847. }).catch(e => {
  848. this.loading = false;
  849. })
  850. },
  851. store(formName) {
  852. if (this.ruleForm.can_apply_area_num < 0) {
  853. this.$message.error('数量不能小于0');
  854. return false;
  855. }
  856. if (this.limitChecked) {//勾选了无限制
  857. this.ruleForm.can_apply_area_num = 0;
  858. }
  859. this.btnLoading = true;
  860. request({
  861. params: {
  862. r: 'area/default/setting',
  863. },
  864. method: 'post',
  865. data: this.ruleForm
  866. }).then(e => {
  867. this.btnLoading = false;
  868. if (e.data.code == 0) {
  869. this.$message.success(e.data.msg);
  870. } else {
  871. this.$message.error(e.data.msg);
  872. }
  873. }).catch(e => {
  874. this.$message.error(e);
  875. this.btnLoading = false;
  876. })
  877. },
  878. //选项卡事件
  879. handleClick() {
  880. switch (this.activeName) {
  881. case 'area_customize_name':
  882. this.getSettingData();
  883. break;
  884. default:
  885. this.loadData();
  886. }
  887. },
  888. //获取某个key的配置信息
  889. getSettingData() {
  890. this.loading = true;
  891. let isJsonDecode = false;
  892. switch (this.activeName) {
  893. case 'area_customize_name':
  894. isJsonDecode = true;
  895. break;
  896. default:
  897. }
  898. request({
  899. params: {
  900. r: 'area/setting/get-setting',
  901. },
  902. method: 'post',
  903. data: {
  904. key: this.activeName,
  905. is_json_decode: isJsonDecode,
  906. }
  907. }).then(e => {
  908. this.loading = false;
  909. if ((e.data.code == 0) && (e.data.data != '')) {
  910. switch (this.activeName) {
  911. case 'area_customize_name':
  912. this.areaCustomizeNameData = e.data.data;
  913. break;
  914. default:
  915. }
  916. }
  917. }).catch(e => {
  918. this.loading = false;
  919. })
  920. },
  921. }
  922. });
  923. </script>
  924. <style>
  925. .form_box {
  926. background-color: #f3f3f3;
  927. padding: 0 0 20px;
  928. }
  929. .button-item {
  930. padding: 9px 25px;
  931. }
  932. .el-input-group__append {
  933. background-color: #fff;
  934. color: #353535;
  935. }
  936. </style>