setting.php 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735
  1. <?php
  2. /**
  3. * @link:http://www.goodmall.com/
  4. * @copyright: Copyright (c) 2020
  5. * Created by PhpStorm
  6. * Author: ganxiaohao
  7. * Date: 2020-05-08
  8. * Time: 17:50
  9. */
  10. use common\helpers\ComponentHelper;
  11. ComponentHelper::loadComponentView('com-dialog-select');
  12. ComponentHelper::loadComponentView('com-select-cat');
  13. ?>
  14. <div id="app" v-cloak>
  15. <el-card class="box-card" v-loading="cardLoading" shadow="never" style="border:0;min-width: 1250px;" body-style="background-color: #f3f3f3;padding: 10px 0 0;">
  16. <div slot="header">
  17. <el-breadcrumb separator="/">
  18. <el-breadcrumb-item>奖励设置</el-breadcrumb-item>
  19. </el-breadcrumb>
  20. </div>
  21. <div class="form-body">
  22. <el-form :model="ruleForm" :rules="rules" size="small" ref="ruleForm" label-width="150px">
  23. <el-row>
  24. <el-col :span="24" style="width: 100%;">
  25. <el-form-item label="业绩奖励开关">
  26. <el-switch :active-value="1" :inactive-value="0" v-model="ruleForm.status">
  27. </el-switch>
  28. <div class="tips-text" style="line-height: 24px;">
  29. 业绩奖励开关:开启业绩奖励,前端显示业绩奖励功能,关闭再开启重新计算业绩,满足业绩奖励条件的团队长不能删除身份
  30. </div>
  31. </el-form-item>
  32. <el-form-item label="推广中心显示">
  33. <div>
  34. <el-switch v-model="ruleForm.is_show_at_center" :active-value="1" :inactive-value="0"></el-switch>
  35. </div>
  36. </el-form-item>
  37. <el-form-item>
  38. <el-col :span="24"><span style="color: #999999">每次开启或关闭重新计算业绩</span></el-col>
  39. </el-form-item>
  40. <template v-if="ruleForm.status">
  41. <el-form-item label="奖励比例" prop="status">
  42. <el-form-item v-for="(item,index) in ruleForm.award_proportion" :key='index' class="coupon-item" style="display: flex;align-items: center;">
  43. <el-input type="number" :min="0" class="member-money" v-model="item.money" placeholder="" style="width: 400px">
  44. <template slot="prepend">团队业绩达到</template>
  45. <template slot="append">元</template>
  46. </el-input>
  47. <el-input type="number" :min="0" :max="100" class="member-money" v-model="item.proportion" placeholder="" style="width: 260px;">
  48. <template slot="prepend">奖励</template>
  49. <template slot="append">%</template>
  50. </el-input>
  51. <el-button v-if="ruleForm.award_proportion.length>1" size="mini" type="danger"
  52. icon="el-icon-close" circle
  53. @click="delItem(index)"></el-button>
  54. </el-form-item>
  55. <div class="tips-text" style="line-height: 24px;">
  56. 团队业绩满足多少元,奖励团队业绩的百分比(团队业绩不可以重复设置,
  57. 新增一条可以删除修改)
  58. </div>
  59. </el-form-item>
  60. <el-form-item>
  61. <el-button v-if="ruleForm.award_proportion && ruleForm.award_proportion.length<36" style="margin-bottom: 10px;" type="primary" size="small" @click="addCouponItem">添加奖励区间
  62. </el-button>
  63. </el-form-item>
  64. <el-form-item label="是否启用自动升级" prop="is_auto_upgrade">
  65. <el-switch
  66. v-model="ruleForm.is_auto_upgrade"
  67. :active-value="1"
  68. :inactive-value="0">
  69. </el-switch>
  70. </el-form-item>
  71. <template v-if="ruleForm.is_auto_upgrade==1">
  72. <?php echo $tpl ?>
  73. </template>
  74. <el-form-item label="业绩计算方式">
  75. <el-radio-group v-model="ruleForm.settlement_mode" @input="changeSettlementMode">
  76. <el-radio :label="0">
  77. 不含极差
  78. <el-tooltip effect="dark" content="所得分红=(总团队业绩-下级团队业绩)*对应的比例"
  79. placement="top">
  80. <i class="el-icon-info"></i>
  81. </el-tooltip>
  82. </el-radio>
  83. <el-radio :label="1">
  84. 含极差
  85. <el-tooltip effect="dark" content="所得分红=自己的收益-下级团队收益"
  86. placement="top">
  87. <i class="el-icon-info"></i>
  88. </el-tooltip>
  89. </el-radio>
  90. <el-radio :label="2">
  91. 业绩极差
  92. <el-tooltip effect="dark" content="所得分红=(总团队业绩-下级团队获得分红业绩)*对应的比例"
  93. placement="top">
  94. <i class="el-icon-info"></i>
  95. </el-tooltip>
  96. </el-radio>
  97. </el-radio-group>
  98. <div class="tips-text" style="line-height: 24px;">
  99. 选择团队业绩的计算方式,含极差与不含极差的区别请看下文案例
  100. </div>
  101. </el-form-item>
  102. <el-form-item label="业绩统计方式">
  103. <el-radio-group v-model="ruleForm.statistical_methods">
  104. <el-radio :label="0">订单完成
  105. </el-radio>
  106. <el-radio :label="1">支付完成
  107. </el-radio>
  108. </el-radio-group>
  109. </el-form-item>
  110. <el-form-item label="待结算时间" prop="status">
  111. <el-form-item>
  112. <el-radio-group v-model="ruleForm.settlement_cycle">
  113. <el-radio :label="0">每周一
  114. </el-radio>
  115. <el-radio :label="1">每月1号
  116. </el-radio>
  117. <el-radio :label="2">每自然季度
  118. <el-tooltip effect="dark" content="‌第一自然季度‌:从1月到3月,也就是4月1号分红‌;第二自然季度‌:从4月到6月,也就是7月1号分红‌;第三自然季度‌:从7月到9月,也就是10月1号分红‌;第四自然季度‌:从10月到12月,也就是1月1号分红;"
  119. placement="top">
  120. <i class="el-icon-info"></i>
  121. </el-tooltip>
  122. </el-radio>
  123. </el-radio-group>
  124. </el-form-item>
  125. <el-time-select style="width: 300px;"
  126. v-model="ruleForm.settlement_time"
  127. :picker-options="{
  128. start: '00:00',
  129. step: '00:15',
  130. end: '24:00'
  131. }"
  132. placeholder="选择具体时间">
  133. </el-time-select>
  134. <div class="tips-text" style="line-height: 24px;">
  135. 业绩奖励的待结算时间设置
  136. </div>
  137. </el-form-item>
  138. <el-form-item label="结算时间">
  139. <el-input type="number" v-model="ruleForm.delay_time" :min="0" class="member-money" placeholder="" style="width: 300px;margin-right: 20px;">
  140. <template slot="prepend">延迟</template>
  141. <template slot="append">天后结算</template>
  142. </el-input>
  143. <div class="tips-text" style="line-height: 24px;">
  144. 业绩奖励的结算时间设置
  145. </div>
  146. </el-form-item>
  147. <el-form-item label="是否开启业绩审核确认模式">
  148. <el-switch v-model="ruleForm.is_award_need_confirm" :active-value="1" :inactive-value="0">
  149. </el-switch>
  150. <div class="tips-text" style="line-height: 24px;">
  151. 开启后,业绩奖励发放需要审核之后方可发放
  152. </div>
  153. </el-form-item>
  154. <el-form-item label="是否开启当月成为团长,不发放结算金额" v-if="ruleForm.settlement_cycle ==1">
  155. <el-switch v-model="ruleForm.is_leader_first_month_no_award" :active-value="1" :inactive-value="0">
  156. </el-switch>
  157. <div class="tips-text" style="line-height: 24px;">
  158. 开启后,当月成为团长的用户正常计算奖励,但不发放到用户账上。结算周期到了后,直接奖励状态修改为不结算,并奖励金额修改为0
  159. </div>
  160. </el-form-item>
  161. <!-- <el-form-item label="业绩奖励通知">-->
  162. <!-- <el-switch v-model="ruleForm.is_notice" :active-value="1" :inactive-value="0">-->
  163. <!-- </el-switch>-->
  164. <!-- </el-form-item>-->
  165. <el-form-item label="o2o订单业绩奖励" v-if="ruleForm.install_store ==1">
  166. <el-switch v-model="ruleForm.store_order_award" :active-value="1" :inactive-value="0">
  167. </el-switch>
  168. </el-form-item>
  169. <el-form-item label="多商户订单业绩奖励" v-if="ruleForm.install_mch==1">
  170. <el-switch v-model="ruleForm.mch_order_award" :active-value="1" :inactive-value="0">
  171. </el-switch>
  172. </el-form-item>
  173. <el-form-item label="首单">
  174. <el-switch v-model="ruleForm.first_order" :active-value="1" :inactive-value="0">
  175. </el-switch>
  176. <div class="tips-text" style="line-height: 24px;">
  177. 开启后,购买团长升级礼包,首单计算自身业绩。
  178. </div>
  179. </el-form-item>
  180. <el-form-item label="是否开启平级奖励">
  181. <el-switch v-model="ruleForm.is_equal" :active-value="1" :inactive-value="0">
  182. </el-switch>
  183. </el-form-item>
  184. <template v-if="ruleForm.is_equal == 1">
  185. <el-form-item label="平级奖励奖励方式" prop="equal_type">
  186. <el-radio-group v-model="ruleForm.equal_type">
  187. <el-radio :label="0">业绩计算奖励</el-radio>
  188. <el-radio :label="1">团长奖励计算</el-radio>
  189. </el-radio-group>
  190. </el-form-item>
  191. <el-form-item label="平级奖励计算方式" prop="equal_percent">
  192. <el-radio-group v-model="ruleForm.equal_percent">
  193. <el-radio :label="0">百分比</el-radio>
  194. <!-- <el-radio :label="1">固定金额</el-radio> -->
  195. </el-radio-group>
  196. </el-form-item>
  197. <el-form-item label="一层平级奖励" prop="price" style="width: 400px;">
  198. <el-input type="number" oninput="this.value = this.value.replace(/[^0-9\.]/, '');"
  199. min="0" max="99" v-model="ruleForm.equal_price_first">
  200. <template slot="append" v-if="ruleForm.equal_percent == 0">%</template>
  201. <template slot="append" v-if="ruleForm.equal_percent == 1">元</template>
  202. </el-input>
  203. </el-form-item>
  204. <el-form-item label="二层平级奖励" prop="price" style="width: 400px;">
  205. <el-input type="number" oninput="this.value = this.value.replace(/[^0-9\.]/, '');"
  206. min="0" max="99" v-model="ruleForm.equal_price_second">
  207. <template slot="append" v-if="ruleForm.equal_percent == 0">%</template>
  208. <template slot="append" v-if="ruleForm.equal_percent == 1">元</template>
  209. </el-input>
  210. </el-form-item>
  211. </template>
  212. <el-form-item label="团队业绩" v-if = "ruleForm.settlement_mode == 1">
  213. <el-switch v-model="ruleForm.team_achievement" :active-value="1" :inactive-value="0">
  214. </el-switch>
  215. <div class="tips-text" style="line-height: 24px;">
  216. 开启后逻辑:A-B-C关系链,C下单业绩不会计算到自己,只会计算给上级A和B的团队业绩中
  217. </div>
  218. </el-form-item>
  219. </template>
  220. </el-col>
  221. </el-row>
  222. </el-form>
  223. </div>
  224. <el-button class="button-item" :loading="btnLoading" type="primary" @click="submitForm('ruleForm')" size="small">保存
  225. </el-button>
  226. </el-card>
  227. </div>
  228. <script>
  229. const app = new Vue({
  230. el: '#app',
  231. data() {
  232. return {
  233. showConditionMsg: false,
  234. conditionMsg: '',
  235. checked_condition_values: <?= $key_arr?>,
  236. checked_condition_keys: [], //
  237. now_state:0,
  238. formLabelWidth: '150px',
  239. options_list:<?= $source_list ?>,
  240. ruleForm: {
  241. status: 1,
  242. is_show_at_center: 1,
  243. award_proportion : [
  244. {
  245. money : 0.00,
  246. proportion : 0.00,
  247. },
  248. ],
  249. condition_type: 1,
  250. buy_goods_type: 0, //订单or支付完成
  251. goods_type: 1, //商品升级类型
  252. upgrade_type_condition: 1, //是否开启升级条件 0:否 1:是
  253. is_auto_upgrade: 1, //是否启用自动升级
  254. upgrade_type_goods: 0, //是否开启购买商品为奖励条件0:否 1:是
  255. settlement_mode : 0, //业绩计算方式 //0不含极差,1含极差
  256. statistical_methods : 0, //业绩统计方式
  257. settlement_cycle : 0, //结算周期:0:每周一 1:每月一号 2:每自然季度
  258. settlement_time : '', //具体结算时间
  259. delay_time : 0, //结算延迟时间
  260. is_notice : 1,
  261. enable_rules : 0, //是否启用规则
  262. rule_rights: '', //业绩规则
  263. checked_condition_values: <?= $key_arr?>,
  264. // goods_warehouse_ids: [], //商品的id
  265. checked_condition_keys: [], //对应条件的key
  266. goods_list: [],
  267. goods_ids: [],
  268. install_store: 0,
  269. install_mch: 0,
  270. first_order: 1,
  271. is_equal:0,
  272. equal_type: 0,
  273. equal_percent:0,
  274. equal_price_first:0,
  275. equal_price_second:0,
  276. team_achievement: 0,
  277. },
  278. rules: {
  279. level: [{
  280. required: true,
  281. message: '请选择经销商等级',
  282. trigger: 'change'
  283. }, ],
  284. name: [{
  285. required: true,
  286. message: '请输入经销商等级名称',
  287. trigger: 'change'
  288. }, ],
  289. is_notice: [{
  290. required: true,
  291. message: '请选择经销商等级状态',
  292. trigger: 'change'
  293. }, ],
  294. status: [{
  295. required: true,
  296. message: '请选择经销商等级状态',
  297. trigger: 'change'
  298. }, ],
  299. detail: [{
  300. required: true,
  301. message: '等级说明不能为空',
  302. trigger: 'change'
  303. }, ],
  304. },
  305. btnLoading: false,
  306. cardLoading: false,
  307. checkbox_list: <?= $checkbox_list ?>,
  308. goodsCatsDialogVisible: false,
  309. currentGoodsCats: [],
  310. cat_list: [],
  311. is_set_condition: false,
  312. };
  313. },
  314. mounted() {
  315. this.loadData();
  316. },
  317. methods: {
  318. handleCheckedCitiesChange(){
  319. // console.log(this.ruleForm.checked_condition_values);
  320. },
  321. goodsSelect(param) {
  322. for (let j in param) {
  323. let item = param[j];
  324. if (this.ruleForm.goods_ids.length >=99) {
  325. this.$message.error('指定商品不能大于99个');
  326. return;
  327. }
  328. let flag = true;
  329. for (let i in this.ruleForm.goods_ids) {
  330. if (this.ruleForm.goods_ids[i] == param[j].id) {
  331. flag = false;
  332. break;
  333. }
  334. }
  335. if (flag) {
  336. this.ruleForm.goods_ids.push(param[j].id);
  337. this.ruleForm.goods_list.push({
  338. id: param[j].id,
  339. name: param[j].goods_name,
  340. cover_pic: param[j].cover_pic,
  341. });
  342. }
  343. }
  344. },
  345. clickSelectConditionGoods(){
  346. this.$refs.cgoods.$el.click()
  347. },
  348. conditionGoodsSelect(param) {
  349. let ckey;
  350. this.ruleForm.checked_condition_values.forEach(function(item, index){
  351. if(item.key==50)
  352. {
  353. ckey=index;
  354. }
  355. })
  356. let gval=this.ruleForm.checked_condition_values[ckey].value.team_goods;
  357. let garr=[];
  358. if(gval.length>0)
  359. {
  360. garr=gval.split(",")
  361. }
  362. for (let j in param) {
  363. let item = param[j];
  364. let isHave=false;
  365. garr.forEach(element => {
  366. if(element==param[j].id)
  367. {
  368. isHave=true;
  369. }
  370. });
  371. if(!isHave)
  372. {
  373. garr.push(param[j].id);
  374. }
  375. }
  376. gval=garr.join(',');
  377. this.ruleForm.checked_condition_values[ckey].value.team_goods=gval;
  378. },
  379. // 2.1 提交表单编辑
  380. submitForm(formName) {
  381. let self = this;
  382. // self.showConditionMsg = false;
  383. // 0.1 校验奖励比例
  384. if(self.ruleForm.status && self.ruleForm.award_proportion.length>0){
  385. let award_proportion_status = true;
  386. let award_proportion_statuss = true;
  387. self.ruleForm.award_proportion.forEach(item => {
  388. if(item.money*1<0){
  389. self.$message.error('团队业绩要求不可小于0');
  390. award_proportion_status = false;
  391. return
  392. }
  393. if(item.proportion*1<0 || item.proportion*1>100){
  394. award_proportion_statuss = false;
  395. return false
  396. }
  397. })
  398. if(!award_proportion_status) {
  399. self.$message.error('团队业绩要求不可小于0');
  400. return
  401. }
  402. if(!award_proportion_statuss) {
  403. self.$message.error('奖励百分比需0~100');
  404. return
  405. }
  406. }
  407. // 0.2 校验业绩奖励条件
  408. if(self.ruleForm.status){
  409. let flag = true;
  410. this.ruleForm.award_proportion.forEach((item, index)=>{
  411. if(index>0 && this.ruleForm.award_proportion[index-1].money*1>=item.money*1){
  412. this.$message.error('团队业绩金额设置只能递增');
  413. flag = false
  414. return
  415. }
  416. if(index>0 && this.ruleForm.award_proportion[index-1].proportion*1>=item.proportion*1){
  417. this.$message.error('团队业绩奖励比例设置只能递增');
  418. flag = false
  419. return
  420. }
  421. })
  422. if(!flag) return
  423. if (this.ruleForm.is_auto_upgrade == 1 && this.ruleForm.upgrade_type_condition == 1) {
  424. if (this.ruleForm.checked_condition_keys.length == 0) {
  425. this.$message.error('请选择升级条件');
  426. return;
  427. }
  428. self.now_state = 0;
  429. self.ruleForm.checked_condition_keys.forEach(function(item, index){
  430. self.ruleForm.checked_condition_values.forEach(function(key, val){
  431. if(item == key.key){
  432. // console.log(key)
  433. for (i in key.value) {
  434. // console.log(key.value[i]);
  435. // console.log(self.checkIsNaN(key.value[i]));
  436. if(!self.checkIsNull(key.value[i])){
  437. self.now_state = 1;
  438. break;
  439. return
  440. }
  441. }
  442. }
  443. })
  444. });
  445. if(1 === self.now_state){
  446. // this.$message.error('请输入正确的升级条件');
  447. // return
  448. }
  449. if (self.showConditionMsg) {
  450. this.$message.error(self.conditionMsg);
  451. return
  452. }
  453. if (self.ruleForm.checked_condition_keys.length > 0) {
  454. if (!self.ruleForm.condition_type) {
  455. self.$message.error('请选择条件升级的方式升级类型');
  456. return;
  457. }
  458. }
  459. }
  460. // 0.3 校验结算延迟天数
  461. if(self.ruleForm.delay_time*1<0 || (self.ruleForm.delay_time*1)%1!==0){
  462. self.$message.error('结算延迟天数应为非负整数');
  463. return;
  464. }
  465. // 0.4 指定商品
  466. if(self.ruleForm.upgrade_type_goods == 1){
  467. if(self.ruleForm.goods_type==2 && self.ruleForm.goods_list.length==0){
  468. self.$message.error('请选择指定商品');
  469. return;
  470. }
  471. }
  472. // 0.5 待结算具体时间
  473. if(self.ruleForm.settlement_time==''){
  474. self.$message.error('请设置待结算具体时间');
  475. return;
  476. }
  477. }
  478. this.$refs[formName].validate((valid) => {
  479. if (valid) {
  480. self.btnLoading = true;
  481. request({
  482. params: {
  483. r: 'achievement/default/setting'
  484. },
  485. method: 'post',
  486. data: {
  487. form: self.ruleForm,
  488. }
  489. }).then(e => {
  490. self.btnLoading = false;
  491. if (e.data.code == 0) {
  492. self.$message.success(e.data.msg);
  493. } else {
  494. self.$message.error(e.data.msg);
  495. }
  496. }).catch(e => {
  497. self.$message.error(e.data.msg);
  498. self.btnLoading = false;
  499. });
  500. } else {
  501. console.log('error submit!!');
  502. return false;
  503. }
  504. });
  505. },
  506. checkIsNaN(value){
  507. var re = /^[0-9]+.?[0-9]*$/;//判断字符串是否为数字//判断正整数/[1−9]+[0−9]∗]∗/
  508. if (!re.test(value)) {
  509. return false
  510. }
  511. return true;
  512. },
  513. checkIsNull(value)
  514. {
  515. if(value==='')
  516. {
  517. return false;
  518. }
  519. return true;
  520. },
  521. // 获取显示的值
  522. loadData() {
  523. this.cardLoading = true;
  524. request({
  525. params: {
  526. r: 'achievement/default/setting',
  527. },
  528. method: 'get'
  529. }).then(e => {
  530. this.cardLoading = false;
  531. if (e.data.code == 0) {
  532. if (e.data.data) {
  533. console.log(e.data)
  534. if (e.data.data.checked_condition_values) {
  535. for (let i = 0; i < e.data.data.checked_condition_values.length; i++) {
  536. if (e.data.data.checked_condition_values[i].key === 95) {
  537. if (!e.data.data.checked_condition_values[i].value ||
  538. e.data.data.checked_condition_values[i].value.checked_level === 'true' ||
  539. e.data.data.checked_condition_values[i].value.checked_level === 'false' ||
  540. e.data.data.checked_condition_values[i].value.checked_level === '') {
  541. e.data.data.checked_condition_values[i].value = {
  542. checked_level: []
  543. }
  544. }
  545. }
  546. }
  547. }
  548. this.ruleForm = e.data.data;
  549. let award_proportion = e.data.data.award_proportion;
  550. award_proportion.forEach(item=>{
  551. item.money = (!item.money) ? '0.00' : (item.money*1).toFixed(2);
  552. item.proportion = (!item.proportion) ? '0.00' : (item.proportion*1).toFixed(2);
  553. });
  554. if (e.data.data.goods_ids == "" || e.data.data.goods_ids == null) {
  555. this.ruleForm.goods_ids = [];
  556. this.ruleForm.goods_list = [];
  557. }
  558. // console.log(this.ruleForm.checked_condition_values);
  559. // console.log('9998889');
  560. if(!e.data.data.checked_condition_keys){
  561. this.ruleForm.checked_condition_keys = this.checked_condition_keys;
  562. this.ruleForm.checked_condition_values = this.checked_condition_values //提交的升级条件数据
  563. }
  564. // for (let i = 0; i < this.ruleForm.checked_condition_values.length; i++) {
  565. // if (this.ruleForm.checked_condition_values[i].key === 95) {
  566. // if (!this.ruleForm.checked_condition_values[i].value ||
  567. // this.ruleForm.checked_condition_values[i].value.checked_level === 'true' ||
  568. // this.ruleForm.checked_condition_values[i].value.checked_level === 'false' ||
  569. // this.ruleForm.checked_condition_values[i].value.checked_level === '') {
  570. // this.ruleForm.checked_condition_values[i].value = {
  571. // checked_level: []
  572. // }
  573. // }
  574. // }
  575. // }
  576. }
  577. } else {
  578. this.$message.error(e.data.msg);
  579. }
  580. // console.log(this.ruleForm);
  581. }).catch(e => {
  582. console.log(e);
  583. });
  584. },
  585. onChangeCheckbox(val) {
  586. console.log('onChangeCheckbox val onChangeCheckbox', val)
  587. },
  588. setCondition() {
  589. navigateTo({
  590. r: 'achievement/default/condition-setting',
  591. });
  592. },
  593. // 删除选中的指定商品
  594. deleteGoods(index) {
  595. this.ruleForm.goods_list.splice(index, 1);
  596. this.ruleForm.goods_ids.splice(index, 1);
  597. },
  598. // 0.1 点击添加奖励比例
  599. addCouponItem(){
  600. let flag = true;
  601. this.ruleForm.award_proportion.forEach((item, index)=>{
  602. if(index>0 && this.ruleForm.award_proportion[index-1].money*1>=item.money*1){
  603. this.$message.error('团队业绩金额设置只能递增');
  604. flag = false
  605. return
  606. }
  607. if(index>0 && this.ruleForm.award_proportion[index-1].proportion*1>=item.proportion*1){
  608. this.$message.error('团队业绩奖励比例设置只能递增');
  609. flag = false
  610. return
  611. }
  612. })
  613. if(!flag) return
  614. let award_proportion = JSON.parse(JSON.stringify(this.ruleForm.award_proportion));
  615. let item = {money : 0.00,proportion : 0.00,};
  616. award_proportion.push(item);
  617. this.ruleForm.award_proportion = award_proportion;
  618. },
  619. // 点击删除某一item
  620. delItem(index){
  621. let award_proportion = JSON.parse(JSON.stringify(this.ruleForm.award_proportion));
  622. award_proportion.splice(index, 1);
  623. this.ruleForm.award_proportion = award_proportion;
  624. },
  625. onChangGoodsCat(){},
  626. conditionCloudStockGoodsSelect(){},
  627. // currentGoodsCats(){},
  628. conditionCloudStockGoodsSelectByNums(){},
  629. changeSettlementMode(val){
  630. if (val != 1) {
  631. this.ruleForm.team_achievement = 0;
  632. }
  633. }
  634. // goodsCatsDialogVisible(){},
  635. // cat_list(){},
  636. }
  637. });
  638. </script>
  639. <style>
  640. .form-body {
  641. padding: 20px;
  642. background-color: #fff;
  643. margin-bottom: 20px;
  644. padding-right: 20%;
  645. min-width: 900px;
  646. }
  647. .form-body .el-form-item {
  648. padding-right: 25%;
  649. min-width: 850px;
  650. }
  651. .form-button {
  652. margin: 0;
  653. }
  654. .form-button .el-form-item__content {
  655. margin-left: 0 !important;
  656. }
  657. .button-item {
  658. padding: 9px 25px;
  659. }
  660. .check-group {
  661. font-size: 14px !important;
  662. }
  663. .check-group .el-col {
  664. display: flex;
  665. }
  666. .check-group .el-input {
  667. margin: 0 5px;
  668. }
  669. .check-group .el-col .el-checkbox {
  670. display: flex;
  671. align-items: center;
  672. }
  673. .check-group .el-col .el-input {
  674. width: 100px;
  675. }
  676. .check-group .el-col .el-input .el-input__inner {
  677. height: 30px;
  678. width: 100px;
  679. }
  680. .el-checkbox-group .el-col {
  681. margin-bottom: 10px;
  682. }
  683. .condition_common {
  684. display: flex;
  685. align-items: center;
  686. }
  687. .condition_common_five {
  688. display: flex;
  689. }
  690. </style>