edit.php 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725
  1. <?php
  2. /**
  3. * @link:http://www.gdqijianshi.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('component/boss/com-dialog-select', dirname(__DIR__));
  12. ComponentHelper::loadComponentView('component/boss/com-select-cat', dirname(__DIR__));
  13. ?>
  14. <div id="app" v-cloak>
  15. <el-card class="box-card" v-loading="cardLoading" shadow="never" style="border:0;min-width: 1620px;"
  16. body-style="background-color: #f3f3f3;padding: 10px 0 0;">
  17. <div slot="header">
  18. <el-breadcrumb separator="/">
  19. <el-breadcrumb-item>
  20. <span style="color: #409EFF;cursor: pointer"
  21. @click="$navigate({r:'store/client/store-boss-level'})">
  22. 股东等级
  23. </span>
  24. </el-breadcrumb-item>
  25. <el-breadcrumb-item>编辑股东等级</el-breadcrumb-item>
  26. </el-breadcrumb>
  27. </div>
  28. <div class="form-body">
  29. <el-form :model="ruleForm" :rules="rules" size="small" ref="ruleForm" label-width="150px">
  30. <el-row>
  31. <el-col :span="24">
  32. <el-form-item label="股东等级权重" prop="level">
  33. <el-select style="width: 100%" v-model="ruleForm.level" placeholder="请选择">
  34. <el-option
  35. v-for="item in weights"
  36. :key="item.level"
  37. :label="item.name"
  38. :value="item.level"
  39. :disabled="item.disabled">
  40. </el-option>
  41. </el-select>
  42. </el-form-item>
  43. <el-form-item label="股东等级名称" prop="name">
  44. <el-input v-model="ruleForm.name" placeholder="请输入股东等级名称"></el-input>
  45. </el-form-item>
  46. <el-form-item label="永久分红">
  47. <el-input v-model.number="ruleForm.price" type="number">
  48. <template slot="append">%</template>
  49. </el-input>
  50. </el-form-item>
  51. <el-form-item label="开启额外分红" prop="is_extra">
  52. <el-switch
  53. v-model="ruleForm.is_extra"
  54. :active-value="1"
  55. :inactive-value="0">
  56. </el-switch>
  57. </el-form-item>
  58. <el-form-item label="额外分红佣金" prop="extra_price">
  59. <el-input v-model.number="ruleForm.extra_price" type="number">
  60. <template slot="append">%</template>
  61. </el-input>
  62. </el-form-item>
  63. <el-form-item label="存在额外分红的条件" prop="extra_type">
  64. <el-radio-group v-model="ruleForm.extra_type">
  65. <el-radio :label="1">购物升级的股东</el-radio>
  66. <el-radio :label="2">条件升级的股东</el-radio>
  67. <el-radio :label="3">以上条件均可</el-radio>
  68. </el-radio-group>
  69. </el-form-item>
  70. <el-form-item label="额外分红开启上限" prop="extra_is_limit">
  71. <el-switch
  72. v-model="ruleForm.extra_is_limit"
  73. :active-value="1"
  74. :inactive-value="0">
  75. </el-switch>
  76. </el-form-item>
  77. <el-form-item label="上限金额">
  78. <el-input v-model.number="ruleForm.extra_limit_price" type="number">
  79. <template slot="append">元</template>
  80. </el-input>
  81. </el-form-item>
  82. <el-form-item label="是否启用自动升级" prop="is_auto_upgrade">
  83. <el-switch
  84. v-model="ruleForm.is_auto_upgrade"
  85. :active-value="1"
  86. :inactive-value="0">
  87. </el-switch>
  88. </el-form-item>
  89. <template v-if="ruleForm.is_auto_upgrade == 1">
  90. <el-form-item label="条件升级">
  91. <el-form-item>
  92. <el-switch
  93. v-model="ruleForm.upgrade_type_condition"
  94. :active-value="1"
  95. :inactive-value="0"
  96. active-text="开启"
  97. inactive-text="关闭"
  98. >
  99. </el-switch>
  100. </el-form-item>
  101. <el-form-item v-if="ruleForm.upgrade_type_condition==1">
  102. <el-radio-group v-model="ruleForm.condition_type">
  103. <el-radio :label="1">满足其一方可升级</el-radio>
  104. <el-radio :label="2">满足所有才可升级</el-radio>
  105. </el-radio-group>
  106. </el-form-item>
  107. <el-checkbox-group v-model="ruleForm.checked_condition_keys" class="check-group"
  108. v-if="ruleForm.upgrade_type_condition==1&&ruleForm.condition_type>0">
  109. <el-col :span="24">
  110. <el-checkbox :label="ruleForm.checked_condition_values[0].key">
  111. <div style="display: flex;align-items: center">
  112. 条件1: 一级客户消费满
  113. <el-input v-model="ruleForm.checked_condition_values[0].value.val">
  114. <template slot="append">元</template>
  115. </el-input>
  116. 的人数满
  117. <el-input v-model="ruleForm.checked_condition_values[0].value.val1">
  118. <template slot="append">个</template>
  119. </el-input>
  120. 渠道客户消费满
  121. <el-input v-model="ruleForm.checked_condition_values[0].value.val2">
  122. <template slot="append">元</template>
  123. </el-input>
  124. 的人数满
  125. <el-input v-model="ruleForm.checked_condition_values[0].value.val3">
  126. <template slot="append">个</template>
  127. </el-input>
  128. </div>
  129. </el-checkbox>
  130. </el-col>
  131. <el-col :span="24">
  132. <el-checkbox :label="ruleForm.checked_condition_values[1].key">
  133. 条件2:直推
  134. </el-checkbox>
  135. <el-input v-model="ruleForm.checked_condition_values[1].value.val">
  136. <template slot="append">人</template>
  137. </el-input>
  138. 并且一级渠道中购买商品ID
  139. <el-input v-model="ruleForm.checked_condition_values[1].value.val1">
  140. </el-input>
  141. 的人数
  142. <el-input v-model="ruleForm.checked_condition_values[1].value.val2">
  143. <template slot="append">个</template>
  144. </el-input>
  145. </el-col>
  146. <el-col :span="24">
  147. <el-checkbox :label="ruleForm.checked_condition_values[2].key">
  148. 条件3:个人业绩
  149. </el-checkbox>
  150. <el-input v-model="ruleForm.checked_condition_values[2].value.val">
  151. <template slot="append">元</template>
  152. </el-input>
  153. 渠道业绩
  154. <el-input v-model="ruleForm.checked_condition_values[2].value.val2">
  155. <template slot="append">元</template>
  156. </el-input>
  157. </el-col>
  158. <el-col :span="24">
  159. <el-checkbox :label="ruleForm.checked_condition_values[3].key">
  160. 条件4: 二级客户数量
  161. </el-checkbox>
  162. <el-input v-model="ruleForm.checked_condition_values[3].value.val">
  163. <template slot="append">个</template>
  164. </el-input>
  165. 二级客户订单金额
  166. <el-input v-model="ruleForm.checked_condition_values[3].value.val2">
  167. <template slot="append">元</template>
  168. </el-input>
  169. </el-col>
  170. <el-col :span="24">
  171. <el-checkbox :label="ruleForm.checked_condition_values[4].key">
  172. <div style="display: flex;align-items: center">
  173. 条件5:直推股东等级
  174. <el-select style="width: 100%" v-model="ruleForm.checked_condition_values[4].value.val" placeholder="请选择">
  175. <el-option v-for="item in enable_level_list" :key="item.level" :label="item.name" :value="item.level">
  176. </el-option>
  177. </el-select>
  178. 数量
  179. <el-input v-model="ruleForm.checked_condition_values[4].value.val1">
  180. <template slot="append">个</template>
  181. </el-input>
  182. </div>
  183. </el-checkbox>
  184. </el-col>
  185. <el-col :span="24">
  186. <el-checkbox :label="ruleForm.checked_condition_values[5].key">
  187. <div style="display: flex;align-items: center">
  188. 条件6:间推股东等级
  189. <el-select style="width: 100%" v-model="ruleForm.checked_condition_values[5].value.val" placeholder="请选择">
  190. <el-option v-for="item in enable_level_list" :key="item.level" :label="item.name" :value="item.level">
  191. </el-option>
  192. </el-select>
  193. 数量
  194. <el-input v-model="ruleForm.checked_condition_values[5].value.val1">
  195. <template slot="append">个</template>
  196. </el-input>
  197. </div>
  198. </el-checkbox>
  199. </el-col>
  200. <el-col :span="24">
  201. <el-checkbox :label="ruleForm.checked_condition_values[6].key">
  202. <div style="display: flex;align-items: center">
  203. 条件7:渠道股东等级
  204. <el-select style="width: 100%" v-model="ruleForm.checked_condition_values[6].value.val" placeholder="请选择">
  205. <el-option v-for="item in enable_level_list" :key="item.level" :label="item.name" :value="item.level">
  206. </el-option>
  207. </el-select>
  208. 数量
  209. <el-input v-model="ruleForm.checked_condition_values[6].value.val1">
  210. <template slot="append">个</template>
  211. </el-input>
  212. </div>
  213. </el-checkbox>
  214. </el-col>
  215. </el-checkbox-group>
  216. </el-form-item>
  217. <el-form-item>
  218. <el-col :span="24" v-if="showConditionMsg"><span
  219. style="color: #ff4444">{{conditionMsg}}</span></el-col>
  220. </el-form-item>
  221. <el-form-item label="购买商品升级">
  222. <el-form-item>
  223. <el-switch
  224. v-model="ruleForm.upgrade_type_goods"
  225. :active-value="1"
  226. :inactive-value="0"
  227. active-text="开启"
  228. inactive-text="关闭"
  229. >
  230. </el-switch>
  231. </el-form-item>
  232. <el-form-item v-if="ruleForm.upgrade_type_goods==1">
  233. <el-radio-group v-model="ruleForm.buy_goods_type">
  234. <el-radio :label="0">订单完成
  235. </el-radio>
  236. <el-radio :label="1">支付完成
  237. </el-radio>
  238. </el-radio-group>
  239. </el-form-item>
  240. <el-form-item v-if="ruleForm.upgrade_type_goods==1">
  241. <el-radio-group v-model="ruleForm.goods_type">
  242. <el-radio :label="1">任意商品
  243. </el-radio>
  244. <el-radio :label="2">
  245. <div style="display: inline-block;">
  246. <div flex="cross:center">
  247. <div>指定商品</div>
  248. <div style="margin-left: 10px;"
  249. v-if="ruleForm.goods_type==2">
  250. <com-dialog-select :multiple="true" @selected="goodsSelect"
  251. title="商品选择">
  252. <el-button type="text">选择商品</el-button>
  253. </com-dialog-select>
  254. </div>
  255. </div>
  256. </div>
  257. </el-radio>
  258. </el-radio-group>
  259. </el-form-item>
  260. </el-form-item>
  261. <el-form-item prop="goods_warehouse_ids" v-if="ruleForm.upgrade_type_goods==1">
  262. <template v-if="ruleForm.goods_type==2">
  263. <div style="color: #ff4544;">最多可添加20个商品</div>
  264. <div style="max-height: 300px;overflow-y: auto">
  265. <el-table :data="ruleForm.goods_list" :show-header="false" border>
  266. <el-table-column label="">
  267. <template slot-scope="scope">
  268. <div flex>
  269. <div style="padding-right: 10px;flex-grow: 0">
  270. <com-image mode="aspectFill"
  271. :src="scope.row.cover_pic"></com-image>
  272. </div>
  273. <div style="flex-grow: 1;">
  274. <com-ellipsis :line="2">{{scope.row.name}}
  275. </com-ellipsis>
  276. </div>
  277. <div style="flex-grow: 0;">
  278. <el-button @click="deleteGoods(scope.$index)"
  279. type="text" circle size="mini">
  280. <el-tooltip class="item" effect="dark"
  281. content="删除" placement="top">
  282. <img src="resources/img/mall/del.png" alt="">
  283. </el-tooltip>
  284. </el-button>
  285. </div>
  286. </div>
  287. </template>
  288. </el-table-column>
  289. </el-table>
  290. </div>
  291. </template>
  292. </el-form-item>
  293. </template>
  294. <el-form-item label="是否启用" prop="is_enable">
  295. <el-switch
  296. v-model="ruleForm.is_enable"
  297. :active-value="1"
  298. :inactive-value="0">
  299. </el-switch>
  300. </el-form-item>
  301. <el-form-item label="等级说明" prop="detail">
  302. <el-input type="textboss" :rows="3" placeholder="请输入等级说明"
  303. v-model="ruleForm.detail" maxlength="80" show-word-limit></el-input>
  304. </el-form-item>
  305. </el-col>
  306. </el-row>
  307. </el-form>
  308. </div>
  309. <el-button class="button-item" :loading="btnLoading" type="primary" @click="submitForm('ruleForm')"
  310. size="small">保存
  311. </el-button>
  312. </el-card>
  313. </div>
  314. <script>
  315. const app = new Vue({
  316. el: '#app',
  317. data() {
  318. return {
  319. msg: 1,
  320. options: [],//会员等级列表
  321. enable_level_list:[], //可用等级列表
  322. level: 0,
  323. form: {
  324. type: [],
  325. },
  326. checked_condition_values: [
  327. {
  328. key: 0,
  329. value: {
  330. val: '',//消费
  331. val1: '',//人数
  332. val2: '',//消费
  333. val3: ''//人数
  334. }
  335. },
  336. {
  337. key: 1,
  338. value: {
  339. val: '',//好友人数
  340. val1: '',//购买商品
  341. val2: '',//人数
  342. }
  343. },
  344. {
  345. key: 2,
  346. value: {
  347. val: '', //个人业绩
  348. val1: '',//渠道业绩
  349. }
  350. },
  351. {
  352. key: 3,
  353. value: {
  354. val: '',//二级客户订单数量
  355. val1: '',//二级客户订单金额
  356. }
  357. },
  358. {
  359. key: 4,
  360. value: {
  361. val: '',
  362. val1: ''
  363. }
  364. },
  365. {
  366. key: 5,
  367. value: {
  368. val: '',
  369. val1: ''
  370. }
  371. },
  372. {
  373. key: 6,
  374. value: {
  375. val: '',
  376. val1: ''
  377. }
  378. },
  379. ],
  380. checked_condition_keys: [],
  381. showConditionMsg: false,
  382. conditionMsg: '',
  383. weights: [],
  384. match_weights: [],
  385. ruleForm: {
  386. mall_id: '10',
  387. store_id: '10',
  388. level: '',
  389. name: '',
  390. condition_type: 1,
  391. price: 0,
  392. is_extra:1,
  393. extra_price:0,
  394. extra_type: 1,
  395. extra_is_limit:1,
  396. extra_limit_price:0,
  397. buy_goods_type: 0,
  398. is_auto_upgrade: 1,
  399. goods_type: 0,
  400. upgrade_type_condition: 1,
  401. upgrade_type_goods: 1,
  402. is_enable: 1,
  403. checked_condition_values: [
  404. {
  405. key: 0,
  406. value: {
  407. val: '',//消费
  408. val1: '',//人数
  409. val2: '',//消费
  410. val3: ''//人数
  411. }
  412. },
  413. {
  414. key: 1,
  415. value: {
  416. val: '',//好友人数
  417. val1: '',//购买商品
  418. val2: '',//人数
  419. }
  420. },
  421. {
  422. key: 2,
  423. value: {
  424. val: '', //个人业绩
  425. val1: '',//渠道业绩
  426. }
  427. },
  428. {
  429. key: 3,
  430. value: {
  431. val: '',//二级客户订单数量
  432. val1: '',//二级客户订单金额
  433. }
  434. },
  435. {
  436. key: 4,
  437. value: {
  438. val: '',
  439. val1: ''
  440. }
  441. },
  442. {
  443. key: 5,
  444. value: {
  445. val: '',
  446. val1: ''
  447. }
  448. },
  449. {
  450. key: 6,
  451. value: {
  452. val: '',
  453. val1: ''
  454. }
  455. },
  456. ],
  457. goods_warehouse_ids: [],
  458. checked_condition_keys: [],
  459. goods_list: [],
  460. },
  461. rules: {
  462. level: [
  463. {required: true, message: '请选择股东等级', trigger: 'change'},
  464. ],
  465. name: [
  466. {required: true, message: '请输入股东等级名称', trigger: 'change'},
  467. ],
  468. is_enable: [
  469. {required: true, message: '请选择股东等级状态', trigger: 'change'},
  470. ],
  471. detail: [
  472. {required: true, message: '等级说明不能为空', trigger: 'change'},
  473. ],
  474. },
  475. btnLoading: false,
  476. cardLoading: false,
  477. };
  478. },
  479. mounted() {
  480. if (getQuery('id')) {
  481. this.loadData();
  482. }
  483. this.getSetting();
  484. },
  485. methods: {
  486. close(e) {
  487. this.visible = false;
  488. },
  489. goodsSelect(param) {
  490. for (let j in param) {
  491. let item = param[j];
  492. if (this.ruleForm.goods_warehouse_ids.length >= 20) {
  493. this.$message.error('指定商品不能大于20个');
  494. return;
  495. }
  496. let flag = true;
  497. for (let i in this.ruleForm.goods_warehouse_ids) {
  498. if (this.ruleForm.goods_warehouse_ids[i] == item.id) {
  499. flag = false;
  500. break;
  501. }
  502. }
  503. if (flag) {
  504. this.ruleForm.goods_warehouse_ids.push(item.id);
  505. this.ruleForm.goods_list.push({
  506. id: item.id,
  507. name: item.goods_name,
  508. cover_pic: item.cover_pic,
  509. });
  510. }
  511. }
  512. },
  513. submitForm(formName) {
  514. let self = this;
  515. self.showConditionMsg = false;
  516. if (this.ruleForm.upgrade_type_condition == 1 && this.ruleForm.is_auto_upgrade == 1) {
  517. if (this.ruleForm.checked_condition_keys.length == 0) {
  518. this.$message.error('请完善升级条件');
  519. return;
  520. }
  521. let checked_condition_values = this.ruleForm.checked_condition_values;
  522. this.ruleForm.checked_condition_keys.forEach(v => {
  523. self.conditionMsg = '请完善条件:' + (parseInt(v) + 1);
  524. if (v == 0) {
  525. if (!checked_condition_values[v].value.val || !checked_condition_values[v].value.val1) {
  526. self.showConditionMsg = true;
  527. return;
  528. }
  529. }
  530. if (v > 0) {
  531. if (!checked_condition_values[v].value.val) {
  532. self.showConditionMsg = true;
  533. return;
  534. }
  535. }
  536. })
  537. if (self.showConditionMsg) {
  538. return
  539. }
  540. if (this.ruleForm.checked_condition_keys.length > 0) {
  541. if (this.ruleForm.condition_type == 0) {
  542. this.$message.error('请选择条件升级的方式升级类型');
  543. return;
  544. }
  545. }
  546. }
  547. this.$refs[formName].validate((valid) => {
  548. if (valid) {
  549. self.btnLoading = true;
  550. request({
  551. params: {
  552. r: 'store/client/store-boss-level/edit'
  553. },
  554. method: 'post',
  555. data: {
  556. form: self.ruleForm,
  557. }
  558. }).then(e => {
  559. self.btnLoading = false;
  560. if (e.data.code == 0) {
  561. navigateTo({
  562. r: '/store/client/store-boss-level/index'
  563. })
  564. } else {
  565. self.$message.error(e.data.msg);
  566. }
  567. }).catch(e => {
  568. self.$message.error(e.data.msg);
  569. self.btnLoading = false;
  570. });
  571. } else {
  572. console.log('error submit!!');
  573. return false;
  574. }
  575. });
  576. },
  577. loadData() {
  578. this.cardLoading = true;
  579. request({
  580. params: {
  581. r: '/store/client/store-boss-level/edit',
  582. id: getQuery('id'),
  583. },
  584. method: 'get'
  585. }).then(e => {
  586. this.cardLoading = false;
  587. if (e.data.code == 0) {
  588. if (e.data.data.detail) {
  589. this.ruleForm = e.data.data.detail;
  590. this.weights = e.data.data.weights;
  591. if (e.data.data.detail.goods_warehouse_ids == "" || e.data.data.detail.goods_warehouse_ids == null) {
  592. this.ruleForm.goods_warehouse_ids = [];
  593. this.ruleForm.goods_list = [];
  594. }
  595. if (!e.data.data.detail.checked_condition_keys) {
  596. this.ruleForm.checked_condition_keys = this.checked_condition_keys
  597. this.ruleForm.checked_condition_values = this.checked_condition_values
  598. }else{//有选中的
  599. this.checked_condition_values.forEach((its, ids)=>{
  600. if(!this.ruleForm.checked_condition_values.hasOwnProperty(ids)){
  601. this.ruleForm.checked_condition_values[ids] = its;
  602. }
  603. });
  604. }
  605. }
  606. } else {
  607. this.$message.error(e.data.msg);
  608. }
  609. console.log(this.ruleForm);
  610. }).catch(e => {
  611. console.log(e);
  612. });
  613. },
  614. deleteGoods(index) {
  615. this.ruleForm.goods_list.splice(index, 1);
  616. this.ruleForm.goods_warehouse_ids.splice(index, 1);
  617. },
  618. getSetting() {
  619. this.cardLoading = true;
  620. request({
  621. params: {
  622. r: '/store/client/store-boss-level/setting',
  623. },
  624. method: 'get',
  625. }).then(res => {
  626. this.cardLoading = false;
  627. if (res.data.code == 0) {
  628. this.weights = res.data.data.weights;
  629. this.level = res.data.data.level
  630. this.enable_level_list = res.data.data.match_weights
  631. } else {
  632. this.$message.error(e.data.msg);
  633. }
  634. }).catch(e => {
  635. this.cardLoading = false;
  636. console.log(e);
  637. });
  638. }
  639. }
  640. });
  641. </script>
  642. <style>
  643. .form-body {
  644. padding: 20px;
  645. background-color: #fff;
  646. margin-bottom: 20px;
  647. padding-right: 20%;
  648. min-width: 900px;
  649. }
  650. .form-body .el-form-item {
  651. padding-right: 25%;
  652. min-width: 850px;
  653. }
  654. .form-button {
  655. margin: 0;
  656. }
  657. .form-button .el-form-item__content {
  658. margin-left: 0 !important;
  659. }
  660. .button-item {
  661. padding: 9px 25px;
  662. }
  663. .check-group {
  664. font-size: 14px !important;
  665. }
  666. .check-group .el-col {
  667. display: flex;
  668. }
  669. .check-group .el-input {
  670. margin: 0 5px;
  671. }
  672. .check-group .el-col .el-checkbox {
  673. display: flex;
  674. align-items: center;
  675. }
  676. .check-group .el-col .el-input {
  677. width: 100px;
  678. }
  679. .check-group .el-col .el-input .el-input__inner {
  680. height: 30px;
  681. width: 100px;
  682. }
  683. .el-checkbox-group .el-col {
  684. margin-bottom: 10px;
  685. }
  686. </style>