index.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <?php
  2. use common\helpers\ComponentHelper;
  3. ComponentHelper::loadComponentView('com-rich-text');
  4. ?>
  5. <div id="app" v-cloak>
  6. <el-card class="box-card" v-loading="loading" shadow="never" style="border:0;min-width: 1200px;" body-style="background-color: #f3f3f3;padding: 10px 0 0;">
  7. <div class="form_box">
  8. <el-form :model="ruleForm" :rules="rules" size="small" ref="ruleForm" label-width="150px">
  9. <el-card shadow="never">
  10. <div slot="header">
  11. <div>
  12. <span>基础配置</span>
  13. </div>
  14. </div>
  15. <div>
  16. <el-row>
  17. <el-col :span="16">
  18. <el-form-item label="点签后台" >
  19. <el-button type="primary" @click="goOutside()">前往后台</el-button>
  20. <div class="tips-text">使用此功能请先前往点签后台进行注册</div>
  21. </el-form-item>
  22. <el-form-item label="签约命名" >
  23. <el-input v-model="ruleForm.sign_name"></el-input>
  24. </el-form-item>
  25. <el-form-item label="未签约禁止行为" >
  26. <el-checkbox-group v-model="ruleForm.checkList">
  27. <el-checkbox label="promotion">禁止进入推广中心</el-checkbox>
  28. <el-checkbox label="withdraw">禁止提现</el-checkbox>
  29. </el-checkbox-group>
  30. <div class="tips-text">注意:勾选对应选项后为签约的会员不能使用对应功能</div>
  31. </el-form-item>
  32. <el-form-item label="协议设置" >
  33. <el-select v-model="ruleForm.agreement_id" placeholder="请选择">
  34. <el-option v-for="item in agreement" :key="item.id" :label="item.name" :value="item.id"></el-option>
  35. </el-select>
  36. <div class="tips-text">请到“设置”-“协议设置”,页面进行添加协议</div>
  37. </el-form-item>
  38. <el-form-item label="签约背景图">
  39. <div style="float: left;">
  40. <com-attachment v-model="ruleForm.bg_img" :multiple="false" :max="1">
  41. <el-tooltip class="item" effect="dark" content="建议尺寸:420 * 336" placement="top">
  42. <el-button size="mini">选择图片</el-button>
  43. </el-tooltip>
  44. </com-attachment>
  45. <el-image v-if="ruleForm.bg_img" mode="aspectFill" style="width: 150px; min-height: 100px;" fits="contain" :src="ruleForm.bg_img ? ruleForm.bg_img : ''"></el-image>
  46. <div class="customize-share-title">
  47. <el-button v-if="ruleForm.bg_img" class="del-btn" size="mini"
  48. type="danger" icon="el-icon-close" circle
  49. @click="ruleForm.bg_img = ''"></el-button>
  50. </div>
  51. </div>
  52. </el-form-item>
  53. <el-form-item label="帮助设置" >
  54. <com-rich-text :simple-attachment="true" v-model="ruleForm.help"></com-rich-text>
  55. </el-form-item>
  56. </el-col>
  57. </el-row>
  58. </div>
  59. </el-card>
  60. </el-form>
  61. <el-button :loading="btnLoading" class="button-item" type="primary" style="margin-top: 24px;" @click="store('ruleForm')" size="small">保存</el-button>
  62. </div>
  63. </el-card>
  64. </div>
  65. <script>
  66. const app = new Vue({
  67. el: '#app',
  68. data() {
  69. return {
  70. loading: false,
  71. btnLoading: false,
  72. ruleForm: {
  73. sign_name: '电子签约',
  74. checkList: [],
  75. bg_img: '',
  76. agreement_id : 0,
  77. help : '',
  78. },
  79. backend: 'https://ding.fs-signature.com/h5/#/?k=COM2118',
  80. rules: {},
  81. agreement: []
  82. }
  83. },
  84. mounted: function() {
  85. this.loadData();
  86. },
  87. methods: {
  88. loadData() {
  89. this.loading = true;
  90. request({
  91. params: {
  92. r: 'dianqian/setting/index',
  93. },
  94. method: 'get'
  95. }).then(e => {
  96. this.loading = false;
  97. if (e.data.code == 0) {
  98. if (!isEmpty(e.data.data.configs)) {
  99. this.ruleForm = e.data.data.configs
  100. }
  101. this.agreement = e.data.data.agreement
  102. }
  103. }).catch(e => {
  104. this.loading = false;
  105. this.$message.error(e);
  106. })
  107. },
  108. store(formName) {
  109. this.$refs[formName].validate((valid) => {
  110. if (valid) {
  111. this.btnLoading = true;
  112. request({
  113. params: {
  114. r: 'dianqian/setting/index',
  115. },
  116. method: 'post',
  117. data: {
  118. basic: this.ruleForm,
  119. }
  120. }).then(e => {
  121. this.btnLoading = false;
  122. if (e.data.code == 0) {
  123. this.$message.success(e.data.msg);
  124. } else {
  125. this.$message.error(e.data.msg);
  126. }
  127. }).catch(e => {
  128. this.$message.error(e);
  129. this.btnLoading = false;
  130. })
  131. } else {
  132. this.btnLoading = false;
  133. console.log('error submit!!');
  134. return false;
  135. }
  136. });
  137. },
  138. goOutside(){
  139. window.open(this.backend, '_blank');
  140. },
  141. }
  142. });
  143. </script>
  144. <style>
  145. .form_box {
  146. background-color: #f3f3f3;
  147. padding: 0 0 20px;
  148. }
  149. .customize-share-title .del-btn {
  150. position: absolute;
  151. top: 17px;
  152. left: 135px;
  153. }
  154. </style>